BELFEM
0.9.0
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
// Created by christian on 12/3/21.
3
//
4
5
#ifndef BELFEM_CL_EF_TET4_HPP
6
#define BELFEM_CL_EF_TET4_HPP
7
8
9
#include "
nedelec/cl_EF_EdgeFunction.hpp
"
10
#include "
cl_FEM_Element.hpp
"
11
12
namespace
belfem
13
{
14
namespace
fem
15
{
16
class
Element
;
17
18
class
EF_TET4
:
public
EdgeFunction
19
{
20
real
mNablaXi[ 3 ];
21
real
mNablaEta[ 3 ];
22
real
mNablaZeta[ 3 ];
23
real
mNablaTau[ 3 ];
24
real
mS[ 6 ];
25
26
Matrix< real >
mG ;
27
Matrix< real >
mH ;
28
29
//------------------------------------------------------------------------------
30
public
:
31
//------------------------------------------------------------------------------
32
36
EF_TET4
();
37
38
//------------------------------------------------------------------------------
39
43
~EF_TET4
()
override
=
default
;
44
45
//------------------------------------------------------------------------------
46
51
void
52
link
(
Element
* aElement )
override
;
53
54
//------------------------------------------------------------------------------
55
56
void
57
precompute
(
const
Matrix< real >
& aXi )
override
;
58
59
//------------------------------------------------------------------------------
60
61
// compute the edge function
62
const
Matrix< real >
&
63
E
(
const
uint
aIndex )
override
;
64
65
//------------------------------------------------------------------------------
66
67
// compute the curl function
68
const
Matrix< real >
&
69
C
(
const
uint
aIndex = 0 )
override
;
70
71
//------------------------------------------------------------------------------
72
78
const
Matrix< real >
&
79
G
(
const
uint
aIndex = 0 )
override
;
80
81
//------------------------------------------------------------------------------
82
} ;
83
84
//------------------------------------------------------------------------------
85
86
inline
const
Matrix< real >
&
87
EF_TET4::C
(
const
uint
aIndex )
88
{
89
return
mC
;
90
}
91
92
//------------------------------------------------------------------------------
93
94
inline
const
Matrix< real >
&
95
EF_TET4::G
(
const
uint
aIndex )
96
{
97
return
mGrad
;
98
}
99
100
//------------------------------------------------------------------------------
101
}
/* end namespace fem */
102
}
/* end namespace belfem */
103
#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:87
belfem::fem::EF_TET4::E
const Matrix< real > & E(const uint aIndex) override
Definition
cl_EF_TET4.cpp:204
belfem::fem::EF_TET4::EF_TET4
EF_TET4()
constructor
Definition
cl_EF_TET4.cpp:15
belfem::fem::EF_TET4::precompute
void precompute(const Matrix< real > &aXi) override
only needed for higher order elements
Definition
cl_EF_TET4.cpp:171
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:30
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:95
belfem::fem::EF_TET4::~EF_TET4
~EF_TET4() override=default
trivial destructor
belfem::fem::EdgeFunction::mGrad
Matrix< real > mGrad
Definition
cl_EF_EdgeFunction.hpp:90
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:53
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