35 DBUG(
"Reading material properties of two-phase flow process.");
38 std::vector<int> mat_ids;
39 std::vector<int> mat_krel_ids;
41 std::unique_ptr<MaterialLib::PorousMedium::CapillaryPressureSaturation>>
42 _capillary_pressure_models;
44 std::unique_ptr<MaterialLib::PorousMedium::RelativePermeability>>
45 _relative_permeability_models;
50 for (
auto const& conf : poro_config.getConfigSubtreeList(
"porous_medium"))
53 auto const id = conf.getConfigAttributeOptional<
int>(
"id");
54 mat_ids.push_back(*
id);
56 auto const& capillary_pressure_conf =
58 conf.getConfigSubtree(
"capillary_pressure");
60 capillary_pressure_conf);
61 _capillary_pressure_models.emplace_back(std::move(pc));
63 auto const& krel_config =
65 conf.getConfigSubtree(
"relative_permeability");
67 auto const& krel_conf :
69 krel_config.getConfigSubtreeList(
"relative_permeability"))
73 krel_conf.getConfigAttributeOptional<
int>(
"id");
74 mat_krel_ids.push_back(*krel_id);
78 _relative_permeability_models.emplace_back(std::move(krel_n));
83 return std::make_unique<TwoPhaseFlowWithPrhoMaterialProperties>(
85 std::move(_capillary_pressure_models),
86 std::move(_relative_permeability_models));