Skip to content

OpenFOAM

OpenFOAM交流区

5.0k 主题 29.6k 帖子
  • foam-extend4.0如何安装wave2foam

    16
    16 帖子
    1k 浏览

    @haozhibin 好的,谢谢!:140:

  • foam-extend-4.0 并行计算报错

    2
    2 帖子
    214 浏览
    G

    小丑了,家人们。最后发现是超算空间满了。。。

    这里搬运一些cfdonline上的相关问题的讨论。
    链接文本

    链接文本

  • 设置的U和pareview里面查看的U不一致

    9
    9 帖子
    706 浏览
    J

    @z597288 你好,我觉得你的这个问题是很正常的。以下是我的一些个人理解。
    首先你的流域是充满了流体的,满足质量守恒,你进来多少流体就应该出去多少,你0时刻流域速度为0,其余时刻流域的速度是不可能为0的。至于你说的那个慢慢有流速,我承认流场是在逐步发育的,你可以监测流场,等流场稳定以后再提取数据就行了。
    第二,你的流域内部是有障碍物的,障碍物的存在会导致流体加减速,同时会产生y方向的速度,你的那个云图上面显示的是速度的大小,并不是你水平方向的流速,你设置成只查看x方向的流速,应该是在5左右的,都没有什么问题。

  • 明渠流动空化计算应该选啥求解器呢?

    2
    2 帖子
    175 浏览

    又或者说可以通过一些边界条件将明渠流动化简为管道流然后再用interPhaseChangeFoam计算?

  • Tecplot后处理openfoam结果问题

    10
    10 帖子
    739 浏览
    A

    @chon01 那就不知道是为啥了....:chigua:

  • 关于求解器的问题

    1
    1 帖子
    187 浏览
    S

    三维模型求解器是否可以适用于求解二维模型,例如ibScourFoam是否可以用来求解二维冲刷模型,在关于ibScourFoam的论文里面只提到了求解三维模型,想请教一下大家是否可以用于求解二维模型

  • swaks4Foam安装问题

    5
    5 帖子
    415 浏览
    S

    @Do1975 好的,十分感谢

  • 9 帖子
    4k 浏览
    tidedrinkerT

    @李东岳 不敢称大佬,也在学习中

    wave2Foam没用过,好像是停止维护了?我开始考虑波浪模拟的时候,基金会版本的OF已经可以支持造波了,所以就没有试过。
    然后这几个版本,只说我试过的那几个版本:

    基金会版本的OF,截止到OF8,只支持波流耦合,而且波浪水质点速度最好不要超过平均流速,否则入口会崩。而且不支持定义频率或者周期,只能定义波长。好像OF10(或更高版本)支持定义周期,但没试过;介绍页面说支持纯波浪,但我试了一下,至少支持的不太好。OF8不支持边界消波,只能用动量源做阻尼消波,效果倒也还可以。

    ESI版本的OF,截止到OFv2112,只支持纯波浪,支持定义周期,效果不错,至少做二维的近岸波浪变形和破碎可以和实验结果对的上。支持边界消波,但没有试过效果。而且有一个问题,不确定是模型本身的问题,还是我手艺太潮,在做小周期(<1.5s)的波浪时,衰减非常厉害,而且边界处的波形就不太对。

    olaFlow的版本,支持纯波浪和波流耦合,而且看上去效果不错,支持定义周期。支持边界消波,而且效果很好。但有两个问题,第一个是吃网格,对结构网格支持很好,但是对非结构/多面体网格很不友好;另一个是只支持z方向作为重力方向,我一般习惯是y方向为重力方向,网格还要再转一次。

    如果周期不是很短,波陡不是太大,这几个造波都没什么问题。但是,基金会版本可以通过修改controlDict加载库的方式,用自带的求解器调用olaFlow的边界。但是ESI版本不行,波浪库是默认加载的,会与olaFlow冲突,暂时还没搞明白怎么把这个库去掉,在ESI版本里调用olaFlow就只能用olaFlow自己的求解器。

    做波流结构物相互作用的话,我现在的方法是OF6+olaFlow的消波边界,在controlDict里把OF6自己的波浪库和olaFlow的消波边界加上,效果还行。

  • fvOptions(Urel)和SRF->Su()具体说明在哪儿?

    3
    3 帖子
    273 浏览

    @Voynich 在 fvOptions(Urel)和SRF->Su()具体说明在哪儿? 中说:

    SRF->Su()是和坐标系相关的源项,就是你公式的最后两项,fvOptions(Urel)是自定义的源项。

    谢谢,昨天研究了一下已经找到了
    4737059c-7918-4a8a-b356-8a5771973def-image.png

  • 请问大家这个报错有人遇到过吗

    1
    1 帖子
    178 浏览
    U

    我在使用subsetMesh命令时,出现以下提示,温度场无法正常设置,有哪位朋友遇到过吗
    Subsetting volScalarField (T--> FOAM Warning :
    From Foam::fixedValueFvPatchField<Type>::fixedValueFvPatchField(const Foam::fixedValueFvPatchField<Type> &, const Foam::fvPatch &, const Foam::DimensionedField<Type, Foam::volMesh> &, const Foam::fvPatchFieldMapper &) [with Type = double]
    in file fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C at line 81
    On field subsetT patch FIBER patchField fixedValue : mapper does not map all values.
    To avoid this warning fully specify the mapping in derived patch fields.
    alpha.liquid p p_rgh)

  • 二维圆柱绕流

    14
    14 帖子
    14k 浏览
    G

    @random_ran 老师您好!借楼向您请教一些问题。我目前进行二维圆柱绕流的计算,Re=1e4和5e4。圆柱直径D=0.1m,介质是水(nu=1e-6),计算域和生成网格(STARCCM生成并导入)如图所示:

    图片1.png
    图片3.png

    湍流模型为 RAS kOmegaSST,边界条件参考Chalmers大学教程设置:

    图片2.png

    计算结果如下:最大库朗数为0.27,最大壁面y+<0.3,阻力系数误差<1%,St误差约为30%。St计算公式为:fD/U,f由升力时历曲线fft得到。

    fvSchemes:

    ddtSchemes { default Euler; } gradSchemes { default cellLimited Gauss linear 0.5; //grad(p) Gauss linear; grad(U) cellLimited Gauss linear 1; } divSchemes { default none; div(phi,U) Gauss linearUpwindV grad(U); div(phi,k) Gauss linearUpwind default; div(phi,omega) Gauss linearUpwind default; div((nuEff*dev(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear limited 1; } interpolationSchemes { default linear; } snGradSchemes { default limited 1; }

    fvSolution

    solvers { p { solver PCG; preconditioner DIC; tolerance 1e-08; relTol 0; } pFinal { solver PCG; preconditioner DIC; tolerance 1e-08; relTol 0; } U { solver BiCGStab; preconditioner DILU; tolerance 1e-07; relTol 0; } k { solver BiCGStab; preconditioner DILU; tolerance 1e-07; relTol 0; } epsilon { solver BiCGStab; preconditioner DILU; tolerance 1e-07; relTol 0; } omega { solver BiCGStab; preconditioner DILU; tolerance 1e-07; relTol 0; } } PISO { nCorrectors 3; nNonOrthogonalCorrectors 3; pRefCell 0; pRefValue 0; }

    跪求老师指点迷津,如何提高St计算精度。

  • 关于pimpleFoam的外循环和松弛因子

    1
    1 帖子
    198 浏览
    N

    刚接触OpenFoam不就,疑问可能有点多
    请问在pimpleFoam对松弛因子和* Final的松弛因子进行设置,如果设置了残差控制,在满足跳出外循环的残差条件之后是不是才会采用* Final设置的松弛因子进行计算?
    如果达到设置的外循环次数后都没满足残差要求的话是不是最后一次循环还是用的原来的松弛因子计算?
    我在其他地方有看到说最后一次需要采用一次松弛因子为1.0计算才能获得正确的结果,松弛因子设置为1.0是不是就相当于不进行松弛设置?
    但是我在我自己写的一个求解器中,不在fvSolution中进行松弛设置和设置松弛因子为1.0得到的结果不一样,这又是为什么?

  • 7 帖子
    592 浏览
    李东岳

    太酷炫了老铁,各种软件熟记于心

  • 发现虚拟机上openfoam12的一个bug

    3
    3 帖子
    293 浏览
    V

    虚拟机上openfoam10和11没有问题

  • 5 帖子
    2k 浏览
    C

    @wuyukai 有好的解决方法了嘛哥

  • 非定常CFL数相关问题

    10
    10 帖子
    641 浏览

    @李东岳 在 非定常CFL数相关问题 中说:

    就是简单的一个传输的标量,附加一个s的传输方程

    哦哦,谢谢老师!!

  • OpenFoam监测位移,后处理作图求助

    3
    3 帖子
    501 浏览
    Z

    @bestucan 谢谢大佬

  • 使用driftFluxFoam求解出的浓度场不合理

    13
    13 帖子
    939 浏览
    李东岳

    只有一个图。那就修网格吧。

  • 编译求解器,原始某些功能无法使用问题

    1
    1 帖子
    176 浏览
    Y

    最近编写了一个拉格朗日DPMFoam下面的颗粒长大的求解器,在OpenFOAM/OpenFOAM-3.0.0/src/lagrangian/intermediate/lnInclude对源文件进行了修改。
    源文件,求解器均编译成功,使用新求解器时候不能运行stochasticDispersionRAS的随机游走模型,有如下报错

    Starting time loop Courant Number mean: 0 max: 0 Time = 0.01 Evolving kinematicCloud Solving 3-D cloud kinematicCloud #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigSegv::sigHandler(int) at ??:? #2 ? in "/lib64/libc.so.6" #3 std::string::rfind(char, unsigned long) const in "/lib64/libstdc++.so.6" #4 Foam::IOobject::group() const at ??:? #5 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::kModel() const at ??:? #6 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::cacheFields(bool) at ??:? #7 ? at ??:? #8 ? at ??:? #9 ? at ??:? #10 __libc_start_main in "/lib64/libc.so.6" #11 ? at ??:? Segmentation fault (core dumped)

    修改了一下算法,算简单一点也有报错

    Courant Number mean: 0 max: 0 Time = 0.001 Evolving kinematicCloud Solving 3-D cloud kinematicCloud [2] #[3] #0 0 Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[1] #0 Foam::error::printStack(Foam::Ostream&)[0] #0 Foam::error::printStack(Foam::Ostream&) at ??:? at ??:? at ??:? at ??:? [3] #1 [1] #[2] #1 Foam::sigSegv::sigHandler(int)1 Foam::sigSegv::sigHandler(int)Foam::sigSegv::sigHandler(int)[0] #1 Foam::sigSegv::sigHandler(int) at ??:? [3] #2 ? at ??:? [2] #2 at ??:? [1] #2 ?? at ??:? [0] #2 ? in "/lib64/libc.so.6" [1] #3 std::string::rfind(char, unsigned long) const in "/lib64/libc.so.6" [3] #3 std::string::rfind(char, unsigned long) const in "/lib64/libc.so.6" [2] #3 std::string::rfind(char, unsigned long) const in "/lib64/libc.so.6" [0] #3 std::string::rfind(char, unsigned long) const in "/lib64/libstdc++.so.6" in "/lib64/libstdc++.so.6" [1] #4 Foam::IOobject::group() const[3] #4 Foam::IOobject::group() const in "/lib64/libstdc++.so.6" [2] #4 Foam::IOobject::group() const in "/lib64/libstdc++.so.6" [0] #4 Foam::IOobject::group() const at ??:? [1] #5 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::kModel() const at ??:? [3] #5 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::kModel() const at ??:? [2] #5 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::kModel() const at ??:? [0] #5 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::kModel() const at ??:? [1] #6 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::cacheFields(bool) at ??:? [3] #6 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::cacheFields(bool) at ??:? [2] #6 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::cacheFields(bool) at ??:? [0] #6 Foam::DispersionRASModel<Foam::KinematicCloud<Foam::Cloud<Foam::CollidingParcel<Foam::KinematicParcel<Foam::particle> > > > >::cacheFields(bool) at ??:? [1] #7 at ??:? [2] #7 at ??:? [3] #7 at ??:? [0] #7 ???? at ??:? [1] #8 at ??:? [2] #8 at ??:? [3] #8 at ??:? [0] #8 ???? at ??:? [1] #9 at ??:? [2] #9 at ??:? [3] #9 at ??:? [0] #9 ???? at ??:? [1] #10 __libc_start_main at ??:? [3] #10 __libc_start_main at ??:? [2] #10 __libc_start_main at ??:? [0] #10 __libc_start_main in "/lib64/libc.so.6" [1] #11 in "/lib64/libc.so.6" [3] #11 in "/lib64/libc.so.6" [2] #11 in "/lib64/libc.so.6" [0] #11 ???? at ??:? at ??:? at ??:? at ??:?

    看起来是和Collisionparcel文件有关系?????为什么我改一下颗粒直接变化还和碰撞模型的文件产生了影响??我修改完了之后,不用随机游走模型倒是能跑,但是之后我是算例是需要运动随机游走模型的,所以我想搞想清楚原因,是不是我还要对CollisonParcel文件进行修改

  • 在流场内部加一个速度场

    11
    11 帖子
    1k 浏览
    A

    @coolhhh 谢谢老师!