Loading...
Searching...
No Matches
CollidingParcel< ParcelType > Class Template Reference

Wrapper around kinematic parcel types to add collision modelling. More...

#include <CollidingParcel.H>

Inheritance diagram for CollidingParcel< ParcelType >:
Collaboration diagram for CollidingParcel< ParcelType >:

Classes

class  constantProperties
 Class to hold thermo particle constant properties. More...
class  iNew
 Factory class to read-construct particles (for parallel transfer). More...

Public Types

typedef ParcelType::trackingData trackingData
 Use base tracking data.

Public Member Functions

 TypeName ("CollidingParcel")
 Runtime type information.
 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)
 Construct from mesh, coordinates and topology.
 CollidingParcel (const polyMesh &mesh, const vector &position, const label celli)
 Construct from a position and a cell, searching for the rest of the.
 CollidingParcel (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti, const label typeId, const scalar nParticle0, const scalar d0, const scalar dTarget0, const vector &U0, const vector &f0, const vector &angularMomentum0, const vector &torque0, const typename ParcelType::constantProperties &constProps)
 Construct from components.
 CollidingParcel (const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true)
 Construct from Istream.
 CollidingParcel (const CollidingParcel &p)
 Construct as a copy.
 CollidingParcel (const CollidingParcel &p, const polyMesh &mesh)
 Construct as a copy.
virtual autoPtr< particleclone () const
 Return a (basic particle) clone.
virtual autoPtr< particleclone (const polyMesh &mesh) const
 Return a (basic particle) clone.
const vectorf () const
 Return const access to force.
const vectorangularMomentum () const
 Return const access to angular momentum.
const vectortorque () const
 Return const access to torque.
const collisionRecordListcollisionRecords () const
 Return const access to the collision records.
vectorf ()
 Return access to force.
vectorangularMomentum ()
 Return access to angular momentum.
vectortorque ()
 Return access to torque.
collisionRecordListcollisionRecords ()
 Return access to collision records.
vector omega () const
 Particle angular velocity.
template<class TrackCloudType>
bool move (TrackCloudType &cloud, trackingData &td, const scalar trackTime)
 Move the parcel.
virtual void transformProperties (const tensor &T)
 Transform the physical properties of the particle.
virtual void transformProperties (const vector &separation)
 Transform the physical properties of the particle.
void writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
 Write individual parcel properties to stream.

Static Public Member Functions

template<class CloudType>
static void readFields (CloudType &c)
 Read.
template<class CloudType>
static void writeFields (const CloudType &c)
 Write.
template<class CloudType>
static void readObjects (CloudType &c, const objectRegistry &obr)
 Read particle fields as objects from the obr registry.
template<class CloudType>
static void writeObjects (const CloudType &c, objectRegistry &obr)
 Write particle fields as objects into the obr registry.

Static Public Attributes

static const std::size_t sizeofFields
 Size in bytes of the fields.

Protected Attributes

vector f_
 Force on particle due to collisions [N].
vector angularMomentum_
 Angular momentum of Parcel in global reference frame [kg m2/s].
vector torque_
 Torque on particle due to collisions in global.
collisionRecordList collisionRecords_
 Particle collision records.

Friends

Ostreamoperator<< (Ostream &, const CollidingParcel< ParcelType > &)

Detailed Description

template<class ParcelType>
class Foam::CollidingParcel< ParcelType >

Wrapper around kinematic parcel types to add collision modelling.

Source files

Definition at line 73 of file CollidingParcel.H.

Member Typedef Documentation

◆ trackingData

template<class ParcelType>
typedef ParcelType::trackingData trackingData

Use base tracking data.

Definition at line 143 of file CollidingParcel.H.

Constructor & Destructor Documentation

◆ CollidingParcel() [1/6]

template<class ParcelType>
CollidingParcel ( const polyMesh & mesh,
const barycentric & coordinates,
const label celli,
const label tetFacei,
const label tetPti )
inline

Construct from mesh, coordinates and topology.

Other properties initialised as null

Definition at line 58 of file CollidingParcelI.H.

References angularMomentum_, collisionRecords_, coordinates(), f_, torque_, and Foam::Zero.

Referenced by CollidingParcel< ParcelType >::iNew::operator()(), readFields(), readObjects(), writeFields(), and writeObjects().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CollidingParcel() [2/6]

template<class ParcelType>
CollidingParcel ( const polyMesh & mesh,
const vector & position,
const label celli )
inline

