CollidingParcel< ParcelType > Class Template Reference

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

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 used for. More...
 

Public Types

typedef ParcelType::trackingData trackingData
 Use base tracking data. More...
 

Public Member Functions

 TypeName ("CollidingParcel")
 Runtime type information. More...
 
 AddToPropertyList (ParcelType, " (fx fy fz)"+" (angularMomentumx angularMomentumy angularMomentumz)"+" (torquex torquey torquez)"+" collisionRecordsPairAccessed"+" collisionRecordsPairOrigProcOfOther"+" collisionRecordsPairOrigIdOfOther"+" (collisionRecordsPairData)"+" collisionRecordsWallAccessed"+" collisionRecordsWallPRel"+" (collisionRecordsWallData)")
 String representation of properties. More...
 
 CollidingParcel (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
 Construct from mesh, coordinates and topology. More...
 
 CollidingParcel (const polyMesh &mesh, const vector &position, const label celli)
 Construct from a position and a cell, searching for the rest of the. More...
 
 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. More...
 
 CollidingParcel (const polyMesh &mesh, Istream &is, bool readFields=true)
 Construct from Istream. More...
 
 CollidingParcel (const CollidingParcel &p)
 Construct as a copy. More...
 
 CollidingParcel (const CollidingParcel &p, const polyMesh &mesh)
 Construct as a copy. More...
 
virtual autoPtr< particleclone () const
 Construct and return a (basic particle) clone. More...
 
virtual autoPtr< particleclone (const polyMesh &mesh) const
 Construct and return a (basic particle) clone. More...
 
const vectorf () const
 Return const access to force. More...
 
const vectorangularMomentum () const
 Return const access to angular momentum. More...
 
const vectortorque () const
 Return const access to torque. More...
 
const collisionRecordListcollisionRecords () const
 Return const access to the collision records. More...
 
vectorf ()
 Return access to force. More...
 
vectorangularMomentum ()
 Return access to angular momentum. More...
 
vectortorque ()
 Return access to torque. More...
 
collisionRecordListcollisionRecords ()
 Return access to collision records. More...
 
vector omega () const
 Particle angular velocity. More...
 
template<class TrackCloudType >
bool move (TrackCloudType &cloud, trackingData &td, const scalar trackTime)
 Move the parcel. More...
 
virtual void transformProperties (const tensor &T)
 Transform the physical properties of the particle. More...
 
virtual void transformProperties (const vector &separation)
 Transform the physical properties of the particle. More...
 

Static Public Member Functions

template<class CloudType >
static void readFields (CloudType &c)
 Read. More...
 
template<class CloudType >
static void writeFields (const CloudType &c)
 Write. More...
 

Protected Attributes

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

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 54 of file CollidingParcel.H.

Member Typedef Documentation

◆ trackingData

typedef ParcelType::trackingData trackingData

Use base tracking data.

Definition at line 122 of file CollidingParcel.H.

Constructor & Destructor Documentation

◆ CollidingParcel() [1/6]

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 64 of file CollidingParcelI.H.

Referenced by CollidingParcel< ParcelType >::clone(), CollidingParcel< ParcelType >::CollidingParcel(), and CollidingParcel< ParcelType >::constantProperties::constantProperties().

Here is the caller graph for this function:

◆ CollidingParcel() [2/6]

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 82 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::CollidingParcel().

Here is the call graph for this function:

◆ CollidingParcel() [3/6]

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 98 of file CollidingParcelI.H.

◆ CollidingParcel() [4/6]

CollidingParcel ( const polyMesh mesh,
Istream is,
bool  readFields = true 
)

Construct from Istream.

Definition at line 48 of file CollidingParcelIO.C.

References IOstream::check(), IOstream::format(), and Istream::read().

Here is the call graph for this function:

◆ CollidingParcel() [5/6]

CollidingParcel ( const CollidingParcel< ParcelType > &  p)

Construct as a copy.

◆ CollidingParcel() [6/6]

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

Construct as a copy.

Member Function Documentation

◆ TypeName()

TypeName ( "CollidingParcel< ParcelType >"  )

Runtime type information.

◆ AddToPropertyList()

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]

