76 double const dt)
const
78 auto const& medium = *std::get<Medium*>(
scale_);
82 double prop_value_frozen = 0;
89 phi_fr = std::get<double>(fraction.value(variable_array, pos, t, dt));
90 prop_value_frozen = std::get<double>(
95 std::get<double>(
porosity.value(variable_array, pos, t, dt));
96 auto const prop_value_liquid =
98 auto const prop_value_porous =
101 return (phi - phi_fr) * prop_value_liquid + phi_fr * prop_value_frozen +
102 (1 - phi) * prop_value_porous;
108 double const dt)
const
112 "VolumeFractionAverage::dValue is implemented for "
113 "derivatives with respect to temperature only.");
115 double dphi_fr_dT = 0;
116 double prop_value_frozen = 0;
118 auto const& medium = *std::get<Medium*>(
scale_);
122 dphi_fr_dT = std::get<double>(
124 prop_value_frozen = std::get<double>(
128 double prop_value_liquid =
131 return (prop_value_frozen - prop_value_liquid) * dphi_fr_dT;
std::variant< double, Eigen::Matrix< double, 2, 1 >, Eigen::Matrix< double, 3, 1 >, Eigen::Matrix< double, 2, 2 >, Eigen::Matrix< double, 3, 3 >, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 >, Eigen::MatrixXd > PropertyDataType