50 return std::make_unique<LiquidDensity>(
beta, rho0, T0, p0, E);
70 return std::make_unique<LinearTemperatureDependentDensity>(rho0, T0,
beta);
82 const auto reference_concentration =
85 const auto fluid_density_difference_ratio =
88 return std::make_unique<LinearConcentrationDependentDensity>(
90 reference_concentration,
91 fluid_density_difference_ratio);
93 static std::unique_ptr<FluidProperty>
103 const auto reference_concentration =
106 const auto fluid_density_concentration_difference_ratio =
109 "fluid_density_concentration_difference_ratio");
113 const auto fluid_density_pressure_difference_ratio =
116 "fluid_density_pressure_difference_ratio");
117 return std::make_unique<LinearConcentrationAndPressureDependentDensity>(
119 reference_concentration,
120 fluid_density_concentration_difference_ratio,
122 fluid_density_pressure_difference_ratio);
131 if (type ==
"Constant")
135 return std::make_unique<ConstantFluidProperty>(
139 if (type ==
"LiquidDensity")
143 if (type ==
"TemperatureDependent")
147 if (type ==
"ConcentrationDependent")
151 if (type ==
"ConcentrationAndPressureDependent")
155 if (type ==
"IdealGasLaw")
159 return std::make_unique<IdealGasLaw>(
163 if (type ==
"WaterDensityIAPWSIF97Region1")
165 return std::make_unique<WaterDensityIAPWSIF97Region1>();
169 "The density type {:s} is unavailable.\n"
170 "The available types are: \n\tConstant, \n\tLiquidDensity, "
171 "\n\tTemperatureDependent, \n\tIdealGasLaw."
172 "\n\tWaterDensityIAPWSIF97Region1\n",
create an instance of a fluid density class.
T peekConfigParameter(std::string const ¶m) const
void checkConfigParameter(std::string const ¶m, T const &value) const
T getConfigParameter(std::string const ¶m) const
std::unique_ptr< FluidProperty > createFluidDensityModel(BaseLib::ConfigTree const &config)
static std::unique_ptr< FluidProperty > createLinearConcentrationAndPressureDependentDensity(BaseLib::ConfigTree const &config)
static std::unique_ptr< FluidProperty > createLiquidDensity(BaseLib::ConfigTree const &config)
static std::unique_ptr< FluidProperty > createLinearConcentrationDependentDensity(BaseLib::ConfigTree const &config)
static std::unique_ptr< FluidProperty > createLinearTemperatureDependentDensity(BaseLib::ConfigTree const &config)