pimpleFoam外循环残差控制
-
在OpenFOAM 5.0以及之前版本中,PIMPLE{ }的设置
PIMPLE { momentumPredictor yes; correctPhi yes; nOuterCorrectors 50; nCorrectors 2; nNonOrthogonalCorrectors 3; pRefCell 0; pRefValue 0; residualControl { p { tolerance 1e-5; relTol 0; } U { tolerance 1e-5; relTol 0; } } }
其中,residualControl可以控制外循环的残差,使之达到残差标准后跳出循环,不一定循环完nOuterCorrectors的次数。
而在OpenFOAM 6.0之后的,关于residualControl的设置变了PIMPLE { momentumPredictor yes; correctPhi yes; nOuterCorrectors 50; nCorrectors 2; nNonOrthogonalCorrectors 3; pRefCell 0; pRefValue 0; residualControl { p 1e-5; U 1e-5; nuTilda 1e-5; } }
没有了相对残差的参数设置,我同样计算了相同的算例,发现每次都会循环完所有的nOuterCorrectors次数(将残差值调大也不可以,我调过残差为1)。
请问,6.0之后的版本怎么设置pimpleFoam的外循环限制,使之可以达到标准后跳出,而不是循环全部外循环次数。 -
PIMPLE { momentumPredictor no; nOuterCorrectors 100; nCorrectors 1; nNonOrthogonalCorrectors 0; outerCorrectorResidualControl { "(h|p)" { relTol 0; tolerance 0.0001; } } } relaxationFactors { fields { p 0.3; pFinal 1; } equations { "U|k|epsilon|h" 0.7; "(U|k|epsilon|h)Final" 1; } }