tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase: New tutorial to demonstrate interface capturing in reactingMultiphaseEulerFoam

This case is an updated version of
tutorials/multiphase/multiphaseEulerFoam/damBreak4phase using the latest models
available in reactingMultiphaseEulerFoam for interface capturing.
This commit is contained in:
Henry Weller
2020-02-16 00:14:32 +00:00
parent 70f7643451
commit 89439aa1ff
42 changed files with 2150 additions and 30 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -25,7 +25,7 @@ License
#include "dragModel.H"
#include "phasePair.H"
#include "swarmCorrection.H"
#include "noSwarm.H"
#include "surfaceInterpolate.H"
#include "BlendedInterfacialModel.H"
@ -87,11 +87,13 @@ Foam::dragModel::dragModel
pair_(pair),
swarmCorrection_
(
swarmCorrection::New
dict.found("swarmCorrection")
? swarmCorrection::New
(
dict.subDict("swarmCorrection"),
pair
)
: autoPtr<swarmCorrection>(new swarmCorrections::noSwarm(dict, pair))
)
{}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2014-2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2014-2020 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -107,30 +107,14 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::K() const
L.primitiveFieldRef() = cbrt(mesh.V());
L.correctBoundaryConditions();
const volScalarField I
const dimensionedScalar residualAlpha
(
alpha1
/max
(
alpha1 + alpha2,
pair_.phase1().residualAlpha() + pair_.phase2().residualAlpha()
)
(pair_.phase1().residualAlpha() + pair_.phase2().residualAlpha())/2
);
const volScalarField magGradI
(
max
(
mag(fvc::grad(I)),
(pair_.phase1().residualAlpha() + pair_.phase2().residualAlpha())/L
)
);
const volScalarField muI
(
rho1*nu1*rho2*nu2
/(rho1*nu1 + rho2*nu2)
);
const volScalarField I(alpha1/max(alpha1 + alpha2, residualAlpha));
const volScalarField magGradI(max(mag(fvc::grad(I)), 0.5*residualAlpha/L));
const volScalarField muI(rho1*nu1*rho2*nu2/(rho1*nu1 + rho2*nu2));
const volScalarField limitedAlpha1
(
@ -144,7 +128,7 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::K() const
const volScalarField muAlphaI
(
alpha1*rho1*nu1*alpha2*rho2*nu2
limitedAlpha1*rho1*nu1*limitedAlpha2*rho2*nu2
/(limitedAlpha1*rho1*nu1 + limitedAlpha2*rho2*nu2)
);