CollidingParcel< ParcelType > Class Template Reference

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

Collaboration diagram for CollidingParcel< ParcelType >:
[legend]

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, bool newFormat=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 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...
 
void writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
 Write individual parcel properties to stream. 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...
 
template<class CloudType >
static void readObjects (CloudType &c, const objectRegistry &obr)
 Read particle fields as objects from the obr registry. More...
 
template<class CloudType >
static void writeObjects (const CloudType &c, objectRegistry &obr)
 Write particle fields as objects into the obr registry. More...
 

Static Public Attributes

static const std::size_t sizeofFields
 Size in bytes of the fields. 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 61 of file CollidingParcel.H.

Member Typedef Documentation

◆ trackingData

typedef ParcelType::trackingData trackingData

Use base tracking data.

Definition at line 127 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 66 of file CollidingParcelI.H.

Referenced by CollidingParcel< ParcelType >::clone().

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

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

◆ CollidingParcel() [4/6]

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

Construct from Istream.

Definition at line 51 of file CollidingParcelIO.C.

References Istream::beginRawRead(), IOstream::check(), IOstream::checkLabelSize(), IOstream::checkScalarSize(), Istream::endRawRead(), IOstreamOption::format(), FUNCTION_NAME, Istream::read(), and Foam::readFields().

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

References CollidingParcel< ParcelType >::CollidingParcel(), and mesh.

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

References CollidingParcel< ParcelType >::f_.

◆ angularMomentum() [1/2]

const Foam::vector & angularMomentum ( ) const
inline

Return const access to angular momentum.

Definition at line 167 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::angularMomentum_.

◆ torque() [1/2]

const Foam::vector & torque ( ) const
inline

Return const access to torque.

Definition at line 174 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::torque_.

◆ collisionRecords() [1/2]

const Foam::collisionRecordList & collisionRecords ( ) const
inline

Return const access to the collision records.

Definition at line 182 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::collisionRecords_.

◆ f() [2/2]

Foam::vector & f ( )
inline

Return access to force.

Definition at line 189 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::f_.

◆ angularMomentum() [2/2]

Foam::vector & angularMomentum ( )
inline

Return access to angular momentum.

Definition at line 196 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::angularMomentum_.

◆ torque() [2/2]

Foam::vector & torque ( )
inline

Return access to torque.

Definition at line 203 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::torque_.

◆ collisionRecords() [2/2]

Foam::collisionRecordList & collisionRecords ( )
inline

Return access to collision records.

Definition at line 211 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::collisionRecords_.

◆ omega()

Foam::vector omega ( ) const
inline

Particle angular velocity.

Definition at line 218 of file CollidingParcelI.H.

References CollidingParcel< ParcelType >::angularMomentum_.

◆ move()

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

Move the parcel.

Definition at line 66 of file CollidingParcel.C.

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

Here is the call 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 122 of file CollidingParcel.C.

References T, and Foam::transform().

Here is the call 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 136 of file CollidingParcel.C.

◆ readFields()

void readFields ( CloudType &  c)
static

Read.

Definition at line 98 of file CollidingParcelIO.C.

References Foam::constant::universal::c, f(), p, and Foam::readFields().

Here is the call graph for this function:

◆ writeFields()

void writeFields ( const CloudType &  c)
static

Write.

Definition at line 204 of file CollidingParcelIO.C.

References Foam::constant::universal::c, f(), p, and Foam::writeFields().

Here is the call graph for this function:

◆ writeProperties()

void writeProperties ( Ostream &  os,
const wordRes &  filters,
const word &  delim,
const bool  namesOnly 
) const

Write individual parcel properties to stream.

Definition at line 296 of file CollidingParcelIO.C.

References writeProp.

◆ readObjects()

void readObjects ( CloudType &  c,
const objectRegistry &  obr 
)
static

Read particle fields as objects from the obr registry.

Definition at line 321 of file CollidingParcelIO.C.

References Foam::constant::universal::c, f(), and p.

Here is the call graph for this function:

◆ writeObjects()

void writeObjects ( const CloudType &  c,
objectRegistry &  obr 
)
static

Write particle fields as objects into the obr registry.

Definition at line 349 of file CollidingParcelIO.C.

References Foam::constant::universal::c, f(), and p.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator

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

Member Data Documentation

◆ sizeofFields

const std::size_t sizeofFields
static

Size in bytes of the fields.

Definition at line 84 of file CollidingParcel.H.

◆ f_

vector f_
protected

Force on particle due to collisions [N].

Definition at line 135 of file CollidingParcel.H.

Referenced by CollidingParcel< ParcelType >::f().

◆ angularMomentum_

vector angularMomentum_
protected

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

Definition at line 138 of file CollidingParcel.H.

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

◆ torque_

vector torque_
protected

Torque on particle due to collisions in global.

reference frame [Nm]

Definition at line 142 of file CollidingParcel.H.

Referenced by CollidingParcel< ParcelType >::torque().

◆ collisionRecords_

collisionRecordList collisionRecords_
protected

Particle collision records.

Definition at line 145 of file CollidingParcel.H.

Referenced by CollidingParcel< ParcelType >::collisionRecords().


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