Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
OpenFOAM交流区
@cresendo 好的好的,我去试试,谢谢!!
@李东岳 不好意思啊 东岳老师,我表述的不是很清楚,我说的exe想说的是编译成application.就是下图中的EXE。谢谢老师回复!47afd1597f7c6cb232f1079f897a298.png
最近在做一个多组分求解器,如题,OF中如何实现单组分到多组分的混合呢?看到一个帖子: https://www.cfd-china.com/topic/2183/openfoam多组分返回热物性?_=1619261653942 我想我也遇到了和楼主相同的问题:比如说我想求解多组分的定压比热Cp,而OpenFOAM中给出了单组分定压比热Cp的函数,但是多组分的Cp是通过一定的混合规则来求解的,OpenFOAM中从单组分到多组分的这个过程是怎么实现的呢?或者说OpenFOAM中的混合规则如何进行的?望了解的铁子指点一下,谢谢!
@cccrrryyy 后来查了一下GAMA可以算非对称矩阵。忘了当时怎么设置的了,现在改成我记得的边界条件GAMG可以算几步,但是算着算着就报错了,应该是发散报错。我现在感觉可能当时是一开始计算就发散了。。
@cfd_上弦月 谢谢回复,有道理,但因为是非均匀网格,即越靠近壁面越密集,我其实想要获取上图中绿色区域内每个网格的高度,(假设长度都是一致的),用于高度方向的积分运算。
你可以加载两个case.foam,然后显示不同的颜色?
最后一张图是X方向的受力,也就是船的阻力。 谢谢回复:146: ,如您所言,setFields确实有问题,我设置的值正好等于流体域边界值,当时没有检查其实边界处的相分数没有完全赋值。将setFields中的box范围改成稍大于流体域就可以正常求解了。我本来还以为是数值振荡这么严重呢,都想离散格式精度调低看看了。现在看来,还是物理模型导致的振荡才更严重。:136:
@wangfei9088 非常感谢:xinxin3:
@浪迹天大 谢谢您,您的总结让我受益良多。
从 ESI 把这个功能偷过来了,现在在 OF-7下能用了。但是限制比较大,需要完全均一的网格。 https://github.com/ZhangYanTJU/functionObjects 这是我做的结果:energySpectrum.png
都是关于并行计算的包。openmpi和metis都可以手动下载安装,你试试?
@wangfei9088 谢谢大佬,已经解决啦,需要paraFoam -builtin 才能够显示组分,之后plot over line之后可以得到需要的数据。
@白礼耕 好的,谢谢您
@tidedrinker 非常谢谢你的回复,长知识了 我试着两个算例就ddt的选择不一样算了一下, 选择LocalEular的时候controlDict没有设置MaxCo,maxAlphaCo ,maxDeltaT 可以顺利收敛算到最后, 选择Eular的时候,显示库朗数,需要有maxAlphaCo,增加了这个设置(值取了15)之后,算到41秒库朗数太大了崩了(exited on signal 8 (Floating point exception).)这个时候应该就需要时间步长较小。 然后看到了这个帖子 https://www.cfd-china.com/topic/412/关于时间离散euler与localeuler离散 才知道用了LocalEular的算是LTSinterFoam的意思,求解稳态问题,所以表明DTCHull这个算例因为属于稳态所以就用了LocalEular时间离散,而另一个DTCHullMoving就不是稳态问题了所以就用了Eular。 早期的OpenFOAM版本还有LTSInterFoam,https://github.com/OpenFOAM/OpenFOAM-2.0.x/tree/master/tutorials/multiphase/LTSInterFoam
学OF时间长了就越明白OF编程的这种独特,刚开始入门知道用的是C++我还找了以前学C++的书出来重刷,但是后来发现OF虽然也是基于C++但是自己很有自己的特点,所以如果C++不好的入门者也不用担心,耐心点慢慢看OF的码有不懂的就网上搜一搜别人的解析还是能理解的。
@tidedrinker 谢谢大佬!
@bestucan 谢谢您的回复!改成其他边界条件后,顶部网格就没有加密了,确实是cyclic的原因。
各CFDer:
最近做了些高精度高分辨率格式的工作,用Shu-Osher、double Mach reflection和 Rayleigh-Taylor做了下验证。
还有其他的一些比较好的算例可以请教一下吗,感谢!
祝好
自挖自填。再次感谢@浪迹天大 和@马乔 两位大佬的解释,原来这是一种c++ 特性——递归模板模式,也就是 派生类继承自模板类,同时把自己作为参数传递给模板类。这样做的目的其实很明确,从基类对象的角度来看,派生类对象其实就是本身,这样的话只需要用一个static_cast就可以把基类转化成派生类,从而实现基类对象对派生对象的访问。
https://askubuntu.com/questions/1143840/downgrade-openmpi-v2-1-1-to-v2-0-2
https://github.com/open-mpi/ompi/issues/6300
有空测试下