@wzlr2023 我看你这个算例里只有两相流,正常用 interFoam足够了。这个相关资料还挺多的。这个多相流的求解器正如我前面所说我没有去验证其是否可以正常求解。就你这个算例来讲,里面涉及到了六自由度运动求解。造成两相交界面求解发散的问题也可能是六自由度求解引起的流场发散。建议可以先设置一个简单的动网格算例,如动边界造波来验证多相流求解是否稳定。如发现是多相流求解出问题了,欢迎进行补充修正。
maoyanjun_dut
帖子
-
OvermultphaseInterDyMFoam -
200万网格并行算力测试(OpenFOAM版本)@东岳 持续关注中,排排队,看看哪个最能打
-
200万网格并行算力测试(OpenFOAM版本)CPU型号:AMD 霄龙 7742 系统:linux系统 OpenFOAM版本:OpenFOAM-v1912 64 62.23 32 103.27 16 128.03 8 205.02 4 337.93 2 717.1 (不是最佳状态) 1 1370.22(不是最佳状态)
-
ExecutionTime与ClockTime有什么区别与联系?再补充一下,用不同的电脑跑了 damBreak 算例,得到的三个 ExecutionTime 和 ClockTime 。
并不总是 clockTime 大于 ExecutionTime
。@wwzhao但是仔细检查发现,造成右边两个有差异的主要原因是
两个时间的精度问题
,如下所示:ExecutionTime = 1.58 s ClockTime = 1 s ExecutionTime = 1.59 s ClockTime = 1 s ExecutionTime = 1.59 s ClockTime = 1 s ExecutionTime = 1.6 s ClockTime = 1 s ExecutionTime = 1.6 s ClockTime = 1 s ExecutionTime = 1.61 s ClockTime = 1 s ExecutionTime = 1.62 s ClockTime = 1 s ExecutionTime = 1.62 s ClockTime = 1 s ExecutionTime = 1.63 s ClockTime = 1 s ExecutionTime = 1.64 s ClockTime = 1 s ExecutionTime = 1.64 s ClockTime = 2 s ExecutionTime = 1.65 s ClockTime = 2 s ExecutionTime = 1.66 s ClockTime = 2 s ExecutionTime = 1.66 s ClockTime = 2 s ExecutionTime = 1.67 s ClockTime = 2 s ExecutionTime = 1.67 s ClockTime = 2 s ExecutionTime = 1.68 s ClockTime = 2 s
因为是一个很小的单核算例,IO也不大,所以IO基本上没有花时间,导致在保留精度不同的情况下出现了上述差异。
多说两句
:
上图右上角是在WSL2 根目录下的结果,
右下角是在一个 Ubuntu18.0.4 服务器上的结果,
左边的结果是用 WSL2 在 /mnt/h 盘下的结果,可以看到在即使是很小的算例。这个IO耗时也是相当大。这是 WSL2目前的问题,相较于WSL 它在 根目录下确实IO能力有很大提升。但是在 /mnt/* 下 真是果断弃疗。
版本:
OpenFOAM-v7The 'ExecutionTime' is the elapsed CPU time, and the ClockTime is the elapsed wall clock time for the latest time step(approximate!!)
-
fsiFoam: flux requested but p not specified in fluxRequiredfoam-extend4.0 fsi模块: https://openfoamwiki.net/index.php/Extend-bazaar/Toolkits/Fluid-structure_interaction#Install_on_foam-extend-4.0
遇到了一个比较奇怪的问题,感觉算是个bug。
类似这样:明明字典中给定了p
,但还是显示not specified
在CFD Online 上找到了解答,做一个搬运工,可能也能方便一些习惯看中文论坛的朋友。另外还请熟悉程序的朋友解释一下这样的处理方式的原理,也学习学习最好。
CFD Online 解决方法
-
texmaker左边的编辑器能和VIM结合么?vim-latex 插件可以了解一下,我配置了,但是还没有时间来练手。感觉熟练之后也可以用来进行latex写作。
-
成立党支部经过三个月的磨炼,我想我也可以算是积极分子了。什么时候,逛论坛也不用鼠标就厉害了。(本条消息没有鼠标发送,哈哈哈,cVim 推荐一下)
-
waves2Foam是否支持重叠网格的计算?难度不大,我几个月前就公布了博客内容,详细记录了修改过程。应该是目前全网首发。
准确性:直接取决于 重叠网格求解器的准确性。重叠网格求解器的准确性待验证,最近忙得我都顾不上做这个工作,有人做了的话欢迎交流 邮箱:maoyanjun_dut@foxmail.com。
waveFoam 与overInterDyMFoam -
CFD周边@东岳 鼠标垫和笔记本已收到,感谢东岳老师,祝CFD中文网,CFD界,东岳流体 越办越好。会坚持在CFD的路上!
-
CFD周边@东岳 好的,谢谢了,坐等大鼠标垫。过段时间再继续好好学习。
-
CFD周边@东岳 填了两次信息了,还是显示未填报。
-
关于动网格字典中accelerationDamping的疑惑做过一点验证,看过代码,
accelerationDamping
尽量保持为1.0 ,或者在0.9-1之间,这个是真正作用在加速度上增加阻尼的,也就是你真的给你的运动加了阻尼。而accelerationRelaxation
是加速度松弛,利用当前步和上一步进行松弛处理,个人理解不影响计算准确性,而且可以保证计算稳定,可以调小。wiki那个结论感觉有问题,望辩证看待。
另:如果你的计算总是发散,请检查边界条件等是否合适。 -
CFD周边好期待两斤重的鼠标垫可以马上到手,我要带着这大鼠标垫出国搞CFD,想想都很霸气,别人都是拿出笔记本电脑,我拿出来一块大桌布。最近忙着准备英语考试,论坛上的活跃度下降了,等我回来。(PS:邮寄地址啥的什么时候收集呢?)
不奢求能获得赠送笔记本,要是能有机会买这个笔记本,正好一起邮寄了就更好了,硕士毕业后,找时间把硕士期间学的流体力学和计算流体力学的公式再复盘一遍,用这个本整理一下,想想也是美滋滋。邮箱:maoyanjun_dut@foxmail.com
-
关于积雪问题的讨论@东岳 前段时间在您的推文中看到了这个图,当时立刻下载了下来。打算仔细看看
-
关于积雪问题的讨论@浪迹天大 应该是类似现象。感觉挺有意思的。我学习一下
-
icoFoam求解器解析中问题。if (nonOrth == nNonOrthCorr)
{
phi = phiHbyA - pEqn.flux();
//使用求解的压力场修正通量场,在最后一次修正的时候通量守恒,Issa指出,大约需要2-3次内循环步。
//对应方程(26),pEqn.flux()返回方程(26)方程右边第二项,也为fvc::interpolate(rUA)*fvc::snGrad(p)*mag(mesh.Sf())。
//某些可压缩求解器其中的pEqn.flux()可能为+号,即为phi = phiHbyA + pEqn.flux()。这是因为pEqn中的laplacian项为−号
}
@东岳 做个勘误,注释中的fvc::interpolate(rUA)*fvc::snGrad§*mag(mesh.Sf())
似乎应该是rAU
还行麻烦解释一下
surfaceScalarField phiHbyA ( "phiHbyA", (fvc::interpolate(HbyA) & mesh.Sf()) //此处依据Rhie-chow插值原理,HbyA使用线性插值得到, //即需要在算例中设定interpolate(HbyA)的格式 + fvc::interpolate(rAU)*fvc::ddtCorr(U, phi) );
里面的
fvc::interpolate(rAU)*fvc::ddtCorr(U, phi)
的 意思。谢谢啦。 -
OvermultphaseInterDyMFoam@jacobian 抱歉,我目前也在学习阶段,对于可压缩模型几乎没什么了解。正如我所说,这个实现就是简单的代码对比将两相流模型换成了多相流。他们的代码结构和实现太相近了。也没做算例验证,后续有时间,我会补充算例验证,检查求解器的程序逻辑和算法准确性。
-
OvermultphaseInterDyMFoam@东岳 这次workshop我简单投了个摘要,用overset算了个浮体,效果还可以,但是也有些问题。后面打算做些验证工作。发现算法重叠区插值效率貌似有待提高,下面打算学习一下overset 库的具体实现算法,看看是否有优化空间,有问题还希望和东岳老师和网站上的各位交流。
-
OvermultphaseInterDyMFoamThe Manipulation of OvermultiphaseInterDyMFoam
前天和一个群里的朋友交流,要改一个多相流的重叠网格求解器。感觉和两相流求解差不多,于是改了一下,编译成功了,放上来仅供感兴趣的参考。没有算例验证,也没检查程序逻辑,就是简单的参考对比编译成功了。希望得到大家的反馈和意见,还有算例补充。http://maoyanjun.top/2018/05/04/the-manipulation-of-OvermultiphaseInterDyMFoam/ -
sixDoFRigidBodyMotion设置参数在Linux下用OpenOffice 写的,在word里乱版了。哪天整理一下挂在我的博客上。下面的简单总结仅做参考。应该可以解决你的问题。
Selecting sixDoFSolver Newmark Translational constraint tensor (0 0 0 0 0 0 0 0 1) Rotational constraint tensor (0 0 0 0 1 0 0 0 0)
这个约束采用的是二阶张量形式,在设定约束的时候,1 意味着开放这个方向的自由度。0意味着关闭自由度
plane 只能约束Translation ,且当y=1时,意味着放开x,和z,不能约束rotation line: 只能约束Translation ,且当y=1时,意味着放开y,不能约束rotation Aix :只能来约束Rotation ,且当y=1时,意味着放开了y方向摇动,不能约束translation
最后,Aix和line的方向矢量不能为零,所以当需要限制两个方向摇动的时候可以,设置两个aix。