47 double const dt)
const
49 auto const& medium = std::get<Medium*>(scale_);
52 auto const gas_phase =
53 medium->hasPhase(
"Gas") ? &medium->phase(
"Gas") :
nullptr;
54 auto const liquid_phase = medium->hasPhase(
"AqueousLiquid")
55 ? &medium->phase(
"AqueousLiquid")
58 auto const& solid_phase = medium->phase(
"Solid");
60 auto const gas_thermal_conductivity =
65 .template value<double>(variable_array, pos, t, dt)
68 auto const liquid_thermal_conductivity =
73 .template value<double>(variable_array, pos, t, dt)
76 auto const solid_thermal_conductivity =
79 .template value<double>(variable_array, pos, t, dt);
83 auto const S_G = 1. - S_L;
89 double const effective_thermal_conductivity =
90 phi_G * gas_thermal_conductivity + phi_L * liquid_thermal_conductivity +
91 phi_S * solid_thermal_conductivity;
93 return effective_thermal_conductivity;
132 double const dt)
const
134 auto const& medium = std::get<Medium*>(scale_);
136 auto const gas_phase =
137 medium->hasPhase(
"Gas") ? &medium->phase(
"Gas") :
nullptr;
138 auto const liquid_phase = medium->hasPhase(
"AqueousLiquid")
139 ? &medium->phase(
"AqueousLiquid")
142 auto const& solid_phase = medium->phase(
"Solid");
144 auto const gas_thermal_conductivity =
149 .template value<double>(variable_array, pos, t, dt)
152 auto const liquid_thermal_conductivity =
157 .template value<double>(variable_array, pos, t, dt)
163 .value(variable_array, pos, t, dt));
168 auto const S_G = 1. - S_L;
176 if (local_coordinate_system_ &&
177 (solid_thermal_conductivity.cols() == GlobalDim))
179 solid_thermal_conductivity =
180 local_coordinate_system_->rotateTensor<GlobalDim>(
181 solid_thermal_conductivity, pos);
183 auto const I = Eigen::Matrix<double, GlobalDim, GlobalDim>::Identity();
184 Eigen::Matrix<double, GlobalDim, GlobalDim>
const
185 effective_thermal_conductivity = (phi_G * gas_thermal_conductivity +
186 phi_L * liquid_thermal_conductivity) *
188 phi_S * solid_thermal_conductivity;
189 return effective_thermal_conductivity;
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