26 #include "JohnsonJacksonSchaefferFrictionalStress.H" 34 namespace kineticTheoryModels
36 namespace frictionalStressModels
42 frictionalStressModel,
43 JohnsonJacksonSchaeffer,
56 const dictionary&
dict 59 frictionalStressModel(dict),
60 coeffDict_(dict.optionalSubDict(typeName +
"Coeffs")),
61 Fr_(
"Fr", dimensionSet(1, -1, -2, 0, 0), coeffDict_),
62 eta_(
"eta",
dimless, coeffDict_),
64 phi_(
"phi",
dimless, coeffDict_),
65 alphaDeltaMin_(
"alphaDeltaMin",
dimless, coeffDict_)
84 const phaseModel& phase,
92 Fr_*
pow(
max(alpha - alphaMinFriction, scalar(0)), eta_)
93 /
pow(
max(alphaMax - alpha, alphaDeltaMin_), p_);
101 const phaseModel& phase,
110 eta_*
pow(
max(alpha - alphaMinFriction, scalar(0)), eta_ - 1)
112 + p_*
pow(
max(alpha - alphaMinFriction, scalar(0)), eta_)
113 )/
pow(
max(alphaMax - alpha, alphaDeltaMin_), p_ + 1);
121 const phaseModel& phase,
130 tmp<volScalarField> tnu
136 "JohnsonJacksonSchaeffer:nu",
137 phase.mesh().time().timeName(),
152 if (alpha[celli] > alphaMinFriction.value())
163 const fvPatchList& patches = phase.mesh().boundary();
170 if (!patches[
patchi].coupled())
184 nuf.correctBoundaryConditions();
195 Fr_.
read(coeffDict_);
196 eta_.
read(coeffDict_);
199 phi_.
read(coeffDict_);
202 alphaDeltaMin_.
read(coeffDict_);
Cmpt invariantII(const SymmTensor< Cmpt > &st)
Return the 2nd invariant of a symmetric tensor.
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
virtual tmp< volScalarField > nu(const phaseModel &phase, const dimensionedScalar &alphaMinFriction, const dimensionedScalar &alphaMax, const volScalarField &pf, const volSymmTensorField &D) const
#define forAll(list, i)
Loop across all elements in list.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
GeometricField< vector, fvPatchField, volMesh > volVectorField
Macros for easy insertion into run-time selection tables.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
virtual tmp< volScalarField > frictionalPressurePrime(const phaseModel &phase, const dimensionedScalar &alphaMinFriction, const dimensionedScalar &alphaMax) const
void read(const dictionary &)
Update the value of dimensioned<Type>
const dictionary & optionalSubDict(const word &) const
Find and return a sub-dictionary if found.
const Type & value() const
Return const reference to value.
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
dimensionedScalar sin(const dimensionedScalar &ds)
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
Internal & ref()
Return a reference to the dimensioned internal field.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
PtrList< fvPatch > fvPatchList
container classes for fvPatch
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
const dictionary & dict_
Reference to higher-level dictionary for re-read.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dimensioned< scalar > mag(const dimensioned< Type > &)
A class for managing temporary objects.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
JohnsonJacksonSchaeffer(const dictionary &dict)
Construct from components.
virtual ~JohnsonJacksonSchaeffer()
Destructor.
virtual tmp< volScalarField > frictionalPressure(const phaseModel &phase, const dimensionedScalar &alphaMinFriction, const dimensionedScalar &alphaMax) const