reactingTwoPhaseEulerFoam: Corrected kineticTheory frictional stress at walls

Patch contributed by Juho Peltola, VTT

The new JohnsonJacksonSchaefferFrictionalStress model is included and
the LBend tutorial case to demonstrate the need for the changes to the
frictional stress models.

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2058
This commit is contained in:
Henry Weller
2016-04-22 14:25:58 +01:00
parent bbd6bfff22
commit bbca1fd5e7
36 changed files with 1839 additions and 49 deletions

View File

@ -0,0 +1,128 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
( 0.0 0.0 -0.01)
( 0.04 0.0 -0.01)
( 0.04 0.15 -0.01)
( 0.0 0.15 -0.01)
( 0.0 0.0 0.01)
( 0.04 0.0 0.01)
( 0.04 0.15 0.01)
( 0.0 0.15 0.01)
( 0.04 0.0 -0.01)
( 0.5 0.0 -0.01)
( 0.5 0.04 -0.01)
( 0.04 0.04 -0.01)
( 0.04 0.0 0.01)
( 0.5 0.0 0.01)
( 0.5 0.04 0.01)
( 0.04 0.04 0.01)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (16 60 1) simpleGrading (1 1 1)
hex (8 9 10 11 12 13 14 15) (180 16 1) simpleGrading (1 1 1)
);
edges
(
);
boundary
(
inlet
{
type patch;
faces
(
(3 7 6 2)
);
}
wall1
{
type wall;
faces
(
(0 4 7 3)
(1 5 4 0)
);
}
wall_merge
{
type wall;
faces
(
(2 6 5 1)
);
}
frontAndBack1
{
type empty;
faces
(
(0 3 2 1)
(4 5 6 7)
);
}
wall2
{
type wall;
faces
(
(11 15 14 10)
(9 13 12 8)
);
}
wall_merge2
{
type wall;
faces
(
(8 12 15 11)
);
}
outlet
{
type patch;
faces
(
(10 14 13 9)
);
}
frontAndBack2
{
type empty;
faces
(
(8 11 10 9)
(12 13 14 15)
);
}
);
mergePatchPairs
(
(wall_merge wall_merge2)
);
// ************************************************************************* //

View File

@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application reactingTwoPhaseEulerFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 2;
deltaT 1e-4;
writeControl adjustableRunTime;
writeInterval 0.1;
purgeWrite 0;
writeFormat ascii;
writePrecision 9;
writeCompression compressed;
timeFormat general;
timePrecision 8;
runTimeModifiable on;
adjustTimeStep yes;
maxCo 0.1;
maxDeltaT 0.01;
// ************************************************************************* //

View File

@ -0,0 +1,74 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
"div\(phi,alpha.*\)" Gauss vanLeer;
"div\(phir,alpha.*\)" Gauss vanLeer;
"div\(alphaRhoPhi.*,U.*\)" Gauss limitedLinearV 1;
"div\(phi.*,U.*\)" Gauss limitedLinearV 1;
"div\(alphaRhoPhi.*,(h|e).*\)" Gauss limitedLinear 1;
"div\(alphaRhoPhi.*,K.*\)" Gauss limitedLinear 1;
"div\(alphaPhi.*,p\)" Gauss limitedLinear 1;
div(alphaRhoPhi.solids,Theta.solids) Gauss limitedLinear 1;
"div\(alphaRhoPhi.*,(k|epsilon).*\)" Gauss limitedLinear 1;
div((((alpha.gas*thermo:rho.gas)*nuEff.gas)*dev2(T(grad(U.gas))))) Gauss linear;
div((((thermo:rho.solids*nut.solids)*dev2(T(grad(U.solids))))+(((thermo:rho.solids*lambda.solids)*div(phi.solids))*I))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p_rgh;
alpha.solids;
}
// ************************************************************************* //

View File

@ -0,0 +1,111 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
"alpha.*"
{
nAlphaCorr 2;
nAlphaSubCycles 1;
implicitPhasePressure yes;
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-10;
relTol 0;
minIter 1;
}
p_rgh
{
solver GAMG;
smoother DIC;
nPreSweeps 0;
nPostSweeps 2;
nFinestSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 10;
processorAgglomerator procFaces;
nAgglomeratingCells 800;
agglomerator faceAreaPair;
mergeLevels 1;
tolerance 1e-8;
relTol 0.01;
}
p_rghFinal
{
$p_rgh;
relTol 0;
}
"U.*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-7;
relTol 0;
minIter 1;
}
"(h|e).*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-8;
relTol 0;
minIter 1;
maxIter 10;
}
"Theta.*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-7;
relTol 0;
minIter 1;
}
"(k|epsilon).*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-5;
relTol 0;
minIter 1;
}
}
PIMPLE
{
nOuterCorrectors 3;
nCorrectors 1;
nNonOrthogonalCorrectors 0;
faceMomentum yes;
}
relaxationFactors
{
equations
{
".*" 1;
}
}
// ************************************************************************* //