BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_CutProcessorManual.hpp
Go to the documentation of this file.
1
/*
2
* BELFEM -- The Berkeley Lab Finite Element Framework
3
* Copyright (c) 2026, The Regents of the University of California,
4
* through Lawrence Berkeley National Laboratory (subject to receipt of any required
5
* approvals from the U.S. Dept. of Energy). All rights reserved.
6
*
7
* Developers: Christian Messe, Gregory Giard
8
*
9
* See the top-level LICENSE file for the complete license and disclaimer.
10
*/
11
12
#ifndef CL_CUTPROCESSORMANUAL_HPP
13
#define CL_CUTPROCESSORMANUAL_HPP
14
15
#include "
typedefs.hpp
"
16
#include "
cl_Cell.hpp
"
17
#include "
cl_Vector.hpp
"
18
#include "
cl_Map.hpp
"
19
#include "
cl_Mesh.hpp
"
20
21
namespace
belfem
22
{
23
namespace
mesh
24
{
25
26
class
CutProcessorManual
27
{
28
Mesh
* mMesh ;
29
Vector< id_t >
mAirBlocks ;
30
Vector< id_t >
mCutSideSets ;
31
Vector< id_t >
mCutMasterVolumes ;
32
Cell< Node * >
mAbstractNodes ;
33
Cell< Node * >
mOriginalNodes ;
34
Cell< Node * >
mDuplicateNodes ;
35
Cell< Node * >
mOrphanNodes ;
36
Matrix< real >
mIncidentMatrix ;
37
38
struct
ManualSet
39
{
40
Node
* mAbstractNode = nullptr ;
41
Cell< Node * >
mOriginalNodes ;
42
Cell< Node * >
mDuplicateNodes ;
43
Cell< Element * >
mElements ;
44
45
};
46
Cell< ManualSet * >
mSets ;
47
48
//-----------------------------------------------------------------------------
49
public
:
50
//-----------------------------------------------------------------------------
51
CutProcessorManual
(
Mesh
* aMesh,
52
const
Vector< id_t >
& aAirBlocks,
53
const
Vector< id_t >
& aCutSideSets,
54
const
Vector< id_t >
& aCutMasterVolumes );
55
56
~CutProcessorManual
();
57
58
Cell< Node * >
&
59
abstract_nodes
();
60
61
Cell< Node * >
&
62
interface_originals
();
63
64
Cell< Node * >
&
65
interface_duplicates
();
66
67
Cell< Node * >
&
68
orphaned_nodes
();
69
70
const
Vector< id_t >
&
71
air_blocks
()
const
;
72
73
const
Matrix< real >
&
74
incident_matrix
()
const
;
75
76
private
:
77
78
ManualSet *
79
create_set(
const
index_t
aIndex,
id_t
& aMaxNodeID );
80
81
82
};
83
84
inline
Cell< Node * >
&
85
CutProcessorManual::abstract_nodes
()
86
{
87
return
mAbstractNodes;
88
}
89
90
inline
Cell< Node * >
&
91
CutProcessorManual::orphaned_nodes
()
92
{
93
return
mOrphanNodes;
94
}
95
96
inline
const
Vector<id_t>
&
CutProcessorManual::air_blocks
()
const
97
{
98
return
mAirBlocks;
99
}
100
101
inline
const
Matrix< real >
&
102
CutProcessorManual::incident_matrix
()
const
103
{
104
return
mIncidentMatrix;
105
}
106
107
}
108
}
109
#endif
//CL_CUTPROCESSORMANUAL_HPP
cl_Cell.hpp
cl_Map.hpp
cl_Mesh.hpp
cl_Vector.hpp
belfem::Cell
Cell is a wrapper around the standard vector.
Definition
cl_Cell.hpp:42
belfem::Matrix< real >
belfem::Mesh
Top-level container for all mesh entities.
Definition
cl_Mesh.hpp:60
belfem::Vector< id_t >
belfem::mesh::CutProcessorManual::orphaned_nodes
Cell< Node * > & orphaned_nodes()
Definition
cl_CutProcessorManual.hpp:91
belfem::mesh::CutProcessorManual::incident_matrix
const Matrix< real > & incident_matrix() const
Definition
cl_CutProcessorManual.hpp:102
belfem::mesh::CutProcessorManual::interface_duplicates
Cell< Node * > & interface_duplicates()
belfem::mesh::CutProcessorManual::CutProcessorManual
CutProcessorManual(Mesh *aMesh, const Vector< id_t > &aAirBlocks, const Vector< id_t > &aCutSideSets, const Vector< id_t > &aCutMasterVolumes)
Definition
cl_CutProcessorManual.cpp:21
belfem::mesh::CutProcessorManual::air_blocks
const Vector< id_t > & air_blocks() const
Definition
cl_CutProcessorManual.hpp:96
belfem::mesh::CutProcessorManual::abstract_nodes
Cell< Node * > & abstract_nodes()
Definition
cl_CutProcessorManual.hpp:85
belfem::mesh::CutProcessorManual::interface_originals
Cell< Node * > & interface_originals()
belfem::mesh::Node
Definition
cl_Node.hpp:30
belfem::mesh
Definition
cl_EF_EdgeFunction.hpp:17
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::id_t
unsigned int id_t
Definition
typedefs.hpp:41
belfem::index_t
uint32_t index_t
Definition
typedefs.hpp:52
typedefs.hpp
src
homology
cl_CutProcessorManual.hpp
Generated by
1.18.0