virtual autoPtr<particle> clone ( ) const
inlinevirtual

Construct and return a (basic particle) clone.

Definition at line 223 of file CollidingParcel.H.

References CollidingParcel< ParcelType >::CollidingParcel().

Here is the call graph for this function:

◆ clone() [2/2]

virtual autoPtr<particle> clone ( const polyMesh mesh) const
inlinevirtual

Construct and return a (basic particle) clone.

Definition at line 229 of file CollidingParcel.H.

References CollidingParcel< ParcelType >::CollidingParcel().

Here is the call graph for this function:

◆ f() [1/2]

const Foam::vector & f ( ) const
inline

Return const access to force.

Definition at line 157 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::f_.

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

Here is the caller graph for this function:

◆ angularMomentum() [1/2]

const Foam::vector & angularMomentum ( ) const
inline

Return const access to angular momentum.

Definition at line 165 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::angularMomentum_.

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

Here is the caller graph for this function:

◆ torque() [1/2]

const Foam::vector & torque ( ) const
inline

Return const access to torque.

Definition at line 172 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::torque_.

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

Here is the caller graph for this function:

◆ collisionRecords() [1/2]

const Foam::collisionRecordList & collisionRecords ( ) const
inline

Return const access to the collision records.

Definition at line 180 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::collisionRecords_.

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

Here is the caller graph for this function:

◆ f() [2/2]

Foam::vector & f ( )
inline

Return access to force.

Definition at line 187 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::f_.

◆ angularMomentum() [2/2]

Foam::vector & angularMomentum ( )
inline

Return access to angular momentum.

Definition at line 194 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::angularMomentum_.

◆ torque() [2/2]

Foam::vector & torque ( )
inline

Return access to torque.

Definition at line 201 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::torque_.

◆ collisionRecords() [2/2]

Foam::collisionRecordList & collisionRecords ( )
inline

Return access to collision records.

Definition at line 209 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::collisionRecords_.

◆ omega()

Foam::vector omega ( ) const
inline

Particle angular velocity.

Definition at line 216 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::angularMomentum_.

Referenced by CollidingParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ move()

bool move ( TrackCloudType &  cloud,
trackingData td,
const scalar  trackTime 
)

Move the parcel.

Definition at line 64 of file CollidingParcel.C.

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

Referenced by CollidingParcel< ParcelType >::iNew::operator()().

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

◆ transformProperties() [1/2]

void transformProperties ( const tensor T)
virtual

Transform the physical properties of the particle.

according to the given transformation tensor

Definition at line 117 of file CollidingParcel.C.

References Foam::transform().

Referenced by CollidingParcel< ParcelType >::iNew::operator()().

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

◆ transformProperties() [2/2]

void transformProperties ( const vector separation)
virtual

Transform the physical properties of the particle.

according to the given separation vector

Definition at line 131 of file CollidingParcel.C.

◆ readFields()

◆ writeFields()

Friends And Related Function Documentation

◆ operator

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

Member Data Documentation

◆ f_

vector f_
protected

Force on particle due to collisions [N].

Definition at line 130 of file CollidingParcel.H.

Referenced by CollidingParcel< ParcelType >::f(), and CollidingParcel< ParcelType >::readFields().

◆ angularMomentum_

vector angularMomentum_
protected

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

Definition at line 133 of file CollidingParcel.H.

Referenced by CollidingParcel< ParcelType >::angularMomentum(), CollidingParcel< ParcelType >::omega(), and CollidingParcel< ParcelType >::readFields().

◆ torque_

vector torque_
protected

Torque on particle due to collisions in global.

reference frame [Nm]

Definition at line 137 of file CollidingParcel.H.

Referenced by CollidingParcel< ParcelType >::readFields(), and CollidingParcel< ParcelType >::torque().

◆ collisionRecords_

collisionRecordList collisionRecords_
protected

Particle collision records.

Definition at line 140 of file CollidingParcel.H.

Referenced by CollidingParcel< ParcelType >::collisionRecords(), and CollidingParcel< ParcelType >::readFields().


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