Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ThermoCloud< CloudType > Class Template Reference

Templated base class for thermodynamic cloud. More...

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

Public Types

typedef CloudType cloudType
 
typedef CloudType::particleType parcelType
 
typedef ThermoCloud< CloudTypethermoCloudType
 
- Public Types inherited from DSMCCloud< ParcelType >
typedef ParcelType parcelType
 
- Public Types inherited from Cloud
typedef ParticleType particleType
 
typedef ParticleType parcelType
 

Public Member Functions

 ThermoCloud (const word &cloudName, const volScalarField &rho, const volVectorField &U, const dimensionedVector &g, const SLGThermo &thermo, bool readFields=true)
 
 ThermoCloud (ThermoCloud< CloudType > &c, const word &name)
 
 ThermoCloud (const fvMesh &mesh, const word &name, const ThermoCloud< CloudType > &c)
 
virtual autoPtr< Cloud< parcelType > > clone (const word &name)
 
virtual autoPtr< Cloud< parcelType > > cloneBare (const word &name) const
 
virtual ~ThermoCloud ()=default
 
const ThermoCloudcloudCopy () const
 
const parcelType::constantProperties & constProps () const
 
parcelType::constantProperties & constProps ()
 
const SLGThermothermo () const
 
const volScalarFieldT () const
 
const volScalarFieldp () const
 
const HeatTransferModel< ThermoCloud< CloudType > > & heatTransfer () const
 
const integrationSchemeTIntegrator () const
 
bool radiation () const
 
volScalarField::InternalradAreaP ()
 
const volScalarField::InternalradAreaP () const
 
volScalarField::InternalradT4 ()
 
const volScalarField::InternalradT4 () const
 
volScalarField::InternalradAreaPT4 ()
 
const volScalarField::InternalradAreaPT4 () const
 
volScalarField::InternalhsTrans ()
 
const volScalarField::InternalhsTrans () const
 
volScalarField::InternalhsCoeff ()
 
const volScalarField::InternalhsCoeff () const
 
tmp< fvScalarMatrixSh (volScalarField &hs) const
 
tmp< volScalarFieldEp () const
 
tmp< volScalarFieldap () const
 
tmp< volScalarFieldsigmap () const
 
scalar Tmax () const
 
scalar Tmin () const
 
void setParcelThermoProperties (parcelType &parcel, const scalar lagrangianDt)
 
