26 std::optional<BaseLib::ConfigTree>
const& config,
MeshLib::Mesh const& mesh)
33 std::vector<PhaseComponent> phase_components;
35 auto const& phase_component_config :
37 config->getConfigSubtreeList(
"phase_component"))
41 phase_component_config.getConfigParameter<std::string>(
"name");
43 double const initial_amount =
45 phase_component_config.getConfigParameter<
double>(
"initial_amount");
47 double const saturation_index =
49 phase_component_config.getConfigParameter<
double>(
52 auto amount = MeshLib::getOrCreateMeshProperty<double>(
57 std::fill(amount->begin(), amount->end(), initial_amount);
59 phase_components.emplace_back(
60 std::move(name), initial_amount, saturation_index);
63 return std::make_unique<EquilibriumReactants>(phase_components);