OGS
MaterialSpatialDistributionMap.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2
// SPDX-License-Identifier: BSD-3-Clause
3
4
#pragma once
5
6
#include <map>
7
#include <memory>
8
#include <range/v3/view.hpp>
9
#include <vector>
10
11
namespace
MeshLib
12
{
13
template
<
typename
PROP_VAL_TYPE>
14
class
PropertyVector
;
15
}
// namespace MeshLib
16
17
namespace
MaterialPropertyLib
18
{
19
class
Medium
;
20
21
class
MaterialSpatialDistributionMap
22
{
23
public
:
24
MaterialSpatialDistributionMap
(
25
std::map<
int
, std::shared_ptr<Medium>>
const
&
media
,
26
MeshLib::PropertyVector<int>
const
*
const
material_ids)
27
:
media_
(
media
),
material_ids_
(material_ids)
28
{
29
}
30
31
auto
media
()
const
{
return
media_
| ranges::views::values; }
32
33
Medium
*
getMedium
(std::size_t element_id);
34
Medium
const
*
getMedium
(std::size_t element_id)
const
;
35
void
checkElementHasMedium
(std::size_t
const
element_id)
const
;
36
37
private
:
38
std::map<int, std::shared_ptr<Medium>>
const
&
media_
;
39
MeshLib::PropertyVector<int>
const
*
const
material_ids_
;
40
};
41
}
// namespace MaterialPropertyLib
MaterialPropertyLib::MaterialSpatialDistributionMap::media
auto media() const
Definition
MaterialSpatialDistributionMap.h:31
MaterialPropertyLib::MaterialSpatialDistributionMap::checkElementHasMedium
void checkElementHasMedium(std::size_t const element_id) const
Definition
MaterialSpatialDistributionMap.cpp:59
MaterialPropertyLib::MaterialSpatialDistributionMap::material_ids_
MeshLib::PropertyVector< int > const *const material_ids_
Definition
MaterialSpatialDistributionMap.h:39
MaterialPropertyLib::MaterialSpatialDistributionMap::getMedium
Medium * getMedium(std::size_t element_id)
Definition
MaterialSpatialDistributionMap.cpp:14
MaterialPropertyLib::MaterialSpatialDistributionMap::media_
std::map< int, std::shared_ptr< Medium > > const & media_
Definition
MaterialSpatialDistributionMap.h:38
MaterialPropertyLib::MaterialSpatialDistributionMap::MaterialSpatialDistributionMap
MaterialSpatialDistributionMap(std::map< int, std::shared_ptr< Medium > > const &media, MeshLib::PropertyVector< int > const *const material_ids)
Definition
MaterialSpatialDistributionMap.h:24
MaterialPropertyLib::Medium
Definition
Medium.h:24
MeshLib::PropertyVector
Definition
PropertyVector.h:52
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:98
MeshLib
Definition
ProjectData.h:30
MaterialLib
MPL
MaterialSpatialDistributionMap.h
Generated by
1.14.0