OGS
HeatTransportBHE/BHE/MeshUtils.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 <cstddef>
7
#include <unordered_map>
8
#include <vector>
9
10
#include "
BHETypes.h
"
11
12
namespace
MeshLib
13
{
14
class
Element
;
15
class
Mesh
;
16
class
Node
;
17
}
// namespace MeshLib
18
19
namespace
ProcessLib
20
{
21
namespace
HeatTransportBHE
22
{
23
/* TODO (naumov) Just an idea
24
struct BheMeshSubset
25
{
26
int material_id;
27
std::vector<MeshLib::Element*> elements;
28
std::vector<MeshLib::Node*> nodes;
29
};
30
*/
31
32
struct
BHEMeshData
33
{
34
std::vector<int>
BHE_mat_IDs
;
35
std::vector<std::vector<MeshLib::Element*>>
BHE_elements
;
36
std::vector<std::vector<MeshLib::Node*>>
BHE_nodes
;
37
std::vector<std::vector<MeshLib::Node*>>
BHE_topology_ordered_nodes
;
38
std::unordered_map<std::size_t, double>
BHE_element_distances_from_wellhead
;
39
std::unordered_map<std::size_t, int>
BHE_element_section_indices
;
40
41
void
updateElementSectionIndices
(std::vector<BHE::BHETypes>
const
& bhes);
42
43
// TODO (naumov) Just an idea: std::vector<BheMeshSubset> mesh_subsets;
44
};
45
53
BHEMeshData
getBHEDataInMesh
(
MeshLib::Mesh
const
& mesh);
54
}
// end of namespace HeatTransportBHE
55
}
// namespace ProcessLib
BHETypes.h
MeshLib::Element
Definition
Element.h:25
MeshLib::Mesh
Definition
Mesh.h:34
MeshLib::Node
Definition
Node.h:21
MeshLib
Definition
ProjectData.h:26
ProcessLib::HeatTransportBHE
Definition
BHE_1P.cpp:16
ProcessLib::HeatTransportBHE::getBHEDataInMesh
BHEMeshData getBHEDataInMesh(MeshLib::Mesh const &mesh)
Definition
HeatTransportBHE/BHE/MeshUtils.cpp:215
ProcessLib
Definition
ProjectData.h:36
ProcessLib::HeatTransportBHE::BHEMeshData
Definition
HeatTransportBHE/BHE/MeshUtils.h:33
ProcessLib::HeatTransportBHE::BHEMeshData::BHE_nodes
std::vector< std::vector< MeshLib::Node * > > BHE_nodes
Definition
HeatTransportBHE/BHE/MeshUtils.h:36
ProcessLib::HeatTransportBHE::BHEMeshData::BHE_element_section_indices
std::unordered_map< std::size_t, int > BHE_element_section_indices
Definition
HeatTransportBHE/BHE/MeshUtils.h:39
ProcessLib::HeatTransportBHE::BHEMeshData::BHE_elements
std::vector< std::vector< MeshLib::Element * > > BHE_elements
Definition
HeatTransportBHE/BHE/MeshUtils.h:35
ProcessLib::HeatTransportBHE::BHEMeshData::BHE_topology_ordered_nodes
std::vector< std::vector< MeshLib::Node * > > BHE_topology_ordered_nodes
Definition
HeatTransportBHE/BHE/MeshUtils.h:37
ProcessLib::HeatTransportBHE::BHEMeshData::updateElementSectionIndices
void updateElementSectionIndices(std::vector< BHE::BHETypes > const &bhes)
Definition
HeatTransportBHE/BHE/MeshUtils.cpp:302
ProcessLib::HeatTransportBHE::BHEMeshData::BHE_mat_IDs
std::vector< int > BHE_mat_IDs
Definition
HeatTransportBHE/BHE/MeshUtils.h:34
ProcessLib::HeatTransportBHE::BHEMeshData::BHE_element_distances_from_wellhead
std::unordered_map< std::size_t, double > BHE_element_distances_from_wellhead
Definition
HeatTransportBHE/BHE/MeshUtils.h:38
ProcessLib
HeatTransportBHE
BHE
MeshUtils.h
Generated by
1.14.0