OGS
MaterialSpatialDistributionMap.cpp
Go to the documentation of this file.
1
12
#include "
MaterialSpatialDistributionMap.h
"
13
14
#include "
MeshLib/Mesh.h
"
15
16
namespace
MaterialPropertyLib
17
{
18
Medium
*
MaterialSpatialDistributionMap::getMedium
(std::size_t
const
element_id)
19
{
20
return
const_cast<
Medium
*
>
(
21
static_cast<
MaterialSpatialDistributionMap
const&
>
(*this).
getMedium
(
22
element_id));
23
}
24
25
Medium
const
*
MaterialSpatialDistributionMap::getMedium
(
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
34
void
MaterialSpatialDistributionMap::checkElementHasMedium
(
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
{
41
OGS_FATAL
(
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
OGS_FATAL
#define OGS_FATAL(...)
Definition
Error.h:26
MaterialSpatialDistributionMap.h
Mesh.h
Definition of the Mesh class.
MaterialPropertyLib::MaterialSpatialDistributionMap
Definition
MaterialSpatialDistributionMap.h:29
MaterialPropertyLib::MaterialSpatialDistributionMap::checkElementHasMedium
void checkElementHasMedium(std::size_t const element_id) const
Definition
MaterialSpatialDistributionMap.cpp:34
MaterialPropertyLib::MaterialSpatialDistributionMap::material_ids_
MeshLib::PropertyVector< int > const *const material_ids_
Definition
MaterialSpatialDistributionMap.h:44
MaterialPropertyLib::MaterialSpatialDistributionMap::getMedium
Medium * getMedium(std::size_t element_id)
Definition
MaterialSpatialDistributionMap.cpp:18
MaterialPropertyLib::MaterialSpatialDistributionMap::media_
std::map< int, std::shared_ptr< Medium > > const & media_
Definition
MaterialSpatialDistributionMap.h:43
MaterialPropertyLib::Medium
Definition
Medium.h:32
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:21
MaterialLib
MPL
MaterialSpatialDistributionMap.cpp
Generated by
1.10.0