31 template<
class CloudType>
42 this->coeffs().template lookupOrDefault<word>
44 "linearAccelerationName",
51 this->coeffs().
template lookupOrDefault<word>
53 "angularVelocityName",
60 this->coeffs().
template lookupOrDefault<word>
62 "angularAccelerationName",
69 this->coeffs().
template lookupOrDefault<word>
71 "centreOfRotationName",
75 centreOfRotation_(
Zero)
79 template<
class CloudType>
88 omegaName_(niff.omegaName_),
90 omegaDotName_(niff.omegaDotName_),
91 omegaDot_(niff.omegaDot_),
92 centreOfRotationName_(niff.centreOfRotationName_),
93 centreOfRotation_(niff.centreOfRotation_)
99 template<
class CloudType>
106 template<
class CloudType>
112 centreOfRotation_ =
Zero;
118 this->
mesh().
template foundObject<uniformDimensionedVectorField>
125 lookupObject<uniformDimensionedVectorField>(WName_);
132 this->
mesh().
template foundObject<uniformDimensionedVectorField>
139 lookupObject<uniformDimensionedVectorField>(omegaName_);
141 omega_ = omega.
value();
146 this->
mesh().
template foundObject<uniformDimensionedVectorField>
153 lookupObject<uniformDimensionedVectorField>(omegaDotName_);
155 omegaDot_ = omegaDot.
value();
160 this->
mesh().
template foundObject<uniformDimensionedVectorField>
162 centreOfRotationName_
167 this->
mesh().template
168 lookupObject<uniformDimensionedVectorField>
170 centreOfRotationName_
173 centreOfRotation_ = centreOfRotation.
value();
179 template<
class CloudType>
191 const vector r = p.position() - centreOfRotation_;
198 + 2.0*(p.U() ^ omega_)
199 + (omega_ ^ (r ^ omega_))
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual void cacheFields(const bool store)
Cache fields.
Abstract base class for particle forces.
const vector & Su() const
Return const access to the explicit contribution [kg.m/s2].
const Type & value() const
Return const reference to value.
virtual ~NonInertialFrameForce()
Destructor.
Helper container for force Su and Sp terms.
Calculates particle non-inertial reference frame force. Variable names as from Landau and Lifshitz...
NonInertialFrameForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict)
Construct from mesh.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
Mesh data needed to do the Finite Volume discretisation.
Templated base class for dsmc cloud.
virtual forceSuSp calcNonCoupled(const typename CloudType::parcelType &p, const scalar dt, const scalar mass, const scalar Re, const scalar muc) const
Calculate the non-coupled force.