BELFEM 0.9.0
Berkeley Lab Finite Element Framework
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
10#include "cl_FEM_Element.hpp"
11
12namespace 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
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
const Matrix< real > & C(const uint aIndex=0) override
Definition cl_EF_TET4.hpp:87
const Matrix< real > & E(const uint aIndex) override
Definition cl_EF_TET4.cpp:204
EF_TET4()
constructor
Definition cl_EF_TET4.cpp:15
void precompute(const Matrix< real > &aXi) override
only needed for higher order elements
Definition cl_EF_TET4.cpp:171
void link(Element *aElement) override
links the shape function with the element and precomputes data
Definition cl_EF_TET4.cpp:30
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
~EF_TET4() override=default
trivial destructor
Matrix< real > mGrad
Definition cl_EF_EdgeFunction.hpp:90
EdgeFunction()=default
trivial constructor
Matrix< real > mC
matrix containing the curl for the H-Function
Definition cl_EF_EdgeFunction.hpp:53
Definition cl_FEM_Element.hpp:41
Definition cl_IFB_LINE3.hpp:21
USER GUIDES:
Definition cl_Capacitor.cpp:16
unsigned int uint
Definition typedefs.hpp:30
double real
Definition typedefs.hpp:36