OpenFOAM

4.5k Topics 26.4k Posts
  • atmosphereBoundaryCondition

    1 Posts
    775 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
    877 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
    943 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
    919 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
    726 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
    953 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不能实现么?

  • setFields失败是怎么回事呢?

    3 Posts
    2k Views

    @东岳 thanks

  • 3 Posts
    4k Views

    @wwzhao 太感谢了,新手上路,昨天遇到好多首字母大小写报错的问题,最后看得眼花了没看到这个标点错误
    感谢指正

  • 分享合并力系数的小脚本

    5 Posts
    2k Views

    这个是我自用的,不知道tutorials里面有没有现成的:

    functions { minMax { // Type of functionObject type fieldMinMax; // Where to load it from (if not already in solver) libs ("libfieldFunctionObjects.so"); // Function object enabled flag enabled true; // Log to output (default: false) log true; // Write information to file (default: true) write false; location false; // Fields to be monitored - runTime modifiable fields ( particleU0 //particleU1 //particleU2 //alphaSequence0 //alphaSequence1 //alphaSequence2 ); } }
  • checkFaceFaces函数用法

    5 Posts
    2k Views

    @piteqiu 我觉得没有

  • 请问关于wallShearStress 和 grad(U)

    7 Posts
    5k Views

    受OpenFOAM中wall function实现方式的影响,贴近壁面处的du/dy并不是真实的速度梯度,因此用du/dy求出来的并不是真实的wall shear stress。

    也就是说du/dy的算法只适用于laminar flow,而不适用于turbulent flow。

  • 2 Posts
    2k Views

    @regina #3 Foam::DICPreconditioner::calcReciprocalD(Foam::Field<double>&, Foam::lduMatrix const&) at ??:?应该是GAMG代数方程求解器的DIC预处理器遇到值为0的主对角元素了,除0错误。需要检查一下算例。

  • 3 Posts
    2k Views

    @random_ran 万分感谢:chouchou: :chitang: :chitang:

  • wallLubrication模型中有bug

    2 Posts
    1k Views

    看错了看错了,符号在pEqn.H里面处理了

  • 3 Posts
    3k Views

    @东岳 谢谢东岳老师

  • 3 Posts
    2k Views

    http://dyfluid.com/docs/book/_book/chapter2/section2.3.html

    我再后续要更新你这些东西,要是看这个资料看不明白,欢迎反馈我来更新

    那个-L后面不需要<>号

  • div(phi,U) 中 filteredLinear类疑惑

    3 Posts
    2k Views

    @东岳

    在rhoPimpleFoam/LES/pitzDaily 算例里找到了这个应用,

    ---Properties Second order Unbounded Attempts to limit the unboundedness of the linear scheme ---Usage The scheme is specified using: divSchemes { default none; div(phi,U) Gauss filteredLinear2 <k> <l>; } ---Where the coefficients --k: Scales the rate at which the correction is applied 0 : linear 1 : fully limited --l: Maximum allowed overshoot/undershoot relative to the difference across the face. 0 : no overshoot/undershoot 1 : overshoot/undershoot equal to the difference across the face

    对于矢量时候 用filteredLinear2V, 求解出来流场的unboundedness 介于 Gauss Linear (unbounded) 和 Gauss GammaV (bounded)中间