DSMCParcel< ParcelType > Class Template Reference

DSMC parcel class. More...

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

Classes

class  constantProperties
 Class to hold DSMC 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 ("DSMCParcel")
 Runtime type information. More...
 
 DSMCParcel (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti, const vector &U, const scalar Ei, const label typeId)
 Construct from components. More...
 
 DSMCParcel (const polyMesh &mesh, const vector &position, const label celli, const vector &U, const scalar Ei, const label typeId)
 Construct from a position and a cell, searching for the rest of the. More...
 
 DSMCParcel (const polyMesh &mesh, Istream &is, bool readFields=true)
 Construct from Istream. More...
 
virtual autoPtr< particle > clone () const
 Construct and return a clone. More...
 
label typeId () const
 Return type id. More...
 
const vector & U () const
 Return const access to velocity. More...
 
scalar Ei () const
 Return const access to internal energy. More...
 
vector & U ()
 Return access to velocity. More...
 
scalar & Ei ()
 Return access to internal energy. More...
 
template<class TrackCloudType >
bool move (TrackCloudType &cloud, trackingData &td, const scalar trackTime)
 Move the parcel. More...
 
template<class TrackCloudType >
bool hitPatch (TrackCloudType &, trackingData &)
 Overridable function to handle the particle hitting a patch. More...
 
template<class TrackCloudType >
void hitProcessorPatch (TrackCloudType &, trackingData &)
 Overridable function to handle the particle hitting a. More...
 
template<class TrackCloudType >
void hitWallPatch (TrackCloudType &, trackingData &)
 Overridable function to handle the particle hitting a wallPatch. More...
 
virtual void transformProperties (const transformer &)
 Transform the physical properties of the particle. More...
 

Static Public Member Functions

static void readFields (Cloud< DSMCParcel< ParcelType >> &c)
 
static void writeFields (const Cloud< DSMCParcel< ParcelType >> &c)
 

Protected Attributes

vector U_
 Velocity of Parcel [m/s]. More...
 
scalar Ei_
 Internal energy of the Parcel, covering all non-translational. More...
 
label typeId_
 Parcel type id. More...
 

Friends

class Cloud< ParcelType >
 
Ostream & operator (Ostream &, const DSMCParcel< ParcelType > &)
 

Detailed Description

template<class ParcelType>
class Foam::DSMCParcel< ParcelType >

DSMC parcel class.

Source files

Definition at line 51 of file DSMCParcel.H.

Member Typedef Documentation

◆ trackingData

typedef ParcelType::trackingData trackingData

Use base tracking data.

Definition at line 130 of file DSMCParcel.H.

Constructor & Destructor Documentation

◆ DSMCParcel() [1/3]

DSMCParcel ( const polyMesh &  mesh,
const barycentric &  coordinates,
const label  celli,
const label  tetFacei,
const label  tetPti,
const vector &  U,
const scalar  Ei,
const label  typeId 
)
inline

Construct from components.

Definition at line 56 of file DSMCParcelI.H.

Referenced by DSMCParcel< ParcelType >::constantProperties::constantProperties().

Here is the caller graph for this function:

◆ DSMCParcel() [2/3]

DSMCParcel ( const polyMesh &  mesh,
const vector &  position,
const label  celli,
const vector &  U,
const scalar  Ei,
const label  typeId 
)
inline

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

required topology

Definition at line 76 of file DSMCParcelI.H.

◆ DSMCParcel() [3/3]

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

Construct from Istream.

Definition at line 44 of file DSMCParcelIO.C.

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

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "DSMCParcel< ParcelType >"  )

Runtime type information.

◆ clone()

virtual autoPtr<particle> clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 194 of file DSMCParcel.H.

◆ typeId()

Foam::label typeId ( ) const
inline

Return type id.

Definition at line 137 of file DSMCParcelI.H.

References DSMCParcel< ParcelType >::typeId_.

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

Here is the caller graph for this function:

◆ U() [1/2]

const Foam::vector & U ( ) const
inline

Return const access to velocity.

Definition at line 144 of file DSMCParcelI.H.

References DSMCParcel< ParcelType >::U_.

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

Here is the caller graph for this function:

◆ Ei() [1/2]

Foam::scalar Ei ( ) const
inline

Return const access to internal energy.

Definition at line 151 of file DSMCParcelI.H.

References DSMCParcel< ParcelType >::Ei_.

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

