OGS
FluidPropertiesWithDensityDependentModels.h
Go to the documentation of this file.
1
13#pragma once
14
15#include "FluidProperties.h"
16
17namespace MaterialLib
18{
19namespace Fluid
20{
21class FluidProperty;
22
31{
32public:
34 std::unique_ptr<MaterialLib::Fluid::FluidProperty>&& density,
35 std::unique_ptr<MaterialLib::Fluid::FluidProperty>&& viscosity,
36 std::unique_ptr<MaterialLib::Fluid::FluidProperty>&& heat_capacity,
37 std::unique_ptr<MaterialLib::Fluid::FluidProperty>&&
38 thermal_conductivity,
39 const bool is_viscosity_density_dependent,
40 const bool is_heat_capacity_dependent,
41 const bool is_thermal_conductivity);
42
53 double getValue(const FluidPropertyType property_type,
54 const ArrayType& variable_values) const override;
55
65 double getdValue(const FluidPropertyType property_type,
66 const ArrayType& variable_values,
67 const PropertyVariableType variable_type) const override;
68
69private:
71 double compute_df_drho_drho_dT(const FluidPropertyType property_type,
72 const ArrayType& variable_values) const;
74 double compute_df_drho_drho_dp(const FluidPropertyType property_type,
75 const ArrayType& variable_values) const;
76
77 std::array<bool, FluidPropertyTypeNumber> _is_density_dependent;
78};
79
80} // namespace Fluid
81} // namespace MaterialLib
double getValue(const FluidPropertyType property_type, const ArrayType &variable_values) const override
FluidPropertiesWithDensityDependentModels(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, const bool is_viscosity_density_dependent, const bool is_heat_capacity_dependent, const bool is_thermal_conductivity)
double getdValue(const FluidPropertyType property_type, const ArrayType &variable_values, const PropertyVariableType variable_type) const override
double compute_df_drho_drho_dp(const FluidPropertyType property_type, const ArrayType &variable_values) const
Compute df/dp for f(T, rho) with rho(T, p)
double compute_df_drho_drho_dT(const FluidPropertyType property_type, const ArrayType &variable_values) const
Compute df/dT for f(T, rho) with rho(T, p)
Base class of fluid properties.
std::array< double, PropertyVariableNumber > ArrayType
PropertyVariableType
Variable that determine the property.
FluidPropertyType
Fluid property type.