OGS
MaterialLib::Fluid::FluidProperties Class Referenceabstract

Detailed Description

Base class of fluid properties.

Definition at line 40 of file FluidProperties.h.

#include <FluidProperties.h>

Inheritance diagram for MaterialLib::Fluid::FluidProperties:
[legend]

Public Types

using ArrayType = std::array<double, PropertyVariableNumber>
 

Public Member Functions

 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
 
virtual double getValue (const FluidPropertyType property_type, const ArrayType &variable_values) const =0
 
virtual double getdValue (const FluidPropertyType property_type, const ArrayType &variable_values, const PropertyVariableType variable_type) const =0
 

Protected Attributes

const std::array< std::unique_ptr< FluidProperty >, FluidPropertyTypeNumber_property_models
 

Member Typedef Documentation

◆ ArrayType

Definition at line 43 of file FluidProperties.h.

Constructor & Destructor Documentation

◆ FluidProperties()

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 )
inline

Definition at line 45 of file FluidProperties.h.

51 : _property_models{{std::move(density), std::move(viscosity),
52 std::move(heat_capacity),
53 std::move(thermal_conductivity)}}
54 {
55 }
const std::array< std::unique_ptr< FluidProperty >, FluidPropertyTypeNumber > _property_models

◆ ~FluidProperties()

virtual MaterialLib::Fluid::FluidProperties::~FluidProperties ( )
virtualdefault

Member Function Documentation

◆ getdValue()

virtual double MaterialLib::Fluid::FluidProperties::getdValue ( const FluidPropertyType property_type,
const ArrayType & variable_values,
const PropertyVariableType variable_type ) const
pure virtual

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

Implemented in MaterialLib::Fluid::FluidPropertiesWithDensityDependentModels, and MaterialLib::Fluid::PrimaryVariableDependentFluidProperties.

◆ getValue()

virtual double MaterialLib::Fluid::FluidProperties::getValue ( const FluidPropertyType property_type,
const ArrayType & variable_values ) const
pure virtual

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.

Implemented in MaterialLib::Fluid::FluidPropertiesWithDensityDependentModels, and MaterialLib::Fluid::PrimaryVariableDependentFluidProperties.

Referenced by MaterialLib::Fluid::FluidPropertiesWithDensityDependentModels::getValue().

Member Data Documentation

◆ _property_models

const std::array<std::unique_ptr<FluidProperty>, FluidPropertyTypeNumber> MaterialLib::Fluid::FluidProperties::_property_models
protected

Fluid property models. 0: density; 1: viscosity; 2: specific heat capacity; 3: thermal conductivity

The index is specified via enum class PropertyType.

Definition at line 94 of file FluidProperties.h.

Referenced by MaterialLib::Fluid::PrimaryVariableDependentFluidProperties::getdValue(), and MaterialLib::Fluid::PrimaryVariableDependentFluidProperties::getValue().


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