53 const word viscosityName =
65 return tmp<volScalarField>(
nullptr);
71 const LagrangianModelRef& model,
72 const LagrangianSubMesh& subMesh
76 <<
"Could not determine the carrier viscosity"
79 return tmp<LagrangianSubScalarField>(
nullptr);
83 #define ACCESS_CARRIER_EQNS(Type, nullArg) \
89 HashPtrTable<CarrierEqn<Type>>& coupled::carrierEqns() const \
91 return CAT3(carrier, CAPITALIZE(Type), Eqns_); \
96 #undef ACCESS_CARRIER_EQNS
105 tnucVf_.ref() = getNucVf();
112 #define CLEAR_TYPE_CARRIER_EQNS(Type, nullArg) \
115 HashPtrTable<CarrierEqn<Type>>, \
116 carrierEqns<Type>(), \
123 #undef CLEAR_TYPE_CARRIER_EQNS
125 hasCarrierEqns_ =
false;
142 models.
sourceProxy(deltaT, vOrM, oneOrRhoc(subMesh));
151 carriedCloud_(carriedCloud),
152 hasCarrierEqns_(false),
157 ? carriedCloud_.carrierField<scalar>(tnucVf_())
158 :
c.derivedField<scalar>(*this, &
coupled::calcNuc)
173 return hasCarrierEqns_;
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const dimensionSet & dimensions() const
Return dimensions.
const GeoMesh & mesh() const
Return mesh.
static word groupName(Name name, const word &group)
const polyMesh & poly() const
Access the poly mesh.
List of Lagrangian models, constructed as a (Lagrangian) mesh object. Provides similar functions to t...
tmp< LagrangianEqn< Type > > sourceProxy(const LagrangianSubScalarField &deltaT, const LagrangianSubField< Type, PrimitiveField > &field, const LagrangianSubField< Type, PrimitiveEqnField > &eqnField) const
Return source for an equation.
LagrangianModels(const LagrangianMesh &mesh)
Construct for a mesh.
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...
Base class for clouds which are carried by a fluid.
const word & carrierPhaseName() const
Return the name of the carrier phase.
Base class for clouds which are coupled to a carrier.
bool hasCarrierEqns() const
Return if any carrier equations are cached.
tmp< LagrangianEqn< scalar > > psicEqn(const LagrangianSubScalarField &deltaT, const LagrangianSubScalarSubField &vOrM, const CloudDerivedField< scalar > &oneOrRhoc) const
Return the basic models-only equation for a carrier field.
coupled(const cloud &c, const carried &)
Construct from a reference to the cloud.
void clearCarrierEqns()
Clear the carrier equations.
void updateCarrier()
Update the cached carrier fields.
virtual ~coupled()
Destructor.
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type and name.
bool foundObject(const word &name) const
Is the named Type in registry.
A class for managing temporary objects.
#define ACCESS_CARRIER_EQNS(Type, nullArg)
#define CLEAR_TYPE_CARRIER_EQNS(Type, nullArg)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
tmp< LagrangianEqn< Type > > noDdt(const LagrangianSubScalarField &deltaT, const dimensionSet &mDims, const LagrangianSubSubField< Type > &psi)
Return the no-time-derivative matrix containing higher-order.
bool valid(const PtrList< ModelType > &l)
defineTypeNameAndDebug(carried, 0)
const dimensionedScalar c
Speed of light in a vacuum.
errorManipArg< error, int > exit(error &err, const int errNo=1)
String typeName(const std::type_info &info)
Return the un-mangled name given the standard type info.
FOR_ALL_FIELD_TYPES(makeDimensionedPointFieldFunctions)
VolField< scalar > volScalarField
Info<< "Reading field U\n"<< endl;volVectorField U(IOobject("U", runTime.name(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);Info<< "Creating face flux\n"<< endl;surfaceScalarField phi(IOobject("phi", runTime.name(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), mesh, dimensionedScalar(mesh.Sf().dimensions() *U.dimensions(), 0));autoPtr< viscosityModel > viscosity(viscosityModel::New(mesh))