Skip to content

OpenFOAM

OpenFOAM交流区

5.3k 主题 31.5k 帖子
  • fixedFluxPressure和zeroGradient

    2
    2 帖子
    2k 浏览
    Y

    入口边界条件?我有一个问题,最近看到一些模拟射流的把入口延长了一段,加了管内流动,用来避免喷管直接出口处的较大的梯度,东岳老师怎么看@东岳 ,不知道您的入口速度怎么给的

  • OpenFOAM壁面摩擦速度

    3
    3 帖子
    2k 浏览
    S

    @东岳 我是按这个公式计算的,密度为1,那么u_tau=sqrt(tau_w),但是我发现,论文里的摩擦速度刚好是我用OF算出来的1.225倍。论文是用fluent算的,fluent里面的空气密度是1.225。我现在想不通 为什么会差这1.225倍。:jingya:

  • 请教个关于编译求解器时报错的问题

    3
    3 帖子
    3k 浏览
    同学博

    @东岳 感谢🙏🏼 试了一下还是不行,有新的其他函数的错误了😹

  • slover的文件附在这里了

    1
    1 帖子
    1k 浏览
    同学博

    回复: 请教个关于编译求解器时报错的问题solidificationFoam.zip :high:

  • OF文件读写

    12
    12 帖子
    8k 浏览
    C

    @马乔 在 OF文件读写 中说:

    #include "fvCFD.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // class proxyWriter : public regIOobject { private: scalar value_; proxyWriter(const proxyWriter&) = delete; void operator=(const proxyWriter&) = delete; public: proxyWriter(const IOobject& io, const scalar& value) : regIOobject(io), value_(value) { } virtual bool writeData(Ostream& os) const { os<<value_; return os.good(); } proxyWriter& operator++() { ++value_; return *this; } }; int main(int argc, char *argv[]) { #include "setRootCaseLists.H" #include "createTime.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // proxyWriter writer ( IOobject ( "value", runTime.timeName(), runTime, IOobject::NO_READ, IOobject::AUTO_WRITE ), 0. ); Info<< "\nStarting time loop\n" << endl; while (runTime.loop()) { Info<< "Time = " << runTime.timeName() << nl << endl; ++writer; runTime.write(); runTime.printExecutionTime(Info); } Info<< "End\n" << endl; return 0; } :chigua:

    @马乔 @Samuel-Tu 请问这个怎么用?这是重新编译一个lib然后link到controlDict吗?那怎么知道是在这一步的什么时候输出?是计算前还是计算后?

  • 关于非均匀介质物性(比如导热系数)定义

    1
    1 帖子
    1k 浏览
    chengan.wangC

    大家好

    f29cfccc-509a-4c69-bbd0-3eddb612ac78-图片.png

    如图所示的二维空间,蓝色圆形的导热系数与白色区域不同,我可以用blockMesh生成规则网格,利用funkySetFieldsDict在已知圆柱中心、半径情况下定义导热系数。

    对于三维问题,我利用3dmax生成了不同直径的堆积球,球心、半径的信息我不清楚,如图所示生成stl文件:

    d750e2b8-86fd-41c9-aea4-216a88ba6a85-图片.png

    接下来我想计算整体的导热问题,这也是一个各向异性导热问题,我仅需要用blockmesh画网格即可,但如何定义球的物性?

  • 关于#calc的标准函数

    1
    1 帖子
    908 浏览
    chengan.wangC

    大家好,我在字典文件中看到

    xcells #calc "round((($xmax)-($xmin))/$delta)";

    想知道#calc 可以使用的标准函数包括哪些呢?哪里能查得到?

  • 边界条件编译问题

    1
    1 帖子
    1k 浏览
    C

    最近在研究边界条件的问题,想复制一个边界条件出来修改编译测试。参考了网上的教程,但是还是有些问题,想请教大家。

    OpenFOAM里面的边界条件有些只包括一个C文件,一个H文件,这种边界条件按照网上的教程都可以直接编译。比如fixedFluxPressure,我拷贝到新的文件夹test下,创建一个Make文件夹,在其内部创建files和options文件:
    files:

    fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C LIB = $(FOAM_USER_LIBBIN)/libUsr

    options:

    EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude\ LIB_LIBS = \ -lfiniteVolume

    编译正常。
    但是还有一部分的边界条件包含多个C文件和H文件,这种就编译不成功了。以cyclic为例,拷贝$FOAM_SRC/finiteVolume/fields/fvPatchFields/constraint/cyclic 到testcyclic文件夹,test下面生成Make文件夹,Make里面建立files和options:

    files:

    cyclic/cyclicFvPatchField.C LIB = $(FOAM_USER_LIBBIN)/libcyclicFvPatchField

    options:

    EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude\ LIB_LIBS = \ -lfiniteVolume

    执行wmake libso

    wmake libso . wmakeLnInclude: linking include files to ./lnInclude Making dependency list for source file cyclicFvPatchField.C g++ -std=c++11 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -O3 -DNoRepository -ftemplate-depth-100 -I/home/xc15/OpenFOAM/OpenFOAM-7/src/finiteVolume/lnInclude -IlnInclude -I. -I/home/xc15/OpenFOAM/OpenFOAM-7/src/OpenFOAM/lnInclude -I/home/xc15/OpenFOAM/OpenFOAM-7/src/OSspecific/POSIX/lnInclude -fPIC -c cyclic/cyclicFvPatchField.C -o Make/linux64GccDPInt32Opt/cyclic/cyclicFvPatchField.o cyclic/cyclicFvPatchField.C:32:1: error: redefinition of ‘Foam::cyclicFvPatchField<Type>::cyclicFvPatchField(const Foam::fvPatch&, const Foam::DimensionedField<Type, Foam::volMesh>&)’ Foam::cyclicFvPatchField<Type>::cyclicFvPatchField ^ In file included from cyclic/cyclicFvPatchField.H:225:0, from cyclic/cyclicFvPatchField.C:26: cyclic/cyclicFvPatchField.C:32:1: error: ‘Foam::cyclicFvPatchField<Type>::cyclicFvPatchField(const Foam::fvPatch&, const Foam::DimensionedField<Type, Foam::volMesh>&)’ previously declared here Foam::cyclicFvPatchField<Type>::cyclicFvPatchField ^ cyclic/cyclicFvPatchField.C:44:1: error: redefinition of ‘Foam::cyclicFvPatchField<Type>::cyclicFvPatchField(const Foam::fvPatch&, const Foam::DimensionedField<Type, Foam::volMesh>&, const Foam::dictionary&)’ Foam::cyclicFvPatchField<Type>::cyclicFvPatchField ........ make: *** [Make/linux64GccDPInt32Opt/cyclic/cyclicFvPatchField.o] Error 1

    error太长,只贴了一部分,但是基本上都是说重复定义和声明

    正确的编译方式应该是什么?:mihu:

  • 请教DBM的植入。

    1
    1 帖子
    1k 浏览
    L

    我想问一下,有没有人在openFoam中植入DBM(Discrete Bubble Model)呢。感谢。

  • dynamicCode

    6
    6 帖子
    5k 浏览
    chengan.wangC

    @东岳 您好,我想知道#calc 可以使用的标准函数包括哪些呢?哪里能查得到?

  • 请问Openfoam怎么分别修改输出文件的频率?

    4
    4 帖子
    3k 浏览
    C

    @浪迹天大 ControlDict里面的writeControl和writeInterval似乎会覆盖前面的?

    application twoPhaseEulerFoam; startFrom latestTime; startTime 0; stopAt endTime; endTime 2; deltaT 1e-4; writeControl timeStep; writeInterval 100; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable on; adjustTimeStep no; maxCo 0.9; maxDeltaT 1e-04; functions { volFieldValue1 { type volFieldValue; libs ("libfieldFunctionObjects.so"); log true; //writeControl writeTime; writeControl timeStep; writeInterval 1; //"这里的writeInterval 1 似乎会覆盖前面的100导致所有的输出都是每个时间步都输出?" writeFields true; regionType all; operation volAverage; //weightField alpha1; fields ( alpha.particles U.air U.particles p p_rgh ); } }
  • 请教topoSetDict中invert

    4
    4 帖子
    3k 浏览
    chengan.wangC

    非常感谢

  • darcyGFoam - 达西流动求解器

    已移动
    7
    7 帖子
    9k 浏览
    P

    @jiangqih 在 darcyGFoam - 达西流动求解器 中说:

    在OpenFOAM5中编译出现了 fatal error: fvIOoptionList.H: No such file or directory #include ''fvIOotionlist.H", 然后去src文件夹中fvoption中没发现这个文件,这个问题怎么解决呢?

    fvIOoptionList.H is now fvOptionList.H.
    见:https://www.cfd-online.com/Forums/openfoam-programming-development/197633-cant-compile-solver.html

  • 7 帖子
    6k 浏览
    L

    interPhaseChangeFoam对于空化shock wave无能为力,因为其实际上是个不可压缩求解器。空化中的shock wave实际上和水汽混合相声速的降低相关,水汽混合相声速可以低至几米每秒,导致很可能就超过,从而shock wave可以产生。。
    关于空化shock wave的实验研究,推荐 Ganesh H, Mäkiharju S A, Ceccio S L. Bubbly shock propagation as a mechanism for sheet-to-cloud transition of partial cavities[J]. Journal of Fluid Mechanics, 2016, 802: 37-78.
    关于其数值模拟,18年慕尼黑工大的这篇论文很好。。B. Budich, S.J. Schmidt, N.A. Adams, Numerical simulation and analysis of condensation shocks in cavitating flow, J. Fluid Mech., 838 (2018) 759-813.
    感觉现在大家做空化模拟开始在逐渐转型:xiezuoye:

  • OF中标准K-E模型是否做过调整

    6
    6 帖子
    5k 浏览
    李东岳

    https://www.jianguoyun.com/p/DdvrhJMQ9s3ZBhjw7p4B 更新23页脚注14

  • Slurm下提交算例的脚本应该怎么写?

    1
    1 帖子
    1k 浏览

    麻烦大家给个示例,我用的是openfoam6

  • 网格导入后边界修改会出现error

    1
    1 帖子
    1k 浏览
    E

    gambit网格导入后checkMesh没问题,但是在polyMesh修改为周期性边界条件后的checkMesh会报错误,不知道这个error是否会影响计算?1.png

  • 子系统,双系统和虚拟机

    1
    1 帖子
    879 浏览
    S

    子系统,双系统和虚拟机运算OpenFOAM的速度有差别吗。我只用过虚拟机和双系统,发现虚拟机不是很稳定,老是出现无法启动虚拟机的情况,于是改用了双系统,感觉还蛮稳定的。
    最近知道了win10自带子系统,大家有用过吗。
    这三种的计算速度怎么样呢

  • 关于库中网格信息读取的相关问题

    3
    3 帖子
    3k 浏览

    @freevector 谢谢老师~ 我找到了一个方法,用lookup指针去找model_.time().lookupObject<fvMesh>("region0"),您的方法我有个地方不太理解,就是runTime提示没有申明,不太明白什么意思~

  • 请教个网格相关的问题

    1
    1 帖子
    1k 浏览
    L

    一个正方体,可用 blockMesh 作网格。

    当正方体一个面变斜(而成为有一斜面的六面体),如仍用 blockMesh 作网格,请问是否对计算结果有影响, 还是应该用 snappyMesh 作网格了。。。。。。

    我对OpenFOAM不熟, 所以比较小心。。。。。。

    谢谢