OGS
FluidPropertiesWithDensityDependentModels.h
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include "FluidProperties.h"
16 
17 namespace MaterialLib
18 {
19 namespace Fluid
20 {
21 class FluidProperty;
22 
31 {
32 public:
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>&&
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 
69 private:
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.