diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSolution b/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSolution index bb801e75f7..fb3f2564df 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSolution +++ b/tutorials/combustion/XiFoam/les/pitzDaily/system/fvSolution @@ -17,21 +17,30 @@ FoamFile solvers { - p + "(p|rho)" { solver PCG; preconditioner DIC; tolerance 1e-06; + relTol 0.1; + } + + "(p|rho)Final" + { + $p; + tolerance 1e-06; relTol 0; } - rho + "(U|b|Su|Xi|h|hu|k)" { - $p; + solver PBiCG; + preconditioner DILU; tolerance 1e-05; + relTol 0.1; } - "(U|ft|fu|b|Xi|Su|h|hu|R|k|epsilon)" + "(U|b|Su|Xi|h|hu|k)Final" { solver PBiCG; preconditioner DILU; @@ -40,12 +49,17 @@ solvers } } -PISO +PIMPLE { nOuterCorrectors 2; nCorrectors 1; nNonOrthogonalCorrectors 0; } +relaxationFactors +{ + "(Xi|Su)" 1; +} + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSolution b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSolution index eb0c132052..fb3f2564df 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSolution +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/system/fvSolution @@ -17,22 +17,30 @@ FoamFile solvers { - p + "(p|rho)" { solver PCG; preconditioner DIC; tolerance 1e-06; - relTol 0; + relTol 0.1; } - rho + "(p|rho)Final" { $p; - tolerance 1e-05; + tolerance 1e-06; relTol 0; } - "(U|ft|fu|b|Xi|Su|h|hu|R|k|epsilon)" + "(U|b|Su|Xi|h|hu|k)" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + "(U|b|Su|Xi|h|hu|k)Final" { solver PBiCG; preconditioner DILU; @@ -41,7 +49,7 @@ solvers } } -PISO +PIMPLE { nOuterCorrectors 2; nCorrectors 1; @@ -53,4 +61,5 @@ relaxationFactors "(Xi|Su)" 1; } + // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution index 39c7556959..2e1ddf780b 100644 --- a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution +++ b/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution @@ -17,22 +17,30 @@ FoamFile solvers { - p + "(p|rho)" { solver PCG; preconditioner DIC; tolerance 1e-06; - relTol 0; + relTol 0.1; } - rho + "(p|rho)Final" { $p; - tolerance 1e-05; + tolerance 1e-06; relTol 0; } - "(U|ft|fu|b|Xi|Su|h|hu|R|k|epsilon)" + "(U|b|Su|Xi|h|hu|k|epsilon)" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0.1; + } + + "(U|b|Su|Xi|h|hu|k|epsilon)Final" { solver PBiCG; preconditioner DILU; @@ -41,11 +49,11 @@ solvers } } -PISO +PIMPLE { - nCorrectors 2; + nOuterCorrectors 2; + nCorrectors 1; nNonOrthogonalCorrectors 0; - momentumPredictor yes; } diff --git a/tutorials/combustion/dieselFoam/aachenBomb/system/fvSolution b/tutorials/combustion/dieselFoam/aachenBomb/system/fvSolution index 045f4ce28e..a99a6a1eb9 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/system/fvSolution +++ b/tutorials/combustion/dieselFoam/aachenBomb/system/fvSolution @@ -17,30 +17,46 @@ FoamFile solvers { - p + "(p|rho)" { solver PCG; preconditioner DIC; tolerance 1e-09; + relTol 0.1; + } + + "(p|rho)Final" + { + $p; + tolerance 1e-09; relTol 0; } - rho - { - $p; - tolerance 1e-06; - } - - "(U|Yi|hs|k|epsilon)" + "(Yi|k|epsilon)" { solver PBiCG; preconditioner DILU; tolerance 1e-06; relTol 0; } + + "(U|hs)" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0.1; + } + + "(U|hs)Final" + { + $U; + tolerance 1e-06; + relTol 0; + } } -PISO +PIMPLE { nCorrectors 2; nNonOrthogonalCorrectors 0; diff --git a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/system/fvSolution b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/system/fvSolution index 3018e06d50..54fb2634d0 100755 --- a/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/system/fvSolution +++ b/tutorials/combustion/reactingFoam/ras/counterFlowFlame2D/system/fvSolution @@ -22,17 +22,48 @@ solvers solver PCG; preconditioner DIC; tolerance 1e-06; + relTol 0.1; + } + + rhoFinal + { + $rho; + tolerance 1e-06; relTol 0; } + p { solver PCG; preconditioner DIC; tolerance 1e-6; + relTol 0.1; + } + + pFinal + { + $p; + tolerance 1e-6; relTol 0.0; } - "(U|Yi|hs|k|epsilon)" + "(U|hs)" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + "(U|hs)Final" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0; + } + + "(Yi|k|epsilon)" { solver PBiCG; preconditioner DILU; @@ -41,7 +72,7 @@ solvers } } -PISO +PIMPLE { nCorrectors 2; nNonOrthogonalCorrectors 0; diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/controlDict b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/controlDict index 0a0fcad114..df95db70e7 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/controlDict +++ b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/controlDict @@ -47,25 +47,5 @@ graphFormat raw; runTimeModifiable true; -functions -{ - residualControl1 - { - type residualControl; - functionObjectLibs ( "libjobControl.so" ); - outputControl timeStep; - outputInterval 1; - - maxResiduals - { - p 1e-2; - U 1e-4; - T 1e-3; - - // possibly check turbulence fields - "(k|epsilon|omega)" 1e-3; - } - } -} // ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/fvSolution b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/fvSolution index e6b7b5ec15..fe0e7f68a1 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/fvSolution +++ b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctExplicit/system/fvSolution @@ -59,6 +59,16 @@ SIMPLE nNonOrthogonalCorrectors 0; rhoMin rhoMin [ 1 -3 0 0 0 ] 0.5; rhoMax rhoMax [ 1 -3 0 0 0 ] 1.5; + + residualControl + { + p 1e-2; + U 1e-4; + T 1e-3; + + // possibly check turbulence fields + "(k|epsilon|omega)" 1e-3; + } } relaxationFactors diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/controlDict b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/controlDict index 1d0a36df25..426bfddb27 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/controlDict +++ b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/controlDict @@ -47,25 +47,5 @@ graphFormat raw; runTimeModifiable true; -functions -{ - residualControl1 - { - type residualControl; - functionObjectLibs ( "libjobControl.so" ); - outputControl timeStep; - outputInterval 1; - - maxResiduals - { - p 1e-3; - U 1e-4; - T 1e-3; - - // possibly check turbulence fields - "(k|epsilon|omega)" 1e-3; - } - } -} // ************************************************************************* // diff --git a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/fvSolution b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/fvSolution index f74815a0bf..c83a7112f6 100644 --- a/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/fvSolution +++ b/tutorials/compressible/rhoPorousMRFSimpleFoam/angledDuctImplicit/system/fvSolution @@ -53,6 +53,16 @@ SIMPLE nNonOrthogonalCorrectors 0; rhoMin rhoMin [ 1 -3 0 0 0 ] 0.5; rhoMax rhoMAx [ 1 -3 0 0 0 ] 2.0; + + residualControl + { + p 1e-3; + U 1e-4; + T 1e-3; + + // possibly check turbulence fields + "(k|epsilon|omega)" 1e-3; + } } relaxationFactors diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/controlDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/controlDict index 8206700137..dc6fb20830 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/controlDict @@ -45,25 +45,5 @@ timePrecision 6; runTimeModifiable true; -functions -{ - residualControl1 - { - type residualControl; - functionObjectLibs ( "libjobControl.so" ); - outputControl timeStep; - outputInterval 1; - - maxResiduals - { - p_rgh 1e-2; - U 1e-4; - T 1e-3; - - // possibly check turbulence fields - "(k|epsilon|omega)" 1e-3; - } - } -} // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSolution index c51949b805..023c282374 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/hotRoom/system/fvSolution @@ -39,6 +39,16 @@ SIMPLE nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; + + residualControl + { + p_rgh 1e-2; + U 1e-4; + T 1e-3; + + // possibly check turbulence fields + "(k|epsilon|omega)" 1e-3; + } } relaxationFactors diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict index bf11b4f154..73cfe8ada4 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/controlDict @@ -45,25 +45,5 @@ timePrecision 6; runTimeModifiable true; -functions -{ - residualControl1 - { - type residualControl; - functionObjectLibs ( "libjobControl.so" ); - outputControl timeStep; - outputInterval 1; - - maxResiduals - { - p_rgh 1e-2; - U 1e-4; - T 1e-3; - - // possibly check turbulence fields - "(k|epsilon|omega)" 1e-3; - } - } -} // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSolution b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSolution index edea946f9a..ade18ff264 100644 --- a/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSolution +++ b/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/iglooWithFridges/system/fvSolution @@ -39,6 +39,16 @@ SIMPLE nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; + + residualControl + { + p_rgh 1e-2; + U 1e-4; + T 1e-3; + + // possibly check turbulence fields + "(k|epsilon|omega)" 1e-3; + } } relaxationFactors diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/controlDict index a936e37b0f..8ca46687fb 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/controlDict @@ -44,25 +44,5 @@ timePrecision 6; runTimeModifiable true; -functions -{ - residualControl1 - { - type residualControl; - functionObjectLibs ( "libjobControl.so" ); - outputControl timeStep; - outputInterval 1; - - maxResiduals - { - p_rgh 1e-2; - U 1e-3; - h 1e-3; - - // possibly check turbulence fields - "(k|epsilon|omega)" 1e-3; - } - } -} // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSolution index c453b27d81..85e7a6f13d 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/system/fvSolution @@ -46,6 +46,16 @@ SIMPLE nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; + + residualControl + { + p_rgh 1e-2; + U 1e-3; + h 1e-3; + + // possibly check turbulence fields + "(k|epsilon|omega)" 1e-3; + } } relaxationFactors diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/controlDict b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/controlDict index f43238ba65..f9d959e2dc 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/controlDict @@ -45,25 +45,5 @@ timePrecision 6; runTimeModifiable true; -functions -{ - residualControl1 - { - type residualControl; - functionObjectLibs ( "libjobControl.so" ); - outputControl timeStep; - outputInterval 1; - - maxResiduals - { - p_rgh 1e-2; - U 1e-3; - h 1e-3; - - // possibly check turbulence fields - "(k|epsilon|omega)" 1e-3; - } - } -} // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSolution index aa535a28eb..b01ef1e96c 100644 --- a/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleFoam/hotRoom/system/fvSolution @@ -39,6 +39,16 @@ SIMPLE nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; + + residualControl + { + p_rgh 1e-2; + U 1e-3; + h 1e-3; + + // possibly check turbulence fields + "(k|epsilon|omega)" 1e-3; + } } relaxationFactors diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict index 5dea594b3c..25a67762b3 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/controlDict @@ -45,26 +45,5 @@ timePrecision 6; runTimeModifiable true; -functions -{ - residualControl1 - { - type residualControl; - functionObjectLibs ( "libjobControl.so" ); - outputControl timeStep; - outputInterval 1; - - maxResiduals - { - p_rgh 1e-2; - U 1e-3; - h 1e-3; - G 1e-3; - - // possibly check turbulence fields - "(k|epsilon|omega)" 1e-3; - } - } -} // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution index fa8d3d5339..afe43862e1 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoom/system/fvSolution @@ -46,6 +46,17 @@ SIMPLE nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; + + residualControl + { + p_rgh 1e-2; + U 1e-3; + h 1e-3; + G 1e-3; + + // possibly check turbulence fields + "(k|epsilon|omega)" 1e-3; + } } relaxationFactors diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/system/controlDict b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/system/controlDict index d66c31284a..1cca62ded7 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/system/controlDict +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/system/controlDict @@ -45,26 +45,5 @@ timePrecision 6; runTimeModifiable true; -functions -{ - residualControl1 - { - type residualControl; - functionObjectLibs ( "libjobControl.so" ); - outputControl timeStep; - outputInterval 1; - - maxResiduals - { - p_rgh 1e-2; - U 1e-3; - h 1e-3; - G 1e-3; - - // possibly check turbulence fields - "(k|epsilon|omega)" 1e-3; - } - } -} // ************************************************************************* // diff --git a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/system/fvSolution b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/system/fvSolution index daa2528426..acf998c053 100644 --- a/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/system/fvSolution +++ b/tutorials/heatTransfer/buoyantSimpleRadiationFoam/hotRadiationRoomFvDOM/system/fvSolution @@ -43,6 +43,17 @@ SIMPLE nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; + + residualControl + { + p_rgh 1e-2; + U 1e-3; + h 1e-3; + G 1e-3; + + // possibly check turbulence fields + "(k|epsilon|omega)" 1e-3; + } } relaxationFactors diff --git a/tutorials/incompressible/shallowWaterFoam/squareBump/system/fvSolution b/tutorials/incompressible/shallowWaterFoam/squareBump/system/fvSolution index a680ff2c9a..5604c19d86 100644 --- a/tutorials/incompressible/shallowWaterFoam/squareBump/system/fvSolution +++ b/tutorials/incompressible/shallowWaterFoam/squareBump/system/fvSolution @@ -26,8 +26,7 @@ solvers hFinal { - solver PCG; - preconditioner DIC; + $h; tolerance 1e-8; relTol 0; } @@ -37,11 +36,18 @@ solvers solver PBiCG; preconditioner DILU; tolerance 1e-6; + relTol 0.1; + } + + hUFinal + { + $hU; + tolerance 1e-6; relTol 0; } } -PISO +PIMPLE { nOuterCorrectors 3; nCorrectors 1; diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict b/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict index 04c95c8f90..3232eebe72 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict +++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict @@ -47,21 +47,6 @@ runTimeModifiable true; functions { - convergenceChecks - { - type residualControl; - functionObjectLibs ("libjobControl.so"); - outputControl timeStep; - outputInterval 1; - - maxResiduals - { - p 1e-2; - U 1e-3; - "(k|epsilon|omega)" 1e-3; - } - } - streamLines { type streamLine; diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution index b9cdb3fe14..b6de74a11d 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution @@ -69,6 +69,13 @@ solvers SIMPLE { nNonOrthogonalCorrectors 0; + + residualControl + { + p 1e-2; + U 1e-3; + "(k|epsilon|omega)" 1e-3; + } } relaxationFactors diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict index 3fbcdd8d47..6a69c48a46 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict @@ -47,21 +47,6 @@ runTimeModifiable true; functions { - convergenceChecks - { - type residualControl; - functionObjectLibs ("libjobControl.so"); - outputControl timeStep; - outputInterval 1; - - maxResiduals - { - p 1e-2; - U 1e-3; - "(k|epsilon|omega)" 1e-3; - } - } - streamLines { type streamLine; diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution index b9cdb3fe14..b6de74a11d 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution @@ -69,6 +69,13 @@ solvers SIMPLE { nNonOrthogonalCorrectors 0; + + residualControl + { + p 1e-2; + U 1e-3; + "(k|epsilon|omega)" 1e-3; + } } relaxationFactors diff --git a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/UEqn.H b/tutorials/incompressible/simpleWindFoam/simpleWindFoam/UEqn.H index bc4a8a4cf7..dc4d5655cf 100644 --- a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/UEqn.H +++ b/tutorials/incompressible/simpleWindFoam/simpleWindFoam/UEqn.H @@ -11,9 +11,4 @@ // Add resistance on the actuation disks actuationDisks.addSu(UEqn()); - eqnResidual = solve - ( - UEqn() == -fvc::grad(p) - ).initialResidual(); - - maxResidual = max(eqnResidual, maxResidual); \ No newline at end of file + solve(UEqn() == -fvc::grad(p)); diff --git a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/initConvergenceCheck.H b/tutorials/incompressible/simpleWindFoam/simpleWindFoam/initConvergenceCheck.H deleted file mode 100644 index cb6159a24d..0000000000 --- a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/initConvergenceCheck.H +++ /dev/null @@ -1,5 +0,0 @@ -// initialize values for convergence checks - scalar eqnResidual = 1, maxResidual = 0; - scalar convergenceCriterion = 0; - - simple.readIfPresent("convergence", convergenceCriterion); diff --git a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/pEqn.H b/tutorials/incompressible/simpleWindFoam/simpleWindFoam/pEqn.H index 91f4e1a140..2f45b98012 100644 --- a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/pEqn.H +++ b/tutorials/incompressible/simpleWindFoam/simpleWindFoam/pEqn.H @@ -7,7 +7,7 @@ adjustPhi(phi, U, p); // Non-orthogonal pressure corrector loop - for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) + for (int nonOrth=0; nonOrth<=simple.nNonOrthCorr(); nonOrth++) { fvScalarMatrix pEqn ( @@ -15,23 +15,15 @@ ); pEqn.setReference(pRefCell, pRefValue); - // retain the residual from the first iteration - if (nonOrth == 0) - { - pEqn.solve(); - } - else - { - pEqn.solve(); - } + pEqn.solve(); - if (nonOrth == nNonOrthCorr) + if (nonOrth == simple.nNonOrthCorr()) { phi -= pEqn.flux(); } } -# include "continuityErrs.H" + #include "continuityErrs.H" // Explicitly relax pressure for momentum corrector p.relax(); diff --git a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/simpleWindFoam.C b/tutorials/incompressible/simpleWindFoam/simpleWindFoam/simpleWindFoam.C index 16b422c783..3f97daa4d9 100644 --- a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/simpleWindFoam.C +++ b/tutorials/incompressible/simpleWindFoam/simpleWindFoam/simpleWindFoam.C @@ -34,6 +34,7 @@ Description #include "singlePhaseTransportModel.H" #include "RASModel.H" #include "IObasicSourceList.H" +#include "simpleControl.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -45,17 +46,16 @@ int main(int argc, char *argv[]) #include "createFields.H" #include "initContinuityErrs.H" + simpleControl simple(mesh); + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Info<< "\nStarting time loop\n" << endl; - while (runTime.loop()) + while (simple.loop()) { Info<< "Time = " << runTime.timeName() << nl << endl; - #include "readSIMPLEControls.H" - #include "initConvergenceCheck.H" - p.storePrevIter(); // Pressure-velocity SIMPLE corrector @@ -71,9 +71,6 @@ int main(int argc, char *argv[]) Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; - - #include "convergenceCheck.H" - } Info<< "End\n" << endl; diff --git a/tutorials/multiphase/LTSInterFoam/wigleyHull/system/fvSolution b/tutorials/multiphase/LTSInterFoam/wigleyHull/system/fvSolution index 0a99108bee..a99fa7eef7 100644 --- a/tutorials/multiphase/LTSInterFoam/wigleyHull/system/fvSolution +++ b/tutorials/multiphase/LTSInterFoam/wigleyHull/system/fvSolution @@ -60,7 +60,7 @@ solvers relTol 0; } - "(U|k|omega)" + "(U|k|omega).*" { solver smoothSolver; @@ -72,7 +72,7 @@ solvers }; } -PISO +PIMPLE { momentumPredictor yes; diff --git a/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSolution b/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSolution index de207b274a..1efdc3d3cc 100644 --- a/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSolution +++ b/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSolution @@ -50,7 +50,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 3; diff --git a/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSolution b/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSolution index 40a896ac8a..939dbe2c7f 100644 --- a/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSolution +++ b/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSolution @@ -50,7 +50,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 4; diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution index 7c7d7b8ed4..78eb84c984 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution +++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution @@ -17,7 +17,15 @@ FoamFile solvers { - "(rho|U|k|omega)" + rho + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0.1; + } + + rhoFinal { solver PBiCG; preconditioner DILU; @@ -25,6 +33,7 @@ solvers relTol 0; } + p { solver GAMG; @@ -45,17 +54,37 @@ solvers tolerance 1e-08; relTol 0; } + + "(k|omega)" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + U + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0.1; + } + + UFinal + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } } -PISO +PIMPLE { nCorrectors 3; nNonOrthogonalCorrectors 0; } -SIMPLE -{ -} - // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution index 7c7d7b8ed4..ec33c03abb 100644 --- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution +++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution @@ -17,11 +17,18 @@ FoamFile solvers { - "(rho|U|k|omega)" + rho { solver PBiCG; preconditioner DILU; tolerance 1e-08; + relTol 0.1; + } + + rhoFinal + { + $rho; + tolerance 1e-08; relTol 0; } @@ -45,17 +52,36 @@ solvers tolerance 1e-08; relTol 0; } + + U + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0.1; + } + + UFinal + { + $U; + tolerance 1e-08; + relTol 0; + } + + "(k|omega)" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } } -PISO +PIMPLE { nCorrectors 3; nNonOrthogonalCorrectors 0; } -SIMPLE -{ -} - // ************************************************************************* // diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution index 01dab22912..78eb84c984 100644 --- a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution +++ b/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution @@ -17,7 +17,15 @@ FoamFile solvers { - "(rho|U|k|omega)" + rho + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0.1; + } + + rhoFinal { solver PBiCG; preconditioner DILU; @@ -25,6 +33,7 @@ solvers relTol 0; } + p { solver GAMG; @@ -45,16 +54,36 @@ solvers tolerance 1e-08; relTol 0; } + + "(k|omega)" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } + + U + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0.1; + } + + UFinal + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-08; + relTol 0; + } } -PISO -{ - nCorrectors 2; - nNonOrthogonalCorrectors 1; -} - -SIMPLE +PIMPLE { + nCorrectors 3; + nNonOrthogonalCorrectors 0; } diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/fvSolution b/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/fvSolution index 9d09fcfdb3..27dc3811d6 100644 --- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/fvSolution +++ b/tutorials/multiphase/compressibleInterFoam/les/depthCharge2D/system/fvSolution @@ -39,7 +39,7 @@ solvers maxIter 100; } - rho + "(rho|rhoFinal)" { solver diagonal; } @@ -100,7 +100,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; transSonic no; diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/fvSolution b/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/fvSolution index 9d09fcfdb3..27dc3811d6 100644 --- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/fvSolution +++ b/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/system/fvSolution @@ -39,7 +39,7 @@ solvers maxIter 100; } - rho + "(rho|rhoFinal)" { solver diagonal; } @@ -100,7 +100,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; transSonic no; diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSolution index 3f91dae6d4..a561182cb2 100644 --- a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSolution @@ -97,7 +97,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 3; diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSolution index 0cd58c354f..36882c9e4f 100644 --- a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSolution @@ -109,7 +109,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 2; diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSolution index 12812ad721..796e7cd302 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSolution @@ -89,7 +89,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 2; diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSolution index 12812ad721..796e7cd302 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSolution @@ -89,7 +89,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 2; diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSolution index 12812ad721..796e7cd302 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSolution @@ -89,7 +89,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 2; diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSolution index 12812ad721..796e7cd302 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSolution @@ -89,7 +89,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 2; diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSolution index 12812ad721..796e7cd302 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSolution @@ -89,7 +89,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 2; diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSolution index 3764ff4c6e..4760777dd0 100644 --- a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSolution @@ -89,7 +89,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 2; diff --git a/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSolution b/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSolution index 657f02a1f7..e40a5a0b3d 100644 --- a/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSolution +++ b/tutorials/multiphase/interFoam/laminar/capillaryRise/system/fvSolution @@ -49,7 +49,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 3; diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution index 657f02a1f7..e40a5a0b3d 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution +++ b/tutorials/multiphase/interFoam/laminar/damBreak/system/fvSolution @@ -49,7 +49,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 3; diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution index 38782da870..f088132683 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution @@ -95,7 +95,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 2; diff --git a/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution index 13eeae6e00..daffd13542 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution +++ b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution @@ -58,7 +58,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 3; diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution index 1609ba91a4..4619dfd0a3 100644 --- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution +++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution @@ -59,7 +59,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 3; diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSolution b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSolution index c194ad7907..57085caff4 100644 --- a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSolution +++ b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSolution @@ -82,12 +82,19 @@ solvers solver smoothSolver; smoother GaussSeidel; tolerance 1e-08; - relTol 0; + relTol 0.1; nSweeps 1; } + + UFinal + { + $U; + tolerance 1e-08; + relTol 0; + } } -PISO +PIMPLE { nCorrectors 4; nNonOrthogonalCorrectors 0; diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSolution b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSolution index cd28739cd7..ec09dce2a1 100644 --- a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSolution +++ b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSolution @@ -87,7 +87,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor no; nCorrectors 4; diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSolution b/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSolution index bededca933..858173d556 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSolution +++ b/tutorials/multiphase/settlingFoam/ras/dahl/system/fvSolution @@ -22,29 +22,27 @@ solvers solver PCG; preconditioner DIC; tolerance 1e-07; - relTol 0; + relTol 0.1; } - "U.*" + p_rghFinal { - solver PBiCG; - preconditioner DILU; + $p_rgh; tolerance 1e-07; relTol 0; } - k + "(U|Alpha|k|epsilon)" { solver PBiCG; preconditioner DILU; tolerance 1e-07; - relTol 0; + relTol 0.1; } - epsilon + "(U|Alpha|k|epsilon)Final" { - solver PBiCG; - preconditioner DILU; + $k; tolerance 1e-07; relTol 0; } @@ -54,19 +52,18 @@ solvers solver PCG; preconditioner DIC; tolerance 1e-07; - relTol 0; + relTol 0.1; } - Alpha + rhoFinal { - solver PBiCG; - preconditioner DILU; + $rho; tolerance 1e-07; relTol 0; } } -PISO +PIMPLE { nCorrectors 2; nNonOrthogonalCorrectors 0; diff --git a/tutorials/multiphase/settlingFoam/ras/tank3D/system/fvSolution b/tutorials/multiphase/settlingFoam/ras/tank3D/system/fvSolution index b9cb13c543..ca936f664a 100644 --- a/tutorials/multiphase/settlingFoam/ras/tank3D/system/fvSolution +++ b/tutorials/multiphase/settlingFoam/ras/tank3D/system/fvSolution @@ -66,7 +66,7 @@ solvers } } -PISO +PIMPLE { momentumPredictor yes; nOuterCorrectors 1;