37 #ifndef CollidingParcel_H
38 #define CollidingParcel_H
55 template<
class ParcelType>
60 template<
class ParcelType>
78 template<
class ParcelType>
82 public CollidingParcelName
87 static const std::size_t sizeofFields_;
95 public ParcelType::constantProperties
134 public ParcelType::trackingData
159 template <
class TrackCloudType>
200 +
" (angularMomentumx angularMomentumy angularMomentumz)"
201 +
" (torquex torquey torquez)"
202 +
" collisionRecordsPairAccessed"
203 +
" collisionRecordsPairOrigProcOfOther"
204 +
" collisionRecordsPairOrigIdOfOther"
205 +
" (collisionRecordsPairData)"
206 +
" collisionRecordsWallAccessed"
207 +
" collisionRecordsWallPRel"
208 +
" (collisionRecordsWallData)"
221 const label tetFacei,
233 label& nLocateBoundaryHits
260 inline const vector&
f()
const;
290 template<
class TrackCloudType>
291 bool move(TrackCloudType&
cloud, trackingData& td);
301 template<
class CloudType>
305 template<
class CloudType>
311 friend Ostream& operator<< <ParcelType>
Class to hold thermo particle constant properties.
scalar youngsModulus() const
Return const access to Young's Modulus.
scalar poissonsRatio() const
Return const access to Poisson's ratio.
constantProperties()
Null constructor.
Class to hold temporary data during tracking.
trackingData(const TrackCloudType &cloud)
Construct from components.
trackPart part() const
Return the part of the tracking operation taking place.
Wrapper around parcel types to add collision modelling.
bool move(TrackCloudType &cloud, trackingData &td)
Move the parcel.
const vector & angularMomentum() const
Return const access to angular momentum.
static autoPtr< CollidingParcel > New(Istream &is)
Construct from Istream and return.
vector f_
Force on particle due to collisions [N].
AddToPropertyList(ParcelType, " (fx fy fz)"+" (angularMomentumx angularMomentumy angularMomentumz)"+" (torquex torquey torquez)"+" collisionRecordsPairAccessed"+" collisionRecordsPairOrigProcOfOther"+" collisionRecordsPairOrigIdOfOther"+" (collisionRecordsPairData)"+" collisionRecordsWallAccessed"+" collisionRecordsWallPRel"+" (collisionRecordsWallData)")
String representation of properties.
CollidingParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti, const label facei)
Construct from mesh, coordinates and topology.
vector omega() const
Particle angular velocity.
const vector & f() const
Return const access to force.
virtual autoPtr< particle > clone() const
Construct and return a clone.
collisionRecordList collisionRecords_
Particle collision records.
static void writeFields(const CloudType &c)
Write.
const vector & torque() const
Return const access to torque.
vector angularMomentum_
Angular momentum of Parcel in global reference frame [kg m2/s].
const collisionRecordList & collisionRecords() const
Return const access to the collision records.
virtual void transformProperties(const transformer &)
Transform the physical properties of the particle.
static void readFields(CloudType &c)
Read.
vector torque_
Torque on particle due to collisions in global.
A Field of objects of type <Type> with automated input and output using a compact storage....
Templated base class for dsmc cloud.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A cloud is a collection of lagrangian particles.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Mesh consisting of general polyhedral cells.
const dimensionedScalar c
Speed of light in a vacuum.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
vectorFieldCompactIOField pairDataFieldCompactIOField
CollisionRecordList< vector, vector > collisionRecordList
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy, recursively if necessary, the source to the destination.
TemplateName(FvFaceCellWave)
vectorFieldCompactIOField wallDataFieldCompactIOField