54 const word& sourceName,
55 const word& modelType,
56 const dictionary&
dict,
60 fvModel(sourceName, modelType, dict, mesh),
61 phaseName_(dict.
lookup(
"phase")),
62 carrierPhaseName_(dict.
lookup(
"carrierPhase")),
65 mesh.lookupObject<fluidThermo>
67 IOobject::groupName(physicalProperties::typeName, phaseName_)
72 mesh.lookupObject<fluidThermo>
74 IOobject::groupName(physicalProperties::typeName, carrierPhaseName_)
105 curTimeIndex_ =
mesh().time().timeIndex();
112 fvMatrix<scalar>& eqn,
113 const word& fieldName
118 Info<<
type() <<
": applying source to " << eqn.psi().name() <<
endl;
121 if (fieldName == thermo_.rho()().
name())
123 eqn += clouds_.Srho();
125 else if (fieldName ==
"T")
130 clouds_.Sh(eqn.psi())()/
Cv 131 + clouds_.Srho()*(eqn.psi() - thermo_.he()/
Cv);
136 <<
"Support for field " << fieldName <<
" is not implemented" 145 fvMatrix<vector>& eqn,
146 const word& fieldName
151 Info<<
type() <<
": applying source to " << eqn.psi().name() <<
endl;
154 eqn += clouds_.SU(eqn.psi());
161 clouds_.storeGlobalPositions();
175 clouds_.distribute(map);
scalar Cv(const scalar p, const scalar T) const
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
virtual bool movePoints()
Update for mesh motion.
virtual wordList addSupFields() const
Return the list of fields for which the option adds source term.
defineTypeNameAndDebug(fixedTemperatureConstraint, 0)
const word & name() const
Return name.
virtual void preUpdateMesh()
Prepare for mesh update.
errorManipArg< error, int > exit(error &err, const int errNo=1)
UniformDimensionedField< vector > uniformDimensionedVectorField
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Ostream & endl(Ostream &os)
Add newline and flush stream.
VoFClouds(const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from explicit source name and mesh.
GeometricField< vector, fvPatchField, volMesh > volVectorField
DimensionedField< scalar, volMesh > Internal
Type of the internal field from which this GeometricField is derived.
Macros for easy insertion into run-time selection tables.
virtual void correct()
Solve the Lagrangian clouds and update the sources.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
stressControl lookup("compactNormalStress") >> compactNormalStress
virtual void addSup(const volScalarField &rho, fvMatrix< scalar > &eqn, const word &fieldName) const
Add explicit contribution to compressible enthalpy equation.
addToRunTimeSelectionTable(fvConstraint, fixedTemperatureConstraint, dictionary)
List< word > wordList
A List of words.
const Time & time() const
Return time.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
virtual void topoChange(const polyTopoChangeMap &)
Update topology using the given map.
virtual void distribute(const polyDistributionMap &)
Redistribute or update using the given distribution map.
Calculate the matrix for implicit and explicit sources.