Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
CollidingCloud< CloudType > Class Template Reference

Adds coolisions to kinematic clouds. More...

Inheritance diagram for CollidingCloud< CloudType >:
Inheritance graph
[legend]
Collaboration diagram for CollidingCloud< CloudType >:
Collaboration graph
[legend]

Public Types

typedef CloudType cloudType
 Type of cloud this cloud was instantiated for. More...
 
typedef CloudType::particleType parcelType
 Type of parcel the cloud was instantiated for. More...
 
typedef CollidingCloud< CloudTypecollidingCloudType
 Convenience typedef for this cloud type. More...
 
- Public Types inherited from DSMCCloud< ParcelType >
typedef ParcelType parcelType
 Type of parcel the cloud was instantiated for. More...
 
- Public Types inherited from Cloud< ParcelType >
typedef ParticleType particleType
 
typedef IDLList< ParticleType >::iterator iterator
 
typedef IDLList< ParticleType >::const_iterator const_iterator
 

Public Member Functions

 CollidingCloud (const word &cloudName, const volScalarField &rho, const volVectorField &U, const volScalarField &mu, const dimensionedVector &g, bool readFields=true)
 Construct given carrier gas fields. More...
 
 CollidingCloud (CollidingCloud< CloudType > &c, const word &name)
 Copy constructor with new name. More...
 
 CollidingCloud (const fvMesh &mesh, const word &name, const CollidingCloud< CloudType > &c)
 Copy constructor with new name - creates bare cloud. More...
 
virtual autoPtr< Cloud< parcelType > > clone (const word &name)
 Construct and return clone based on (this) with new name. More...
 
virtual autoPtr< Cloud< parcelType > > cloneBare (const word &name) const
 Construct and return bare clone based on (this) with new name. More...
 
virtual ~CollidingCloud ()
 Destructor. More...
 
const CollidingCloudcloudCopy () const
 Return a reference to the cloud copy. More...
 
const parcelType::constantProperties & constProps () const
 Return the constant properties. More...
 
virtual bool hasWallImpactDistance () const
 If the collision model controls the wall interaction,. More...
 
const CollisionModel< CollidingCloud< CloudType > > & collision () const
 Return const access to the collision model. More...
 
CollisionModel< CollidingCloud< CloudType > > & collision ()
 Return reference to the collision model. More...
 
scalar rotationalKineticEnergyOfSystem () const
 Total rotational kinetic energy in the system. More...
 
void storeState ()
 Store the current cloud state. More...
 
void restoreState ()
 Reset the current cloud to the previously stored state. More...
 
void evolve ()
 Evolve the cloud. More...
 
template<class TrackData >
void motion (TrackData &td)
 Particle motion. More...
 
void info ()
 Print cloud information. More...
 
- Public Member Functions inherited from DSMCCloud< ParcelType >
 DSMCCloud (const word &cloudName, const fvMesh &mesh, bool readFields=true)
 Construct given name and mesh, will read Parcels and fields from. More...
 
 DSMCCloud (const word &cloudName, const fvMesh &mesh, const IOdictionary &dsmcInitialiseDict)
 Construct given name, mesh and initialisation dictionary. More...
 
virtual ~DSMCCloud ()
 Destructor. More...
 
const wordcloudName () const
 Return the cloud type. More...
 
const fvMeshmesh () const
 Return refernce to the mesh. More...
 
const IOdictionaryparticleProperties () const
 Return particle properties dictionary. More...
 
const List< word > & typeIdList () const
 Return the idList. More...
 
scalar nParticle () const
 Return the number of real particles represented by one. More...
 
const List< DynamicList< ParcelType * > > & cellOccupancy () const
 Return the cell occupancy addressing. More...
 
volScalarFieldsigmaTcRMax ()
 Return the sigmaTcRMax field. non-const access to allow. More...
 
scalarFieldcollisionSelectionRemainder ()
 Return the collision selection remainder field. non-const. More...
 
const List< typename ParcelType::constantProperties > & constProps () const
 Return all of the constant properties. More...
 
const ParcelType::constantProperties & constProps (label typeId) const
 Return the constant properties of the given typeId. More...
 
RandomrndGen ()
 Return refernce to the random object. More...
 
volScalarField::GeometricBoundaryFieldqBF ()
 Return non-const heat flux boundary field reference. More...
 
volVectorField::GeometricBoundaryFieldfDBF ()
 Return non-const force density at boundary field reference. More...
 
volScalarField::GeometricBoundaryFieldrhoNBF ()
 Return non-const number density boundary field reference. More...
 
volScalarField::GeometricBoundaryFieldrhoMBF ()
 Return non-const mass density boundary field reference. More...
 
