basicLagrangianThermo Class Referenceabstract

Base-class for Lagrangian fluid and solid thermodynamic models. More...

Inheritance diagram for basicLagrangianThermo:

Classes

class  implementation
 

Public Member Functions

 TypeName ("basicLagrangianThermo")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, basicLagrangianThermo, LagrangianMesh,(const LagrangianMesh &mesh, const word &phaseName),(mesh, phaseName))
 Declare run-time constructor selection table. More...
 
virtual ~basicLagrangianThermo ()
 Destructor. More...
 
virtual const IOdictionary & properties () const =0
 Access the properties dictionary. More...
 
virtual IOdictionary & properties ()=0
 Modify the properties dictionary. More...
 
virtual const LagrangianMesh & mesh () const =0
 Access the mesh. More...
 
virtual const word & phaseName () const =0
 Access the phase name. More...
 
virtual void initialise ()=0
 Initialise state. More...
 
virtual void correctPressure (const LagrangianSubMesh &)=0
 Update the pressure. More...
 
virtual void correct (const LagrangianSubMesh &)=0
 Update state. More...
 
virtual word thermoName () const =0
 Return the full name of the thermodynamic model. More...
 
virtual tmp< LagrangianSubScalarField > W (const LagrangianSubMesh &) const =0
 Molecular weight for a sub-mesh [kg/kmol]. More...
 
virtual const LagrangianScalarDynamicField & T () const =0
 Temperature [K]. More...
 
virtual LagrangianScalarDynamicField & T ()=0
 Modify the Temperature [K]. More...
 
virtual const LagrangianScalarDynamicField & rho () const =0
 Density [kg/m^3]. More...
 
virtual LagrangianScalarDynamicField & rho ()=0
 Modify the Density [kg/m^3]. More...
 
