driftFluxFoam: add support for alphaMax and d of the dispersed-phase

This commit is contained in:
Henry 2014-04-29 11:42:13 +01:00 committed by Andrew Heather
parent 78eaf506eb
commit 3885c4933d
3 changed files with 88 additions and 6 deletions

View File

@ -43,9 +43,23 @@
{
Info<< "Applying the previous iteration correction flux" << endl;
#ifdef LTSSOLVE
MULES::LTScorrect(alpha1, phiAlpha, tphiAlphaCorr0(), 1, 0);
MULES::LTScorrect
(
alpha1,
phiAlpha,
tphiAlphaCorr0(),
mixture.alphaMax(),
0
);
#else
MULES::correct(alpha1, phiAlpha, tphiAlphaCorr0(), 1, 0);
MULES::correct
(
alpha1,
phiAlpha,
tphiAlphaCorr0(),
mixture.alphaMax(),
0
);
#endif
phiAlpha += tphiAlphaCorr0();
@ -79,9 +93,23 @@
volScalarField alpha10(alpha1);
#ifdef LTSSOLVE
MULES::LTScorrect(alpha1, tphiAlphaUn(), tphiAlphaCorr(), 1, 0);
MULES::LTScorrect
(
alpha1,
tphiAlphaUn(),
tphiAlphaCorr(),
mixture.alphaMax(),
0
);
#else
MULES::correct(alpha1, tphiAlphaUn(), tphiAlphaCorr(), 1, 0);
MULES::correct
(
alpha1,
tphiAlphaUn(),
tphiAlphaCorr(),
mixture.alphaMax(),
0
);
#endif
// Under-relax the correction for all but the 1st corrector
@ -100,9 +128,23 @@
phiAlpha = tphiAlphaUn;
#ifdef LTSSOLVE
MULES::explicitLTSSolve(alpha1, phi, phiAlpha, 1, 0);
MULES::explicitLTSSolve
(
alpha1,
phi,
phiAlpha,
mixture.alphaMax(),
0
);
#else
MULES::explicitSolve(alpha1, phi, phiAlpha, 1, 0);
MULES::explicitSolve
(
alpha1,
phi,
phiAlpha,
mixture.alphaMax(),
0
);
#endif
}
}

View File

@ -82,6 +82,13 @@ incompressibleTwoPhaseInteractingMixture
rhod_("rho", dimDensity, muModel_->viscosityProperties().lookup("rho")),
rhoc_("rho", dimDensity, nucModel_->viscosityProperties().lookup("rho")),
dd_
(
"d",
dimLength,
muModel_->viscosityProperties().lookupOrDefault("d", 0.0)
),
alphaMax_(muModel_->viscosityProperties().lookupOrDefault("alphaMax", 1.0)),
U_(U),
phi_(phi),
@ -118,6 +125,20 @@ bool Foam::incompressibleTwoPhaseInteractingMixture::read()
muModel_->viscosityProperties().lookup("rho") >> rhod_;
nucModel_->viscosityProperties().lookup("rho") >> rhoc_;
dd_ = dimensionedScalar
(
"d",
dimLength,
muModel_->viscosityProperties().lookupOrDefault("d", 0)
);
alphaMax_ =
muModel_->viscosityProperties().lookupOrDefault
(
"alphaMax",
1.0
);
return true;
}
else

View File

@ -69,6 +69,12 @@ protected:
dimensionedScalar rhod_;
dimensionedScalar rhoc_;
//- Optional diameter of the dispersed phase particles
dimensionedScalar dd_;
//- Optional maximum dispersed phase-fraction (e.g. packing limit)
scalar alphaMax_;
const volVectorField& U_;
const surfaceScalarField& phi_;
@ -121,6 +127,19 @@ public:
return rhoc_;
};
//- Return the diameter of the dispersed-phase particles
const dimensionedScalar& dd() const
{
return dd_;
}
//- Optional maximum phase-fraction (e.g. packing limit)
// Defaults to 1
scalar alphaMax() const
{
return alphaMax_;
}
//- Return const-access to the mixture velocity
const volVectorField& U() const
{