BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_EF_TRI3.hpp
Go to the documentation of this file.
1
//
2
// Created by christian on 12/3/21.
3
//
4
5
#ifndef BELFEM_CL_EF_TRI3_HPP
6
#define BELFEM_CL_EF_TRI3_HPP
7
8
#include "
nedelec/cl_EF_EdgeFunction.hpp
"
9
#include "
cl_FEM_Element.hpp
"
10
11
namespace
belfem
12
{
13
namespace
fem
14
{
15
class
Element
;
16
17
class
EF_TRI3
:
public
EdgeFunction
18
{
19
// edge directions
20
real
mS[ 3 ];
21
22
// derivatives
23
real
mNablaXi[ 2 ];
24
real
mNablaEta[ 2 ];
25
real
mNablaZeta[ 2 ];
26
27
// coefficients for shape function
28
Matrix< real >
mG ;
29
Matrix< real >
mH ;
30
31
//------------------------------------------------------------------------------
32
public
:
33
//------------------------------------------------------------------------------
34
38
EF_TRI3
();
39
40
//------------------------------------------------------------------------------
41
45
~EF_TRI3
()
override
=
default
;
46
47
//------------------------------------------------------------------------------
48
49
void
50
precompute
(
const
Matrix< real >
& aXi )
override
;
51
52
//------------------------------------------------------------------------------
53
57
void
58
link
(
Element
* aElement )
override
;
59
60
//------------------------------------------------------------------------------
61
65
const
Matrix< real >
&
66
E
(
const
uint
aIndex )
override
;
67
68
//------------------------------------------------------------------------------
69
73
const
Matrix< real >
&
74
C
(
const
uint
aIndex = 0 )
override
;
75
76
//------------------------------------------------------------------------------
77
83
const
Matrix< real >
&
84
G
(
const
uint
aIndex = 0 )
override
;
85
86
//------------------------------------------------------------------------------
87
};
88
89
//------------------------------------------------------------------------------
90
91
inline
const
Matrix <real> &
92
EF_TRI3::C
(
const
uint
aIndex )
93
{
94
return
mC
;
95
}
96
97
//------------------------------------------------------------------------------
98
99
inline
const
Matrix <real> &
100
EF_TRI3::G
(
const
uint
aIndex )
101
{
102
return
mGrad
;
103
}
104
105
//------------------------------------------------------------------------------
106
}
/* end namespace fem */
107
}
/* end namespace belfem */
108
109
#endif
//BELFEM_CL_EF_TRI3_HPP
cl_EF_EdgeFunction.hpp
cl_FEM_Element.hpp
belfem::Matrix< real >
belfem::fem::EF_TRI3::EF_TRI3
EF_TRI3()
constructor
Definition
cl_EF_TRI3.cpp:17
belfem::fem::EF_TRI3::E
const Matrix< real > & E(const uint aIndex) override
interpolation operator for h-field
Definition
cl_EF_TRI3.cpp:122
belfem::fem::EF_TRI3::C
const Matrix< real > & C(const uint aIndex=0) override
curl operator for h-field
Definition
cl_EF_TRI3.hpp:92
belfem::fem::EF_TRI3::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_TRI3.hpp:100
belfem::fem::EF_TRI3::precompute
void precompute(const Matrix< real > &aXi) override
only needed for higher order elements
Definition
cl_EF_TRI3.cpp:95
belfem::fem::EF_TRI3::link
void link(Element *aElement) override
connect function with element
Definition
cl_EF_TRI3.cpp:32
belfem::fem::EF_TRI3::~EF_TRI3
~EF_TRI3() 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_TRI3.hpp
Generated by
1.18.0