compressibleInterFoam出现Negative initial temperature
-
各位老师下午好,我用compressibleInterFoam计算横射流时总会出现
Negative initial temperature
的报错,这个问题困扰我很久啦,我也看了论坛内和cfd-online上各位老师的回答,但还是没有解决。
主要的尝试有:-
采用可变的时间步长,对Co数进行限制(主要参考文献中的数值)
-
在主程序里面对温度进行限制,但这会导致下图所示非常异常的结果
-
在
constant/fvOptions
中添加limitTemperature
限制 -
修改边界条件(目前p出口采用
waveTransmissive
边界条件,温度和速度出口采用inletOutlet
边界条件)
此外,我对全场的温度最大值和最小值进行了监视,发现温度并不是逐步下降而是在某一迭代过程中骤降,感觉像是没有求解好一样
Time = 0.041271304 MAX::after TEqn_correct.................=max(T) [0 0 0 1 0 0 0] 1317.1702 MIN::after TEqn_correct.................=min(T) [0 0 0 1 0 0 0] 299.99994 Time = 0.041271308 MAX::after TEqn_correct.................=max(T) [0 0 0 1 0 0 0] 2007.9887 MIN::after TEqn_correct.................=min(T) [0 0 0 1 0 0 0] -4652.3157
并且在发散最后输出的时刻,就已经出现了异常的压力和速度(每个发散的case都是这样子,温度全场没有负温):
case1:
case2:
能不能请各位老师给我一点建议,非常感谢!先谢过各位老师了! -
-
@快乐的山炮
老师您好
我是仿照了文献里面的这个模型:
边界条件具体如下,能否麻烦您帮我看一下~(有两个入口(一个液体入口一个气体入口,液体入口所在平面采用的是WALL
,其余采用的是SYMMETRY
))
不知道我对p
和p_rgh
的设置是否准确
alpha.air
FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object alpha.air; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 0 0 0 0]; internalField uniform 1; boundaryField { INLET_AIR { type fixedValue; value uniform 1; } INLET_LIQUID { type inletOutlet; inletValue uniform 0; value uniform 0; } OUTLET { type inletOutlet; inletValue uniform 0; value uniform 0; } SYMMETRY { type symmetry; } WALL { type zeroGradient; } }
p
FoamFile { version 2.0; format ascii; class volScalarField; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -2 0 0 0 0]; internalField uniform 101325; boundaryField { INLET_AIR { type calculated; value uniform 101325; } INLET_LIQUID { type calculated; value uniform 101325; } WALL { type calculated; value uniform 101325; } SYMMETRY { type symmetry; } OUTLET { type waveTransmissive; gamma 1.4; fieldInf 1e+05; lInf 0.0045; value uniform 1e+05; } }
p_rgh
FoamFile { version 2.0; format ascii; class volScalarField; object p_rgh; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -2 0 0 0 0]; internalField uniform 101325; boundaryField { INLET_AIR { type fixedFluxPressure; gradient uniform 0; value uniform 101325; } INLET_LIQUID { type fixedFluxPressure; gradient uniform 0; value uniform 101325; } WALL { type fixedFluxPressure; gradient uniform 0; value uniform 101325; } SYMMETRY { type symmetry; } OUTLET { type totalPressure; p0 uniform 101325; U U; phi phi; rho rho; psi none; gamma 1; value uniform 0; } }
T
FoamFile { version 2.0; format ascii; class volScalarField; object T; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 1 0 0 0]; internalField uniform 1200; boundaryField { INLET_AIR { type fixedValue; value uniform 1200; } INLET_LIQUID { type fixedValue; value uniform 300; } WALL { type fixedValue; value uniform 300; } SYMMETRY { type symmetry; } OUTLET { type inletOutlet; inletValue uniform 1200; value uniform 1200; } }
U
FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (20 0 0); boundaryField { INLET_AIR { type fixedValue; value uniform (20 0 0); } INLET_LIQUID { type fixedValue; value uniform (0 0 1); } WALL { type noSlip; } SYMMETRY { type symmetry; } OUTLET { type inletOutlet; inletValue uniform (0 0 0); value uniform (0 0 0); } }
-
@Rachel0096 这个求解器我没算过,但是感觉是亚声速的入口,u p T 三个参数在入口是都给定了吗,建议去掉一个,亚声速给两个边界条件就行
-
@Rachel0096 我之前出现的情况是在入口位置速度突然变大,后来发现是边界条件的问题,但是中间场出现发散的没遇到过
-
@Rachel0096 您好,请问这个问题解决了吗,我在用compressibleInterFoam的过程中也出现了非常相似的现象