Here is the caller graph for this function:

◆ U() [2/2]

Foam::vector & U ( )
inline

Return access to velocity.

Definition at line 158 of file DSMCParcelI.H.

References DSMCParcel< ParcelType >::U_.

◆ Ei() [2/2]

Foam::scalar & Ei ( )
inline

Return access to internal energy.

Definition at line 165 of file DSMCParcelI.H.

References DSMCParcel< ParcelType >::Ei_.

◆ move()

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

Move the parcel.

Definition at line 34 of file DSMCParcel.C.

References Foam::meshTools::constrainDirection(), f(), mesh, p, and polyMesh::solutionD().

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

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

◆ hitPatch()

bool hitPatch ( TrackCloudType &  ,
trackingData &   
)

Overridable function to handle the particle hitting a patch.

Executed before other patch-hitting functions

Definition at line 75 of file DSMCParcel.C.

References DSMCParcel< ParcelType >::hitProcessorPatch().

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

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

◆ hitProcessorPatch()

void hitProcessorPatch ( TrackCloudType &  ,
trackingData &  td 
)

Overridable function to handle the particle hitting a.

processorPatch

Definition at line 84 of file DSMCParcel.C.

References DSMCParcel< ParcelType >::hitWallPatch().

Referenced by DSMCParcel< ParcelType >::hitPatch(), and DSMCParcel< ParcelType >::iNew::operator()().

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

◆ hitWallPatch()

void hitWallPatch ( TrackCloudType &  cloud,
trackingData &   
)

Overridable function to handle the particle hitting a wallPatch.

Definition at line 96 of file DSMCParcel.C.

References polyPatch::faceAreas(), Foam::mag(), polyPatch::magFaceAreas(), DSMCParcel< ParcelType >::constantProperties::mass(), Foam::max(), mesh, nw, DSMCParcel< ParcelType >::transformProperties(), and polyPatch::whichFace().

Referenced by DSMCParcel< ParcelType >::hitProcessorPatch(), and DSMCParcel< ParcelType >::iNew::operator()().

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

◆ transformProperties()

void transformProperties ( const transformer &  transform)
virtual

Transform the physical properties of the particle.

according to the given transformation tensor

Definition at line 188 of file DSMCParcel.C.

References transformer::transform().

Referenced by DSMCParcel< ParcelType >::hitWallPatch(), and DSMCParcel< ParcelType >::iNew::operator()().

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

◆ readFields()

void readFields ( Cloud< DSMCParcel< ParcelType >> &  c)
static

Definition at line 79 of file DSMCParcelIO.C.

References Foam::constant::universal::c, DSMCParcel< ParcelType >::Ei_, forAllIter, p, Foam::readFields(), DSMCParcel< ParcelType >::typeId_, U, DSMCParcel< ParcelType >::U_, and DSMCParcel< ParcelType >::writeFields().

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

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

◆ writeFields()

void writeFields ( const Cloud< DSMCParcel< ParcelType >> &  c)
static

Definition at line 113 of file DSMCParcelIO.C.

References Foam::constant::universal::c, DSMCParcel< ParcelType >::Ei(), forAllConstIter(), p, DSMCParcel< ParcelType >::typeId(), U, and DSMCParcel< ParcelType >::U().

Referenced by DSMCParcel< ParcelType >::iNew::operator()(), and DSMCParcel< ParcelType >::readFields().

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

Friends And Related Function Documentation

◆ Cloud< ParcelType >

friend class Cloud< ParcelType >
friend

Definition at line 155 of file DSMCParcel.H.

◆ operator

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

Member Data Documentation

◆ U_

vector U_
protected

Velocity of Parcel [m/s].

Definition at line 140 of file DSMCParcel.H.

Referenced by DSMCParcel< ParcelType >::readFields(), and DSMCParcel< ParcelType >::U().

◆ Ei_

scalar Ei_
protected

Internal energy of the Parcel, covering all non-translational.

degrees of freedom [J]

Definition at line 144 of file DSMCParcel.H.

Referenced by DSMCParcel< ParcelType >::Ei(), and DSMCParcel< ParcelType >::readFields().

◆ typeId_

label typeId_
protected

Parcel type id.

Definition at line 147 of file DSMCParcel.H.

Referenced by DSMCParcel< ParcelType >::readFields(), and DSMCParcel< ParcelType >::typeId().


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