@hongjiewang 我直接好家伙,这都两年了居然还回复我。
由于种种原因我现在已经不怎么玩OF了,只能给你一些比较通用的建议。首先看这一堆问号大概是segment fault错误,那么我首先猜是产生了异常值导致求解器爆炸,log函数最容易出现的问题就是传入0值和负值,建议你首先检查数值问题。如果不是数值问题,那就单步调试之类的慢慢debug看看怎么回事,你的两个变量是否正确初始化了等等
Zephyr
帖子
-
-
@东岳 。。。多谢解答
-
只算过解析解,不知道你用的是什么方法算flowmap?
-
只算过解析解,不知道你用的是什么方法算flowmap?
-
RT,最近有法国的实验室在招人,我知道法国的几个科研机构都是很厉害的,CNRS,ONERA, INRIA之类的,但是他们好像不发学位,都是挂靠在大学里,而且应该是本地的大学,不会是什么巴黎高师之类的,这些大学说实话我连听都没听说过。。。想了解一下回国发展会有影响吗
-
RT, 教授让我用拉格朗日粒子测一下l^2 ~ t^3,湍流射流DNS,我现在一脸懵逼中。不知道有没有人有这方面的经验,或者有看过类似的数值实验? 有的话还请不吝赐教
-
点一下小齿轮开启更多设置,在你调整的光照这一栏里,把specular和diffuse调到0,ambient调到1
-
paraview是带光源的真实渲染,调整一下底下的光照设置吧
-
等径管里如果出现激波那就直接堵塞了吧
-
reconstructPar的速度真的挺迷的,也不知道到底怎么实现出来的,慢的离谱
-
你一定要并行reconstructPar的话可以试一试这个
-
c++11的实现就是vector套vector,俄罗斯套娃
-
用paraview的话是不用重构也可以直接后处理的
-
@Samuel-Tu 自己写一个也不难,OF的数学库都是针对GeometricField的,估计是没有
-
这种小矩阵用高斯消元直接解最快吧
-
mark一下,最近做气泡模拟也遇到了验证网格无关性的问题,加密了网格以后结果和原来的符合的不是那么完美,总有点差别
-
我没看明白啊,他这不还是解了poisson方程吗,那不可能快的起来啊
-
我有个最简单粗暴的idea
第一步,导入到matlab
第二步,蒙特卡罗法 -
目前看下来,GAMG在网格太多了以后效率会急剧下降,而PCG方法网格数多了以后根本收敛不了,在OF自己的框架内应该是无解的。之前看到有国内国外的研究小组都成功把PETSC编译进OF了,楼主如果有一定的编程功底可以自行研究一下。
-
Makefile中如果缩进不用tab而是用空格的话会出现类似的找不到分隔符号的问题
-
@hurricane007 你仔细看一下那些算例的Allrun怎么写的,如果用mpirun -np <nprocs> <executable> 后面必须带 -parallel参数,否则就变成算n个一模一样的串行了
-
@hurricane007 啊,好吧,我用的版本是开发版v1712, 我直接给你贴出来好了
#!/bin/sh cd ${0%/*} || exit 1 # Run from this directory . $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions runApplication blockMesh application=$(getApplication) #- Test writing collated format runApplication decomposePar -fileHandler collated runParallel $application -fileHandler collated runApplication reconstructPar -latestTime -fileHandler collated #- Delete collated files rm -rf processors #- Test writing uncollated format runApplication -s uncollated decomposePar -fileHandler uncollated runParallel -s uncollated $application -fileHandler uncollated #- Restart from uncollated runParallel -s collated $application -fileHandler collated runApplication -s collated reconstructPar -latestTime -fileHandler collated #- Convert the parallel format to uncollated runParallel foamFormatConvert -fileHandler uncollated #------------------------------------------------------------------------------
-
你可以查看这个文件 $FOAM_TUTORIALS/IO/fileHandler/Allrun
-
@东岳 @宝丁 哪里哪里,举手之劳而已
-
@宝丁 谷歌一下就能找到很详细的教程,推荐看一遍这个,应该是写的最好懂的 http://www.wolfdynamics.com/wiki/programming_OF_BCs.pdf
-
可以试试codestream自定义初场和随时间或者迭代步数变化的边界条件?
-
@ars 假设你要算一个log(t), 编译肯定是通过不了的,因为t在openfoam里是有单位的,单位是秒,那么你可以定义一个常数1
dimensionedScalar oneSecond ( "oneSecond", dimTime, // 和变量t具有相同dimension 1 );
然后计算log(t/oneSecond),这个oneSecond没有任何物理意义,只是帮助你把变量t的单位去掉好通过编译,你要计算的log(p)也是同理
第二种方法:直接把openfoam的单位检查关掉,这个我没有研究过,你可以求助谷歌
-
@ars Openfoam有dimension检查, log是超越函数,要求里面的数必须是无量纲的,因此你只能用这种形式log(p/pInf) 把p的单位消掉。
-
@悬铃神木 thrust, boost这些库都挺不错的。。
-
你的new/delete是罪魁祸首,loop 1000000次意味着你new/delete了1000000次array C,尽量不要动态分配内存,除非你有不得不这样写的原因。如果你知道你要在代码里反复使用A, B, C三个矩阵,你应该一开始就分配好而不是在结构体里new。matlab里你可以随便写C = A + B 是因为matlab已经替你做了内存管理,你自己写代码的时候就要做到方方面面兼顾了。
-
@xiaofei6538567 谢谢,确实没有找到办法直接编辑,最后非常窄的地方都单独分出来不加边界层了
-
如图, 在pointwise中生成网格,几何中有几个楔形结构, 生成边界层以后干涉处会出现质量非常差的网格,有没有办法将图中所示的两个挨的非常近的网格节点合并?
求问如何给标量场赋值为实数?
有人了解法国的phd么
关于含运动边界的李亚普洛夫指数场的求解疑问
关于含运动边界的李亚普洛夫指数场的求解疑问
有人了解法国的phd么
有人做过Richardson diffusion的验证么
Paraview云图中的白色为啥是灰色?
Paraview云图中的白色为啥是灰色?
可压缩流体在等径管中流动换热
OpenFOAM在并行运算结束后 能否并行reconstructPar?或者有没有其他方法能够加快reconstructPar?
OpenFOAM在并行运算结束后 能否并行reconstructPar?或者有没有其他方法能够加快reconstructPar?
无意间想到List的一个好用法
OpenFOAM在并行运算结束后 能否并行reconstructPar?或者有没有其他方法能够加快reconstructPar?
如何直接利用OF求解小矩阵?
如何直接利用OF求解小矩阵?
求解:interFOAM网格收敛做不到
projection method 真的比piso快吗?
如何计算不规则体的体积
并行效率疑问
求解器编译问题
OpenFOAM并行输出格式的问题
OpenFOAM并行输出格式的问题
OpenFOAM并行输出格式的问题
计算的时候如何给初场
计算的时候如何给初场
计算的时候如何给初场
求问如何给标量场赋值为实数?
求问如何给标量场赋值为实数?
可以讨论一个编程问题吗?这样写C++代码效率为何这么低?
可以讨论一个编程问题吗?这样写C++代码效率为何这么低?
Pointwise中能否直接编辑网格
Pointwise中能否直接编辑网格