@huoyanxiadebing 哇您解释的好清楚,学到了很多,感谢感谢!我积累的实在是太少了,还得加油呢
shampoo
帖子
-
OpenFOAM里kOmega模型的问题 -
OpenFOAM里kOmega模型的问题@huoyanxiadebing 哈哈,其实也能看出来用kOmega模型算我这个算例结果和实验差别挺大的,算的不准,或许是不适合这种高速流动。
做这个对比其实是想说openfoam里的kOmega模型和fluent里的标准kOmega模型不太一样,和我在书上看到的也不太一样,主要是有的系数做了简化。
这种变化对我的算例的计算结果有较大影响,但对于其他的算例或者流动情况这种简化的影响可能就不会很明显。而且这种简化对计算的影响是积极的还是消极的也不好判断,对于有些流动可能简化了算的更准,对于有些流动可能不简化算的更准,这可以提醒我们以后用OpenFoam的kOmega模型算东西可能要考虑一下这种影响。万一也有朋友想对比一下fluent和openfoam的计算结果,也用了komega模型,也发现差别很大,那我们做的东西还能相互映证一下,没准还更有底气,还能少走个弯路。
然后kOmega模型的使用范围,我在网上查到的是低雷诺数预测效果较好,但好像高雷诺数也还行。对于自由剪切流比较适合。不过这些概括都比较笼统,我也就只算过一个喷流,没啥工程经验,如果有新算例我也就只能按着网上的建议去试,然后合不合适,有的时候算了才知道,还得具体问题具体分析。我觉得湍流模型这块其实挺有意思的,以我的算例为例,为了算喷流好多人拿不同的湍流模型在那测试,各有各的优劣。不过我觉得我还得多学习学习,吸取前人的经验。 -
OpenFOAM里kOmega模型的问题@东岳 您是在论坛上看到的吗?我论坛上有人用fluent算了一个平板射流plane free jet的问题,感觉做的蛮好的。
http://www.cfd-china.com/topic/3457/fluent-模拟-plane-free-jet/2?_=1588670538009 -
OpenFOAM里kOmega模型的问题@东岳 老师我把壁面改成omegaWallFunction又跑了一遍,结果改善的不是很明显,我猜是壁面的计算对喷流流场计算影响有限。
然后我去对比了Fluent中和 OpenFOAM中kOmega方程的区别,其实之前也比较过,发现其实大部分系数都一致,但有两个和流动相关的系数在OpenFOAM里做了简化。具体是这样的:
标准kOmega方程:
其他项和系数都一样,但是OpenFOAM里这两项
的系数和Fluent中存在差别。OpenFOAM把
分别定义为beta和Cmu,取值分别为0.072和0.09.也就是说忽略了 的影响,将其默认为1.
fluent中的这两项有更细节的计算方法:
由于我也找不到什么别的不同了,所以我就在OpenFOAM的kOmega模型里加上了这两项的计算,又重新跑了一遍case。这回跑出来的结果倒是和Fluent里的计算结果比较接近了,几次对比的结果如下:
不过我也不敢确定我这样就是对的,或许这两项系数的修改对于我的算例影响很大,对于其他类型的流动影响就不是很大。所以也想看看大家有没有用OpenFOAM里的kOmega模型算过其他的算例,或许对于有些算例使用OpenFOAM默认的kOmega模型就可以算的很好,不需要考虑那两项系数的变化,对于有些算例需要考虑系数的变化,希望能确定一下OpenFOAM里标准kOmega模型的适用范围。
我把我改的模型放上来,如果老师同学有兴趣可以用这个模型算一下试试。不过改的时候代码编得十分粗糙,就简单实现了功能,运算优化之类的都没有考虑。如果有人愿意帮我检查检查或者看看能不能优化就更好了,谢谢大家~mykOmega.zip -
关于OpenFOAM里kEpsilon模型的问题@东岳 谢谢老师,我调了设置之后kepsilon模型的计算结果基本一致了。因为在对比不同湍流模型对喷流计算结果的影响,发现还是有很多问题呀。。。愁
-
rhoSimpleFoam计算翼型发散气动方向菜鸡选手,也想和大佬讨论。
- 大佬要不要试一下OpenFOAM里的SA模型?这个一方程模型我看他们在算气动时还挺常用的,可能会好收敛一些,不过kwsst精度好像会好一些。
- 网格可能也有影响。边界条件或许可以参考OpenFOAM里算翼型的case。
- 还有可能是这个翼型不一定适合这么高的流速,看到的一些文献里马赫数在0.2左右,所以收敛可能就是挺难的。
- 对了还想问楼主SIMPLEC和SIMPLE算法有什么区别呀,看您的讨论似乎会好收敛一些?
-
运行报错如果是发散的话可能都原因太多了啊
-
运行报错@鲸落 如果大概知道温度范围的话或许可以用fvoption做一个limitTemperature?但也不一定有用
-
OpenFOAM里kOmega模型的问题@东岳 我天,之前一直以为自己用的omegaWallFunction。结果用错了竟然还能算下去,我先把这改了试试。
-
OpenFOAM里kOmega模型的问题@一颗鸭蛋 好的,谢谢你们的提醒。我后来按照Fluent里初始化的数据给了初始条件,用kOmega模型倒是能直接算下去了,但结果还是不对,您能帮我看看这些边界条件吗?
这个case是这样的,要算一个喷流,四周流体都是静止的(或者有一点很慢很慢的速度)。喷管入口总温和环境温度相同都是300K,喷管总压是环境压力的1.197倍。各个边界的条件设置如下,用的轴对称网格。
UFoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { WALL { type noSlip; } FAR { type zeroGradient; } IN { type zeroGradient; } OUT { type zeroGradient; } AXIS { type symmetryPlane; } SYM_pos { type wedge; } SYM_neg { type wedge; } }
p
FoamFile { version 2.0; format ascii; class volScalarField; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -2 0 0 0 0]; internalField uniform 101325; boundaryField { WALL { type zeroGradient; } FAR { type totalPressure; p0 uniform 101326; } IN { type totalPressure; p0 uniform 121286; } OUT { type fixedValue; value $internalField; } AXIS { type symmetryPlane; } SYM_pos { type wedge; } SYM_neg { type wedge; } }
T
{ version 2.0; format ascii; class volScalarField; location "0"; object T; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 1 0 0 0]; internalField uniform 300; boundaryField { WALL { type zeroGradient; } FAR { type fixedValue; value $internalField; } IN { type totalTemperature; gamma 1.4; psi thermo:psi; T0 uniform 300; value uniform 300; } OUT { type fixedValue; value $internalField; } AXIS { type symmetryPlane; } SYM_pos { type wedge; } SYM_neg { type wedge; } }
k
FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object k; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0.04; boundaryField { WALL { type kqRWallFunction; value uniform 113; } FAR { type fixedValue; value uniform 0.04; } IN { type fixedValue; value uniform 113; } OUT { type zeroGradient; } AXIS { type symmetryPlane; } SYM_pos { type wedge; } SYM_neg { type wedge; } } // ************************************************************************* //
omega
FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object omega; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 -1 0 0 0 0]; internalField uniform 186; boundaryField { FAR { type fixedValue; value uniform 186; } OUT { type zeroGradient; } WALL { type epsilonWallFunction; value uniform 783589.9; } AXIS { type symmetryPlane; } IN { type fixedValue; value uniform 783589.9; } SYM { type empty; } SYM_pos { type wedge; } SYM_neg { type wedge; } }
nut
FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object nut; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -1 0 0 0 0]; internalField uniform 0.01; boundaryField { WALL { type nutkWallFunction; value uniform 0.01; } FAR { type calculated; value uniform 0.01; } IN { type calculated; value uniform 0.01; } OUT { type calculated; value uniform 0.01; } AXIS { type symmetryPlane; } SYM { type empty; } SYM_pos { type wedge; } SYM_neg { type wedge; } }
这是我之前的计算结果,对比喷流轴线上的速度分布和湍动能分布
用Fluent和OpenFOAM的计算做了个对比,kOmegaSST模型两个软件算的差不多,但kOmega模型就差很多,除了换湍流模型其他的计算条件都是一样的。然后大家说的边界条件,我现在比较担心壁面处的计算会对结果产生很大影响吗?我查了一下kOmega模型,OpenFOAM里的omega的边界条件似乎只有omegaWallFunction,壁面附近使用壁面函数。我不关心壁面附近边界层的情况,是不是只要保证y+在30~100间就可以?壁面附近的网格间距过大或过小是否都会有问题?
-
OpenFOAM里kOmega模型的问题各位老师同学好,我最近在尝试用各种不同的湍流模型算发动机尾喷流的问题。在使用OpenFOAM里的kOmega模型进行计算时,参数怎么调算例都会发散,但使用其他模型比如LRR或kOmegaSST都可以比较好的收敛。后来先用kOmegaSST算了个初步结果再换成kOmega模型,算出来的结果依然和预想的结果差别较大。在论坛里搜,发现大家使用kOmegaSST模型较多,因为对模型的了解比较简单,计算的经验也比较少,想问一下是因为OpenFOAM里的kOmega模型不好使吗,为什么大家好像都不怎么用呢?
-
关于OpenFOAM里kEpsilon模型的问题最近在算喷流问题,发现都是kEpsilon模型,用fluent算和用openfoam算,算出来结果差别还蛮大的,速度核心区长度差别挺明显的。用的网格是一样的,边界条件设置的也一样。openfoam用的rhoSimpleFoam求解器,fluent用的pressure—base。有大佬研究过相关的问题吗,如果用同一个湍流模型在不同的软件里算相同的问题结果不一样,可能是由什么原因造成的呢?
-
请问.msh的2维旋转轴对称网格如何转换到OpenFOAM@Exthan 你取的是半径为0.35位置的速度和温度吧?其实那个并不是边界?
-
请问.msh的2维旋转轴对称网格如何转换到OpenFOAM@Exthan 啊我懂你的意思,但我一般就把那个平面近似当成圆弧面设边界条件。网格的单元也画不出圆弧的边啊,我觉得不用特纠结。如果一定要在那个圆弧面上设条件的话,不如单开个帖问问吧,这个我的确没考虑过,不好意思
-
请问.msh的2维旋转轴对称网格如何转换到OpenFOAM@Exthan 不吧,如果2D网格画的时候半径画到了0.35,转换完成的楔形网格最大的y应该有0.35啊。
-
请问.msh的2维旋转轴对称网格如何转换到OpenFOAM@Exthan top面是圆柱的顶面吗还是圆柱的圆柱面?为啥会用的symmetry呢?一般设等温就在boundary里把类型改成patch,然后温度的边界条件里设成fixed value,应该就可以了
-
请问.msh的2维旋转轴对称网格如何转换到OpenFOAM@LYD 我最近也在搞轴对称网格,我这里遇到这种情况是ok的,可以计算。感觉留着frontAndBack也没啥大问题。反正在设温度、压力的边界条件的时候都带上,给成empty的type就行
-
openfoam6.0版本中标准k-e模型的Gk项发生了变化?@羽之下 thank you,谢谢你的回复。我记得好像在哪看过说这里引用了一个假设,我决定把这部分系统的看一看,有什么新发现我会继续在这里交流~
-
代码实现的问题更新:使用fvm的时候可以编译但计算不行,改成fvc 可以计算接下来就是看能不能收敛了
-
代码实现的问题啊,我现在改成这样了:
外层定义volSymmTensorField devR(dev(R));
R方程里面用 fvm::div(alphaRhoPhi,devR)
编译可以通过,而且貌似是可以代表上述表达的,不知道这样对不对?