BELFEM
0.9.3
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_EF_TET4.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 BELFEM_CL_EF_TET4_HPP
13
#define BELFEM_CL_EF_TET4_HPP
14
15
16
#include "
nedelec/cl_EF_EdgeFunction.hpp
"
17
#include "
cl_FEM_Element.hpp
"
18
19
namespace
belfem
20
{
21
namespace
fem
22
{
23
class
Element
;
24
25
class
EF_TET4
:
public
EdgeFunction
26
{
27
real
mNablaXi[ 3 ];
28
real
mNablaEta[ 3 ];
29
real
mNablaZeta[ 3 ];
30
real
mNablaTau[ 3 ];
31
real
mS[ 6 ];
32
33
Matrix< real >
mG ;
34
Matrix< real >
mH ;
35
36
//------------------------------------------------------------------------------
37
public
:
38
//------------------------------------------------------------------------------
39
43
EF_TET4
();
44
45
//------------------------------------------------------------------------------
46
50
~EF_TET4
()
override
=
default
;
51
52
//------------------------------------------------------------------------------
53
58
void
59
link
(
Element
* aElement )
override
;
60
61
//------------------------------------------------------------------------------
62
63
void
64
precompute
(
const
Matrix< real >
& aXi )
override
;
65
66
//------------------------------------------------------------------------------
67
68
// compute the edge function
69
const
Matrix< real >
&
70
E
(
const
uint
aIndex )
override
;
71
72
//------------------------------------------------------------------------------
73
74
// compute the curl function
75
const
Matrix< real >
&
76
C
(
const
uint
aIndex = 0 )
override
;
77
78
//------------------------------------------------------------------------------
79
85
const
Matrix< real >
&
86
G
(
const
uint
aIndex = 0 )
override
;
87
88
//------------------------------------------------------------------------------
89
} ;
90
91
//------------------------------------------------------------------------------
92
93
inline
const
Matrix< real >
&
94
EF_TET4::C
(
const
uint
aIndex )
95
{
96
return
mC
;
97
}
98
99
//------------------------------------------------------------------------------
100
101
inline
const
Matrix< real >
&
102
EF_TET4::G
(
const
uint
aIndex )
103
{
104
return
mGrad
;
105
}
106
107
//------------------------------------------------------------------------------
108
}
/* end namespace fem */
109
}
/* end namespace belfem */
110
#endif
//BELFEM_CL_EF_TET4_HPP
cl_EF_EdgeFunction.hpp
cl_FEM_Element.hpp
belfem::Matrix< real >
belfem::fem::EF_TET4::C
const Matrix< real > & C(const uint aIndex=0) override
Definition
cl_EF_TET4.hpp:94
belfem::fem::EF_TET4::E
const Matrix< real > & E(const uint aIndex) override
Definition
cl_EF_TET4.cpp:211
belfem::fem::EF_TET4::EF_TET4
EF_TET4()
constructor
Definition
cl_EF_TET4.cpp:22
belfem::fem::EF_TET4::precompute
void precompute(const Matrix< real > &aXi) override
only needed for higher order elements
Definition
cl_EF_TET4.cpp:178
belfem::fem::EF_TET4::link
void link(Element *aElement) override
links the shape function with the element and precomputes data
Definition
cl_EF_TET4.cpp:37
belfem::fem::EF_TET4::G
const Matrix< real > & G(const uint aIndex=0) override
gradient operator for h-field ( constant for this element, filled in link(); layout contract in EdgeF...
Definition
cl_EF_TET4.hpp:102
belfem::fem::EF_TET4::~EF_TET4
~EF_TET4() override=default
trivial destructor
belfem::fem::EdgeFunction::mGrad
Matrix< real > mGrad
Definition
cl_EF_EdgeFunction.hpp:97
belfem::fem::EdgeFunction::EdgeFunction
EdgeFunction()=default
trivial constructor
belfem::fem::EdgeFunction::mC
Matrix< real > mC
matrix containing the curl for the H-Function
Definition
cl_EF_EdgeFunction.hpp:60
belfem::fem::Element
Definition
cl_FEM_Element.hpp:41
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::real
double real
Definition
typedefs.hpp:36
src
fem
interpolation
nedelec
cl_EF_TET4.hpp
Generated by
1.18.0