Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | Friends | List of all members
CollidingParcel Class Reference

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

Collaboration diagram for CollidingParcel:
Collaboration graph
[legend]

Classes

class  constantProperties
 
class  iNew
 

Public Types

typedef ParcelType::trackingData trackingData
 

Public Member Functions

 TypeName ("CollidingParcel")
 
 AddToPropertyList (ParcelType, " (fx fy fz)"+" (angularMomentumx angularMomentumy angularMomentumz)"+" (torquex torquey torquez)"+" collisionRecordsPairAccessed"+" collisionRecordsPairOrigProcOfOther"+" collisionRecordsPairOrigIdOfOther"+" (collisionRecordsPairData)"+" collisionRecordsWallAccessed"+" collisionRecordsWallPRel"+" (collisionRecordsWallData)")
 
 CollidingParcel (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
 
 CollidingParcel (const polyMesh &mesh, const vector &position, const label celli)
 
 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)
 
 CollidingParcel (const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true)
 
 CollidingParcel (const CollidingParcel &p)
 
 CollidingParcel (const CollidingParcel &p, const polyMesh &mesh)
 
virtual autoPtr< particleclone () const
 
virtual autoPtr< particleclone (const polyMesh &mesh) const
 
const vectorf () const
 
const vectorangularMomentum () const
 
const vectortorque () const
 
const collisionRecordListcollisionRecords () const
 
vectorf ()
 
vectorangularMomentum ()
 
vectortorque ()
 
collisionRecordListcollisionRecords ()
 
vector omega () const
 
template<class TrackCloudType >
bool move (TrackCloudType &cloud, trackingData &td, const scalar trackTime)
 
virtual void transformProperties (const tensor &T)
 
virtual void transformProperties (const vector &separation)
 
void writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
 

Static Public Member Functions

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

Static Public Attributes

static const std::size_t sizeofFields
 

Protected Attributes

vector f_
 
vector angularMomentum_
 
vector torque_
 
collisionRecordList collisionRecords_
 

Friends

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

Detailed Description

Wrapper around kinematic parcel types to add collision modelling.

Source files

Definition at line 57 of file CollidingParcel.H.

Member Typedef Documentation

◆ trackingData

typedef ParcelType::trackingData trackingData

Definition at line 123 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

Referenced by CollidingParcel::clone().

Here is the caller graph for this function:

◆ CollidingParcel() [2/6]

CollidingParcel ( const polyMesh mesh,
const vector position,
const label  celli 
)
inline

◆ 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

◆ CollidingParcel() [4/6]

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

◆ CollidingParcel() [5/6]

◆ CollidingParcel() [6/6]

CollidingParcel ( const CollidingParcel p,
const polyMesh mesh 
)

Member Function Documentation

◆ TypeName()

TypeName ( "CollidingParcel"  )

◆ AddToPropertyList()

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

◆ clone() [1/2]

virtual autoPtr<particle> clone ( ) const
inlinevirtual

Definition at line 225 of file CollidingParcel.H.

References CollidingParcel::CollidingParcel().

Here is the call graph for this function:

◆ clone() [2/2]

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

Definition at line 231 of file CollidingParcel.H.

References CollidingParcel::CollidingParcel(), and mesh.

Here is the call graph for this function:

◆ f() [1/2]

const Foam::vector & f ( ) const
inline

Definition at line 152 of file CollidingParcelI.H.

References CollidingParcel::f_.

◆ angularMomentum() [1/2]

const Foam::vector & angularMomentum ( ) const
inline

Definition at line 160 of file CollidingParcelI.H.

References CollidingParcel::angularMomentum_.

◆ torque() [1/2]

const Foam::vector & torque ( ) const
inline

Definition at line 167 of file CollidingParcelI.H.

References CollidingParcel::torque_.

◆ collisionRecords() [1/2]

const Foam::collisionRecordList & collisionRecords ( ) const
inline

Definition at line 175 of file CollidingParcelI.H.

References CollidingParcel::collisionRecords_.

◆ f() [2/2]

Foam::vector & f ( )
inline

Definition at line 182 of file CollidingParcelI.H.

References CollidingParcel::f_.

◆ angularMomentum() [2/2]

Foam::vector & angularMomentum ( )
inline

Definition at line 189 of file CollidingParcelI.H.

References CollidingParcel::angularMomentum_.

◆ torque() [2/2]

Foam::vector & torque ( )
inline

Definition at line 196 of file CollidingParcelI.H.

References CollidingParcel::torque_.

◆ collisionRecords() [2/2]

Foam::collisionRecordList & collisionRecords ( )
inline

Definition at line 204 of file CollidingParcelI.H.

References CollidingParcel::collisionRecords_.

◆ omega()

Foam::vector omega ( ) const
inline

Definition at line 211 of file CollidingParcelI.H.

References CollidingParcel::angularMomentum_.

◆ move()

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

Definition at line 59 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

Definition at line 115 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

Definition at line 129 of file CollidingParcel.C.

◆ readFields()

void readFields ( CloudType c)
static

Definition at line 91 of file CollidingParcelIO.C.

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

Here is the call graph for this function:

◆ writeFields()

void writeFields ( const CloudType c)
static

Definition at line 197 of file CollidingParcelIO.C.

References Foam::constant::universal::c, f(), IOobject::NO_READ, 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

Definition at line 289 of file CollidingParcelIO.C.

References os(), and writeProp.

Here is the call graph for this function:

◆ readObjects()

void readObjects ( CloudType c,
const objectRegistry obr 
)
static

Definition at line 314 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

Definition at line 342 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

Definition at line 80 of file CollidingParcel.H.

◆ f_

vector f_
protected

Definition at line 131 of file CollidingParcel.H.

Referenced by CollidingParcel::f().

◆ angularMomentum_

vector angularMomentum_
protected

Definition at line 134 of file CollidingParcel.H.

Referenced by CollidingParcel::angularMomentum(), and CollidingParcel::omega().

◆ torque_

vector torque_
protected

Definition at line 138 of file CollidingParcel.H.

Referenced by CollidingParcel::torque().

◆ collisionRecords_

collisionRecordList collisionRecords_
protected

Definition at line 141 of file CollidingParcel.H.

Referenced by CollidingParcel::collisionRecords().


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