chtMultiRegionFoam: SIMPLE operation and transonic switch
Multi-region PIMPLE controls have been applied to the chtMultiRegionFoam
solver, and a transonic option has been implemented.
The new PIMPLE controls let the solver operate SIMPLE mode. The
utilisation of library solution and convergence control functionality
has significantly reduced the amount of code in the solver. The
chtMultiRegionSimpleFoam solver has also been made obsolete, and has
therefore been removed.
A few changes will be necessary to convert an existing
chtMultiRegionSimpleFoam case to chtMultiRegionFoam. All the SIMPLE
sub-dictionaries in the system/<regions>/fvSolution will need to be
renamed PIMPLE. The system/fvSolution file will also need an empty
PIMPLE sub-dictionary. In addition, additional "<variable>Final" solver
and relaxation entries will be needed. For a steady case, adding a
wildcard ending, ".*", to the variable names should be sufficient.
Solution parameters appropriate for a steady case are shown below:
solvers
{
"p_rgh.*"
{
solver GAMG;
tolerance 1e-7;
relTol 0.01;
smoother DIC;
maxIter 10;
}
"(U|h|e|k|epsilon).*"
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-7;
relTol 0.1;
}
}
PIMPLE
{
// ...
}
relaxationFactors
{
fields
{
"p_rgh.*" 0.7;
}
equations
{
"U.*" 0.5;
"(h|e).*" 0.3;
"(k|epsilon).*" 0.2;
}
}
This work was supported by Fabian Buelow, at Evonik
Tobias Holzmann provided cases for testing the convergence controls
This commit is contained in:
@ -10,55 +10,49 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
location "system/air";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
p_rgh
|
||||
"p_rgh.*"
|
||||
{
|
||||
solver GAMG;
|
||||
tolerance 1e-7;
|
||||
relTol 0.01;
|
||||
|
||||
smoother DIC;
|
||||
|
||||
|
||||
maxIter 100;
|
||||
}
|
||||
|
||||
"(U|h|e|k|epsilon)"
|
||||
"(U|h|e|k|epsilon).*"
|
||||
{
|
||||
solver PBiCGStab;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-6;
|
||||
relTol 0.1;
|
||||
solver PBiCGStab;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-6;
|
||||
relTol 0.1;
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
PIMPLE
|
||||
{
|
||||
nNonOrthogonalCorrectors 0;
|
||||
rhoMax 2;
|
||||
rhoMin 1;
|
||||
}
|
||||
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
fields
|
||||
{
|
||||
rho 1;
|
||||
p_rgh 0.7;
|
||||
"rho.*" 1;
|
||||
"p_rgh.*" 0.7;
|
||||
}
|
||||
equations
|
||||
{
|
||||
U 0.3;
|
||||
"(h|e)" 0.3;
|
||||
k 0.3;
|
||||
epsilon 0.3;
|
||||
"U.*" 0.3;
|
||||
"(h|e).*" 0.3;
|
||||
"k.*" 0.3;
|
||||
"epsilon.*" 0.3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,7 +15,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application chtMultiRegionSimpleFoam;
|
||||
application chtMultiRegionFoam;
|
||||
|
||||
startFrom latestTime;
|
||||
|
||||
@ -10,25 +10,23 @@ FoamFile
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system/porous";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
p_rgh
|
||||
"p_rgh.*"
|
||||
{
|
||||
solver GAMG;
|
||||
tolerance 1e-7;
|
||||
relTol 0.01;
|
||||
|
||||
smoother DIC;
|
||||
|
||||
|
||||
maxIter 10;
|
||||
}
|
||||
|
||||
"(U|h|e|k|epsilon)"
|
||||
"(U|h|e|k|epsilon).*"
|
||||
{
|
||||
solver PBiCGStab;
|
||||
preconditioner DILU;
|
||||
@ -37,26 +35,24 @@ solvers
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
PIMPLE
|
||||
{
|
||||
nNonOrthogonalCorrectors 0;
|
||||
rhoMax 1100;
|
||||
rhoMin 900;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
fields
|
||||
{
|
||||
rho 1;
|
||||
p_rgh 0.7;
|
||||
"rho.*" 1;
|
||||
"p_rgh.*" 0.7;
|
||||
}
|
||||
equations
|
||||
{
|
||||
U 0.3;
|
||||
"(h|e)" 0.3;
|
||||
k 0.3;
|
||||
epsilon 0.3;
|
||||
"U.*" 0.3;
|
||||
"(h|e).*" 0.3;
|
||||
"k.*" 0.3;
|
||||
"epsilon.*" 0.3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,15 +16,7 @@ FoamFile
|
||||
|
||||
solvers
|
||||
{
|
||||
rho
|
||||
{
|
||||
solver PCG
|
||||
preconditioner DIC;
|
||||
tolerance 1e-7;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
p_rgh
|
||||
"p_rgh.*"
|
||||
{
|
||||
solver GAMG;
|
||||
tolerance 1e-7;
|
||||
@ -34,47 +26,36 @@ solvers
|
||||
|
||||
}
|
||||
|
||||
"(U|h|k|epsilon|G|Ii)"
|
||||
"(U|h|k|epsilon).*"
|
||||
{
|
||||
solver PBiCGStab;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-7;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
G
|
||||
{
|
||||
$p_rgh;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
PIMPLE
|
||||
{
|
||||
momentumPredictor yes;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
pRefCell 0;
|
||||
pRefValue 100000;
|
||||
rhoMin 0.2;
|
||||
rhoMax 2;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
fields
|
||||
{
|
||||
rho 1.0;
|
||||
p_rgh 0.7;
|
||||
"rho.*" 1.0;
|
||||
"p_rgh.*" 0.7;
|
||||
}
|
||||
equations
|
||||
{
|
||||
U 0.3;
|
||||
h 0.7;
|
||||
"(k|epsilon|omega)" 0.7;
|
||||
G 0.7;
|
||||
"ILambda.*" 0.7;
|
||||
qr 0.7;
|
||||
"U.*" 0.3;
|
||||
"h.*" 0.7;
|
||||
"(k|epsilon|omega).*" 0.7;
|
||||
"qr.*" 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,7 +15,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application chtMultiRegionSimpleFoam;
|
||||
application chtMultiRegionFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
@ -14,4 +14,9 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -16,7 +16,7 @@ FoamFile
|
||||
|
||||
solvers
|
||||
{
|
||||
h
|
||||
"h.*"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
@ -25,7 +25,7 @@ solvers
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
PIMPLE
|
||||
{
|
||||
nNonOrthogonalCorrectors 0;
|
||||
}
|
||||
@ -34,7 +34,7 @@ relaxationFactors
|
||||
{
|
||||
equations
|
||||
{
|
||||
h 0.7;
|
||||
"h.*" 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ FoamFile
|
||||
|
||||
solvers
|
||||
{
|
||||
h
|
||||
"h.*"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
@ -25,7 +25,7 @@ solvers
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
PIMPLE
|
||||
{
|
||||
nNonOrthogonalCorrectors 0;
|
||||
}
|
||||
@ -34,7 +34,7 @@ relaxationFactors
|
||||
{
|
||||
equations
|
||||
{
|
||||
h 0.7;
|
||||
"h.*" 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ FoamFile
|
||||
|
||||
solvers
|
||||
{
|
||||
h
|
||||
"h.*"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
@ -25,7 +25,7 @@ solvers
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
PIMPLE
|
||||
{
|
||||
nNonOrthogonalCorrectors 0;
|
||||
}
|
||||
@ -34,7 +34,7 @@ relaxationFactors
|
||||
{
|
||||
equations
|
||||
{
|
||||
h 0.7;
|
||||
"h.*" 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,15 +16,7 @@ FoamFile
|
||||
|
||||
solvers
|
||||
{
|
||||
rho
|
||||
{
|
||||
solver PCG
|
||||
preconditioner DIC;
|
||||
tolerance 1e-7;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
p_rgh
|
||||
"p_rgh.*"
|
||||
{
|
||||
solver GAMG;
|
||||
tolerance 1e-7;
|
||||
@ -34,47 +26,36 @@ solvers
|
||||
|
||||
}
|
||||
|
||||
"(U|h|k|epsilon|G|Ii)"
|
||||
"(U|h|k|epsilon).*"
|
||||
{
|
||||
solver PBiCGStab;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-7;
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
G
|
||||
{
|
||||
$p_rgh;
|
||||
tolerance 1e-05;
|
||||
relTol 0.1;
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
PIMPLE
|
||||
{
|
||||
momentumPredictor yes;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
pRefCell 0;
|
||||
pRefValue 100000;
|
||||
rhoMin 0.2;
|
||||
rhoMax 2;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
fields
|
||||
{
|
||||
rho 1.0;
|
||||
p_rgh 0.7;
|
||||
"rho.*" 1.0;
|
||||
"p_rgh.*" 0.7;
|
||||
}
|
||||
equations
|
||||
{
|
||||
U 0.3;
|
||||
h 0.7;
|
||||
"(k|epsilon|omega)" 0.7;
|
||||
G 0.7;
|
||||
"ILambda.*" 0.7;
|
||||
qr 0.7;
|
||||
"U.*" 0.3;
|
||||
"h.*" 0.7;
|
||||
"(k|epsilon|omega).*" 0.7;
|
||||
"qr.*" 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user