29#include "IATEsource.H"
30#include "twoPhaseSystem.H"
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)
112Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATE::dsm()
const
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"),
192 ).transfer(sources_);
#define R(A, B, C, D, E, F, K, M)
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
virtual bool read(const dictionary &phaseProperties)=0
Read phaseProperties dictionary.
IATE (Interfacial Area Transport Equation) bubble diameter model.
virtual ~IATE()
Destructor.
virtual void correct()
Correct the diameter field.
virtual bool read(const dictionary &phaseProperties)
Read phaseProperties dictionary.
IATE(const dictionary &diameterProperties, const phaseModel &phase)
Construct from components.
Class used for the read-construction of.
static options & New(const fvMesh &mesh)
Construct fvOptions and register to database if not present otherwise lookup and return.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Fundamental dimensioned constants.
Area-weighted average a surfaceField creating a volField.
Calculate the first temporal derivative.
Calculate the divergence of the given field.
Calculate the matrix for the first temporal derivative.
Calculate the matrix for the divergence of the given field and flux.
Calculate the finiteVolume matrix for implicit and explicit sources.
tmp< GeometricField< Type, fvPatchField, volMesh > > average(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Area-weighted average a surfaceField creating a volField.
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
tmp< fvMatrix< Type > > ddt(const GeometricField< Type, fvPatchField, volMesh > &vf)
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.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
const dimensionSet dimless
Dimensionless.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
fvMatrix< scalar > fvScalarMatrix
GeometricField< scalar, fvPatchField, volMesh > volScalarField
#define forAll(list, i)
Loop across all elements in list.