BELFEM 0.9.0
Berkeley Lab Finite Element Framework
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
9#include "cl_FEM_Element.hpp"
10
11namespace 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
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
EF_TRI3()
constructor
Definition cl_EF_TRI3.cpp:17
const Matrix< real > & E(const uint aIndex) override
interpolation operator for h-field
Definition cl_EF_TRI3.cpp:122
const Matrix< real > & C(const uint aIndex=0) override
curl operator for h-field
Definition cl_EF_TRI3.hpp:92
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
void precompute(const Matrix< real > &aXi) override
only needed for higher order elements
Definition cl_EF_TRI3.cpp:95
void link(Element *aElement) override
connect function with element
Definition cl_EF_TRI3.cpp:32
~EF_TRI3() 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