OGS
MaterialSpatialDistributionMap.h
Go to the documentation of this file.
1
12
#pragma once
13
14
#include <map>
15
#include <memory>
16
#include <range/v3/view.hpp>
17
#include <vector>
18
19
namespace
MeshLib
20
{
21
template
<
typename
PROP_VAL_TYPE>
22
class
PropertyVector;
23
}
// namespace MeshLib
24
25
namespace
MaterialPropertyLib
26
{
27
class
Medium;
28
29
class
MaterialSpatialDistributionMap
30
{
31
public
:
32
MaterialSpatialDistributionMap
(
33
std::map<
int
, std::shared_ptr<Medium>>
const
&
media
,
34
MeshLib::PropertyVector<int>
const
*
const
material_ids)
35
:
media_
(
media
),
material_ids_
(material_ids)
36
{
37
}
38
39
auto
media
()
const
{
return
media_
| ranges::views::values; }
40
41
Medium
*
getMedium
(std::size_t element_id);
42
Medium
const
*
getMedium
(std::size_t element_id)
const
;
43
void
checkElementHasMedium
(std::size_t
const
element_id)
const
;
44
45
private
:
46
std::map<int, std::shared_ptr<Medium>>
const
&
media_
;
47
MeshLib::PropertyVector<int>
const
*
const
material_ids_
;
48
};
49
}
// namespace MaterialPropertyLib
MaterialPropertyLib::MaterialSpatialDistributionMap
Definition
MaterialSpatialDistributionMap.h:30
MaterialPropertyLib::MaterialSpatialDistributionMap::media
auto media() const
Definition
MaterialSpatialDistributionMap.h:39
MaterialPropertyLib::MaterialSpatialDistributionMap::checkElementHasMedium
void checkElementHasMedium(std::size_t const element_id) const
Definition
MaterialSpatialDistributionMap.cpp:68
MaterialPropertyLib::MaterialSpatialDistributionMap::material_ids_
MeshLib::PropertyVector< int > const *const material_ids_
Definition
MaterialSpatialDistributionMap.h:47
MaterialPropertyLib::MaterialSpatialDistributionMap::getMedium
Medium * getMedium(std::size_t element_id)
Definition
MaterialSpatialDistributionMap.cpp:23
MaterialPropertyLib::MaterialSpatialDistributionMap::media_
std::map< int, std::shared_ptr< Medium > > const & media_
Definition
MaterialSpatialDistributionMap.h:46
MaterialPropertyLib::MaterialSpatialDistributionMap::MaterialSpatialDistributionMap
MaterialSpatialDistributionMap(std::map< int, std::shared_ptr< Medium > > const &media, MeshLib::PropertyVector< int > const *const material_ids)
Definition
MaterialSpatialDistributionMap.h:32
MaterialPropertyLib::Medium
Definition
Medium.h:32
MeshLib::PropertyVector
Definition
TwoPhaseFlowWithPrhoMaterialProperties.h:28
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:21
MeshLib
Definition
ProjectData.h:41
MaterialLib
MPL
MaterialSpatialDistributionMap.h
Generated by
1.12.0