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

References MaterialPropertyLib::heat_capacity, MaterialPropertyLib::thermal_conductivity, and MaterialPropertyLib::viscosity.

◆ ~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.

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: