driftFluxFoam: Rationalise phase-fraction handling and implement semi-implicit MULES

This commit is contained in:
Henry
2014-02-24 17:10:20 +00:00
committed by Andrew Heather
parent 35229643ba
commit 177b54ae94
26 changed files with 215 additions and 92 deletions

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format ascii;
class volScalarField;
object alpha;
object alpha1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -31,9 +31,8 @@ yieldStressOffset yieldStressOffset [ 0 0 0 0 0 0 0 ] 0;
muMax muMax [ 1 -1 -1 0 0 0 0 ] 10.0;
rhoc rhoc [ 1 -3 0 0 0 0 0 ] 996;
rhod rhod [ 1 -3 0 0 0 0 0 ] 1996;
rho1 rho1 [ 1 -3 0 0 0 0 0 ] 1996;
rho2 rho2 [ 1 -3 0 0 0 0 0 ] 996;
VdjModel simple;

View File

@ -47,7 +47,7 @@ runTimeModifiable yes;
adjustTimeStep on;
maxCo 1;
maxCo 5;
maxDeltaT 1;

View File

@ -32,7 +32,7 @@ divSchemes
div(rhoPhi,U) Gauss linearUpwind grad(U);
div(phiVdj,Vdj) Gauss linear;
div(phi,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss linear;
div(rhoPhi,k) Gauss limitedLinear 1;
div(rhoPhi,epsilon) Gauss limitedLinear 1;
@ -58,7 +58,7 @@ fluxRequired
{
default no;
p_rgh;
alpha;
alpha1;
}

View File

@ -17,10 +17,14 @@ FoamFile
solvers
{
"alpha.*"
"alpha1.*"
{
nAlphaCorr 1;
nAlphaSubCycles 4;
nAlphaCorr 2;
nAlphaSubCycles 1;
MULESCorr yes;
nLimiterIter 3;
alphaApplyPrevCorr yes;
solver smoothSolver;
smoother symGaussSeidel;
@ -29,6 +33,15 @@ solvers
minIter 1;
}
alpha1Diffusion
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0;
minIter 1;
}
p_rgh
{
solver GAMG;
@ -49,7 +62,8 @@ solvers
"(U|k|epsilon)"
{
solver smoothSolver;
solver PBiCG;
preconditioner DILU;
smoother symGaussSeidel;
tolerance 1e-7;
relTol 0.1;
@ -65,20 +79,16 @@ solvers
PIMPLE
{
nCorrectors 2;
momentumPredictor no;
nCorrectors 3;
nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
fields
{
}
equations
{
"U.*" 1;
"k.*" 1;
"epsilon.*" 1;
".*" 1;
}
}

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format ascii;
class volScalarField;
object alpha;
object alpha1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -31,9 +31,8 @@ yieldStressOffset yieldStressOffset [ 0 0 0 0 0 0 0 ] 0;
muMax muMax [ 1 -1 -1 0 0 0 0 ] 10.0;
rhoc rhoc [ 1 -3 0 0 0 0 0 ] 996;
rhod rhod [ 1 -3 0 0 0 0 0 ] 1996;
rho1 rho1 [ 1 -3 0 0 0 0 0 ] 1996;
rho2 rho2 [ 1 -3 0 0 0 0 0 ] 996;
VdjModel simple;

View File

@ -47,8 +47,7 @@ runTimeModifiable yes;
adjustTimeStep yes;
maxCo 0.5;
maxAlphaCo 0.5;
maxCo 1;
maxDeltaT 0.05;

View File

@ -32,7 +32,7 @@ divSchemes
div(rhoPhi,U) Gauss linearUpwind grad(U);
div(phiVdj,Vdj) Gauss linear;
div(phi,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss linear;
div(rhoPhi,k) Gauss limitedLinear 1;
div(rhoPhi,epsilon) Gauss limitedLinear 1;
@ -57,8 +57,8 @@ snGradSchemes
fluxRequired
{
default no;
p_rgh ;
alpha ;
p_rgh;
alpha1;
}

View File

@ -17,15 +17,29 @@ FoamFile
solvers
{
"alpha.*"
"alpha1.*"
{
nAlphaCorr 1;
nAlphaSubCycles 3;
nAlphaCorr 2;
nAlphaSubCycles 1;
MULESCorr yes;
nLimiterIter 3;
alphaApplyPrevCorr yes;
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-6;
relTol 0;
minIter 1;
}
alpha1Diffusion
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0;
minIter 1;
}
"rho.*"
@ -71,7 +85,7 @@ solvers
PIMPLE
{
momentumPredictor yes;
momentumPredictor no;
nCorrectors 3;
nNonOrthogonalCorrectors 0;

View File

@ -136,8 +136,8 @@ boundaryField
OUTL15
{
type inletOutlet;
inletValue uniform (0 0 0);
type pressureInletOutletVelocity;
value uniform (0 0 0);
}
}

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format ascii;
class volScalarField;
object alpha;
object alpha1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -31,9 +31,8 @@ yieldStressOffset yieldStressOffset [ 0 0 0 0 0 0 0 ] 0;
muMax muMax [ 1 -1 -1 0 0 0 0 ] 10.0;
rhoc rhoc [ 1 -3 0 0 0 0 0 ] 1000;
rhod rhod [ 1 -3 0 0 0 0 0 ] 1042;
rho1 rho1 [ 1 -3 0 0 0 0 0 ] 1042;
rho2 rho2 [ 1 -3 0 0 0 0 0 ] 1000;
VdjModel simple;

View File

@ -25,7 +25,7 @@ stopAt endTime;
endTime 8000;
deltaT 0.1;
deltaT 0.5;
writeControl runTime;
@ -33,11 +33,11 @@ writeInterval 50;
purgeWrite 0;
writeFormat ascii;
writeFormat binary;
writePrecision 6;
writeCompression compressed;
writeCompression uncompressed;
timeFormat general;

View File

@ -32,7 +32,7 @@ divSchemes
div(rhoPhi,U) Gauss linearUpwind grad(U);
div(phiVdj,Vdj) Gauss linear;
div(phi,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss linear;
div(rhoPhi,k) Gauss limitedLinear 1;
div(rhoPhi,epsilon) Gauss limitedLinear 1;
@ -58,7 +58,7 @@ fluxRequired
{
default no;
p_rgh;
alpha;
alpha1;
}

View File

@ -17,10 +17,14 @@ FoamFile
solvers
{
"alpha.*"
"alpha1.*"
{
nAlphaCorr 1;
nAlphaSubCycles 4;
nAlphaCorr 2;
nAlphaSubCycles 1;
MULESCorr yes;
nLimiterIter 3;
alphaApplyPrevCorr yes;
solver smoothSolver;
smoother symGaussSeidel;
@ -29,6 +33,15 @@ solvers
minIter 1;
}
alpha1Diffusion
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0;
minIter 1;
}
p_rgh
{
solver GAMG;
@ -65,15 +78,13 @@ solvers
PIMPLE
{
nCorrectors 2;
momentumPredictor no;
nCorrectors 3;
nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
fields
{
}
equations
{
".*" 1;