29#include "IATEsource.H"
30#include "twoPhaseSystem.H"
46namespace 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_);
#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()
Re-read model coefficients if they have changed.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
IATE (Interfacial Area Transport Equation) bubble diameter model.
virtual ~IATE()
Destructor.
virtual void correct()
Correct the diameter field.
A class for managing temporary objects.
#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
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
#define forAll(list, i)
Loop across all elements in list.