34 template<
class CloudType>
50 template<
class CloudType>
68 Info<<
"Constructing particle forces" <<
endl;
75 const word& modelName = dEntry.keyword();
115 template<
class CloudType>
118 const ParticleForceList& pf
130 template<
class CloudType>
137 template<
class CloudType>
142 this->operator[](i).cacheFields(store);
147 template<
class CloudType>
150 const typename CloudType::parcelType&
p,
151 const typename CloudType::parcelType::trackingData&
td,
158 forceSuSp value(
Zero);
164 value += this->operator[](i).calcCoupled(
p,
td, dt, mass,
Re, muc);
172 template<
class CloudType>
176 const typename CloudType::parcelType::trackingData&
td,
190 this->operator[](i).calcNonCoupled(
p,
td, dt, mass,
Re, muc);
198 template<
class CloudType>
202 const typename CloudType::parcelType::trackingData&
td,
206 scalar massEff = mass;
209 massEff += this->operator[](i).massAdd(
p,
td, mass);
virtual void cacheFields(const bool store)
Cache fields.
DSMCCloud< dsmcParcel > CloudType
patchWriters resize(patchIds.size())
A list of keyword definitions, which are a keyword followed by a number of values (eg...
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
Abstract base class for particle forces.
ParticleForceList(CloudType &owner, const fvMesh &mesh)
Null constructor.
#define forAll(list, i)
Loop across all elements in list.
Helper container for force Su and Sp terms.
virtual scalar massEff(const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar mass) const
Return the effective mass.
unsigned int count(const UList< bool > &bools, const bool val=true)
Count number of 'true' entries.
virtual forceSuSp calcCoupled(const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar dt, const scalar mass, const scalar Re, const scalar muc) const
Calculate the coupled force.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const NameMatchPredicate &selectedFields, DynamicList< regIOobject *> &storedObjects)
Read the selected GeometricFields of the templated type and store on the objectRegistry.
A class for handling words, derived from Foam::string.
virtual forceSuSp calcNonCoupled(const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar dt, const scalar mass, const scalar Re, const scalar muc) const
Calculate the non-coupled force.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
scalarField Re(const UList< complex > &cmplx)
Extract real component.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
Mesh data needed to do the Finite Volume discretisation.
messageStream Info
Information stream (stdout output on master, null elsewhere)
virtual ~ParticleForceList()
Destructor.
Templated base class for dsmc cloud.
A keyword and a list of tokens is an 'entry'.
static constexpr const zero Zero
Global zero (0)