OGS
MaterialSpatialDistributionMap.cpp
Go to the documentation of this file.
1
13
14#include "MeshLib/Mesh.h"
15
16namespace MaterialPropertyLib
17{
19{
20 return const_cast<Medium*>(
21 static_cast<MaterialSpatialDistributionMap const&>(*this).getMedium(
22 element_id));
23}
24
26 std::size_t const element_id) const
27{
28 auto const material_id =
29 material_ids_ == nullptr ? 0 : (*material_ids_)[element_id];
30
31 return media_.at(material_id).get();
32}
33
35 std::size_t const element_id) const
36{
37 auto const material_id =
38 material_ids_ == nullptr ? 0 : (*material_ids_)[element_id];
39 if (media_.find(material_id) == media_.end())
40 {
42 "There is no medium definition for element {:d} with material "
43 "ID {:d}. Please define a medium for each material.",
44 element_id, material_id);
45 }
46}
47
48} // namespace MaterialPropertyLib
#define OGS_FATAL(...)
Definition Error.h:26
Definition of the Mesh class.
MeshLib::PropertyVector< int > const *const material_ids_
std::map< int, std::shared_ptr< Medium > > const & media_