29 #include "IATEsource.H" 30 #include "twoPhaseSystem.H" 46 namespace diameterModels
64 const dictionary& diameterProperties,
65 const phaseModel& phase
68 diameterModel(diameterProperties, phase),
73 IOobject::groupName(
"kappai", phase.
name()),
81 dMax_(
"dMax",
dimLength, diameterProperties_),
82 dMin_(
"dMin",
dimLength, diameterProperties_),
83 residualAlpha_(
"residualAlpha",
dimless, diameterProperties_),
88 IOobject::groupName(
"d", phase.
name()),
98 diameterProperties_.lookup(
"sources"),
99 IATEsource::iNew(*this)
114 return max(6/
max(kappai_, 6/dMax_), dMin_);
153 R -= sources_[j].R();
184 diameterProperties_.readEntry(
"dMax", dMax_);
185 diameterProperties_.readEntry(
"dMin", dMin_);
190 diameterProperties_.lookup(
"sources"),
191 IATEsource::iNew(*
this)
192 ).transfer(sources_);
addToRunTimeSelectionTable(diameterModel, constant, dictionary)
fvMatrix< scalar > fvScalarMatrix
virtual bool read(const dictionary &phaseProperties)=0
Read phaseProperties dictionary.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
defineTypeNameAndDebug(constant, 0)
const dimensionSet dimless
Dimensionless.
Fundamental dimensioned constants.
Macros for easy insertion into run-time selection tables.
Area-weighted average a surfaceField creating a volField.
#define forAll(list, i)
Loop across all elements in list.
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Calculate the first temporal derivative.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
virtual void correct()
Correct the diameter field.
virtual bool read(const dictionary &phaseProperties)
Read phaseProperties dictionary.
tmp< fvMatrix< Type > > ddt(const GeometricField< Type, fvPatchField, volMesh > &vf)
Calculate the matrix for the first temporal derivative.
IATE(const dictionary &diameterProperties, const phaseModel &phase)
Construct from components.
zeroField SuSp(const Foam::zero, const GeometricField< Type, fvPatchField, volMesh > &)
A no-op source.
zeroField Sp(const Foam::zero, const GeometricField< Type, fvPatchField, volMesh > &)
A no-op source.
Calculate the divergence of the given field.
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
Calculate the matrix for the divergence of the given field and flux.
virtual ~IATE()
Destructor.
#define R(A, B, C, D, E, F, K, M)
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
tmp< GeometricField< Type, fvPatchField, volMesh > > average(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Area-weighted average a surfaceField creating a volField.
A class for managing temporary objects.
static options & New(const fvMesh &mesh)
Construct fvOptions and register to database if not present.
Calculate the finiteVolume matrix for implicit and explicit sources.