BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
st_ProtoMesh.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, through
4 * 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 BELFEM_ST_PROTOMESH_HPP
13#define BELFEM_ST_PROTOMESH_HPP
14
15#include "typedefs.hpp"
16#include "cl_Cell.hpp"
17#include "cl_Matrix.hpp"
18#include "cl_Map.hpp"
19#include "Mesh_Enums.hpp"
20#include "en_DomainType.hpp"
21
22namespace belfem
23{
24 namespace mesh
25 {
26 namespace proto
27 {
50
58
66
76
86
95
102
113
121
127
136
137 /*struct SourceData
138 {
139 Cell< id_t > mNodeData ;
140 Cell< id_t > mEdgeData ;
141 Cell< id_t > mFaceData ;
142 Cell< id_t > mElementData ;
143 Cell< id_t > mFacetData ;
144 };*/
145
162
178
179 // todo: Still missing: CurveData
180 // todo: Still missing: function to provide tables to Kernel
181
182 }
183 }
184}
185#endif //BELFEM_ST_PROTOMESH_HPP
Definition st_ProtoMesh.hpp:27
Definition cl_EF_EdgeFunction.hpp:17
USER GUIDES:
Definition cl_Capacitor.cpp:16
constexpr id_t gNoID
Definition typedefs.hpp:58
unsigned int uint
Definition typedefs.hpp:30
unsigned int id_t
Definition typedefs.hpp:41
ElementType
Element types.
Definition Mesh_Enums.hpp:27
@ EMPTY
Definition Mesh_Enums.hpp:28
uint32_t index_t
Definition typedefs.hpp:52
double real
Definition typedefs.hpp:36
DomainType
Definition en_DomainType.hpp:20
@ Default
Definition en_DomainType.hpp:21
Definition st_ProtoMesh.hpp:60
Matrix< real > mCoords
Definition st_ProtoMesh.hpp:63
Cell< proc_t > mOwners
Definition st_ProtoMesh.hpp:62
Cell< id_t > mElementTopology
Definition st_ProtoMesh.hpp:64
Cell< id_t > mIDs
Definition st_ProtoMesh.hpp:61
Definition st_ProtoMesh.hpp:97
Cell< proc_t > mOwners
Definition st_ProtoMesh.hpp:99
Cell< id_t > mTopology
Definition st_ProtoMesh.hpp:100
Cell< id_t > mIDs
Definition st_ProtoMesh.hpp:98
Definition st_ProtoMesh.hpp:78
Cell< id_t > mIDs
Definition st_ProtoMesh.hpp:79
Cell< proc_t > mOwners
Definition st_ProtoMesh.hpp:80
Cell< uint > mGeometryTags
Definition st_ProtoMesh.hpp:82
Cell< id_t > mTopology
Definition st_ProtoMesh.hpp:84
Cell< uint > mPhysicalTags
Definition st_ProtoMesh.hpp:83
Cell< uchar > mTypes
Definition st_ProtoMesh.hpp:81
Definition st_ProtoMesh.hpp:88
Cell< uchar > mEdgeDirections
Definition st_ProtoMesh.hpp:92
Cell< id_t > mFaceData
Definition st_ProtoMesh.hpp:91
Cell< id_t > mEdgeData
Definition st_ProtoMesh.hpp:90
Cell< id_t > mCurvedElementIDs
Definition st_ProtoMesh.hpp:93
Cell< id_t > mNeighborData
Definition st_ProtoMesh.hpp:89
Definition st_ProtoMesh.hpp:104
Cell< uchar > mIndicesOnMaster
Definition st_ProtoMesh.hpp:109
Cell< uchar > mIndicesOnSlave
Definition st_ProtoMesh.hpp:110
Cell< id_t > mIDs
Definition st_ProtoMesh.hpp:105
Cell< id_t > mMasterIDs
Definition st_ProtoMesh.hpp:107
Cell< uchar > mOrientationsOnSlave
Definition st_ProtoMesh.hpp:111
Cell< proc_t > mOwners
Definition st_ProtoMesh.hpp:106
Cell< id_t > mSlaveIDs
Definition st_ProtoMesh.hpp:108
Definition st_ProtoMesh.hpp:115
Cell< uchar > mTypes
Definition st_ProtoMesh.hpp:116
Cell< uint > mGeometryTags
Definition st_ProtoMesh.hpp:117
Cell< id_t > mTopology
Definition st_ProtoMesh.hpp:119
Cell< uint > mPhysicalTags
Definition st_ProtoMesh.hpp:118
Definition st_ProtoMesh.hpp:123
Cell< id_t > mNeighborData
Definition st_ProtoMesh.hpp:124
Cell< id_t > mCurvedFacetIDs
Definition st_ProtoMesh.hpp:125
Definition st_ProtoMesh.hpp:147
index_t mNumElements
Definition st_ProtoMesh.hpp:149
real mThickness
Definition st_ProtoMesh.hpp:160
bool mHasFaces
Definition st_ProtoMesh.hpp:155
string mLabel
Definition st_ProtoMesh.hpp:150
id_t mID
Definition st_ProtoMesh.hpp:148
DomainType mDomainType
Definition st_ProtoMesh.hpp:152
bool mHasEdges
Definition st_ProtoMesh.hpp:154
bool mHidden
Definition st_ProtoMesh.hpp:153
ElementType mElementType
Definition st_ProtoMesh.hpp:151
Definition st_ProtoMesh.hpp:29
uint64_t mConfigTag
Definition st_ProtoMesh.hpp:47
string mGitHash
Definition st_ProtoMesh.hpp:40
string mBelfemVersion
Definition st_ProtoMesh.hpp:39
uint mNumberOfDimensions
Definition st_ProtoMesh.hpp:30
Cell< uint > mNumberOfGroups
Definition st_ProtoMesh.hpp:32
size_t mChecksum
Definition st_ProtoMesh.hpp:33
string mConfigText
Definition st_ProtoMesh.hpp:48
Cell< uint > mNumberOfEntities
Definition st_ProtoMesh.hpp:31
Definition st_ProtoMesh.hpp:52
Cell< id_t > mIDs
Definition st_ProtoMesh.hpp:53
Cell< id_t > mDuplicateData
Definition st_ProtoMesh.hpp:56
Matrix< real > mCoords
Definition st_ProtoMesh.hpp:55
Cell< proc_t > mOwners
Definition st_ProtoMesh.hpp:54
Definition st_ProtoMesh.hpp:164
Cell< id_t > mSlavePlane
Definition st_ProtoMesh.hpp:166
Cell< id_t > mMasterEdges
Definition st_ProtoMesh.hpp:171
Cell< id_t > mMasterFacets
Definition st_ProtoMesh.hpp:175
Cell< id_t > mSlaveFacets
Definition st_ProtoMesh.hpp:176
Cell< id_t > mMasterFaces
Definition st_ProtoMesh.hpp:173
Cell< id_t > mMasterNodes
Definition st_ProtoMesh.hpp:169
Cell< id_t > mMasterPlane
Definition st_ProtoMesh.hpp:165
Cell< id_t > mSlaveNodes
Definition st_ProtoMesh.hpp:170
Cell< id_t > mSlaveEdges
Definition st_ProtoMesh.hpp:172
Cell< id_t > mSlaveSideSets
Definition st_ProtoMesh.hpp:168
Cell< id_t > mSlaveFaces
Definition st_ProtoMesh.hpp:174
Cell< id_t > mMasterSideSets
Definition st_ProtoMesh.hpp:167
Definition st_ProtoMesh.hpp:68
Cell< real > mWeights
Definition st_ProtoMesh.hpp:74
Cell< index_t > mNumTargets
Definition st_ProtoMesh.hpp:69
Cell< uint > mCounters
Definition st_ProtoMesh.hpp:71
Cell< id_t > mSourceIDs
Definition st_ProtoMesh.hpp:72
Cell< id_t > mTargetIDs
Definition st_ProtoMesh.hpp:70
Cell< uchar > mTypes
Definition st_ProtoMesh.hpp:73
Definition st_ProtoMesh.hpp:129
Cell< real > mThicknesses
Definition st_ProtoMesh.hpp:133
id_t mGhostSideSetID
Definition st_ProtoMesh.hpp:131
id_t mSideSetID
Definition st_ProtoMesh.hpp:130
Cell< string > mMaterials
Definition st_ProtoMesh.hpp:134
Cell< id_t > mBlocksIDs
Definition st_ProtoMesh.hpp:132
#define BELFEM_QUIET_NAN
Definition typedefs.hpp:87