使用buoyantPimpleFoam求解器模拟大气压力分层计算发散
-
使用heatransfer/buoyantPimpleFoam计算大气分层现象,单独温度分层计算收敛;加入压力分层现象就发散,后来调整压力分层范围发现,设置地面起始0~7km高度范围计算收敛,高度超过7km就发散,而且是从一开始就显示浮点溢出。采用setExprFieldsDict设置初始大气分层如下:
expressions
(T { field T; dimensions [0 0 0 1 0 0 0]; variables ( "height = pos().z()" ); condition #{ // Within the box (pos().z() <= 11000) && (pos().z() >= 0) && (pos().x() <= 8000) && (pos().x() >= -8000) #}; expression #{ 288.15 - 0.0065 * height #}; }
p
{
field p;
dimensions [1 -1 -2 0 0 0 0];variables ( "height = pos().z()" ); condition #{ // Within the box (pos().z() <= 11000) && (pos().z() >= 0) && (pos().x() <= 8000) && (pos().x() >= -8000)) #}; expression #{ 101325 * exp(-1 * height/7900) #}; }
不知道是因为Pimple算法在求解压力泊松方程的时候导致的发散,还是密度未收敛,从第一步就开始发散,去掉压力分层就能正常运行,感谢各位老师指教。