OGS
MaterialLib::Fluid::PrimaryVariableDependentFluidProperties Class Referencefinal

Detailed Description

A class contains density, viscosity, heat_capacity and thermal_conductivity models, which are all functions of temperature, pressure and concentration.

Definition at line 26 of file PrimaryVariableDependentFluidProperties.h.

#include <PrimaryVariableDependentFluidProperties.h>

Inheritance diagram for MaterialLib::Fluid::PrimaryVariableDependentFluidProperties:
[legend]
Collaboration diagram for MaterialLib::Fluid::PrimaryVariableDependentFluidProperties:
[legend]

Public Member Functions

 PrimaryVariableDependentFluidProperties (std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&density, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&viscosity, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&heat_capacity, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&thermal_conductivity)
 
double getValue (const FluidPropertyType property_type, const ArrayType &variable_values) const override
 
double getdValue (const FluidPropertyType property_type, const ArrayType &variable_values, const PropertyVariableType variable_type) const override
 
- Public Member Functions inherited from MaterialLib::Fluid::FluidProperties
 FluidProperties (std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&density, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&viscosity, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&heat_capacity, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&thermal_conductivity)
 
virtual ~FluidProperties ()=default
 

Additional Inherited Members

- Public Types inherited from MaterialLib::Fluid::FluidProperties
using ArrayType = std::array< double, PropertyVariableNumber >
 
- Protected Attributes inherited from MaterialLib::Fluid::FluidProperties
const std::array< std::unique_ptr< FluidProperty >, FluidPropertyTypeNumber_property_models
 

Constructor & Destructor Documentation

◆ PrimaryVariableDependentFluidProperties()

MaterialLib::Fluid::PrimaryVariableDependentFluidProperties::PrimaryVariableDependentFluidProperties ( std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&  density,
std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&  viscosity,
std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&  heat_capacity,
std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&  thermal_conductivity 
)
inline

Definition at line 29 of file PrimaryVariableDependentFluidProperties.h.

35  : FluidProperties(std::move(density), std::move(viscosity),
36  std::move(heat_capacity),
37  std::move(thermal_conductivity))
38  {
39  }
FluidProperties(std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&density, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&viscosity, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&heat_capacity, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&thermal_conductivity)

Member Function Documentation

◆ getdValue()

double MaterialLib::Fluid::PrimaryVariableDependentFluidProperties::getdValue ( const FluidPropertyType  property_type,
const ArrayType variable_values,
const PropertyVariableType  variable_type 
) const
inlineoverridevirtual

Get the partial differential of a property.

Parameters
property_typeProperty type.
variable_valuesAn array of the primary variables. The order of its elements is temperature, pressure, concentration, which is defined in enum class PropertyVariableType.
variable_typeVariable type

Implements MaterialLib::Fluid::FluidProperties.

Definition at line 65 of file PrimaryVariableDependentFluidProperties.h.

68  {
69  return _property_models[static_cast<unsigned>(property_type)]
70  ->getdValue(variable_values, variable_type);
71  }
const std::array< std::unique_ptr< FluidProperty >, FluidPropertyTypeNumber > _property_models
double getdValue(const FluidPropertyType property_type, const ArrayType &variable_values, const PropertyVariableType variable_type) const override

References MaterialLib::Fluid::FluidProperties::_property_models.

◆ getValue()

double MaterialLib::Fluid::PrimaryVariableDependentFluidProperties::getValue ( const FluidPropertyType  property_type,
const ArrayType variable_values 
) const
inlineoverridevirtual

Get the value of a Property.

Parameters
property_typeProperty type.
variable_valuesAn array of the primary variables. The order of its elements is temperature, pressure, concentration, which is defined in enum class PropertyVariableType.

Implements MaterialLib::Fluid::FluidProperties.

Definition at line 49 of file PrimaryVariableDependentFluidProperties.h.

51  {
52  return _property_models[static_cast<unsigned>(property_type)]->getValue(
53  variable_values);
54  }
double getValue(const FluidPropertyType property_type, const ArrayType &variable_values) const override

References MaterialLib::Fluid::FluidProperties::_property_models.


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