43 #define ACCESS_CARRIER_FIELDS(Type, nullArg) \
49 HashPtrTable<CarrierField<Type>>& carried::carrierFields() const \
51 return CAT3(carrier, CAPITALIZE(Type), Fields_); \
56 #undef ACCESS_CARRIER_FIELDS
64 typeIOobject<volVectorField> io
66 "ddt(" +
Uc.psi().name() +
")",
67 Uc.psi().mesh().time().name(),
74 autoPtr<volVectorField>
85 if (Uc.psi().hasStoredOldTimes())
89 else if (!dUdtcPtr_.valid())
97 "ddt(" + Uc.psi().name() +
")",
98 Uc.psi().mesh().time().name(),
117 #define CLEAR_TYPE_CARRIER_FIELDS(Type, nullArg) \
120 HashPtrTable<CarrierField<Type>>, \
121 carrierFields<Type>(), \
125 iter()->clear(true); \
128 #undef CLEAR_TYPE_CARRIER_FIELDS
134 #define RESET_TYPE_CARRIER_FIELDS(Type, nullArg) \
137 HashPtrTable<CarrierField<Type>>, \
138 carrierFields<Type>(), \
142 iter()->reset(initial); \
145 #undef RESET_TYPE_CARRIER_FIELDS
172 IOobject::groupName(
"U", carrierPhaseName())
174 ?
IOobject::groupName(
"U", carrierPhaseName())
180 :
IOobject::groupName(
"U", carrierPhaseName())
188 IOobject::groupName(
"curlUc", carrierPhaseName()),
195 dUdtcPtr_(readDUdtc(
c)),
203 return dUdtc() + (Uc.psi() &
fvc::grad(Uc.psi()));
212 : carrierField<vector>
219 : carrierField<vector>
225 <<
"Cloud " <<
c.
name() <<
" does not have a corresponding "
244 return carrierPhaseName_;
258 <<
"Cloud " << cloud_.name() <<
" does not have a corresponding "
262 static const word nonePhaseName =
"<none>";
263 return nonePhaseName;
293 <<
"Cannot construct an equivalent carrier name with a specified "
294 <<
"group for the name '" <<
name <<
"' because this name already "
311 if (memberc[memberc.size() - 1] !=
'c')
314 <<
"Name " << namec <<
" is not a carrier name"
321 memberc(memberc.size() - 1),
#define RESET_TYPE_CARRIER_FIELDS(Type, nullArg)
#define CLEAR_TYPE_CARRIER_FIELDS(Type, nullArg)
#define ACCESS_CARRIER_FIELDS(Type, nullArg)
Generic GeometricField class.
void reset(const GeometricField< Type, GeoMesh, PrimitiveField2 > &)
Reset the field contents to the given field.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
word group() const
Return group (extension part of name)
word member() const
Return member (name without the extension)
static word groupName(Name name, const word &group)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Base class for clouds. Provides a basic evolution algorithm, models, and a database for caching deriv...
Base class for clouds which are carried by a fluid.
carried(const cloud &c, const dictionary &dict)
Construct from a reference to the cloud.
void clearCarrierFields()
Clear the carrier fields.
void resetCarrierFields(const bool initial)
Reset the carrier fields.
static word carrierNameToName(const word &namec)
Convert a disambiguated carrier name to its equivalent name. I.e.,.
const word & carrierPhaseName() const
Return the name of the carrier phase.
bool hasPhase() const
Return whether this cloud has a corresponding Eulerian phase.
static word nameToCarrierName(const word &name)
Convert a name to its disambiguated carrier equivalent name. I.e.,.
const word & phaseName(const bool strict=true) const
Return the name of the corresponding Eulerian phase.
const CarrierField< vector > & Uc
Carrier velocity.
virtual ~carried()
Destructor.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
const word & name() const
Return const reference to name.
A class for managing temporary objects.
A class for handling words, derived from string.
static const word null
An empty word.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define FOR_ALL_FIELD_TYPES(Macro,...)
Calculate the curl of the given volField by constructing the Hodge-dual of the symmetric part of the ...
Calculate the first temporal derivative.
defineTypeNameAndDebug(carried, 0)
const char *const group
Group name for atomic constants.
const dimensionedScalar c
Speed of light in a vacuum.
tmp< VolField< Type > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
tmp< VolField< Type > > curl(const VolField< Type > &vf)
tmp< VolField< typename outerProduct< vector, Type >::type > > grad(const SurfaceField< Type > &ssf)
const unitSet & lookup(const word &unitName)
Lookup and return the named unit from the table.
errorManipArg< error, int > exit(error &err, const int errNo=1)
VolField< vector > volVectorField
FOR_ALL_FIELD_TYPES(makeDimensionedPointFieldFunctions)
const dimensionSet & dimVelocity
const dimensionSet & dimTime
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.