43 #ifndef CollidingParcel_H 44 #define CollidingParcel_H 61 template<
class ParcelType>
66 template<
class ParcelType>
77 template<
class ParcelType>
91 public ParcelType::constantProperties
161 +
" (angularMomentumx angularMomentumy angularMomentumz)" 162 +
" (torquex torquey torquez)" 163 +
" collisionRecordsPairAccessed" 164 +
" collisionRecordsPairOrigProcOfOther" 165 +
" collisionRecordsPairOrigIdOfOther" 166 +
" (collisionRecordsPairData)" 167 +
" collisionRecordsWallAccessed" 168 +
" collisionRecordsWallPRel" 169 +
" (collisionRecordsWallData)" 182 const label tetFacei,
201 const label tetFacei,
204 const scalar nParticle0,
206 const scalar dTarget0,
209 const vector& angularMomentum0,
211 const typename ParcelType::constantProperties& constProps
220 bool newFormat =
true 244 const polyMesh& mesh_;
253 autoPtr<CollidingParcel<ParcelType>>
operator()(Istream& is)
const 255 return autoPtr<CollidingParcel<ParcelType>>
257 new CollidingParcel<ParcelType>(mesh_, is,
true)
268 inline const vector&
f()
const;
298 template<
class TrackCloudType>
303 const scalar trackTime
318 template<
class CloudType>
322 template<
class CloudType>
335 template<
class CloudType>
339 template<
class CloudType>
345 friend Ostream& operator<< <ParcelType>
ParcelType::trackingData trackingData
Use base tracking data.
vector f_
Force on particle due to collisions [N].
iNew(const polyMesh &mesh)
CollisionRecordList< vector, vector > collisionRecordList
vectorFieldCompactIOField pairDataFieldCompactIOField
static void writeObjects(const CloudType &c, objectRegistry &obr)
Write particle fields as objects into the obr registry.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Wrapper around kinematic parcel types to add collision modelling.
Class to hold thermo particle constant properties.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
const vector & f() const
Return const access to force.
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy the source to the destination (recursively if necessary).
static const std::size_t sizeofFields
Size in bytes of the fields.
static void writeFields(const CloudType &c)
Write.
vectorFieldCompactIOField wallDataFieldCompactIOField
scalar poissonsRatio() const
Return const access to Poisson's ratio.
scalar youngsModulus() const
Return const access to Young's Modulus.
collisionRecordList collisionRecords_
Particle collision records.
autoPtr< CollidingParcel< ParcelType > > operator()(Istream &is) const
AddToPropertyList(ParcelType, " (fx fy fz)"+" (angularMomentumx angularMomentumy angularMomentumz)"+" (torquex torquey torquez)"+" collisionRecordsPairAccessed"+" collisionRecordsPairOrigProcOfOther"+" collisionRecordsPairOrigIdOfOther"+" (collisionRecordsPairData)"+" collisionRecordsWallAccessed"+" collisionRecordsWallPRel"+" (collisionRecordsWallData)")
String representation of properties.
A class for handling words, derived from Foam::string.
A cloud is a registry collection of lagrangian particles.
A List of wordRe with additional matching capabilities.
constantProperties()
Null constructor.
bool move(TrackCloudType &cloud, trackingData &td, const scalar trackTime)
Move the parcel.
const vector & torque() const
Return const access to torque.
static autoPtr< particle > Clone(const Derived &p)
Clone a particle.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
static void readObjects(CloudType &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
OBJstream os(runTime.globalPath()/outputName)
const vector & angularMomentum() const
Return const access to angular momentum.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
vector angularMomentum_
Angular momentum of Parcel in global reference frame [kg m2/s].
vector torque_
Torque on particle due to collisions in global.
void writeProperties(Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
Write individual parcel properties to stream.
vector omega() const
Particle angular velocity.
PtrList< coordinateSystem > coordinates(solidRegions.size())
A Field of objects of type <T> with automated input and output using a compact storage. Behaves like IOField except when binary output in case it writes a CompactListList.
const dimensionedScalar c
Speed of light in a vacuum.
CollidingParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, coordinates and topology.
TypeName("CollidingParcel")
Runtime type information.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
Registry of regIOobjects.
Tensor of scalars, i.e. Tensor<scalar>.
const collisionRecordList & collisionRecords() const
Return const access to the collision records.
Templated base class for dsmc cloud.
virtual void transformProperties(const tensor &T)
Transform the physical properties of the particle.
virtual autoPtr< particle > clone() const
Return a (basic particle) clone.
static void readFields(CloudType &c)
Read.