关于rhoCentralFoam计算高超声速问题时温度出现负值的原因
-
问题描述:
以openfoam自带算例斜劈(或其他算例均可)为例,修改如下:
M=6或10等,热物理参数使用pefectgas, 入口温度为60K,静压1270pa,模拟试验状态,因为总温有限,用等熵公式算出静温一般较低;边界条件不变
问题是,不管Dt和CFL数怎么调,很容易在计算若干步出现初始T0为负值的情况;
个人理解:M较大时,流场参数的梯度较大,过低的初始温度和静压加剧了计算不稳定,若改成自然来流,则能正常计算,通过fvOptions对温度进行限制根本不起作用,请大家指导一二 -
你可以试试修改flux limiter。
-
可以贴个详细的case来大家都跑一下,这样比较容易定位问题。这样问的话还是比较模糊。
-
我也遇到同样的问题,使用rhoCentralFoam出现负温度,之前参照cfdonline,在rhoCentralFoam.C中添加一个判断,但是也还是会发散。
-
@zxyf1 rhoCentralFoam改了好多边界条件和参数,最后一直报相同的温度错误,不知道出错的地方在哪里,不知道这种热力学边界要怎么调比较好,是不是这个求解器本身鲁棒性不好。
#0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib64/libc.so.6" #3 Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::sutherlandTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::calculate() at ??:? #4 Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::sutherlandTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::correct() at ??:? #5 ? at ??:? #6 __libc_start_main in "/lib64/libc.so.6" #7 ? at ??:? Floating point exception (core dumped) -
请问插值格式用的什么
-
@adcpk 在 关于rhoCentralFoam计算高超声速问题时温度出现负值的原因 中说:
divSchemes
您好!divSchemes用的是Euler
ddtSchemes { default Euler; } -
@Foamer24 你可以贴一个fvSchemes完整的设置看一下,很有可能是离散格式的问题。
2018年9月7日 13:55
7/21
2019年5月24日 08:11