47 namespace functionObjects
74 const bool dUdt = tracking == trackingType::parabolic;
93 if (context == cloud::contextType::fvModel)
95 result = initPsicDdt(v, onec) || result;
98 result = initPsicDdt(v, onecPhase) || result;
106 if (context == cloud::contextType::fvModel)
108 result = initPsicDdt(v, Uc) || result;
109 if (hasPhase() && &UcPhase != &Uc)
111 result = initPsicDdt(v, UcPhase) || result;
148 numberEqn.
solve(
final);
151 numberByNumber0 = number/number.
oldTime();
154 oneEqn *= numberByNumber0();
174 if (context == cloud::contextType::fvModel &&
final)
176 carrierEqn(onec) += number*psicEqn(deltaT, v, onec);
179 carrierEqn(onecPhase) += number*psicEqn(deltaT, v, onecPhase);
197 if (context == cloud::contextType::fvModel &&
final)
199 carrierEqn(Uc) += number*psicEqn(deltaT, v,
U, Uc);
200 if (hasPhase() && &UcPhase != &Uc)
202 carrierEqn(UcPhase) += number*psicEqn(deltaT, v,
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.
bool valid() const
Determine whether this matrix has any valid coefficients.
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...
const Field0Type & oldTime() const
Return the old-time field.
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.
Base class for clouds which are coupled to a constant density fluid.
void clearCarrierEqns()
Clear the carrier equations.
void updateCarrier()
Update the cached carrier fields.
Base class for clouds in which particles are grouped into parcels.
Basic cloud with spherical, constant density, particles, grouped into parcels.
virtual void solve(const bool initial, const bool final)
Solve the cloud's evolution over the current time-step.
virtual ~kinematicParcel()
Destructor.
virtual bool reCalculateModified()
Do we need to re-calculate particles that are modified?
virtual tmp< LagrangianSubVectorField > dUdt(const LagrangianSubMesh &) const
Return the acceleration with which to do second-order tracking.
kinematicParcel(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.
const CloudDerivedField< scalar > & v
Volume.
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.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Variant type that either contains and behaves as tmp object or represents a value of one....
A class for managing temporary objects.
static const word null
An empty word.
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 & dimVolume