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

DSMC parcel class. More...

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

Classes

class  constantProperties
 Class to hold DSMC particle constant properties. More...
 
class  iNew
 Factory class to read-construct particles used for. More...
 
class  trackingData
 Class used to pass kinematic tracking data to the trackToFace function. More...
 

Public Member Functions

 TypeName ("DSMCParcel")
 Runtime type information. More...
 
 DSMCParcel (const polyMesh &mesh, const vector &position, const vector &U, const scalar Ei, const label celli, const label tetFacei, const label tetPtI, const label typeId)
 Construct from components. More...
 
 DSMCParcel (const polyMesh &mesh, Istream &is, bool readFields=true)
 Construct from Istream. More...
 
virtual autoPtr< particleclone () const
 Construct and return a clone. More...
 
label typeId () const
 Return type id. More...
 
const vectorU () const
 Return const access to velocity. More...
 
scalar Ei () const
 Return const access to internal energy. More...
 
vectorU ()
 Return access to velocity. More...
 
scalar & Ei ()
 Return access to internal energy. More...
 
template<class TrackData >
bool move (TrackData &td, const scalar trackTime)
 Move the parcel. More...
 
template<class TrackData >
bool hitPatch (const polyPatch &, TrackData &td, const label patchi, const scalar trackFraction, const tetIndices &tetIs)
 Overridable function to handle the particle hitting a patch. More...
 
template<class TrackData >
void hitProcessorPatch (const processorPolyPatch &, TrackData &td)
 Overridable function to handle the particle hitting a. More...
 
template<class TrackData >
void hitWallPatch (const wallPolyPatch &, TrackData &td, const tetIndices &)
 Overridable function to handle the particle hitting a wallPatch. More...
 
template<class TrackData >
void hitPatch (const polyPatch &, TrackData &td)
 Overridable function to handle the particle hitting a polyPatch. 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

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 >
 
Ostreamoperator (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.

Constructor & Destructor Documentation

DSMCParcel ( const polyMesh mesh,
const vector position,
const vector U,
const scalar  Ei,
const label  celli,
const label  tetFacei,
const label  tetPtI,
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 ( 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 ( "DSMCParcel< ParcelType >"  )

Runtime type information.

virtual autoPtr<particle> clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 198 of file DSMCParcel.H.

Foam::label typeId ( ) const
inline

Return type id.

Definition at line 119 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:

const Foam::vector & U ( ) const
inline

Return const access to velocity.

Definition at line 126 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:

Foam::scalar Ei ( ) const
inline

Return const access to internal energy.

Definition at line 133 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:

Foam::vector & U ( )
inline

Return access to velocity.

Definition at line 140 of file DSMCParcelI.H.

References DSMCParcel< ParcelType >::U_.

Foam::scalar & Ei ( )
inline

Return access to internal energy.

Definition at line 147 of file DSMCParcelI.H.

References DSMCParcel< ParcelType >::Ei_.

bool move ( TrackData &  td,
const scalar  trackTime 
)

Move the parcel.

Definition at line 33 of file DSMCParcel.C.

References polyMesh::boundaryMesh(), Foam::meshTools::constrainDirection(), Foam::meshTools::constrainToMeshCentre(), DSMCParcel< ParcelType >::hitPatch(), mesh, Foam::min(), 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:

bool hitPatch ( const polyPatch ,
TrackData &  td,
const label  patchi,
const scalar  trackFraction,
const tetIndices tetIs 
)

Overridable function to handle the particle hitting a patch.

Executed before other patch-hitting functions

Definition at line 89 of file DSMCParcel.C.

References DSMCParcel< ParcelType >::hitProcessorPatch().

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

Here is the call graph for this function:

Here is the caller graph for this function:

void hitProcessorPatch ( const processorPolyPatch ,
TrackData &  td 
)

Overridable function to handle the particle hitting a.

processorPatch

Definition at line 104 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:

void hitWallPatch ( const wallPolyPatch wpp,
TrackData &  td,
const tetIndices tetIs 
)

Overridable function to handle the particle hitting a wallPatch.

Definition at line 116 of file DSMCParcel.C.

References polyPatch::faceAreas(), patchIdentifier::index(), Foam::mag(), DSMCParcel< ParcelType >::constantProperties::mass(), Foam::max(), nw, 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:

void hitPatch ( const polyPatch ,
TrackData &  td 
)

Overridable function to handle the particle hitting a polyPatch.

Definition at line 208 of file DSMCParcel.C.

void transformProperties ( const tensor T)
virtual

Transform the physical properties of the particle.

according to the given transformation tensor

Definition at line 215 of file DSMCParcel.C.

References Foam::transform().

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

Here is the call graph for this function:

Here is the caller graph for this function:

void transformProperties ( const vector separation)
virtual

Transform the physical properties of the particle.

according to the given separation vector

Definition at line 224 of file DSMCParcel.C.

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:

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

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

friend class Cloud< ParcelType >
friend

Definition at line 171 of file DSMCParcel.H.

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

Member Data Documentation

vector U_
protected

Velocity of Parcel [m/s].

Definition at line 156 of file DSMCParcel.H.

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

scalar Ei_
protected

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

degrees of freedom [J]

Definition at line 160 of file DSMCParcel.H.

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

label typeId_
protected

Parcel type id.

Definition at line 163 of file DSMCParcel.H.

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


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