46 namespace functionObjects
72 const bool dUdt = tracking == trackingType::parabolic;
86 if (context == cloud::contextType::fvModel)
88 result = initPsicDdt(m, rhoc) || result;
91 result = initPsicDdt(m, rhocPhase) || result;
99 if (context == cloud::contextType::fvModel)
103 result = initPsicDdt(m, hec) || result;
105 if (hasThermocPhase() && &hecPhase != &hec)
107 result = initPsicDdt(m, hecPhase) || result;
115 if (context == cloud::contextType::fvModel)
117 result = initPsicDdt(m, Uc) || result;
118 if (hasPhase() && &UcPhase != &Uc)
120 result = initPsicDdt(m, UcPhase) || result;
143 thermo().correctPressure(subMesh);
162 if (context == cloud::contextType::fvModel &&
final)
164 carrierEqn(rhoc) += psicEqn(deltaT, m, rhoc);
167 carrierEqn(rhocPhase) += psicEqn(deltaT, m, rhocPhase);
184 thermo().correct(subMesh);
190 if (context == cloud::contextType::fvModel &&
final)
194 carrierEqn(hec) += psicEqn(deltaT, m,
e, hec);
196 if (hasThermocPhase() && &hecPhase != &hec)
198 carrierEqn(hecPhase) += psicEqn(deltaT, m,
e, hecPhase);
215 if (context == cloud::contextType::fvModel &&
final)
217 carrierEqn(Uc) += psicEqn(deltaT, m,
U, Uc);
218 if (hasPhase() && &UcPhase != &Uc)
220 carrierEqn(UcPhase) += psicEqn(deltaT, m,
U, UcPhase);
Functions for calculating the time derivative for a Lagrangian equation.
Functions for calculating the time derivative for a Lagrangian equation.
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const GeoMesh & mesh() const
Return mesh.
This class stores the coefficients of a Lagrangian equation, and facilitates solving that equation an...
void solve(const bool final)
Solve.
Class containing Lagrangian geometry and topology.
List of Lagrangian models, constructed as a (Lagrangian) mesh object. Provides similar functions to t...
bool addsSupToField(const word &fieldName) const
Return true if the LagrangianModels adds a source term to the.
Mesh that relates to a sub-section of a Lagrangian mesh. This is used to construct fields that relate...
Base class for clouds. Provides a basic evolution algorithm, models, and a database for caching deriv...
contextType
Context in which this cloud is used.
virtual void solve(const bool initial, const bool final)
Solve the cloud's evolution over the current time-step.
Foam::LagrangianModels & LagrangianModels() const
Access the models.
virtual void partition()
Partition hook.
CloudStateField< vector > U
Velocity.
Base class for clouds which are carried by a fluid.
void clearCarrierFields()
Clear the carrier fields.
void resetCarrierFields(const bool initial)
Reset the carrier fields.
void updateCarrier()
Update the cached carrier fields.
Base class for clouds which are coupled to a fluid with a thermodynamic model.
void clearCarrierEqns()
Clear the carrier equations.
Base class for clouds of massive particles which are coupled to a fluid.
const CloudDerivedField< scalar > & m
Mass.
Cloud with spherical particles with thermodynamic modelling.
virtual void solve(const bool initial, const bool final)
Solve the cloud's evolution over the current time-step.
virtual bool reCalculateModified()
Do we need to re-calculate particles that are modified?
virtual ~particle()
Destructor.
virtual tmp< LagrangianSubVectorField > dUdt(const LagrangianSubMesh &) const
Return the acceleration with which to do second-order tracking.
particle(LagrangianMesh &mesh, const contextType context, const dictionary &dict)
Construct from a mesh and context.
virtual void partition()
Partition hook.
virtual void calculate(const LagrangianSubScalarField &deltaT, const bool final)
Update the cloud properties.
Base class for clouds of spherical particles which are coupled to a carrier.
Base class for clouds with spherical particles.
void correct(const LagrangianSubScalarSubField &v)
Correct the shape to match the given volume.
Base class for clouds with thermodynamic modelling.
const Thermo & thermo(const Args &... args) const
Get a reference to the thermodynamic model of a given type.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
A class for managing temporary objects.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
tmp< LagrangianSubField< Type > > Ddt(const LagrangianSubSubField< Type > &psi)
Return the instantaneous time-derivative.
tmp< LagrangianEqn< Type > > Ddt(const LagrangianSubScalarField &deltaT, LagrangianSubSubField< Type > &psi)
Return the time-derivative matrix.
bool initDdt(const dimensionSet &mDims, const LagrangianSubSubField< Type > &psi, const bool instantaneousDdt=false)
Initialise time-derivative information. Registers fields used to.
addToRunTimeSelectionTable(cloud, dynamicParcel, LagrangianMesh)
defineTypeNameAndDebug(carried, 0)
makeCloudFunctionObject(dynamicParcel)
makeCloudFvModel(dynamicParcel)
const dimensionSet & dimless
const dimensionSet & dimMass
tmp< DimensionedField< Type, GeoMesh, SubField > > toSubField(const DimensionedField< Type, GeoMesh, Field > &)
Return a temporary sub-field from a reference to a field.
fluidMulticomponentThermo & thermo