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, and getdValue().

Referenced by getdValue().

◆ 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, and getValue().

Referenced by getValue().


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