Construct from a position and a cell, searching for the rest of the.

required topology. Other properties are initialised as null.

Definition at line 76 of file CollidingParcelI.H.

References angularMomentum_, collisionRecords_, f_, torque_, and Foam::Zero.

◆ CollidingParcel() [3/6]

template<class ParcelType>
CollidingParcel ( const polyMesh & mesh,
const barycentric & coordinates,
const label celli,
const label tetFacei,
const label tetPti,
const label typeId,
const scalar nParticle0,
const scalar d0,
const scalar dTarget0,
const vector & U0,
const vector & f0,
const vector & angularMomentum0,
const vector & torque0,
const typename ParcelType::constantProperties & constProps )
inline

Construct from components.

Definition at line 92 of file CollidingParcelI.H.

References coordinates().

Here is the call graph for this function:

◆ CollidingParcel() [4/6]

template<class ParcelType>
CollidingParcel ( const polyMesh & mesh,
Istream & is,
bool readFields = true,
bool newFormat = true )

◆ CollidingParcel() [5/6]

template<class ParcelType>
CollidingParcel ( const CollidingParcel< ParcelType > & p)

Construct as a copy.

◆ CollidingParcel() [6/6]

template<class ParcelType>
CollidingParcel ( const CollidingParcel< ParcelType > & p,
const polyMesh & mesh )

Construct as a copy.

Member Function Documentation

◆ TypeName()

template<class ParcelType>
TypeName ( "CollidingParcel< ParcelType >" )

Runtime type information.

◆ AddToPropertyList()

template<class ParcelType>
AddToPropertyList ( ParcelType ,
" (fx fy fz)"+" (angularMomentumx angularMomentumy angularMomentumz)"+" (torquex torquey torquez)"+" collisionRecordsPairAccessed"+" collisionRecordsPairOrigProcOfOther"+" collisionRecordsPairOrigIdOfOther"+" (collisionRecordsPairData)"+" collisionRecordsWallAccessed"+" collisionRecordsWallPRel"+" (collisionRecordsWallData)"  )

String representation of properties.

◆ clone() [1/2]

template<class ParcelType>
virtual autoPtr< particle > clone ( ) const
inlinevirtual

Return a (basic particle) clone.

Definition at line 274 of file CollidingParcel.H.

◆ clone() [2/2]

template<class ParcelType>
virtual autoPtr< particle > clone ( const polyMesh & mesh) const
inlinevirtual

Return a (basic particle) clone.

Definition at line 282 of file CollidingParcel.H.

◆ f() [1/2]

template<class ParcelType>
const Foam::vector & f ( ) const
inline

Return const access to force.

Definition at line 152 of file CollidingParcelI.H.

References f_.

Referenced by readFields(), readObjects(), writeFields(), and writeObjects().

Here is the caller graph for this function:

◆ angularMomentum() [1/2]

template<class ParcelType>
const Foam::vector & angularMomentum ( ) const
inline

Return const access to angular momentum.

Definition at line 160 of file CollidingParcelI.H.

References angularMomentum_.

Referenced by readFields().

Here is the caller graph for this function:

◆ torque() [1/2]

template<class ParcelType>
const Foam::vector & torque ( ) const
inline

Return const access to torque.

Definition at line 167 of file CollidingParcelI.H.

References torque_.

Referenced by readFields(), readObjects(), writeFields(), and writeObjects().

Here is the caller graph for this function:

◆ collisionRecords() [1/2]

template<class ParcelType>
const Foam::collisionRecordList & collisionRecords ( ) const
inline

Return const access to the collision records.

Definition at line 175 of file CollidingParcelI.H.

References collisionRecords_.

◆ f() [2/2]

template<class ParcelType>
Foam::vector & f ( )
inline

Return access to force.

Definition at line 182 of file CollidingParcelI.H.

References f_.

◆ angularMomentum() [2/2]

template<class ParcelType>
Foam::vector & angularMomentum ( )
inline

Return access to angular momentum.

Definition at line 189 of file CollidingParcelI.H.

References angularMomentum_.

◆ torque() [2/2]

template<class ParcelType>
Foam::vector & torque ( )
inline

Return access to torque.

Definition at line 196 of file CollidingParcelI.H.

References torque_.

◆ collisionRecords() [2/2]

template<class ParcelType>
Foam::collisionRecordList & collisionRecords ( )
inline

Return access to collision records.

Definition at line 204 of file CollidingParcelI.H.

References collisionRecords_.