void checkParcelProperties (parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
 
void storeState ()
 
void restoreState ()
 
void resetSourceTerms ()
 
void relaxSources (const ThermoCloud< CloudType > &cloudOldTime)
 
void scaleSources ()
 
void preEvolve (const typename parcelType::trackingData &td)
 
void evolve ()
 
virtual void autoMap (const mapPolyMesh &)
 
void info ()
 
- Public Member Functions inherited from DSMCCloud< ParcelType >
 DSMCCloud (const word &cloudName, const fvMesh &mesh, bool readFields=true)
 
 DSMCCloud (const word &cloudName, const fvMesh &mesh, const IOdictionary &dsmcInitialiseDict)
 
virtual ~DSMCCloud ()
 
const wordcloudName () const
 
const fvMeshmesh () const
 
const IOdictionaryparticleProperties () const
 
const List< word > & typeIdList () const
 
scalar nParticle () const
 
const List< DynamicList< ParcelType * > > & cellOccupancy () const
 
volScalarFieldsigmaTcRMax ()
 
scalarFieldcollisionSelectionRemainder ()
 
const List< typename ParcelType::constantProperties > & constProps () const
 
const ParcelType::constantProperties & constProps (label typeId) const
 
RandomrndGen ()
 
volScalarField::BoundaryqBF ()
 
volVectorField::BoundaryfDBF ()
 
volScalarField::BoundaryrhoNBF ()
 
volScalarField::BoundaryrhoMBF ()
 
volScalarField::BoundarylinearKEBF ()
 
volScalarField::BoundaryinternalEBF ()
 
volScalarField::BoundaryiDofBF ()
 
volVectorField::BoundarymomentumBF ()
 
const volScalarFieldboundaryT () const
 
const volVectorFieldboundaryU () const
 
const volScalarFieldq () const
 
const volVectorFieldfD () const
 
const volScalarFieldrhoN () const
 
const volScalarFieldrhoM () const
 
const volScalarFielddsmcRhoN () const
 
const volScalarFieldlinearKE () const
 
const volScalarFieldinternalE () const
 
const volScalarFieldiDof () const
 
const volVectorFieldmomentum () const
 
vector equipartitionLinearVelocity (scalar temperature, scalar mass)
 
scalar equipartitionInternalEnergy (scalar temperature, direction internalDegreesOfFreedom)
 
scalar maxwellianAverageSpeed (scalar temperature, scalar mass) const
 
scalarField maxwellianAverageSpeed (scalarField temperature, scalar mass) const
 
scalar maxwellianRMSSpeed (scalar temperature, scalar mass) const
 
scalarField maxwellianRMSSpeed (scalarField temperature, scalar mass) const
 
scalar maxwellianMostProbableSpeed (scalar temperature, scalar mass) const
 
scalarField maxwellianMostProbableSpeed (scalarField temperature, scalar mass) const
 
const BinaryCollisionModel< DSMCCloud< ParcelType > > & binaryCollision () const
 
BinaryCollisionModel< DSMCCloud< ParcelType > > & binaryCollision ()
 
const WallInteractionModel< DSMCCloud< ParcelType > > & wallInteraction () const
 
WallInteractionModel< DSMCCloud< ParcelType > > & wallInteraction ()
 
const InflowBoundaryModel< DSMCCloud< ParcelType > > & inflowBoundary () const
 
InflowBoundaryModel< DSMCCloud< ParcelType > > & inflowBoundary ()
 
scalar massInSystem () const
 
vector linearMomentumOfSystem () const
 
scalar linearKineticEnergyOfSystem () const
 
scalar internalEnergyOfSystem () const
 
void info () const
 
void dumpParticlePositions () const
 
void addNewParcel (const vector &position, const label celli, const vector &U, const scalar Ei, const label typeId)
 
void evolve ()
 
void clear ()
 
- Public Member Functions inherited from Cloud
 TypeName ("Cloud")
 
 Cloud (const polyMesh &mesh, const word &cloudName, const IDLList< ParticleType > &particles)
 
 Cloud (const polyMesh &pMesh, const word &cloudName, const bool checkClass=true)
 
const polyMeshpMesh () const
 
virtual label nParcels () const
 
DynamicList< label > & labels () const
 
void addParticle (ParticleType *pPtr)
 
void deleteParticle (ParticleType &p)
 
void deleteLostParticles ()
 
void cloudReset (const Cloud< ParticleType > &c)
 
template<class TrackCloudType >
void move (TrackCloudType &cloud, typename ParticleType::trackingData &td, const scalar trackTime)
 
void autoMap (const mapPolyMesh &)
 
IOobject fieldIOobject (const word &fieldName, const IOobject::readOption r) const
 
template<class DataType >
void checkFieldIOobject (const Cloud< ParticleType > &c, const IOField< DataType > &data) const
 
template<class DataType >
void checkFieldFieldIOobject (const Cloud< ParticleType > &c, const CompactIOField< Field< DataType >, DataType > &data) const
 
template<class Type >
bool readStoreFile (const IOobject &io, const IOobject &ioNew) const
 
void readFromFiles (objectRegistry &obr, const wordRes &selectFields) const
 
virtual void writeFields () const
 
virtual bool writeObject (IOstreamOption streamOpt, const bool valid) const
 
void writePositions () const
 
void storeGlobalPositions () const
 
- Public Member Functions inherited from DSMCBaseCloud
 TypeName ("DSMCBaseCloud")
 
 DSMCBaseCloud ()=default
 
virtual ~DSMCBaseCloud ()=default
 
- Public Member Functions inherited from thermoCloud
 TypeName ("thermoCloud")
 
 thermoCloud ()=default
 
virtual ~thermoCloud ()=default
 

Protected Member Functions

void setModels ()
 
void cloudReset (ThermoCloud< CloudType > &c)
 

Protected Attributes

parcelType::constantProperties constProps_
 
const SLGThermothermo_
 
const volScalarFieldT_
 
const volScalarFieldp_
 
autoPtr< HeatTransferModel< ThermoCloud< CloudType > > > heatTransferModel_
 
autoPtr< integrationSchemeTIntegrator_
 
Switch radiation_
 
autoPtr< volScalarField::InternalradAreaP_
 
autoPtr< volScalarField::InternalradT4_
 
autoPtr< volScalarField::InternalradAreaPT4_
 
autoPtr< volScalarField::InternalhsTrans_
 
autoPtr< volScalarField::InternalhsCoeff_
 
- Protected Attributes inherited from Cloud
cloud::geometryType geometryType_
 

Additional Inherited Members

- Static Public Attributes inherited from Cloud
static word cloudPropertiesName
 

Detailed Description

template<class CloudType>
class Foam::ThermoCloud< CloudType >

Templated base class for thermodynamic cloud.

Source files

Definition at line 62 of file ThermoCloud.H.

Member Typedef Documentation

◆ cloudType

Definition at line 72 of file ThermoCloud.H.

◆ parcelType

Definition at line 75 of file ThermoCloud.H.

◆ thermoCloudType

Definition at line 78 of file ThermoCloud.H.

Constructor & Destructor Documentation

◆ ThermoCloud() [1/3]

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

Definition at line 124 of file ThermoCloud.C.

References Foam::readFields().

Here is the call graph for this function:

◆ ThermoCloud() [2/3]

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

Definition at line 207 of file ThermoCloud.C.

References Foam::constant::universal::c, Foam::name(), and timeName.

Here is the call graph for this function:

◆ ThermoCloud() [3/3]

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

Definition at line 316 of file ThermoCloud.C.

◆ ~ThermoCloud()

virtual ~ThermoCloud ( )
virtualdefault

Member Function Documentation

◆ setModels()

void setModels
protected

Definition at line 30 of file ThermoCloud.C.

References Foam::dimArea, Foam::dimLength, Foam::dimTemperature, mesh, Foam::name(), Foam::New(), Foam::pow4(), Foam::sqr(), timeName, and Foam::Zero.

Here is the call graph for this function:

◆ cloudReset()

void cloudReset ( ThermoCloud< CloudType > &  c)
protected

Definition at line 109 of file ThermoCloud.C.

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

◆ clone()

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

Definition at line 196 of file ThermoCloud.H.

References Foam::name().

Here is the call graph for this function:

◆ cloneBare()

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

Definition at line 205 of file ThermoCloud.H.

References DSMCCloud< ParcelType >::mesh().

Here is the call graph for this function:

◆ cloudCopy()

const Foam::ThermoCloud< CloudType > & cloudCopy
inline

Definition at line 30 of file ThermoCloudI.H.

◆ constProps() [1/2]

CloudType::particleType::constantProperties & constProps
inline

Definition at line 38 of file ThermoCloudI.H.

◆ constProps() [2/2]

parcelType::constantProperties& constProps ( )
inline

◆ thermo()

const Foam::SLGThermo & thermo
inline

Definition at line 53 of file ThermoCloudI.H.

◆ T()

const Foam::volScalarField & T
inline

Definition at line 60 of file ThermoCloudI.H.

◆ p()

const Foam::volScalarField & p
inline

Definition at line 67 of file ThermoCloudI.H.

◆ heatTransfer()

const Foam::HeatTransferModel< Foam::ThermoCloud< CloudType > > & heatTransfer
inline

Definition at line 75 of file ThermoCloudI.H.

◆ TIntegrator()

const Foam::integrationScheme & TIntegrator
inline

Definition at line 83 of file ThermoCloudI.H.

◆ radiation()

bool radiation
inline

Definition at line 90 of file ThermoCloudI.H.

◆ radAreaP() [1/2]

const Foam::DimensionedField< Foam::scalar, Foam::volMesh > & radAreaP
inline

Definition at line 98 of file ThermoCloudI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Referenced by ThermoCloud< CloudType >::relaxSources().

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

◆ radAreaP() [2/2]

const volScalarField::Internal& radAreaP ( ) const
inline

◆ radT4() [1/2]

const Foam::DimensionedField< Foam::scalar, Foam::volMesh > & radT4
inline

Definition at line 128 of file ThermoCloudI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Referenced by ThermoCloud< CloudType >::relaxSources().

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

◆ radT4() [2/2]

const volScalarField::Internal& radT4 ( ) const
inline

◆ radAreaPT4() [1/2]

const Foam::DimensionedField< Foam::scalar, Foam::volMesh > & radAreaPT4
inline

Definition at line 158 of file ThermoCloudI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Referenced by ThermoCloud< CloudType >::relaxSources().

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

◆ radAreaPT4() [2/2]

const volScalarField::Internal& radAreaPT4 ( ) const
inline

◆ hsTrans() [1/2]

const Foam::DimensionedField< Foam::scalar, Foam::volMesh > & hsTrans
inline

Definition at line 188 of file ThermoCloudI.H.

Referenced by ThermoCloud< CloudType >::relaxSources().

Here is the caller graph for this function:

◆ hsTrans() [2/2]

const volScalarField::Internal& hsTrans ( ) const
inline

◆ hsCoeff() [1/2]

const Foam::DimensionedField< Foam::scalar, Foam::volMesh > & hsCoeff
inline

Definition at line 204 of file ThermoCloudI.H.

Referenced by ThermoCloud< CloudType >::relaxSources().

Here is the caller graph for this function:

◆ hsCoeff() [2/2]

const volScalarField::Internal& hsCoeff ( ) const
inline

◆ Sh()

Foam::tmp< Foam::fvScalarMatrix > Sh ( volScalarField hs) const
inline

◆ Ep()

Foam::tmp< Foam::volScalarField > Ep
inlinevirtual

◆ ap()

Foam::tmp< Foam::volScalarField > ap
inlinevirtual

Implements thermoCloud.

Definition at line 295 of file ThermoCloudI.H.

References Foam::dimLength, Foam::dimless, epsilon, mesh, Foam::name(), IOobject::NO_READ, IOobject::NO_WRITE, tmp::ref(), timeName, and Foam::Zero.

Here is the call graph for this function:

◆ sigmap()

Foam::tmp< Foam::volScalarField > sigmap
inlinevirtual

Implements thermoCloud.

Definition at line 332 of file ThermoCloudI.H.

References Foam::dimLength, Foam::dimless, epsilon, f(), mesh, Foam::name(), IOobject::NO_READ, IOobject::NO_WRITE, tmp::ref(), timeName, and Foam::Zero.

Here is the call graph for this function:

◆ Tmax()

Foam::scalar Tmax
inline

Definition at line 369 of file ThermoCloudI.H.

References Foam::max(), p, and Foam::returnReduce().

Here is the call graph for this function:

◆ Tmin()

Foam::scalar Tmin
inline

Definition at line 390 of file ThermoCloudI.H.

References Foam::min(), p, and Foam::returnReduce().

Here is the call graph for this function:

◆ setParcelThermoProperties()

void setParcelThermoProperties ( parcelType parcel,
const scalar  lagrangianDt 
)

Definition at line 344 of file ThermoCloud.C.

◆ checkParcelProperties()

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

Definition at line 358 of file ThermoCloud.C.

◆ storeState()

void storeState

Definition at line 369 of file ThermoCloud.C.

References Foam::name().

Here is the call graph for this function:

◆ restoreState()

void restoreState

Definition at line 382 of file ThermoCloud.C.

◆ resetSourceTerms()

void resetSourceTerms

Definition at line 390 of file ThermoCloud.C.

◆ relaxSources()

void relaxSources ( const ThermoCloud< CloudType > &  cloudOldTime)

◆ scaleSources()

void scaleSources

Definition at line 426 of file ThermoCloud.C.

◆ preEvolve()

void preEvolve ( const typename parcelType::trackingData &  td)

Definition at line 444 of file ThermoCloud.C.

◆ evolve()

void evolve

Definition at line 455 of file ThermoCloud.C.

References solve().

Here is the call graph for this function:

◆ autoMap()

void autoMap ( const mapPolyMesh mapper)
virtual

Reimplemented from DSMCCloud< ParcelType >.

Definition at line 467 of file ThermoCloud.C.

◆ info()

void info

Definition at line 476 of file ThermoCloud.C.

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

Here is the call graph for this function:

Member Data Documentation

◆ constProps_

parcelType::constantProperties constProps_
protected

Definition at line 103 of file ThermoCloud.H.

◆ thermo_

const SLGThermo& thermo_
protected

Definition at line 109 of file ThermoCloud.H.

◆ T_

const volScalarField& T_
protected

Definition at line 112 of file ThermoCloud.H.

◆ p_

const volScalarField& p_
protected

Definition at line 115 of file ThermoCloud.H.

◆ heatTransferModel_

autoPtr<HeatTransferModel<ThermoCloud<CloudType> > > heatTransferModel_
protected

Definition at line 122 of file ThermoCloud.H.

◆ TIntegrator_

autoPtr<integrationScheme> TIntegrator_
protected

Definition at line 128 of file ThermoCloud.H.

◆ radiation_

Switch radiation_
protected

Definition at line 134 of file ThermoCloud.H.

◆ radAreaP_

autoPtr<volScalarField::Internal> radAreaP_
protected

Definition at line 137 of file ThermoCloud.H.

◆ radT4_

autoPtr<volScalarField::Internal> radT4_
protected

Definition at line 140 of file ThermoCloud.H.

◆ radAreaPT4_

autoPtr<volScalarField::Internal> radAreaPT4_
protected

Definition at line 143 of file ThermoCloud.H.

◆ hsTrans_

autoPtr<volScalarField::Internal> hsTrans_
protected

Definition at line 149 of file ThermoCloud.H.

◆ hsCoeff_

autoPtr<volScalarField::Internal> hsCoeff_
protected

Definition at line 152 of file ThermoCloud.H.


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