BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_FEM_Block.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
#ifndef BELFEM_CL_FEM_BLOCK_HPP
12
#define BELFEM_CL_FEM_BLOCK_HPP
13
14
#include "
cl_Mesh.hpp
"
15
#include "
cl_Block.hpp
"
16
#include "
cl_Cell.hpp
"
17
#include "
cl_FEM_Dof.hpp
"
18
#include "
cl_IF_InterpolationFunction.hpp
"
19
#include "
cl_Cell.hpp
"
20
21
#include "
cl_Vector.hpp
"
22
#include "
cl_Matrix.hpp
"
23
24
25
#include "
cl_FEM_Element.hpp
"
26
#include "
cl_FEM_Group.hpp
"
27
28
namespace
belfem
29
{
30
//------------------------------------------------------------------------------
31
32
namespace
fem
33
{
34
class
Block
:
public
Group
35
{
36
// block on mesh
37
mesh::Block
* mBlock = nullptr ;
38
39
40
//------------------------------------------------------------------------------
41
public
:
42
//------------------------------------------------------------------------------
43
44
// creates an empty block
45
Block
(
DofManagerBase
* aParent,
const
ElementType
aType =
ElementType::EMPTY
);
46
47
//------------------------------------------------------------------------------
48
49
Block
(
DofManagerBase
* aParent,
50
mesh::Block
* aBlock,
51
const
Vector< index_t >
& aOwnedElementIndices,
52
const
Vector< index_t >
& aAuraElementIndices );
53
54
//------------------------------------------------------------------------------
55
56
~Block
()
override
;
57
58
//------------------------------------------------------------------------------
59
63
mesh::Block
*
64
block
();
65
66
//------------------------------------------------------------------------------
67
68
void
69
set_integration_order
(
const
uint
aOrder );
70
71
//------------------------------------------------------------------------------
72
73
void
74
initialize_lookup_tables
(
const
uint
aIntegrationOrder )
override
;
75
76
//------------------------------------------------------------------------------
77
};
78
79
//------------------------------------------------------------------------------
80
81
inline
mesh::Block
*
82
Block::block
()
83
{
84
return
mBlock;
85
}
86
87
//------------------------------------------------------------------------------
88
}
89
}
90
91
#endif
//BELFEM_CL_FEM_BLOCK_HPP
cl_Block.hpp
cl_Cell.hpp
cl_FEM_Dof.hpp
cl_FEM_Element.hpp
cl_FEM_Group.hpp
cl_IF_InterpolationFunction.hpp
cl_Matrix.hpp
cl_Mesh.hpp
cl_Vector.hpp
belfem::Vector< index_t >
belfem::fem::Block::Block
Block(DofManagerBase *aParent, const ElementType aType=ElementType::EMPTY)
Definition
cl_FEM_Block.cpp:30
belfem::fem::Block::set_integration_order
void set_integration_order(const uint aOrder)
Definition
cl_FEM_Block.cpp:99
belfem::fem::Block::block
mesh::Block * block()
expose block object on mesh
Definition
cl_FEM_Block.hpp:82
belfem::fem::Block::initialize_lookup_tables
void initialize_lookup_tables(const uint aIntegrationOrder) override
Definition
cl_FEM_Block.cpp:116
belfem::fem::DofManagerBase
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
belfem::fem::Group::Group
Group(DofManagerBase *aParent, const GroupType aGroupType, const ElementType aElementType, const id_t aID, const index_t aNumberOfElements, const bool aOwnElements=true)
Definition
cl_FEM_Group.cpp:29
belfem::mesh::Block
Definition
cl_Block.hpp:27
belfem::fem
Definition
cl_IFB_LINE3.hpp:21
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::uint
unsigned int uint
Definition
typedefs.hpp:30
belfem::ElementType
ElementType
Element types.
Definition
Mesh_Enums.hpp:27
belfem::ElementType::EMPTY
@ EMPTY
Definition
Mesh_Enums.hpp:28
src
fem
kernel
cl_FEM_Block.hpp
Generated by
1.18.0