volScalarField::GeometricBoundaryFieldlinearKEBF ()
 Return non-const linear kinetic energy density boundary. More...
 
volScalarField::GeometricBoundaryFieldinternalEBF ()
 Return non-const internal energy density boundary field. More...
 
volScalarField::GeometricBoundaryFieldiDofBF ()
 Return non-const internal degree of freedom density boundary. More...
 
volVectorField::GeometricBoundaryFieldmomentumBF ()
 Return non-const momentum density boundary field reference. More...
 
const volScalarFieldboundaryT () const
 Return macroscopic temperature. More...
 
const volVectorFieldboundaryU () const
 Return macroscopic velocity. More...
 
const volScalarFieldq () const
 Return heat flux at surface field. More...
 
const volVectorFieldfD () const
 Return force density at surface field. More...
 
const volScalarFieldrhoN () const
 Return the real particle number density field. More...
 
const volScalarFieldrhoM () const
 Return the particle mass density field. More...
 
const volScalarFielddsmcRhoN () const
 Return the field of number of DSMC particles. More...
 
const volScalarFieldlinearKE () const
 Return the total linear kinetic energy (translational and. More...
 
const volScalarFieldinternalE () const
 Return the internal energy density field. More...
 
const volScalarFieldiDof () const
 Return the average internal degrees of freedom field. More...
 
const volVectorFieldmomentum () const
 Return the momentum density field. More...
 
vector equipartitionLinearVelocity (scalar temperature, scalar mass)
 Generate a random velocity sampled from the Maxwellian speed. More...
 
scalar equipartitionInternalEnergy (scalar temperature, direction internalDegreesOfFreedom)
 Generate a random internal energy, sampled from the. More...
 
scalar maxwellianAverageSpeed (scalar temperature, scalar mass) const
 Average particle speed. More...
 
scalarField maxwellianAverageSpeed (scalarField temperature, scalar mass) const
 
scalar maxwellianRMSSpeed (scalar temperature, scalar mass) const
 RMS particle speed. More...
 
scalarField maxwellianRMSSpeed (scalarField temperature, scalar mass) const
 
scalar maxwellianMostProbableSpeed (scalar temperature, scalar mass) const
 Most probable speed. More...
 
scalarField maxwellianMostProbableSpeed (scalarField temperature, scalar mass) const
 
const BinaryCollisionModel< DSMCCloud< ParcelType > > & binaryCollision () const
 Return reference to binary elastic collision model. More...
 
BinaryCollisionModel< DSMCCloud< ParcelType > > & binaryCollision ()
 Return non-const reference to binary elastic collision model. More...
 
const WallInteractionModel< DSMCCloud< ParcelType > > & wallInteraction () const
 Return reference to wall interaction model. More...
 
WallInteractionModel< DSMCCloud< ParcelType > > & wallInteraction ()
 Return non-const reference to wall interaction model. More...
 
const InflowBoundaryModel< DSMCCloud< ParcelType > > & inflowBoundary () const
 Return reference to wall interaction model. More...
 
InflowBoundaryModel< DSMCCloud< ParcelType > > & inflowBoundary ()
 Return non-const reference to wall interaction model. More...
 
scalar massInSystem () const
 Total mass in system. More...
 
vector linearMomentumOfSystem () const
 Total linear momentum of the system. More...
 
scalar linearKineticEnergyOfSystem () const
 Total linear kinetic energy in the system. More...
 
scalar internalEnergyOfSystem () const
 Total internal energy in the system. More...
 
void info () const
 Print cloud information. More...
 
void dumpParticlePositions () const
 Dump particle positions to .obj file. More...
 
void addNewParcel (const vector &position, const vector &U, const scalar Ei, const label cellI, const label tetFaceI, const label tetPtI, const label typeId)
 Add new parcel. More...
 
void evolve ()
 Evolve the cloud (move, collide) More...
 
void clear ()
 Clear the Cloud. More...
 
virtual void autoMap (const mapPolyMesh &)
 Remap the particles to the correct cells following mesh change. More...
 
- Public Member Functions inherited from Cloud< ParcelType >
 TypeName ("Cloud")
 Runtime type information. More...
 
 Cloud (const polyMesh &mesh, const IDLList< ParticleType > &particles)
 Construct from mesh and a list of particles. More...
 
 Cloud (const polyMesh &mesh, const word &cloudName, const IDLList< ParticleType > &particles)
 Construct from mesh, cloud name, and a list of particles. More...
 
 Cloud (const polyMesh &mesh, const bool checkClass=true)
 Construct from mesh by reading from file. More...
 
 Cloud (const polyMesh &pMesh, const word &cloudName, const bool checkClass=true)
 Construct from mesh by reading from file with given cloud instance. More...
 
const polyMeshpMesh () const
 Return the polyMesh reference. More...
 
label size () const
 
DynamicList< label > & labels ()
 
label nTrackingRescues () const
 Return nTrackingRescues. More...
 
void trackingRescue () const
 Increment the nTrackingRescues counter. More...
 
const PackedBoolListcellHasWallFaces () const
 Whether each cell has any wall faces (demand driven data) More...
 
virtual bool hasWallImpactDistance () const
 Switch to specify if particles of the cloud can return. More...
 
const const_iterator begin () const
 
iterator begin ()
 
const const_iterator cbegin () const
 
const const_iterator end () const
 
iterator end ()
 
const const_iterator cend () const
 
void clear ()
 
void addParticle (ParticleType *pPtr)
 Transfer particle to cloud. More...
 
void deleteParticle (ParticleType &)
 Remove particle from cloud and delete. More...
 
void cloudReset (const Cloud< ParticleType > &c)
 Reset the particles. More...
 
void move (TrackData &td, const scalar trackTime)
 Move the particles. More...
 
void autoMap (TrackData &td, const mapPolyMesh &)
 Remap the cells of particles corresponding to the. More...
 
IOobject fieldIOobject (const word &fieldName, const IOobject::readOption r) const
 Helper to construct IOobject for field and current time. More...
 
void checkFieldIOobject (const Cloud< ParticleType > &c, const IOField< DataType > &data) const
 Check lagrangian data field. More...
 
void checkFieldFieldIOobject (const Cloud< ParticleType > &c, const CompactIOField< Field< DataType >, DataType > &data) const
 Check lagrangian data fieldfield. More...
 
virtual void readFields ()
 Read the field data for the cloud of particles. Dummy at. More...
 
virtual void writeFields () const
 Write the field data for the cloud of particles Dummy at. More...
 
virtual bool writeObject (IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp) const
 Write using given format, version and compression. More...
 
void writePositions () const
 Write positions to <cloudName>_positions.obj file. More...
 
- Public Member Functions inherited from DSMCBaseCloud
 TypeName ("DSMCBaseCloud")
 Runtime type information. More...
 
 DSMCBaseCloud ()
 Null constructor. More...
 
virtual ~DSMCBaseCloud ()
 Destructor. More...
 

Protected Member Functions

void setModels ()
 Set cloud sub-models. More...
 
template<class TrackData >
void moveCollide (TrackData &td, const scalar deltaT)
 Move-collide particles. More...
 
void cloudReset (CollidingCloud< CloudType > &c)
 Reset state of cloud. More...
 

Protected Attributes

parcelType::constantProperties constProps_
 Thermo parcel constant properties. More...
 
autoPtr< CollisionModel< CollidingCloud< CloudType > > > collisionModel_
 Collision model. More...
 

Private Member Functions

 CollidingCloud (const CollidingCloud &)
 Disallow default bitwise copy construct. More...
 
void operator= (const CollidingCloud &)
 Disallow default bitwise assignment. More...
 

Private Attributes

autoPtr< CollidingCloud< CloudType > > cloudCopyPtr_
 Cloud copy pointer. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Cloud< ParcelType >
static word cloudPropertiesName
 Name of cloud properties dictionary. More...
 

Detailed Description

template<class CloudType>
class Foam::CollidingCloud< CloudType >

Adds coolisions to kinematic clouds.

Source files

Definition at line 60 of file CollidingCloud.H.

Member Typedef Documentation

◆ cloudType

Type of cloud this cloud was instantiated for.

Definition at line 69 of file CollidingCloud.H.

◆ parcelType

Type of parcel the cloud was instantiated for.

Definition at line 72 of file CollidingCloud.H.

◆ collidingCloudType

Convenience typedef for this cloud type.

Definition at line 75 of file CollidingCloud.H.

Constructor & Destructor Documentation

◆ CollidingCloud() [1/4]

CollidingCloud ( const CollidingCloud< CloudType > &  )
private

Disallow default bitwise copy construct.

Referenced by CollidingCloud< CloudType >::clone(), and CollidingCloud< CloudType >::cloneBare().

Here is the caller graph for this function:

◆ CollidingCloud() [2/4]

CollidingCloud ( const word cloudName,
const volScalarField rho,
const volVectorField U,
const volScalarField mu,
const dimensionedVector g,
bool  readFields = true 
)

Construct given carrier gas fields.

Definition at line 85 of file CollidingCloud.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and readFields().

Here is the call graph for this function:

◆ CollidingCloud() [3/4]

CollidingCloud ( CollidingCloud< CloudType > &  c,
const word name 
)

Copy constructor with new name.

Definition at line 119 of file CollidingCloud.C.

◆ CollidingCloud() [4/4]

CollidingCloud ( const fvMesh mesh,
const word name,
const CollidingCloud< CloudType > &  c 
)

Copy constructor with new name - creates bare cloud.

Definition at line 131 of file CollidingCloud.C.

◆ ~CollidingCloud()

~CollidingCloud
virtual

Destructor.

Definition at line 145 of file CollidingCloud.C.

Member Function Documentation

◆ operator=()

void operator= ( const CollidingCloud< CloudType > &  )
private

Disallow default bitwise assignment.

◆ setModels()

void setModels
protected

Set cloud sub-models.

Definition at line 32 of file CollidingCloud.C.

References Foam::compressible::New().

Here is the call graph for this function:

◆ moveCollide()

void moveCollide ( TrackData &  td,
const scalar  deltaT 
)
protected

Move-collide particles.

Definition at line 48 of file CollidingCloud.C.

◆ cloudReset()

void cloudReset ( CollidingCloud< CloudType > &  c)
protected

Reset state of cloud.

Definition at line 73 of file CollidingCloud.C.

References Foam::constant::universal::c.

◆ clone()

virtual autoPtr<Cloud<parcelType> > clone ( const word name)
inlinevirtual

Construct and return clone based on (this) with new name.

Definition at line 157 of file CollidingCloud.H.

References CollidingCloud< CloudType >::CollidingCloud(), and Foam::name().

Here is the call graph for this function:

◆ cloneBare()

virtual autoPtr<Cloud<parcelType> > cloneBare ( const word name) const
inlinevirtual

Construct and return bare clone based on (this) with new name.

Definition at line 166 of file CollidingCloud.H.

References CollidingCloud< CloudType >::CollidingCloud(), and DSMCCloud< ParcelType >::mesh().

Here is the call graph for this function:

◆ cloudCopy()

const Foam::CollidingCloud< CloudType > & cloudCopy
inline

Return a reference to the cloud copy.

Definition at line 30 of file CollidingCloudI.H.

◆ constProps()

const CloudType::particleType::constantProperties & constProps
inline

Return the constant properties.

Definition at line 38 of file CollidingCloudI.H.

◆ hasWallImpactDistance()

bool hasWallImpactDistance
virtual

If the collision model controls the wall interaction,.

then the wall impact distance should be zero. Otherwise, it should be allowed to be the value from the Parcel.

Definition at line 152 of file CollidingCloud.C.

◆ collision() [1/2]

Return const access to the collision model.

Definition at line 46 of file CollidingCloudI.H.

◆ collision() [2/2]

CollisionModel<CollidingCloud<CloudType> >& collision ( )
inline

Return reference to the collision model.

◆ rotationalKineticEnergyOfSystem()

Foam::scalar rotationalKineticEnergyOfSystem
inline

Total rotational kinetic energy in the system.

Definition at line 62 of file CollidingCloudI.H.

References forAllConstIter(), and p.

Here is the call graph for this function:

◆ storeState()

void storeState

Store the current cloud state.

Definition at line 159 of file CollidingCloud.C.

References Foam::name().

Here is the call graph for this function:

◆ restoreState()

void restoreState

Reset the current cloud to the previously stored state.

Definition at line 172 of file CollidingCloud.C.

◆ evolve()

void evolve

Evolve the cloud.

Definition at line 180 of file CollidingCloud.C.

References solve().

Here is the call graph for this function:

◆ motion()

void motion ( TrackData &  td)

Particle motion.

Definition at line 194 of file CollidingCloud.C.

References Foam::endl(), subCycleTime::endSubCycle(), and Foam::Info.

Here is the call graph for this function:

◆ info()

void info

Print cloud information.

Definition at line 229 of file CollidingCloud.C.

References Foam::Info, Foam::nl, and Foam::reduce().

Here is the call graph for this function:

Field Documentation

◆ cloudCopyPtr_

autoPtr<CollidingCloud<CloudType> > cloudCopyPtr_
private

Cloud copy pointer.

Definition at line 83 of file CollidingCloud.H.

◆ constProps_

parcelType::constantProperties constProps_
protected

Thermo parcel constant properties.

Definition at line 100 of file CollidingCloud.H.

◆ collisionModel_

autoPtr<CollisionModel<CollidingCloud<CloudType> > > collisionModel_
protected

Collision model.

Definition at line 107 of file CollidingCloud.H.


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