12#ifndef BELFEM_CL_IWG_HPP
13#define BELFEM_CL_IWG_HPP
29#define BELFEM_MAX_DOFTYPES 32
30#define BELFEM_MAX_NUMPROCS 128
54 class BoundaryCondition ;
798 const uint aDirection,
950 const string & aFieldLabel );
966 const string & aFieldLabel,
978 const string & aFieldLabel,
987 const string & aEdgeFieldLabel,
995 const string & aEdgeFieldLabel,
996 const string & aFaceFieldLabel,
1004 const string & aFieldLabel,
1013 doftype(
const string & aDofLabel )
const ;
1120 const bool aHaveStiffness=
true );
1223 create_doftype_map() ;
1228 concatenate_field_lists();
1233 create_block_dof_tables(
const uint aNumBlocks );
1238 create_sideset_dof_tables(
const uint aNumSideSets );
1243 count_sideset_dofs_per_sideset(
1248 const bool aUseBitset );
1319 inline const string &
1458 return aSideSetOnly ?
1468 return aSideSetOnly ?
1478 return aSideSetOnly ?
1488 return aSideSetOnly ?
1562 return aMesh ==
nullptr ? 1 : 0 ;
1632 inline const string &
Compile-time fixed-size bitset.
Definition cl_Bitset.hpp:32
size_t size() const
Definition cl_Cell.hpp:189
bool key_exists(const Key &aKey) const
Definition cl_Map.hpp:161
Base class for all materials in BELFEM.
Definition cl_Material.hpp:270
Top-level container for all mesh entities.
Definition cl_Mesh.hpp:60
Definition cl_FEM_Block.hpp:35
Definition cl_FEM_Calculator.hpp:596
abstract interface of the dof manager as seen by the group classes and the IWG; DofManager is its onl...
Definition cl_FEM_DofManagerBase.hpp:44
Definition cl_FEM_Element.hpp:41
Definition cl_FEM_Group.hpp:45
bool compute_jacobian_on_block() const
Definition cl_IWG.hpp:1625
uint mTimeLoop
value for timeloop, needed if we don't want to write every timestep
Definition cl_IWG.hpp:103
bool mEnrichSideSets
Definition cl_IWG.hpp:100
virtual void custom_postprocess()
Definition cl_IWG.cpp:2106
Cell< DofTable * > mSideSetOnlyDofs
Definition cl_IWG.hpp:249
IwgMode mode() const
Definition cl_IWG.cpp:210
uint number_of_dofs_per_node() const
TODO(cm): retire number_of_dofs_per_node() for the block-scoped overload below.
Definition cl_IWG.cpp:696
virtual void compute_boundary_flux_matrix(Element *aElement, const uint aDirection, Matrix< real > &aJacobian)
special function to compute the boundary flux in magnetics impose zero as weak BC
Definition cl_IWG.cpp:1591
uint mNumberOfNodesPerMaster
Definition cl_IWG.hpp:163
void collect_lambda_data(Element *aElement, const string &aFieldLabel, real &aData)
Definition cl_IWG.cpp:955
index_t cell_multiplicity() const
tells how many dofs sit on one cell
Definition cl_IWG.hpp:1432
DomainType block_type(const id_t aID) const
Definition cl_IWG.cpp:1972
void count_dofs_per_block()
Definition cl_IWG.cpp:1429
uint mNumberOfThinShellLayers
Definition cl_IWG.hpp:150
const Vector< index_t > & dofs_per_cell_on_sideset(const id_t, const bool aSideSetOnly=false) const
Definition cl_IWG.hpp:1486
Vector< index_t > mNodesOnWettedSidesets
Definition cl_IWG.hpp:208
Cell< string > mOtherFields
Definition cl_IWG.hpp:191
Vector< index_t > mDefaultDofTypes
Definition cl_IWG.hpp:230
bool compute_jacobian_on_sideset() const
Definition cl_IWG.hpp:1616
void detach_field(const DofManagerBase *aField)
forgets aField if it is the linked one.
Definition cl_IWG.cpp:721
Cell< mesh::Node * > mOrphanedNodes
nodes that belong to no active element but still carry a phi dof ( see Mesh::orphaned_nodes() )
Definition cl_IWG.hpp:297
uint & time_loop()
Definition cl_IWG.hpp:1641
Map< DomainType, GroupActivationMode > mBlockActivationModes
maps domain types to activation modes for blocks
Definition cl_IWG.hpp:282
Vector< real > mPenalty
Definition cl_IWG.hpp:93
uint mNumberOfEdgeDofsPerElement
Definition cl_IWG.hpp:176
virtual void compute_jacobian(Element *aElement, Matrix< real > &aJacobian)
The caller provides aJacobian, sized number_of_dofs_per_element() squared, in the element's local dof...
Definition cl_IWG.cpp:287
Cell< string > mTensorFields
Definition cl_IWG.hpp:188
SolverAlgorithm algorithm() const
returns the solver algorithm
Definition cl_IWG.hpp:1593
Cell< string > mDofFields
Definition cl_IWG.hpp:182
index_t number_of_fields() const
Definition cl_IWG.hpp:1328
Vector< id_t > mWettedSidesets
Definition cl_IWG.hpp:202
const string & field(const index_t aIndex) const
Definition cl_IWG.hpp:1320
Cell< string > mFluxFields
Definition cl_IWG.hpp:185
const Cell< string > & flux_fields() const
Definition cl_IWG.hpp:1288
const Vector< id_t > & selected_sidesets() const
returns the list of selected sidesets
Definition cl_IWG.hpp:1263
DofTable mAbstractNodeTable
Definition cl_IWG.hpp:302
virtual void compute_rhs(Element *aElement, Vector< real > &aRHS)
Definition cl_IWG.cpp:297
uint mNumberOfEdgesPerElement
Definition cl_IWG.hpp:166
uint mNumberOfNodesPerSlave
Definition cl_IWG.hpp:164
uint mNumberOfDofsPerFace
Definition cl_IWG.hpp:147
const SideSetDofLinkMode mSideSetDofLinkMode
mode how sidesets are linked
Definition cl_IWG.hpp:131
DomainType sideset_type(const id_t aID) const
Definition cl_IWG.cpp:1987
Map< id_t, DomainType > mSideSetTypes
links sideset IDs with the designated types
Definition cl_IWG.hpp:276
Cell< DofTable * > mSideSetDofs
contains the sideset dofs
Definition cl_IWG.hpp:245
Cell< string > mHiddenFields
Definition cl_IWG.hpp:196
void select_sidesets(const Vector< id_t > &aSidesetIDs)
the sidesets are selected over the IWG object.
Definition cl_IWG.cpp:264
void delete_block_dof_tables()
Definition cl_IWG.cpp:1688
virtual void reset_fields()
called by main file to copy fields from last timestep eg.
Definition cl_IWG.cpp:1680
Map< id_t, DomainType > mBlockTypes
Definition cl_IWG.hpp:273
const Cell< string > & all_fields() const
Definition cl_IWG.hpp:1312
uint get_field_index(const uint aDofType) const
Definition cl_IWG.hpp:1692
Cell< string > mAllFields
Definition cl_IWG.hpp:193
void unique_and_rearrange(Cell< string > &aDofs, const bool aMakeMap=false)
makes sure that dof list is unique and also creares dofmap must be accessible by Mawell_FieldList as ...
Definition cl_IWG.cpp:1721
uint mNumberOfNodesPerElement
Definition cl_IWG.hpp:162
virtual void allocate_work_matrices(Group *aGroup)
Sizes the group's node-coordinate work matrix before its element loop.
Definition cl_IWG.cpp:972
GroupActivationMode block_activation_mode(const DomainType aType) const
returns the activation mode for a block based on its domain type
Definition cl_IWG.cpp:2014
uint mNumberOfRhsEdgeDofsPerElement
Definition cl_IWG.hpp:179
bool has_convection() const
tells if this field has an alpha boundary condition
Definition cl_IWG.hpp:1271
void set_sidesets(const Vector< id_t > &aSideSetIDs, const Cell< DomainType > &aSideSetTypes)
Definition cl_IWG.cpp:1620
void collect_node_data(Element *aElement, Cell< string > &aFieldLabels, Matrix< real > &aData)
The caller pre-sizes aData.
Definition cl_IWG.cpp:732
Map< uint, uint > mDofFieldMap
Definition cl_IWG.hpp:227
void set_algorithm(const SolverAlgorithm aAlgorithm)
sets the mode for the solver algorithm
Definition cl_IWG.cpp:82
bool mComputeJacobianOnSideset
Definition cl_IWG.hpp:112
SymmetryMode mSymmetryMode
needed for the solver
Definition cl_IWG.hpp:125
uint number_of_edges_per_element(SideSet *aSideSet) const
Definition cl_IWG.cpp:536
uint number_of_lambda_dofs(const id_t aSideSetID) const
Definition cl_IWG.cpp:684
IwgType type() const
Definition cl_IWG.cpp:194
index_t edge_field_index(const index_t aDofType) const
Definition cl_IWG.hpp:1520
Calculator * mCalc
Definition cl_IWG.hpp:140
void delete_boundary_conditions()
Reserved; not defined and not called by the destructor.
bool enrich_sidesets() const
Definition cl_IWG.hpp:1552
uint number_of_dofs_per_node_on_sideset(const id_t aSideSetID) const
Definition cl_IWG.hpp:1360
Map< string, uint > mDofMap
Definition cl_IWG.hpp:262
Cell< Vector< index_t > > mDofsPerSideSet
Definition cl_IWG.hpp:239
uint number_of_faces_per_element(SideSet *aSideSet) const
Definition cl_IWG.cpp:568
const Vector< index_t > & default_dof_types() const
Definition cl_IWG.hpp:1512
virtual void set_timestepping_method(const EulerMethod aMethod, const bool aHaveStiffness=true)
Definition cl_IWG.cpp:2046
void set_num_rhs_cols(const uint &aNumRhsCols)
special function, must be called before init->jacobian() is called
Definition cl_IWG.cpp:104
index_t mAbstractDofType
Definition cl_IWG.hpp:303
virtual void initialize()
Definition cl_IWG.cpp:1097
const ModelDimensionality mDimensionality
this enum tells which dimensionality we have
Definition cl_IWG.hpp:118
Cell< DofTable * > mBlockDofs
contains the block dofs
Definition cl_IWG.hpp:242
Vector< real > mNormal2D
TODO(cm): mNormal2D and mNormal3D have no reader; delete both.
Definition cl_IWG.hpp:288
void set_omega(const real &aOmega)
All ranks must call it.
Definition cl_IWG.cpp:1003
virtual bool has_edge_dofs() const
flag telling if the IWG has edge dofs
Definition cl_IWG.hpp:1569
virtual int check_mesh(Mesh *aMesh, const proc_t aMasterRank=0)
This routine makes sure that the mesh fulfills the requirements.
Definition cl_IWG.hpp:1560
const Vector< index_t > & dofs_per_edge(const id_t aBlockID) const
Definition cl_IWG.hpp:1400
Vector< id_t > mBlockIDs
Definition cl_IWG.hpp:214
Vector< id_t > mSideSetIDs
Definition cl_IWG.hpp:217
Group * mGroup
Definition cl_IWG.hpp:139
bool mIsInitialized
flag telling if we have been initialized
Definition cl_IWG.hpp:96
virtual void link_to_group(Group *aGroup)
The IWG borrows the group, its calculator and the pointers reachable from them.
Definition cl_IWG.cpp:353
void select_blocks(const Vector< id_t > &aBlockIDs)
the blocks are selected over the IWG object.
Definition cl_IWG.cpp:241
virtual uint timestepping_order() const
Definition cl_IWG.cpp:2090
const Vector< index_t > & dofs_per_face_on_sideset(const id_t aSideSetID, const bool aSideSetOnly=false) const
Definition cl_IWG.hpp:1476
bool mComputeJacobianOnBlock
Definition cl_IWG.hpp:105
void select_block(const id_t aBlockID)
Definition cl_IWG.cpp:218
const IwgMode mMode
this enum tells if we have to perform a Newton-Raphson
Definition cl_IWG.hpp:121
uint mNumberOfFacesPerElement
Definition cl_IWG.hpp:167
const Cell< string > & tensor_fields() const
special purpose if RHS is a matrix
Definition cl_IWG.hpp:1296
real penalty(const uint aIndex) const
Definition cl_IWG.hpp:1344
Map< id_t, index_t > mBlockIndices
Definition cl_IWG.hpp:220
Map< string, uint > mDofTypeMap
Definition cl_IWG.hpp:226
Map< DomainType, GroupActivationMode > mSideSetActivationModes
maps domain types to activation modes for sidesets
Definition cl_IWG.hpp:285
uint mNumberOfRhsCols
Definition cl_IWG.hpp:199
void set_interpolation_type(const InterpolationType aType)
Definition cl_IWG.hpp:1649
uint mNumberOfDerivativeDimensions
Definition cl_IWG.hpp:159
index_t mCellDofMultiplicity
Definition cl_IWG.hpp:259
void collect_edge_data(Element *aElement, const string &aEdgeFieldLabel, Vector< real > &aData)
Definition cl_IWG.cpp:869
virtual void compute_mkf(Element *aElement)
Definition cl_IWG.cpp:326
const Vector< index_t > & dofs_per_node(const id_t aBlockID) const
Definition cl_IWG.hpp:1392
const Vector< index_t > & dofs_per_edge_on_sideset(const id_t aSideSetID, const bool aSideSetOnly=false) const
Definition cl_IWG.hpp:1466
const Vector< index_t > & dofs_per_node_on_sideset(const id_t aSideSetID, const bool aSideSetOnly=false) const
Definition cl_IWG.hpp:1456
uint lambda_multiplicity() const
if this number is > 0, we have langrande dofs such as contact
Definition cl_IWG.hpp:1577
IWG & operator=(const IWG &)=delete
virtual TimestepMatrices * matrices()
A timestep IWG returns the work matrices it owns.
Definition cl_IWG.cpp:334
index_t abstract_dof_type() const
Definition cl_IWG.hpp:1680
InterpolationType interpolation_type() const
Definition cl_IWG.hpp:1657
index_t edge_multiplicity() const
tells how many dofs sit on one edge
Definition cl_IWG.hpp:1416
Calculator * calc()
The group's calculator, borrowed and re-pointed by every link_to_group().
Definition cl_IWG.hpp:1665
virtual void shift_fields()
called by main file to copy fields into last timestep eg.
Definition cl_IWG.cpp:1672
void add_fields(const Cell< string > &aFieldLabels)
add additional non-dof fields to mOtherFields and mAllFields; a label "alpha" also sets mHasConvectio...
Definition cl_IWG.cpp:1050
const Vector< id_t > & wetted_sidesets() const
Definition cl_IWG.cpp:186
Cell< Dof * > mAbstractNodeDofs
list with special dofs that sit on abstract nodes
Definition cl_IWG.hpp:300
const Vector< index_t > & dofs_per_face(const id_t aBlockID) const
Definition cl_IWG.hpp:1408
Map< id_t, index_t > mSideSetIndices
Definition cl_IWG.hpp:223
virtual void compute_alpha_boundary_condition(Element *aElement, Matrix< real > &aJacobian, Vector< real > &aRHS)
Definition cl_IWG.cpp:1085
virtual void compute_convection(Element *aElement, Vector< real > &aConvection)
Definition cl_IWG.cpp:343
Vector< real > mNormal3D
Definition cl_IWG.hpp:289
real & delta_time()
Definition cl_IWG.cpp:1042
Vector< index_t > mDofEntityTypes
Definition cl_IWG.hpp:233
Vector< index_t > mFaceFieldIndices
Definition cl_IWG.hpp:252
const Vector< index_t > & dofs_per_sideset(const id_t aSidesetID) const
intended to be used for interface dof creation
Definition cl_IWG.hpp:1536
uint number_of_dofs_per_cell(const id_t aBlockID) const
Definition cl_IWG.hpp:1384
real omega() const
The Newton relaxation factor, dimensionless; 1 is an undamped step.
Definition cl_IWG.hpp:1336
real mOmega
Definition cl_IWG.hpp:90
Map< id_t, DomainType > mSideSetSubTypes
links sideset IDs with the designated types
Definition cl_IWG.hpp:279
virtual void collect_abstract_node_dofs()
Definition cl_IWG.cpp:2054
virtual void create_custom_vectors_and_matrices(Calculator *aCalc)
Definition cl_IWG.cpp:2098
uint mNumberOfRhsDofsPerFace
Definition cl_IWG.hpp:149
virtual void init_activation_maps()
populates the activation mode maps for blocks and sidesets based on domain types.
Definition cl_IWG.cpp:2002
uint num_rhs_cols() const
Definition cl_IWG.cpp:704
virtual void assign_dofs_per_block(const Vector< id_t > &aBlockIDs)
this function assumes that all blocks are treated equally.
Definition cl_IWG.cpp:1411
real mDeltaTime
Definition cl_IWG.hpp:205
const Vector< index_t > & lambda_dofs(const id_t aSideSetID) const
Definition cl_IWG.hpp:1496
const Vector< id_t > & selected_blocks() const
returns the list of selected blocks
Definition cl_IWG.hpp:1255
Mesh * mMesh
Definition cl_IWG.hpp:137
virtual void set_wetted_sidesets(const Vector< id_t > &aSideSets)
Definition cl_IWG.cpp:112
index_t face_field_index(const index_t aDofType) const
Definition cl_IWG.hpp:1528
const Cell< string > & dof_fields() const
Definition cl_IWG.hpp:1279
void collect_nodes_on_wetted_sitdesets(Mesh *aMesh, const Vector< id_t > &aSideSets)
populate the node indices for the nodes that sit on wetted sidesets
Definition cl_IWG.cpp:145
void hide_fields_from_exodus(Mesh *aMesh)
hides fields that are not to be saved to exodus
Definition cl_IWG.cpp:1658
index_t mLambdaDofMultiplicity
Definition cl_IWG.hpp:260
uint mNumberOfNodeDofsPerElement
Definition cl_IWG.hpp:173
uint mNumberOfSpatialDimensions
Definition cl_IWG.hpp:156
void set_blocks(const Vector< id_t > &aBlockIDs, const Cell< DomainType > &aBlockTypes)
Definition cl_IWG.cpp:1603
SideSetDofLinkMode sideset_dof_link_mode() const
return the dof linking mode for sideset
Definition cl_IWG.hpp:1585
const IwgType mType
this enum tells which equation object is used
Definition cl_IWG.hpp:115
const Vector< index_t > & dofs_per_cell(const id_t aBlockID) const
Definition cl_IWG.hpp:1440
void count_dofs_per_sideset()
Definition cl_IWG.cpp:1528
uint doftype(const string &aDofLabel) const
return the type id of a dof
Definition cl_IWG.hpp:1601
ModelDimensionality model_dimensionality() const
Definition cl_IWG.cpp:202
uint mNumberOfDofsPerEdge
Definition cl_IWG.hpp:146
InterpolationType mInterpolationType
Definition cl_IWG.hpp:291
Cell< Vector< index_t > > mDofsPerBlock
Definition cl_IWG.hpp:236
uint number_of_dofs_per_face(const id_t aBlockID) const
Definition cl_IWG.hpp:1376
Cell< mesh::Node * > mAbstractNodes
abstract nodes needed for cut BCs in MAXWELL
Definition cl_IWG.hpp:294
bool is_initialized() const
Definition cl_IWG.hpp:1544
index_t mFaceDofMultiplicity
Definition cl_IWG.hpp:258
virtual void compute_jacobian_and_rhs(Element *aElement, Matrix< real > &aJacobian, Vector< real > &aRHS)
Definition cl_IWG.cpp:317
uint mNumberOfDofsPerNode
Definition cl_IWG.hpp:145
Cell< mesh::Node * > & abstract_nodes()
Definition cl_IWG.hpp:1673
DofManagerBase * mField
Definition cl_IWG.hpp:138
Cell< mesh::Node * > & orphaned_nodes()
Definition cl_IWG.hpp:1686
Vector< index_t > mEdgeFieldIndices
Definition cl_IWG.hpp:251
const DofMode mDofMode
except maxwell, most IWGs are AllBlocksEqual
Definition cl_IWG.hpp:128
index_t face_multiplicity() const
tells how many dofs sit on one face
Definition cl_IWG.hpp:1424
SolverAlgorithm mSolverAlgorithm
Definition cl_IWG.hpp:135
virtual void assign_dofs_per_sideset(const Vector< id_t > &aSideSetIDs)
this function assumes that all sidesets are treated equally.
Definition cl_IWG.cpp:1420
void set_penalty(const real aPsi, const uint aIndex=0)
All ranks must call it.
Definition cl_IWG.cpp:1015
uint mNumberOfRhsDofsPerEdge
Definition cl_IWG.hpp:148
virtual uint number_of_dofs_per_element(Block *aBlock) const
Definition cl_IWG.cpp:475
void set_abstract_nodes(Cell< mesh::Node * > &aNodes)
Definition cl_IWG.cpp:1027
void delete_sideset_dof_tables()
Definition cl_IWG.cpp:1700
uint number_of_nodes_per_element(SideSet *aSideSet) const
Definition cl_IWG.cpp:491
bool mHasConvection
Definition cl_IWG.hpp:211
virtual void set_field(DofManagerBase *aField)
Definition cl_IWG.cpp:712
void print_dofs(Element *aElement, const bool aLocal=false)
for debugging
Definition cl_IWG.cpp:1888
const string & dof_label(const index_t aDofIndex)
for debugging
Definition cl_IWG.hpp:1633
SymmetryMode symmetry_mode() const
flag telling if matrices are symmetric
Definition cl_IWG.cpp:96
uint number_of_dofs_per_edge(const id_t aBlockID) const
Definition cl_IWG.hpp:1368
virtual EulerMethod method() const
Definition cl_IWG.cpp:2082
index_t mEdgeDofMultiplicity
Definition cl_IWG.hpp:257
void set_abstract_dof_type(const uint aDofType)
Definition cl_IWG.cpp:2074
const Material * mMaterial
Definition cl_IWG.hpp:142
GroupActivationMode sideset_activation_mode(const DomainType aType) const
returns the activation mode for a sideset based on its domain type
Definition cl_IWG.cpp:2030
const Cell< string > & other_fields() const
Definition cl_IWG.hpp:1304
const Vector< index_t > & dof_entity_types() const
Definition cl_IWG.hpp:1504
uint mNumberOfDofsPerElement
Definition cl_IWG.hpp:171
Cell< string > mDofLabels
needed for debug output
Definition cl_IWG.hpp:265
void set_orphaned_nodes(Cell< mesh::Node * > &aNodes)
Definition cl_IWG.cpp:1034
const proc_t mCommRank
Definition cl_IWG.hpp:87
void collect_node_coords(Element *aElement, Matrix< real > &aX)
Sizes aX to number_of_nodes x mNumberOfSpatialDimensions, the problem dimension the derived IWG's con...
Definition cl_IWG.cpp:1637
IWG & operator=(IWG &&)=delete
Definition cl_FEM_SideSet.hpp:64
Container for element-level DENSE matrices in transient nonlinear FEM.
Definition cl_TimestepMatrices.hpp:71
SolverAlgorithm
Definition en_FEM_SolverAlgorithm.hpp:20
@ UNDEFINED
Definition en_FEM_SolverAlgorithm.hpp:24
SideSetDofLinkMode
how the dofs of a sideset element are linked to its facet, master and slave elements ( six modes plus...
Definition en_IWG_SideSetDofLinkMode.hpp:25
@ FacetOnly
Definition en_IWG_SideSetDofLinkMode.hpp:26
GroupActivationMode
Defines how a fem::Block or fem::SideSet is activated based on its DomainType.
Definition en_FEM_GroupActivationMode.hpp:26
USER GUIDES:
Definition cl_Capacitor.cpp:16
IwgMode
Definition en_IWGs.hpp:81
@ Iterative
Definition en_IWGs.hpp:83
IwgType
Definition en_IWGs.hpp:64
InterpolationType
Definition Mesh_Enums.hpp:99
@ LAGRANGE
Definition Mesh_Enums.hpp:100
EulerMethod
Definition en_SolverEnums.hpp:47
DofMode
Definition cl_IWG.hpp:38
@ BlockSpecific
Definition cl_IWG.hpp:40
@ AllBlocksEqual
Definition cl_IWG.hpp:39
unsigned int uint
Definition typedefs.hpp:30
unsigned int id_t
Definition typedefs.hpp:41
ModelDimensionality
Definition en_IWGs.hpp:20
int proc_t
Definition commtypes.hpp:29
constexpr index_t gNoIndex
Definition typedefs.hpp:57
SymmetryMode
Definition en_SolverEnums.hpp:36
@ Unsymmetric
Definition en_SolverEnums.hpp:37
uint32_t index_t
Definition typedefs.hpp:52
double real
Definition typedefs.hpp:36
DomainType
Definition en_DomainType.hpp:20
the dof table contains the dofs per block and sideset
Definition cl_IWG.hpp:63
Vector< index_t > Cell
Definition cl_IWG.hpp:67
Vector< index_t > Node
Definition cl_IWG.hpp:64
Vector< index_t > Face
Definition cl_IWG.hpp:66
Vector< index_t > Edge
Definition cl_IWG.hpp:65
Vector< index_t > Lambda
Definition cl_IWG.hpp:68
#define BELFEM_UINT_MAX
Definition typedefs.hpp:79