27 DBUG(
"Create SaturationDependentSwelling solid phase property {:s}.",
30 auto const swelling_pressures =
34 if (swelling_pressures.size() != 3)
37 "The number of swelling pressures must be three, but {:d} were "
39 swelling_pressures.size());
42 auto const exponents =
46 if (exponents.size() != 3)
48 OGS_FATAL(
"The number of exponents must be three, but {:d} were given.",
52 if (swelling_pressures.size() != exponents.size())
55 "The number of swelling pressures and exponents must be equal, but "
56 "they are {:d} and {:d}, respectively.",
57 swelling_pressures.size(), exponents.size());
60 auto const lower_saturation_limit =
64 auto const upper_saturation_limit =
68 return std::make_unique<SaturationDependentSwelling>(
69 std::move(property_name),
70 std::array<double, 3>{swelling_pressures[0], swelling_pressures[1],
71 swelling_pressures[2]},
72 std::array<double, 3>{exponents[0], exponents[1], exponents[2]},
73 lower_saturation_limit, upper_saturation_limit,
74 local_coordinate_system);