21 DBUG(
"Create SaturationDependentSwelling solid phase property {:s}.",
24 auto const swelling_pressures =
28 if (swelling_pressures.size() != 3)
31 "The number of swelling pressures must be three, but {:d} were "
33 swelling_pressures.size());
36 auto const exponents =
40 if (exponents.size() != 3)
42 OGS_FATAL(
"The number of exponents must be three, but {:d} were given.",
46 if (swelling_pressures.size() != exponents.size())
49 "The number of swelling pressures and exponents must be equal, but "
50 "they are {:d} and {:d}, respectively.",
51 swelling_pressures.size(), exponents.size());
54 auto const lower_saturation_limit =
58 auto const upper_saturation_limit =
62 return std::make_unique<SaturationDependentSwelling>(
63 std::move(property_name),
64 std::array<double, 3>{swelling_pressures[0], swelling_pressures[1],
65 swelling_pressures[2]},
66 std::array<double, 3>{exponents[0], exponents[1], exponents[2]},
67 lower_saturation_limit, upper_saturation_limit,
68 local_coordinate_system);