ReactingCloud< CloudType > Class Template Reference

Templated base class for reacting cloud. More...

Inheritance diagram for ReactingCloud< CloudType >:
[legend]
Collaboration diagram for ReactingCloud< CloudType >:
[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 ReactingCloud< CloudTypereactingCloudType
 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< ParticleType >
typedef ParticleType particleType
 
typedef ParticleType parcelType
 Parcels are just particles. More...
 

Public Member Functions

 ReactingCloud (const word &cloudName, const volScalarField &rho, const volVectorField &U, const dimensionedVector &g, const SLGThermo &thermo, bool readFields=true)
 Construct given carrier gas fields. More...
 
 ReactingCloud (ReactingCloud< CloudType > &c, const word &name)
 Copy constructor with new name. More...
 
 ReactingCloud (const fvMesh &mesh, const word &name, const ReactingCloud< 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 ~ReactingCloud ()=default
 Destructor. More...
 
const ReactingCloudcloudCopy () const
 Return a reference to the cloud copy. More...
 
const parcelType::constantProperties & constProps () const
 Return the constant properties. More...
 
parcelType::constantProperties & constProps ()
 Return access to the constant properties. More...
 
const CompositionModel< ReactingCloud< CloudType > > & composition () const
 Return const access to reacting composition model. More...
 
const PhaseChangeModel< ReactingCloud< CloudType > > & phaseChange () const
 Return const access to reacting phase change model. More...
 
PhaseChangeModel< ReactingCloud< CloudType > > & phaseChange ()
 Return reference to reacting phase change model. More...
 
volScalarField::InternalrhoTrans (const label i)
 Mass. More...
 
const PtrList< volScalarField::Internal > & rhoTrans () const
 Return const access to mass source fields. More...
 
PtrList< volScalarField::Internal > & rhoTrans ()
 Return reference to mass source fields. More...
 
tmp< fvScalarMatrixSYi (const label i, volScalarField &Yi) const
 Return mass source term for specie i - specie eqn. More...
 
tmp< volScalarField::InternalSrho (const label i) const
 Return tmp mass source for field i - fully explicit. More...
 
tmp< volScalarField::InternalSrho () const
 Return tmp total mass source for carrier phase. More...
 
tmp< fvScalarMatrixSrho (volScalarField &rho) const
 Return total mass source term [kg/m3/s]. More...
 
void setParcelThermoProperties (parcelType &parcel, const scalar lagrangianDt)
 Set parcel thermo properties. More...
 
void checkParcelProperties (parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
 Check parcel properties. More...
 
void storeState ()
 Store the current cloud state. More...
 
void restoreState ()
 Reset the current cloud to the previously stored state. More...
 
void resetSourceTerms ()
 Reset the cloud source terms. More...
 
void relaxSources (const ReactingCloud< CloudType > &cloudOldTime)
 Apply relaxation to (steady state) cloud sources. More...
 
void scaleSources ()
 Apply scaling to (transient) cloud sources. More...
 
void evolve ()
 Evolve the cloud. More...
 
virtual void autoMap (const mapPolyMesh &)
 Remap the cells of particles corresponding to the. More...
 
void info ()
 Print cloud information. More...
 
virtual void writeFields () const
 Write the field data for the cloud. More...
 
virtual void writeObjects (objectRegistry &obr) const
 Write particle fields as objects into the obr registry. 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 reference 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 reference to the random object. More...
 
volScalarField::Boundary & qBF ()
 Return non-const heat flux boundary field reference. More...
 
volVectorField::Boundary & fDBF ()
 Return non-const force density at boundary field reference. More...
 
volScalarField::Boundary & rhoNBF ()
 Return non-const number density boundary field reference. More...
 
volScalarField::Boundary & rhoMBF ()
 Return non-const mass density boundary field reference. More...
 
volScalarField::Boundary & linearKEBF ()
 Return non-const linear kinetic energy density boundary. More...
 
volScalarField::Boundary & internalEBF ()
 Return non-const internal energy density boundary field. More...
 
volScalarField::Boundary & iDofBF ()
 Return non-const internal degree of freedom density boundary. More...
 
volVectorField::Boundary & momentumBF ()
 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 label celli, const vector &U, const scalar Ei, const label typeId)
 Add new parcel. More...
 
void evolve ()
 Evolve the cloud (move, collide) More...
 
void clear ()
 Clear the Cloud. More...
 
- Public Member Functions inherited from Cloud< ParticleType >
 TypeName ("Cloud")
 Runtime type information. More...
 
 Cloud (const polyMesh &mesh, const word &cloudName, const IDLList< ParticleType > &particles)
 Construct from mesh and a list of particles. 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...
 
virtual label nParcels () const
 Return the number of particles in the cloud. More...
 
DynamicList< label > & labels () const
 Return temporary addressing. More...
 
void addParticle (ParticleType *pPtr)
 Transfer particle to cloud. More...
 
void deleteParticle (ParticleType &p)
 Remove particle from cloud and delete. More...
 
void deleteLostParticles ()
 Remove lost particles from cloud and delete. More...
 
void cloudReset (const Cloud< ParticleType > &c)
 Reset the particles. More...
 
template<class TrackCloudType >
void move (TrackCloudType &cloud, typename ParticleType::trackingData &td, const scalar trackTime)
 Move the particles. More...
 
void autoMap (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...
 
template<class DataType >
void checkFieldIOobject (const Cloud< ParticleType > &c, const IOField< DataType > &data) const
 Check lagrangian data field. More...
 
template<class DataType >
void checkFieldFieldIOobject (const Cloud< ParticleType > &c, const CompactIOField< Field< DataType >, DataType > &data) const
 Check lagrangian data fieldfield. More...
 
template<class Type >
bool readStoreFile (const IOobject &io, const IOobject &ioNew) const
 Helper function to store a cloud field on its registry. More...
 
void readFromFiles (objectRegistry &obr, const wordRes &selectFields) const
 Read from files into objectRegistry. More...
 
virtual bool writeObject (IOstreamOption streamOpt, const bool valid) const
 Write using stream options. More...
 
void writePositions () const
 Write positions to <cloudName>_positions.obj file. More...
 
void storeGlobalPositions () const
 Call this before a topology change. More...
 
- Public Member Functions inherited from DSMCBaseCloud
 TypeName ("DSMCBaseCloud")
 Runtime type information. More...
 
 DSMCBaseCloud ()=default
 Null constructor. More...
 
virtual ~DSMCBaseCloud ()=default
 Destructor. More...
 
- Public Member Functions inherited from reactingCloud
 TypeName ("reactingCloud")
 Runtime type information. More...
 
 reactingCloud ()=default
 Null constructor. More...
 
virtual ~reactingCloud ()=default
 Destructor. More...
 

Protected Member Functions

void checkSuppliedComposition (const scalarField &YSupplied, const scalarField &Y, const word &YName)
 Check that size of a composition field is valid. More...
 
void setModels ()
 Set cloud sub-models. More...
 
void cloudReset (ReactingCloud< CloudType > &c)
 Reset state of cloud. More...
 

Protected Attributes

parcelType::constantProperties constProps_
 Parcel constant properties. More...
 
autoPtr< CompositionModel< ReactingCloud< CloudType > > > compositionModel_
 Reacting composition model. More...
 
autoPtr< PhaseChangeModel< ReactingCloud< CloudType > > > phaseChangeModel_
 Reacting phase change model. More...
 
PtrList< volScalarField::InternalrhoTrans_
 Mass transfer fields - one per carrier phase specie. More...
 
- Protected Attributes inherited from Cloud< ParticleType >
cloud::geometryType geometryType_
 Geometry type. More...
 

Additional Inherited Members

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

Detailed Description

template<class CloudType>
class Foam::ReactingCloud< CloudType >

Templated base class for reacting cloud.

- Adds to thermodynamic cloud

  • Variable composition (single phase)
  • Phase change
Source files

Definition at line 68 of file ReactingCloud.H.

Member Typedef Documentation

◆ cloudType

Type of cloud this cloud was instantiated for.

Definition at line 78 of file ReactingCloud.H.

◆ parcelType

Type of parcel the cloud was instantiated for.

Definition at line 81 of file ReactingCloud.H.

◆ reactingCloudType

Convenience typedef for this cloud type.

Definition at line 84 of file ReactingCloud.H.

Constructor & Destructor Documentation

◆ ReactingCloud() [1/3]

ReactingCloud ( const word cloudName,
const volScalarField rho,
const volVectorField U,
const dimensionedVector g,
const SLGThermo thermo,
bool  readFields = true 
)

Construct given carrier gas fields.

Definition at line 92 of file ReactingCloud.C.

◆ ReactingCloud() [2/3]

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

Copy constructor with new name.

Definition at line 152 of file ReactingCloud.C.

◆ ReactingCloud() [3/3]

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

Copy constructor with new name - creates bare cloud.

Definition at line 191 of file ReactingCloud.C.

◆ ~ReactingCloud()

virtual ~ReactingCloud ( )
virtualdefault

Destructor.

Member Function Documentation

◆ checkSuppliedComposition()

void checkSuppliedComposition ( const scalarField YSupplied,
const scalarField Y,
const word YName 
)
protected

Check that size of a composition field is valid.

Definition at line 60 of file ReactingCloud.C.

◆ setModels()

void setModels ( )
protected

Set cloud sub-models.

Definition at line 36 of file ReactingCloud.C.

◆ cloudReset()

void cloudReset ( ReactingCloud< CloudType > &  c)
protected

Reset state of cloud.

Definition at line 79 of file ReactingCloud.C.

◆ clone()

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

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

Definition at line 181 of file ReactingCloud.H.

◆ 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 190 of file ReactingCloud.H.

◆ cloudCopy()

const Foam::ReactingCloud< CloudType > & cloudCopy ( ) const
inline

Return a reference to the cloud copy.

Definition at line 32 of file ReactingCloudI.H.

◆ constProps() [1/2]

const CloudType::particleType::constantProperties & constProps ( ) const
inline

Return the constant properties.

Definition at line 40 of file ReactingCloudI.H.

◆ constProps() [2/2]

CloudType::particleType::constantProperties & constProps ( )
inline

Return access to the constant properties.

Definition at line 48 of file ReactingCloudI.H.

◆ composition()

const Foam::CompositionModel< Foam::ReactingCloud< CloudType > > & composition ( ) const
inline

Return const access to reacting composition model.

Definition at line 56 of file ReactingCloudI.H.

◆ phaseChange() [1/2]

const Foam::PhaseChangeModel< Foam::ReactingCloud< CloudType > > & phaseChange ( ) const
inline

Return const access to reacting phase change model.

Definition at line 64 of file ReactingCloudI.H.

◆ phaseChange() [2/2]

Foam::PhaseChangeModel< Foam::ReactingCloud< CloudType > > & phaseChange ( )
inline

Return reference to reacting phase change model.

Definition at line 72 of file ReactingCloudI.H.

◆ rhoTrans() [1/3]

Foam::DimensionedField< Foam::scalar, Foam::volMesh > & rhoTrans ( const label  i)
inline

Mass.

Return reference to mass source for field i

Definition at line 80 of file ReactingCloudI.H.

Referenced by ReactingCloud< Foam::DSMCCloud >::relaxSources().

Here is the caller graph for this function:

◆ rhoTrans() [2/3]

const Foam::PtrList< Foam::DimensionedField< Foam::scalar, Foam::volMesh > > & rhoTrans ( ) const
inline

Return const access to mass source fields.

Definition at line 89 of file ReactingCloudI.H.

◆ rhoTrans() [3/3]

Foam::PtrList< Foam::DimensionedField< Foam::scalar, Foam::volMesh > > & rhoTrans ( )
inline

Return reference to mass source fields.

Definition at line 97 of file ReactingCloudI.H.

◆ SYi()

Foam::tmp< Foam::fvScalarMatrix > SYi ( const label  i,
volScalarField Yi 
) const
inline

Return mass source term for specie i - specie eqn.

Definition at line 105 of file ReactingCloudI.H.

◆ Srho() [1/3]

Foam::tmp< Foam::DimensionedField< Foam::scalar, Foam::volMesh > > Srho ( const label  i) const
inline

Return tmp mass source for field i - fully explicit.

Definition at line 160 of file ReactingCloudI.H.

◆ Srho() [2/3]

Foam::tmp< Foam::DimensionedField< Foam::scalar, Foam::volMesh > > Srho ( ) const
inline

Return tmp total mass source for carrier phase.

  • fully explicit

Definition at line 195 of file ReactingCloudI.H.

◆ Srho() [3/3]

Foam::tmp< Foam::fvScalarMatrix > Srho ( volScalarField rho) const
inline

Return total mass source term [kg/m3/s].

Definition at line 235 of file ReactingCloudI.H.

◆ setParcelThermoProperties()

void setParcelThermoProperties ( parcelType parcel,
const scalar  lagrangianDt 
)

Set parcel thermo properties.

Definition at line 211 of file ReactingCloud.C.

◆ checkParcelProperties()

void checkParcelProperties ( parcelType parcel,
const scalar  lagrangianDt,
const bool  fullyDescribed 
)

Check parcel properties.

Definition at line 224 of file ReactingCloud.C.

◆ storeState()

void storeState ( )

Store the current cloud state.

Definition at line 248 of file ReactingCloud.C.

◆ restoreState()

void restoreState ( )

Reset the current cloud to the previously stored state.

Definition at line 261 of file ReactingCloud.C.

◆ resetSourceTerms()

void resetSourceTerms ( )

Reset the cloud source terms.

Definition at line 269 of file ReactingCloud.C.

◆ relaxSources()

void relaxSources ( const ReactingCloud< CloudType > &  cloudOldTime)

Apply relaxation to (steady state) cloud sources.

Definition at line 281 of file ReactingCloud.C.

◆ scaleSources()

void scaleSources ( )

Apply scaling to (transient) cloud sources.

Definition at line 299 of file ReactingCloud.C.

◆ evolve()

void evolve ( )

Evolve the cloud.

Definition at line 314 of file ReactingCloud.C.

◆ autoMap()

void autoMap ( const mapPolyMesh mapper)
virtual

Remap the cells of particles corresponding to the.

mesh topology change with a default tracking data object

Reimplemented from DSMCCloud< ParcelType >.

Definition at line 326 of file ReactingCloud.C.

◆ info()

void info ( )

Print cloud information.

Definition at line 335 of file ReactingCloud.C.

◆ writeFields()

void writeFields ( ) const
virtual

Write the field data for the cloud.

Reimplemented from Cloud< ParticleType >.

Definition at line 344 of file ReactingCloud.C.

◆ writeObjects()

void writeObjects ( objectRegistry obr) const
virtual

Write particle fields as objects into the obr registry.

Definition at line 354 of file ReactingCloud.C.

Member Data Documentation

◆ constProps_

parcelType::constantProperties constProps_
protected

Parcel constant properties.

Definition at line 109 of file ReactingCloud.H.

◆ compositionModel_

autoPtr<CompositionModel<ReactingCloud<CloudType> > > compositionModel_
protected

Reacting composition model.

Definition at line 116 of file ReactingCloud.H.

◆ phaseChangeModel_

autoPtr<PhaseChangeModel<ReactingCloud<CloudType> > > phaseChangeModel_
protected

Reacting phase change model.

Definition at line 120 of file ReactingCloud.H.

◆ rhoTrans_

PtrList<volScalarField::Internal> rhoTrans_
protected

Mass transfer fields - one per carrier phase specie.

Definition at line 126 of file ReactingCloud.H.


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