BELFEM
0.9.0
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_EF_QUAD4TS.hpp
Go to the documentation of this file.
1
//
2
// Created by claude on 1/11/25.
3
//
4
5
#ifndef BELFEM_CL_EF_QUAD4TS_HPP
6
#define BELFEM_CL_EF_QUAD4TS_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_QUAD4TS
:
public
EdgeFunction
18
{
19
// edge directions
20
real
mS[ 2 ];
21
22
// derivatives for line element
23
real
mNablaXi[ 2 ];
24
real
mNablaEta[ 2 ];
25
26
// normal to the line (in 2D space)
27
real
mN[ 2 ];
28
real
mDetGram ;
29
real
mThickness ;
30
real
mLength ;
31
32
// coefficients for shape function
33
Matrix< real >
mF ;
34
Matrix< real >
mG ;
35
36
// pseudo inverse (1D jacobian for line)
37
Matrix< real >
mPseudoInvJ ;
38
39
// gram matrix (1x1 for line)
40
Matrix< real >
mGram ;
41
42
// coefficient matrix
43
Matrix< real >
mCoeffs ;
44
45
// parameter matrix for curl
46
Cell< Matrix< real >
> mCurlPars ;
47
48
//------------------------------------------------------------------------------
49
public
:
50
//------------------------------------------------------------------------------
51
55
EF_QUAD4TS
();
56
57
//------------------------------------------------------------------------------
58
62
~EF_QUAD4TS
()
override
=
default
;
63
64
//------------------------------------------------------------------------------
65
66
void
67
precompute
(
const
Matrix< real >
& aXi )
override
;
68
69
//------------------------------------------------------------------------------
70
74
void
75
link
(
Element
* aElement )
override
;
76
77
//------------------------------------------------------------------------------
78
82
const
Matrix< real >
&
83
E
(
const
uint
aIndex )
override
;
84
85
//------------------------------------------------------------------------------
86
90
const
Matrix< real >
&
91
C
(
const
uint
aIndex = 0 )
override
;
92
93
//------------------------------------------------------------------------------
94
100
const
Matrix< real >
&
101
G
(
const
uint
aIndex = 0 )
override
;
102
103
//------------------------------------------------------------------------------
104
};
105
106
//------------------------------------------------------------------------------
107
108
inline
const
Matrix< real >
&
109
EF_QUAD4TS::G
(
const
uint
aIndex )
110
{
111
return
mGrad
;
112
}
113
114
//------------------------------------------------------------------------------
115
}
/* end namespace fem */
116
}
/* end namespace belfem */
117
118
#endif
//BELFEM_CL_EF_QUAD4TS_HPP
cl_EF_EdgeFunction.hpp
cl_FEM_Element.hpp
belfem::Cell
Cell is a wrapper around the standard vector.
Definition
cl_Cell.hpp:42
belfem::Matrix< real >
belfem::fem::EF_QUAD4TS::precompute
void precompute(const Matrix< real > &aXi) override
only needed for higher order elements
Definition
cl_EF_QUAD4TS.cpp:137
belfem::fem::EF_QUAD4TS::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_QUAD4TS.hpp:109
belfem::fem::EF_QUAD4TS::~EF_QUAD4TS
~EF_QUAD4TS() override=default
trivial destructor
belfem::fem::EF_QUAD4TS::E
const Matrix< real > & E(const uint aIndex) override
interpolation operator for h-field
Definition
cl_EF_QUAD4TS.cpp:167
belfem::fem::EF_QUAD4TS::EF_QUAD4TS
EF_QUAD4TS()
constructor
Definition
cl_EF_QUAD4TS.cpp:17
belfem::fem::EF_QUAD4TS::link
void link(Element *aElement) override
connect function with element
Definition
cl_EF_QUAD4TS.cpp:35
belfem::fem::EF_QUAD4TS::C
const Matrix< real > & C(const uint aIndex=0) override
curl operator for h-field
Definition
cl_EF_QUAD4TS.cpp:189
belfem::fem::EdgeFunction::mGrad
Matrix< real > mGrad
Definition
cl_EF_EdgeFunction.hpp:90
belfem::fem::EdgeFunction::EdgeFunction
EdgeFunction()=default
trivial constructor
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_QUAD4TS.hpp
Generated by
1.18.0