virtual tmp< LagrangianSubScalarField > rho (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Density for an injection [kg/m^3]. More...
 
virtual const LagrangianScalarDynamicField & e () const =0
 Internal energy [J/kg]. More...
 
virtual LagrangianScalarDynamicField & e ()=0
 Modify the internal energy [J/kg]. More...
 
virtual tmp< LagrangianSubScalarField > e (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Internal energy for an injection [J/kg]. More...
 
virtual const LagrangianScalarDynamicField & Cv () const =0
 Heat capacity at constant volume [J/kg/K]. More...
 
virtual tmp< LagrangianSubScalarField > Cv (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Heat capacity at constant volume for an injection [J/kg/K]. More...
 
virtual tmp< LagrangianSubScalarField > Cp (const LagrangianSubMesh &subMesh) const =0
 Heat capacity at constant pressure for a sub-mesh [J/kg/K]. More...
 
virtual tmp< LagrangianSubScalarField > alphav (const LagrangianSubMesh &subMesh) const =0
 Coefficient of thermal expansion for a sub-mesh [1/K]. More...
 
virtual const LagrangianScalarDynamicField & kappa () const =0
 Thermal conductivity [W/m/K]. More...
 
virtual tmp< LagrangianSubScalarField > kappa (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Thermal conductivity for an injection [W/m/K]. More...
 
template<class LagrangianFieldSourceType >
Foam::HashTable< Foam::word > sourcesTypes (const LagrangianScalarDynamicField &T)
 
template<class Thermo >
Foam::autoPtr< Thermo > New (const LagrangianMesh &mesh, const word &phaseName)
 

Static Public Member Functions

template<class Thermo >
static autoPtr< Thermo > New (const LagrangianMesh &mesh, const word &phaseName=word::null)
 Select thermo of a given derived type. More...
 
static autoPtr< basicLagrangianThermo > New (const LagrangianMesh &mesh, const word &phaseName=word::null)
 Select a basic thermo. More...
 

Protected Member Functions

wordList eBoundaryTypes () const
 Internal energy field boundary types. More...
 
wordList eBoundaryBaseTypes () const
 Internal energy field boundary base types. More...
 

Static Protected Member Functions

template<class LagrangianFieldSourceType >
static HashTable< word > sourcesTypes (const LagrangianScalarDynamicField &T)
 Field sources types. More...
 

Detailed Description

Base-class for Lagrangian fluid and solid thermodynamic models.

The design of Lagrangian thermodynamic models is the same as that for finite-volume. See basicThermo for an explanation of how the interface class, and the implementation and composite sub-classes fit together.

See also
Foam::basicThermo
Source files

Definition at line 56 of file basicLagrangianThermo.H.

Constructor & Destructor Documentation

◆ ~basicLagrangianThermo()

~basicLagrangianThermo ( )
virtual

Destructor.

Definition at line 171 of file basicLagrangianThermo.C.

Member Function Documentation

◆ eBoundaryTypes()

Foam::wordList eBoundaryTypes ( ) const
protected

Internal energy field boundary types.

Definition at line 43 of file basicLagrangianThermo.C.

References GeometricField< Type, GeoMesh, PrimitiveField >::boundaryField(), basicLagrangianThermo::T(), and GeometricBoundaryField< Type, GeoMesh, PrimitiveField >::types().

Here is the call graph for this function:

◆ eBoundaryBaseTypes()

Foam::wordList eBoundaryBaseTypes ( ) const
protected

Internal energy field boundary base types.

Definition at line 60 of file basicLagrangianThermo.C.

References word::null, UPtrList< T >::size(), and Foam::T().

Here is the call graph for this function:

◆ sourcesTypes() [1/2]

static HashTable<word> sourcesTypes ( const LagrangianScalarDynamicField &  T)
staticprotected

Field sources types.

◆ TypeName()

TypeName ( "basicLagrangianThermo"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
basicLagrangianThermo  ,
LagrangianMesh  ,
(const LagrangianMesh &mesh, const word &phaseName)  ,
(mesh, phaseName)   
)

Declare run-time constructor selection table.

◆ New() [1/3]

static autoPtr<Thermo> New ( const LagrangianMesh &  mesh,
const word &  phaseName = word::null 
)
static

Select thermo of a given derived type.

◆ New() [2/3]

Foam::autoPtr< Foam::basicLagrangianThermo > New ( const LagrangianMesh &  mesh,
const word &  phaseName = word::null 
)
static

Select a basic thermo.

Definition at line 159 of file basicLagrangianThermo.C.

References basicLagrangianThermo::mesh(), and basicLagrangianThermo::phaseName().

Here is the call graph for this function:

◆ properties() [1/2]

virtual const IOdictionary& properties ( ) const
pure virtual

Access the properties dictionary.

◆ properties() [2/2]

virtual IOdictionary& properties ( )
pure virtual

Modify the properties dictionary.

◆ mesh()

◆ phaseName()

◆ initialise()

virtual void initialise ( )
pure virtual

Initialise state.

Implemented in solidLagrangianThermo, and fluidLagrangianThermo::implementation.

◆ correctPressure()

virtual void correctPressure ( const LagrangianSubMesh &  )
pure virtual

Update the pressure.

Implemented in solidLagrangianThermo, and fluidLagrangianThermo::implementation.

Referenced by fluidLagrangianThermo::implementation::initialise().

Here is the caller graph for this function:

◆ correct()

virtual void correct ( const LagrangianSubMesh &  )
pure virtual

Update state.

Referenced by fluidLagrangianThermo::implementation::initialise(), and solidLagrangianThermo::initialise().

Here is the caller graph for this function:

◆ thermoName()

virtual word thermoName ( ) const
pure virtual

Return the full name of the thermodynamic model.

◆ W()

virtual tmp<LagrangianSubScalarField> W ( const LagrangianSubMesh &  ) const
pure virtual

Molecular weight for a sub-mesh [kg/kmol].

◆ T() [1/2]

virtual const LagrangianScalarDynamicField& T ( ) const
pure virtual

Temperature [K].

Implemented in basicLagrangianThermo::implementation.

Referenced by basicLagrangianThermo::eBoundaryTypes(), and basicLagrangianThermo::sourcesTypes().

Here is the caller graph for this function:

◆ T() [2/2]

virtual LagrangianScalarDynamicField& T ( )
pure virtual

Modify the Temperature [K].

Implemented in basicLagrangianThermo::implementation.

◆ rho() [1/3]

virtual const LagrangianScalarDynamicField& rho ( ) const
pure virtual

Density [kg/m^3].

Implemented in basicLagrangianThermo::implementation.

◆ rho() [2/3]

virtual LagrangianScalarDynamicField& rho ( )
pure virtual

Modify the Density [kg/m^3].

Implemented in basicLagrangianThermo::implementation.

◆ rho() [3/3]

virtual tmp<LagrangianSubScalarField> rho ( const LagrangianSubScalarField &  T,
const LagrangianInjection &   
) const
pure virtual

Density for an injection [kg/m^3].

◆ e() [1/3]

virtual const LagrangianScalarDynamicField& e ( ) const
pure virtual

Internal energy [J/kg].

◆ e() [2/3]

virtual LagrangianScalarDynamicField& e ( )
pure virtual

Modify the internal energy [J/kg].

◆ e() [3/3]

virtual tmp<LagrangianSubScalarField> e ( const LagrangianSubScalarField &  T,
const LagrangianInjection &   
) const
pure virtual

Internal energy for an injection [J/kg].

◆ Cv() [1/2]

virtual const LagrangianScalarDynamicField& Cv ( ) const
pure virtual

Heat capacity at constant volume [J/kg/K].

Implemented in basicLagrangianThermo::implementation.

◆ Cv() [2/2]

virtual tmp<LagrangianSubScalarField> Cv ( const LagrangianSubScalarField &  T,
const LagrangianInjection &   
) const
pure virtual

Heat capacity at constant volume for an injection [J/kg/K].

◆ Cp()

virtual tmp<LagrangianSubScalarField> Cp ( const LagrangianSubMesh &  subMesh) const
pure virtual

Heat capacity at constant pressure for a sub-mesh [J/kg/K].

◆ alphav()

virtual tmp<LagrangianSubScalarField> alphav ( const LagrangianSubMesh &  subMesh) const
pure virtual

Coefficient of thermal expansion for a sub-mesh [1/K].

◆ kappa() [1/2]

virtual const LagrangianScalarDynamicField& kappa ( ) const
pure virtual

Thermal conductivity [W/m/K].

Implemented in basicLagrangianThermo::implementation.

◆ kappa() [2/2]

virtual tmp<LagrangianSubScalarField> kappa ( const LagrangianSubScalarField &  T,
const LagrangianInjection &   
) const
pure virtual

Thermal conductivity for an injection [W/m/K].

◆ sourcesTypes() [2/2]

◆ New() [3/3]

Foam::autoPtr<Thermo> New ( const LagrangianMesh &  mesh,
const word &  phaseName 
)

Definition at line 57 of file basicLagrangianThermoTemplates.C.

References physicalProperties::findModelDict(), and mesh.

Here is the call graph for this function:

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