49 bool const has_solid_thermal_expansivity,
double const specific_storage)
51 double const dfluid_density_dT =
53 .template dValue<double>(
56 double const fluid_density = vars.
density;
57 double const porosity = vars.
porosity;
58 double const fluid_thermal_expansivity =
59 -porosity * dfluid_density_dT / fluid_density;
61 if (!has_solid_thermal_expansivity)
63 return fluid_thermal_expansivity;
66 double const linear_solid_thermal_expansivity =
69 .template value<double>(vars, pos, t, dt);
70 double const biot_coefficient =
72 .template value<double>(vars, pos, t, dt);
77 checkBiotStorageRelationValues(pos, biot_coefficient, specific_storage);
79 return fluid_thermal_expansivity + 3.0 * (biot_coefficient - porosity) *
80 linear_solid_thermal_expansivity;
void checkBiotStorageRelation(double const t, double const dt, ParameterLib::SpatialPosition const &pos, MaterialPropertyLib::VariableArray const &vars, MaterialPropertyLib::Medium const &medium, MaterialPropertyLib::Phase const &solid_phase)
double evalEffectiveThermalExpansivity(double const t, double const dt, ParameterLib::SpatialPosition const &pos, MaterialPropertyLib::VariableArray const &vars, MaterialPropertyLib::Medium const &medium, MaterialPropertyLib::Phase const &liquid_phase, MaterialPropertyLib::Phase const &solid_phase, bool const has_solid_thermal_expansivity, double const specific_storage)