25 std::optional<BaseLib::ConfigTree>
const& config,
MeshLib::Mesh& mesh)
32 std::vector<KineticReactant> kinetic_reactants;
34 auto const& reactant_config :
36 config->getConfigSubtreeList(
"kinetic_reactant"))
39 auto name = reactant_config.getConfigParameter<std::string>(
"name");
41 auto chemical_formula =
43 reactant_config.getConfigParameter<std::string>(
"chemical_formula",
48 reactant_config.getConfigParameter<std::vector<double>>(
51 bool const fix_amount =
53 reactant_config.getConfigParameter<
bool>(
"fix_amount",
false);
55 auto molality = MeshLib::getOrCreateMeshProperty<double>(
58 auto molality_prev = MeshLib::getOrCreateMeshProperty<double>(
61 auto volume_fraction = MeshLib::getOrCreateMeshProperty<double>(
64 auto volume_fraction_prev = MeshLib::getOrCreateMeshProperty<double>(
66 "phi_" + name +
"_prev",
70 auto mesh_prop_molality = MeshLib::getOrCreateMeshProperty<double>(
74 kinetic_reactants.emplace_back(std::move(name),
75 std::move(chemical_formula),
81 std::move(parameters),
85 return kinetic_reactants;