34 namespace ThermalTwoPhaseFlowWithPP
39 TwoPhaseFlowWithPPMaterialProperties>&&
40 two_phase_material_model,
41 std::unique_ptr<MaterialLib::Fluid::FluidProperty>&&
42 specific_heat_capacity_solid,
43 std::unique_ptr<MaterialLib::Fluid::FluidProperty>&&
44 specific_heat_capacity_water,
45 std::unique_ptr<MaterialLib::Fluid::FluidProperty>&&
46 specific_heat_capacity_air,
47 std::unique_ptr<MaterialLib::Fluid::FluidProperty>&&
48 specific_heat_capacity_vapor,
49 std::unique_ptr<MaterialLib::Fluid::FluidProperty>&&
50 thermal_conductivity_dry_solid,
51 std::unique_ptr<MaterialLib::Fluid::FluidProperty>&&
52 thermal_conductivity_wet_solid,
53 std::unique_ptr<MaterialLib::Fluid::WaterVaporProperties>&&
54 water_vapor_properties)
55 : _two_phase_material_model(std::move(two_phase_material_model)),
56 _specific_heat_capacity_solid(std::move(specific_heat_capacity_solid)),
57 _specific_heat_capacity_water(std::move(specific_heat_capacity_water)),
58 _specific_heat_capacity_air(std::move(specific_heat_capacity_air)),
59 _specific_heat_capacity_vapor(std::move(specific_heat_capacity_vapor)),
60 _thermal_conductivity_dry_solid(
61 std::move(thermal_conductivity_dry_solid)),
62 _thermal_conductivity_wet_solid(
63 std::move(thermal_conductivity_wet_solid)),
64 _water_vapor_properties(std::move(water_vapor_properties))
66 DBUG(
"Create material properties for non-isothermal two-phase flow model.");
71 const double p,
const double T)
const
81 const double p,
const double T)
const
90 const double p,
const double T)
const
100 const double p,
const double T)
const
110 const double p,
const double T)
const
120 const double p,
const double T)
const
131 double const Sw,
double const lambda_pm_dry,
double const lambda_pm_wet)
134 lambda_pm_dry + std::sqrt(Sw) * (lambda_pm_wet - lambda_pm_dry);
137 lambda_pm = lambda_pm_wet;
141 lambda_pm = lambda_pm_dry;
148 const double T)
const
154 const double pc,
const double T,
const double mass_density_water)
const
157 pc, T, mass_density_water);
160 const double T)
const
165 const double pc,
const double T,
const double mass_density_water)
const
168 pc, T, mass_density_water);
171 const double pc,
const double T,
const double mass_density_water)
const
174 pc, T, mass_density_water);
177 const double p_air_nonwet,
const double p_vapor_nonwet,
const double pc,
178 const double T,
const double mass_density_water)
const
181 p_air_nonwet, p_vapor_nonwet, pc, T, mass_density_water);
185 const double temperature,
const double heat_capacity_water_vapor,
186 const double pg,
const double latent_heat_evaporation)
const
189 temperature, heat_capacity_water_vapor, pg, latent_heat_evaporation);
193 const double temperature,
194 const double heat_capacity_dry_air,
204 const double temperature,
205 const double heat_capacity_liquid_water,
void DBUG(char const *fmt, Args const &... args)
Definition of the Mesh class.
Definition of the PiecewiseLinearInterpolation class.
double calculateDerivativedPsatdT(const double T) const
Derivative of SaturatedVaporPressure in terms of T.
double calculateVaporPressureNonwet(const double pc, const double T, const double mass_density_water) const
std::unique_ptr< MaterialLib::Fluid::FluidProperty > const _thermal_conductivity_dry_solid
std::unique_ptr< MaterialLib::Fluid::FluidProperty > const _specific_heat_capacity_air
double getThermalConductivityDrySolid(const double p, const double T) const
double getSpecificHeatCapacitySolid(const double p, const double T) const
ThermalTwoPhaseFlowWithPPMaterialProperties(std::unique_ptr< MaterialLib::TwoPhaseFlowWithPP::TwoPhaseFlowWithPPMaterialProperties > &&two_phase_material_model, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&specific_heat_capacity_solid, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&specific_heat_capacity_water, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&specific_heat_capacity_air, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&specific_heat_capacity_vapor, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&thermal_conductivity_dry_solid, std::unique_ptr< MaterialLib::Fluid::FluidProperty > &&thermal_conductivity_wet_solid, std::unique_ptr< MaterialLib::Fluid::WaterVaporProperties > &&water_vapor_properties)
double getWaterVaporEnthalpySimple(const double temperature, const double heat_capacity_water_vapor, const double pg, const double latent_heat_evaporation) const
Specific enthalpy of water vapor.
double getThermalConductivityWetSolid(const double p, const double T) const
double const & _air_mol_mass
double getSpecificHeatCapacityAir(const double p, const double T) const
std::unique_ptr< MaterialLib::Fluid::FluidProperty > const _specific_heat_capacity_water
static double getLiquidWaterEnthalpySimple(const double temperature, const double heat_capacity_liquid_water, const double)
Specific enthalpy of liquid water.
std::unique_ptr< MaterialLib::Fluid::FluidProperty > const _specific_heat_capacity_solid
static double calculateUnsatHeatConductivity(double const t, ParameterLib::SpatialPosition const &x, double const Sw, double const lambda_pm_dry, double const lambda_pm_wet)
Calculates the unsaturated heat conductivity.
double getSpecificHeatCapacityWater(const double p, const double T) const
std::unique_ptr< MaterialLib::Fluid::WaterVaporProperties > const _water_vapor_properties
double calculatedDensityNonwetdT(const double p_air_nonwet, const double p_vapor_nonwet, const double pc, const double T, const double mass_density_water) const
double calculateDerivativedPgwdPC(const double pc, const double T, const double mass_density_water) const
Derivative of partial vapor pressure in terms of PC.
double calculateDerivativedPgwdT(const double pc, const double T, const double mass_density_water) const
Derivative of partial vapor pressure in terms of T.
std::unique_ptr< MaterialLib::Fluid::FluidProperty > const _specific_heat_capacity_vapor
double getSpecificHeatCapacityVapor(const double p, const double T) const
MaterialLib::Fluid::FluidProperty::ArrayType ArrayType
double calculateSaturatedVaporPressure(const double T) const
water vapor saturation pressure
std::unique_ptr< MaterialLib::Fluid::FluidProperty > const _thermal_conductivity_wet_solid
double getAirEnthalpySimple(const double temperature, const double heat_capacity_dry_air, const double) const
Specific enthalpy of air.
constexpr double CelsiusZeroInKelvin
Zero degrees Celsius in Kelvin.
constexpr double IdealGasConstant