OpenFOAM

4.5k Topics 26.4k Posts
  • 5 Posts
    3k Views

    我在用interFoam时,笛卡尔网格可以得到合理的计算结果。但换成非结构网格(prism之类)后,计算虽没有发散,但界面有问题,请问有什么需要改进的地方吗?@东岳 @tidedrinker

  • Paraview error无法读取

    2 Posts
    1k Views

    无动网格,parcel量200000,k-epsilon,sprayFoam,spraycloud,solver和边界未进行任何其他编译

  • sample查看某一截面的massflux

    5 Posts
    2k Views

    @东岳 好滴:xinlei: :xiezuoye:

  • interfoam 两个气泡重心位置

    3 Posts
    2k Views

    同问,重心的位置怎么求,,,

  • 4 Posts
    3k Views

    @东岳 谢谢老师解答~

  • 3 Posts
    2k Views

    @东岳 感谢东岳老师的回答。

    我参考了相关文献,low-Mach-number assumption 应该是忽略了压力波动,使得密度、焓等变量与压力波动无关。

    那是不是意味着问题还是属于可压缩的呢?论文里面提到:

    With these assumptions, the compressible energy equation is greatly simplified so that the resulting low-Machnumber equations are represented in tensorial notations as follows:

    然后就是上面的三个控制方程。

    那上面有关DNS的问题老师了解吗?

    谢谢!

  • 关于dns的几个小问题

    5 Posts
    3k Views

    把文件里面的 simulationtype 设置成 laminar,网格足够密,时间步长足够小,是不是就算是DNS呢?

    should be quasi-DNS

    代码里面turbulence->divDevRhoReff(U)以及turbulence->alphaEff()这些湍流相关的项,会不会对DNS直接求解NS方程的方法造成影响?

    如果设置为层流,turbulence->divDevRhoReff(U)直接返回层流项
    因此不会有影响

  • 3 Posts
    2k Views

    @wwzhao 谢谢,sorry,没有仔细搜索,建议删帖

  • OpenFOAM小讲座,有人感兴趣么?

    2 Posts
    1k Views

    人找到了

  • 可压缩状态方程

    5 Posts
    3k Views

    @东岳 在 可压缩状态方程 中说:

    可能是液体的压力和压强关系较大

    我试过了,计算时这个方程可以考虑液体可压缩性并且结果也可以接受,本来我还以为有什么流体力学的理论给出的这个公式呢,谢谢东岳老师~

  • 3 Posts
    2k Views

    @东岳 谢谢东岳老师,确实好使。
    只不过我在HPC上不能改标准求解器,还需要自定义一个myDPMFoam才能编译,运行的时候还需要定义div(alphaPhic,k.air)。研究好长时间才明白……

  • atmosphereBoundaryCondition

    1 Posts
    794 Views

    0_1541517377747_e8feb7f7-66e9-4596-8d6b-38fc6f7ad433-image.png
    0_1541517320383_77c5f7ac-d93b-4e1a-b7ae-5cc1a483afae-image.png
    将进口边界条件设置为大气边界层,运行报错,请大神指教哪里出了问题?

  • 颗粒在壁面附近运动

    1 Posts
    1k Views

    0_1541514111009_33d16365-121d-47bf-b842-32e36006ab8c-image.png
    0_1541514148537_3c9f7071-5c62-4b8f-b151-e2d78c41ca7d-image.png 0_1541514164661_e93f6f1f-d619-4aec-87bf-a267cebe8fd3-image.png
    0_1541514189389_f2cdec75-6e7b-4fe1-bd94-e6ea2a932467-image.png 0_1541514218249_5d745cd3-2ba3-4023-890d-71ad8358d24c-image.png
    请问为什么我在knematicCloudProperties中设置的所有面都是颗粒反弹,但是实际运行过程中颗粒从下边界左边逸出了?

  • openfoam可以识别的fluent文件版本

    5 Posts
    3k Views

    @tidedrinker 0_1541396115574_8a12b935-4737-407d-8a75-79e3bcf4fe98-image.png

  • 时间步长设置

    4 Posts
    2k Views

    老师,颗粒时间步长设置得越小,计算颗粒轨迹就越准确吗?有没有默认的MaxCo值?

  • 1 Posts
    900 Views

    Cellcells()不能并行,东岳老师是怎么做的?@东岳

  • 多相体系的计算模拟

    1 Posts
    4k Views
    已完成的工作(博士)

    各位OpenFOAM战友们,

    在这里很高兴跟大家分享一篇我们的工作:Droplet breakage and coalescence in liquid–liquid dispersions: Comparison of different kernels with EQMOM and QMOM。在这篇文章中,我们将QMOM和EQMOM植入到OpenFOAM的双流体模型中,并用于预测搅拌反应器内的液液混合粒径分布。并将相关数据和实验进行验证结果吻合较好。希望这个工作对相关的研究起到一定的启发作用。

    这个工作是我在意大利期间,在其他导师大力指导下完成的,多亏各位导师开启了我的CFD篇章!心里已经谢了一万遍!:huahua:

    https://www.jianguoyun.com/p/DRta4iIQ9s3ZBhiH4H8

    基本完成的工作(博后)

    博士期间的工作进行的时候,我们发现了一些缺陷。于是,我们计划在OpenFOAM中植入了一种新的算法,在这个算法中,离散相通过普适性群体平衡模型计算,也就意味着传统欧拉欧拉模型中的离散相N-S方程可以被彻底的抛弃。我们已经将相关的模拟数据和实验结果相对比进行验证。相关的代码已开源。

    这个工作主要是我在德国博后期间做的。但是回国的时候还没做完,回国后在业余时间继续干了半年多。博士后不同于博士,相关工作大部分独立完成,合作导师掌握了一些方向 :mihu: 也建议大家博后期间一定要培养起独立科研的能力,不能处处需要人指导。万一你青年千人回来独立成立课题组呢:shangxue:

    下面是一篇在审文章的结论:

    Conclusions: Multiphase flows can be simulated using the E-E method, the E-L method and the Eulerian-QBMM. In this work, the one-way coupled solver oneWayGPBEFoam and the two-way coupled solver twoWayGPBEFoam have been developed, in which the Eulerian-QBMM was implemented. The latter is designed entirely within the OpenFOAM software framework and is a highly-extensible and fully object-oriented C++ based approach. The code is released under the same license as the OpenFOAM base, at a publicly available software repository that includes documentation and example tutorials. It is intended to be a powerful research platform for those interested in Eulerian-QBMM.

    oneWayGPBEFoam has been used in this work to verify the particle size segregation phenomenon, and good agreement with the analytical solutions was obtained, implying that the QBMM algorithm which was implemented is correct. A turbulent bubbly air/water upward flow through a pipe with a sudden enlargement was employed to verify the results predicted by the two-way coupled Eulerian-QBMM and the E-E method. Both of them predict good results compared with the experimental data. To complete the two-way verifications, two classic bubble column experiments with different superficial velocities were employed, as used by D{'\i}az et al. \cite{diaz2008numerical} and Pfleger et al. \cite{pfleger1999hydrodynamic}. It was shown that the results predicted by twoWayGPBEFoam (e.g., the bubble plume period, the global phase fraction and the averaged vertical liquid velocity) agree well with the experimental data.

    The development of twoWayGPBEFoam is still ongoing. Other momentum interface exchange models, four-way coupling procedures and compressibility algorithms will be implemented in the future. Optimizations and bug fixes are often applied to the repository. It is also worth mentioning that besides twoWayGPBEFoam readers are also refereed to the open-source code (\verb+OpenQBMM+) developed by Passalacqua et al. \cite{passalacqua2018open}, which includes different QBMM algorithms and well-organized test cases, although the two-way coupling procedure used in their work is different to ours. It is our hope that these open-source QBMM-based CFD codes, as strong supplements of the existing E-E method and E-L method, will be used and be extended by different research and industrial groups from different disciplines.

    0_1541126370100_捕获.JPG

    即将进行的工作

    博后期间将气-液体系将E-QBMM算法验证之后,在未来,我将和新的小伙伴们将E-QBMM应用于液-液/液-固体系。相关研究将实验 + 模拟两步走。具体的研究暂时保密。同时,在双向耦合的基础上植入四向耦合OpenFOAM求解器。相关的算法将和欧拉欧拉求解器reactingMultiPhaseEulerFoam以及MPPIC求解器MPPICFoam进行对比验证。从博士期间发现问题,博后期间植入新算法并验证,未来继续验证,整个算法的开发/植入/验证的过程,基本人生的10年就过去了。不过工作很具有系统性、连续性和创新性!

    再一次的,我们承诺将所有这些OpenFOAM求解器以及所有的验证算例开源化,以供同行交流!

    对了,有对多相流算法感兴趣的,可以回帖交流讨论!

    祝收敛
    东岳

    另外,我计划2年内完成这本在线笔记,名为《多相流及群体平衡模型的数值计算方法》。还是只能用业余时间写。还是要从算法的层次往上升,希望能讲清楚,讲明白!

    0_1541128448152_捕获.JPG

    0_1541128362632_捕2获.JPG

  • 5 Posts
    3k Views

    @刘雄国 非常感谢

  • MFIX传热问题

    10 Posts
    5k Views

    @j 太感谢了

  • 4 Posts
    3k Views

    @lambs 关于湍流的入口边界条件,可以参照《Large Eddy Simulation for Incompressible flow》 by Pierre Sagout 书中的两种方法:

    1.Stochastic Recontruction from a statistical one-point description. 就是用随机方法生成湍流场,比较容易上手的有 Smirnov-Shi-Celik 方法,书中有详细介绍,要在流场中形成fully developed turbulent 需要很长的domain 和 time marching.

    Deterministic precursor simulation. 在运行真正的算例之前,用循环边界条件加在一个domain 的四周,相当于一个无限长的 doamin, 生成充分发展的湍流场,然后将其中的一个断面map 到 真正算例里的入流边界,亦需要很长的时间达到quasi-steady state.
  • particleForce

    6 Posts
    3k Views

    我觉得你的问题已经解决了,看起来是某个符号遗漏

  • 4 Posts
    2k Views

    modest radiative heat transfer
    这本书太厚了,去看下周怀春老师的视频吧!

  • 有关openfoam二次开发

    12 Posts
    5k Views

    有关李老师后面的内容,硬交互,我不是很理解。“在OpenFOAM直接把一些数据提取出来,硬生成一个矩阵,进入F库计算后返回”,这个过程,是不是等同于让C程序计算完后,将结果数据带入F之中?

    是的

    我的F代码输入和输出都是个固定内容格式的txt文件。输入螺旋桨的几何特征型值表以及工况,最终拟定格式输出螺旋桨的定常或非定常性能。不是按照OpenFOAM的格式进行的输入输出

    我想研究船桨干扰问题,船(C代码)和桨(F代码)两者是互相迭代的过程。这个迭代过程硬交互(Brute-force)能否实现自动,而不是完全孤立一般的手动迭代?

    看起来是可以的,你用F代码计算,后生成txt文件,然后通过C语言把txt文件内的数据写成OpenFOAM的格式,然后用OpenFOAM计算船的流场。

    这样如何

    另外我觉得你这个不是大问题,如果做上述对接操作,纯前端的活,不需要太久。

  • OpenFOAMv1806跨节点计算出错

    1 Posts
    1k Views

    软件版本:openfoam-v1806
    硬件信息:超算(x86_64架构)
    系统:centos 6.6
    问题描述:openfoam编译完成后在登录结点串行并行计算都无报错,但是通过bsub命令提交任务计算出现下面的报错:

    [m5605:28439] Signal: Segmentation fault (11) [m5605:28439] Signal code: Address not mapped (1) [m5605:28439] Failing at address: 0x29c38a0 [m5605:28442] [ 0] /lib64/libc.so.6(+0x326a0)[0x2b582a1406a0] [m5605:28442] [ 1] /home/daiyut/tools/openmpi215/lib/openmpi/mca_btl_openib.so(+0xf380)[0x2b583afbf380] [m5605:28442] [ 2] /home/daiyut/tools/openmpi215/lib/libopen-pal.so.20(mca_btl_base_select+0x156)[0x2b582b7370f6] [m5605:28442] [ 3] /home/daiyut/tools/openmpi215/lib/openmpi/mca_bml_r2.so(mca_bml_r2_component_init+0x11)[0x2b583adaf251] [m5605:28442] [ 4] /home/daiyut/tools/openmpi215/lib/libmpi.so.20(mca_bml_base_init+0x7c)[0x2b582aefc0ec] [m5605:28442] [ 5] /home/daiyut/tools/openmpi215/lib/libmpi.so.20(ompi_mpi_init+0x3ad)[0x2b582aebf59d] [m5605:28442] [ 6] /home/daiyut/tools/openmpi215/lib/libmpi.so.20(MPI_Init_thread+0x46)[0x2b582aede3f6] [m5605:28442] [ 7] /home/daiyut/OpenFOAM/OpenFOAM-v1806/platforms/linux64GccDPInt32Opt/lib/openmpi-system/libPstream.so(_ZN4Foam8UPstream4initERiRPPcb+0x67)[0x2b582a4a90c7] [m5605:28442] [ 8] /home/daiyut/OpenFOAM/OpenFOAM-v1806/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam7argListC1ERiRPPcbbb+0x67c)[0x2b5828e2489c] [m5605:28442] [ 9] icoFoam[0x453149] [m5605:28442] [10] /lib64/libc.so.6(__libc_start_main+0xfd)[0x2b582a12cd5d] [m5605:28442] [11] icoFoam[0x41c6c9] [m5605:28442] *** End of error message ***

    请问有前辈知道这个是什么原因造成的吗?以及有什么解决办法吗?

  • multiRegion区域间的边界条件

    4 Posts
    2k Views

    好像没有。

    给你举个例子,在计算压力p和速度U的时候,并行分解之后会出现一个processor0to1类似这种边界条件。不处理的话,phi在processor0to1是通过U计算出来的。你可以手动处理processor0to1这个边界条件的phi值,比如全部设为0. 然后你的处理器边界就0通量了

  • 10 Posts
    4k Views

    @wwzhao 你是指严格小于1吗?不一定的,我们也用过超过2的库朗数,结果也还行。

  • 7 Posts
    3k Views

    @东岳 老师,我重新把coneNozzleInjectionModel文件全部复制到一个新的文件夹下,然后重命名为MyInjection然后将模型文件MyInjection.C与MyInjection.H中的模型名称coneNozzleInjection全部替换成MyInjection,编译完成后运行sprayFoam发现关键字myInjection并不能被识别为可用的颗粒喷射模型。下图为我运行求解器的结果:
    0_1540376406398_2018-10-24 18-17-46 的屏幕截图.png
    其中颗粒喷射子模型修改我是参照下面地址所示的步骤进行的:https://openfoamwiki.net/index.php/Howto_addSpraySubModels
    0_1540376624909_2018-10-24 18-22-03 的屏幕截图.png
    请问老师,这是不是哪里文件没有修改造成的?

  • IHFOAM波浪生成及波面监测

    3 Posts
    2k Views

    谢谢,我尝试下重新编译IHFOAM看能不能解决

  • 看不懂的error

    4 Posts
    1k Views

    如果是稳态,不需要增加fvm::ddt(),但看起来问题不是来源于fvm::ddt()。更详细的错误信息判断不出了。

  • 7 Posts
    3k Views

    @东岳 好的,多谢东岳前辈的意见^_^

  • 1 Posts
    980 Views

    想讲提取的自由液面波动的曲线数据输出,利用plot date工具,其中只涉及自由表面波动的问题能得到理想的曲线,如下面图1和2,可是当自由液面出现气泡时,曲线变得波动起伏,不能按理想曲线排列,如下面图3和4,想知道该用哪个filter怎样改变设置条件能得到云图中那样理想的曲线数据,希望懂的大神能指点一二,谢谢!
    0_1540196637813_5abc6bca-edf7-48d3-98bb-eea182ac6014-image.png
    0_1540196684260_cf5d2c26-19e0-4907-93f2-df12199272d6-image.png
    0_1540196828240_58c4864b-8945-4d63-8db6-1765ae3da3ef-image.png
    0_1540196846936_b07d6dd2-daf2-462d-84ae-d46ee372bfcf-image.png

  • share with you

    2 Posts
    1k Views

    为社区做贡献😄

  • 5 Posts
    2k Views

    @东岳 哦了,谢啦!

  • no matching function for call to

    2 Posts
    1k Views

    0_1539859784313_69ca8214-5828-4a5a-aea6-836bf99a13c1-image.png 上面的问题已解决,出现新的报错,是因为定义面/点不同吗?

  • 网格节点编号问题

    4 Posts
    2k Views

    没人有类似的需求?

  • 5 Posts
    3k Views

    @cc_cherry 你好,请问一下你知道a1,a2,a3,a4怎么选取的吗?谢谢您,麻烦您了。

  • 请问有人用过chtMultiRegionFoam吗

    1 Posts
    945 Views

    大家好,本人最近在模拟一个具有固体区域和液体区域的模型,需要考虑固液之间的换热,所以想请问是否有人用过chtMultiRegionFoam求解器,以及能否提供一下算例学习一下,谢谢

  • 关于超音速出口的边界条件

    3 Posts
    2k Views

    嗯嗯 是使用wavetransmissive边界条件 谢谢

  • 9 Posts
    4k Views

    @东岳 老师,是用filedAverage这个函数来获取LES流场的平均p、U、k吗?但是用LES计算时要求时间步很小,计算到RANS稳态结果的时间计算量非常大

  • pisoLagrangian 运算后paraview闪退

    2 Posts
    2k Views

    这个问题我也遇到过,是不是用了动网格求解器进行了并行计算?

  • OpenFOAM的setSet工具使用

    3 Posts
    2k Views

    @东岳 谢谢东岳老师,我还想问一下,OpenFOAM自带算例中的topoSet一般都是指定一个方形区域(boxToCell),如果我想指定一个圆柱区域该如何使用呢?关于topoSet,老师有没有什么较为系统和详细的资料推荐呀?

  • 拉格朗日求解器一个bug

    1 Posts
    744 Views

    在计算粒子的Eo的时候,OpenFOAM定义

    template<class ParcelType> inline Foam::scalar Foam::KinematicParcel<ParcelType>::Eo ( const vector& a, const scalar d, const scalar sigma ) const { vector dir = U_/(mag(U_) + ROOTVSMALL); return mag(a & dir)*(rho_ - rhoc_)*sqr(d)/(sigma + ROOTVSMALL); }

    注意上面的(rho_ - rhoc_),如果粒子密度小于连续相密度,在计算升力的时候:

    scalar Eo = p.Eo(g, p.d(), sigma_); scalar dH = p.d()*cbrt(1.0 + 0.163*pow(Eo, 0.757));

    对于Eo的负值,pow(Eo, 0.757)为虚数

  • interFoam板上液膜流动

    1 Posts
    967 Views

    最近在用interFoam算板上液膜流动,用固定步长计算时,液膜表面观察不到任何变化,用变步长计算到同样的时间时,又可以观察到液膜表面的波动,请问有人遇到过吗?
    固定步长计算结果:
    0_1539420931486_ae58dccc-52ef-4d14-be19-14a6aeb0090e-图片.png
    变步长计算结果:
    0_1539421027533_e4c454a3-88ec-4842-a05b-480f07a0f73c-图片.png

  • 7 Posts
    3k Views

    多谢东岳老师!
    问题已经解决了,在paraview里要调到第二个时间步上才能显示snap后的结果:mianmo: :mianmo:

  • Lagarngian track method using in pisoFoam

    3 Posts
    2k Views

    解决了,我太粗心了,谢谢老师!!!!

  • 关于alphatWallFunction的疑问

    3 Posts
    2k Views

    @东岳
    另一个alphatJayatillekeWallFunction和Fluent中的壁面函数一样,根据$y^+$使用不同的公式计算,打算试一下这个

  • 3 Posts
    2k Views

    @maoyanjun_dut 好的,谢谢小毛哥!:quwan:

  • Openfoam2.1.0安装问题

    4 Posts
    3k Views

    不知道你测试过没有,我之前的回复是可行的,所有

    对‘yyFlexLexer::yywrap()’未定义的引用

    的错误提示,都可以这样处理。近期做了个OpenFOAM-2.2.x的现成的Ubuntu虚拟机,可在这里直接下载

  • 5 Posts
    3k Views

    @东岳 嗯,谢谢您。
    这样的确有点复杂,不过因为我要模拟街道峡谷污染物扩散,如果用循环的话污染物一直在计算域内出不去,然后结果误差较大,所以是不得已而为之。

  • 4 Posts
    2k Views

    没用过tecplot,有什么功能paraview不能实现么?