◆ omega()

template<class ParcelType>
Foam::vector omega ( ) const
inline

Particle angular velocity.

Definition at line 211 of file CollidingParcelI.H.

References angularMomentum_.

◆ move()

template<class ParcelType>
template<class TrackCloudType>
bool move ( TrackCloudType & cloud,
trackingData & td,
const scalar trackTime )

Move the parcel.

Definition at line 58 of file CollidingParcel.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, NotImplemented, p, and td().

Here is the call graph for this function:

◆ transformProperties() [1/2]

template<class ParcelType>
void transformProperties ( const tensor & T)
virtual

Transform the physical properties of the particle.

according to the given transformation tensor

Definition at line 115 of file CollidingParcel.C.

References angularMomentum_, f_, Foam::T(), torque_, and Foam::transform().

Here is the call graph for this function:

◆ transformProperties() [2/2]

template<class ParcelType>
void transformProperties ( const vector & separation)
virtual

Transform the physical properties of the particle.

according to the given separation vector

Definition at line 128 of file CollidingParcel.C.

◆ readFields()

template<class ParcelType>
template<class CloudType>
void readFields ( CloudType & c)
static

Read.

Definition at line 82 of file CollidingParcelIO.C.

References angularMomentum(), CollidingParcel(), f(), f(), IOobjectOption::MUST_READ, p, and torque().

Referenced by CollidingParcel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeFields()

template<class ParcelType>
template<class CloudType>
void writeFields ( const CloudType & c)
static

Write.

Definition at line 188 of file CollidingParcelIO.C.

References CollidingParcel(), f(), f(), IOobjectOption::NO_READ, p, torque(), and regIOobject::write().

Here is the call graph for this function:

◆ writeProperties()

template<class ParcelType>
void writeProperties ( Ostream & os,
const wordRes & filters,
const word & delim,
const bool namesOnly ) const

Write individual parcel properties to stream.

Definition at line 279 of file CollidingParcelIO.C.

References angularMomentum_, f_, os(), torque_, and writeProp.

Here is the call graph for this function:

◆ readObjects()

template<class ParcelType>
template<class CloudType>
void readObjects ( CloudType & c,
const objectRegistry & obr )
static

Read particle fields as objects from the obr registry.

Definition at line 304 of file CollidingParcelIO.C.

References CollidingParcel(), f(), cloud::lookupIOField(), p, and torque().

Here is the call graph for this function:

◆ writeObjects()

template<class ParcelType>
template<class CloudType>
void writeObjects ( const CloudType & c,
objectRegistry & obr )
static

Write particle fields as objects into the obr registry.

Definition at line 332 of file CollidingParcelIO.C.

References CollidingParcel(), cloud::createIOField(), f(), p, and torque().

Here is the call graph for this function:

◆ operator<<

template<class ParcelType>
Ostream & operator<< ( Ostream & ,
const CollidingParcel< ParcelType > &  )
friend

Member Data Documentation

◆ sizeofFields

template<class ParcelType>
const std::size_t sizeofFields
static

Size in bytes of the fields.

Definition at line 82 of file CollidingParcel.H.

Referenced by CollidingParcel().

◆ f_

template<class ParcelType>
vector f_
protected

Force on particle due to collisions [N].

Definition at line 153 of file CollidingParcel.H.

Referenced by CollidingParcel(), CollidingParcel(), CollidingParcel(), f(), f(), transformProperties(), and writeProperties().

◆ angularMomentum_

template<class ParcelType>
vector angularMomentum_
protected

Angular momentum of Parcel in global reference frame [kg m2/s].

Definition at line 158 of file CollidingParcel.H.

Referenced by angularMomentum(), angularMomentum(), CollidingParcel(), CollidingParcel(), CollidingParcel(), omega(), transformProperties(), and writeProperties().

◆ torque_

template<class ParcelType>
vector torque_
protected

Torque on particle due to collisions in global.

reference frame [Nm]

Definition at line 165 of file CollidingParcel.H.

Referenced by CollidingParcel(), CollidingParcel(), CollidingParcel(), torque(), torque(), transformProperties(), and writeProperties().

◆ collisionRecords_

template<class ParcelType>
collisionRecordList collisionRecords_
protected

Particle collision records.

Definition at line 170 of file CollidingParcel.H.

Referenced by CollidingParcel(), CollidingParcel(), CollidingParcel(), collisionRecords(), and collisionRecords().


The documentation for this class was generated from the following files: