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 IOdictionaryproperties () const =0
 Access the properties dictionary. More...
 
virtual IOdictionaryproperties ()=0
 Modify the properties dictionary. More...
 
virtual const LagrangianMeshmesh () const =0
 Access the mesh. More...
 
virtual const wordphaseName () 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< LagrangianSubScalarFieldW (const LagrangianSubMesh &) const =0
 Molecular weight for a sub-mesh [kg/kmol]. More...
 
virtual const LagrangianScalarDynamicFieldT () const =0
 Temperature [K]. More...
 
virtual LagrangianScalarDynamicFieldT ()=0
 Modify the Temperature [K]. More...
 
virtual const LagrangianScalarDynamicFieldrho () const =0
 Density [kg/m^3]. More...
 
virtual LagrangianScalarDynamicFieldrho ()=0
 Modify the Density [kg/m^3]. More...
 
virtual tmp< LagrangianSubScalarFieldrho (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Density for an injection [kg/m^3]. More...
 
virtual const LagrangianScalarDynamicFielde () const =0
 Internal energy [J/kg]. More...
 
virtual LagrangianScalarDynamicFielde ()=0
 Modify the internal energy [J/kg]. More...
 
virtual tmp< LagrangianSubScalarFielde (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Internal energy for an injection [J/kg]. More...
 
virtual const LagrangianScalarDynamicFieldCv () const =0
 Heat capacity at constant volume [J/kg/K]. More...
 
virtual tmp< LagrangianSubScalarFieldCv (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Heat capacity at constant volume for an injection [J/kg/K]. More...
 
virtual tmp< LagrangianSubScalarFieldCp (const LagrangianSubMesh &subMesh) const =0
 Heat capacity at constant pressure for a sub-mesh [J/kg/K]. More...
 
virtual tmp< LagrangianSubScalarFieldalphav (const LagrangianSubMesh &subMesh) const =0
 Coefficient of thermal expansion for a sub-mesh [1/K]. More...
 
virtual const LagrangianScalarDynamicFieldkappa () const =0
 Thermal conductivity [W/m/K]. More...
 
virtual tmp< LagrangianSubScalarFieldkappa (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Thermal conductivity for an injection [W/m/K]. More...
 
template<class LagrangianFieldSourceType >
Foam::HashTable< Foam::wordsourcesTypes (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< basicLagrangianThermoNew (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< wordsourcesTypes (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: