The momentum equation central coefficient and drag matrix is formulated, inverted and used to eliminate the drag terms from each of the phase momentum equations which are combined for formulate a drag-implicit pressure equation. This eliminates the lagged drag terms from the previous formulation which significantly improves convergence for small particle and Euler-VoF high-drag cases. It would also be possible to refactor the virtual-mass terms and include the central coefficients of the phase acceleration terms in the drag matrix before inversion to further improve the implicitness of the phase momentum-pressure coupling for bubbly flows. This work is pending funding.
107 lines
2.2 KiB
C++
107 lines
2.2 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Version: dev
|
|
\\/ M anipulation |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
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;
|
|
processorAgglomerator procFaces;
|
|
nAgglomeratingCells 800;
|
|
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;
|
|
VmDdtCorrection no;
|
|
dragCorrection yes;
|
|
}
|
|
|
|
relaxationFactors
|
|
{
|
|
equations
|
|
{
|
|
".*" 1;
|
|
}
|
|
}
|
|
|
|
|
|
// ************************************************************************* //
|