31 SolidMaterialsMap
const& constitutive_relations,
33 std::size_t
const element_id)
36 if (constitutive_relations.size() > 1 && material_ids ==
nullptr)
39 "There are {} constitutive relations provided in the project file "
40 "but no MaterialIDs could be found in the mesh.",
41 constitutive_relations.size());
44 int const material_id = ((constitutive_relations.size() == 1 &&
45 constitutive_relations.begin()->first == 0) ||
46 material_ids ==
nullptr)
48 : (*material_ids)[element_id];
50 auto const constitutive_relation = constitutive_relations.find(material_id);
51 if (constitutive_relation == end(constitutive_relations))
54 "No constitutive relation found for material id {:d} and element "
55 "{:d}. There are {:d} constitutive relations available, "
56 "corresponding to the ids: {}",
57 material_id, element_id, constitutive_relations.size(),
58 fmt::join(constitutive_relations | ranges::views::keys,
" "));
61 if (constitutive_relation->second ==
nullptr)
64 "The constitutive relation found for material id {:d} and element "
65 "{:d} is a nullptr, which is impossible.",
66 material_id, element_id);
69 return *constitutive_relation->second;