Classes | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
CollidingParcel< ParcelType > Class Template Reference

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

Inheritance diagram for CollidingParcel< ParcelType >:
Inheritance graph
[legend]
Collaboration diagram for CollidingParcel< ParcelType >:
Collaboration graph
[legend]

Classes

class  constantProperties
 Class to hold thermo particle constant properties. More...
 
class  iNew
 Factory class to read-construct particles used for. 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< particle > clone () const
 Construct and return a (basic particle) clone. More...
 
virtual autoPtr< particle > clone (const polyMesh &mesh) const
 Construct and return a (basic particle) clone. More...
 
const vector & f () const
 Return const access to force. More...
 
const vector & angularMomentum () const
 Return const access to angular momentum. More...
 
const vector & torque () const
 Return const access to torque. More...
 
const collisionRecordList & collisionRecords () const
 Return const access to the collision records. More...
 
vector & f ()
 Return access to force. More...
 
vector & angularMomentum ()
 Return access to angular momentum. More...
 
vector & torque ()
 Return access to torque. More...
 
collisionRecordList & collisionRecords ()
 Return access to collision records. More...
 
vector omega () const
 Particle angular velocity. More...
 
template<class TrackData >
bool move (TrackData &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

Ostream & operator (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.

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 219 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 225 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 ( TrackData &  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 115 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 129 of file CollidingParcel.C.

◆ readFields()

void readFields ( CloudType &  c)
static

◆ writeFields()

void writeFields ( const CloudType &  c)
static

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 126 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 129 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 133 of file CollidingParcel.H.

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

◆ collisionRecords_

collisionRecordList collisionRecords_
protected

Particle collision records.

Definition at line 136 of file CollidingParcel.H.

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


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