VTK
9.7.20260918
Main Page
Related Pages
Topics
Namespaces
Classes
Files
File List
File Members
Filters
CellGrid
Basis
HGrad
WdgG1Gradient.h
Go to the documentation of this file.
1
#define size_tri ((order + 1) * (order + 2) / 2)
2
#define size_lin (order + 1)
3
4
WORKSPACE
(RealT,
term_tri
,
size_tri
);
5
WORKSPACE
(RealT,
dterm_dr_tri
,
size_tri
);
6
WORKSPACE
(RealT,
dterm_ds_tri
,
size_tri
);
7
8
WORKSPACE
(RealT,
term_lin
,
size_lin
);
9
WORKSPACE
(RealT,
dterm_dt_lin
,
size_lin
);
10
11
// clang-format off
12
term_tri
[0] = 5. / 3. - 2. * rr - 2. * ss;
13
term_tri
[1] = -1. / 3. + 2. * rr;
14
term_tri
[2] = -1. / 3. + 2. * ss;
15
16
dterm_dr_tri
[0] = - 2.;
17
dterm_dr_tri
[1] = 2.;
18
dterm_dr_tri
[2] = 0.;
19
20
dterm_ds_tri
[0] = - 2.;
21
dterm_ds_tri
[1] = 0.;
22
dterm_ds_tri
[2] = 2.;
23
24
term_lin
[0] = 1. / 2. - sqrt(3) * tt / 2.;
25
term_lin
[1] = 1. / 2. + sqrt(3) * tt / 2.;
26
27
dterm_dt_lin
[0] = - sqrt(3) / 2.;
28
dterm_dt_lin
[1] = sqrt(3) / 2.;
29
30
for
(
int
ii = 0; ii <
size_lin
; ++ii)
31
{
32
for
(
int
jj = 0; jj <
size_tri
; ++jj)
33
{
34
int
i_sp = ii *
size_tri
+ jj;
35
// ∂/∂r, ∂/∂s, ∂/∂t:
36
basisGradient
[3 * i_sp ] =
dterm_dr_tri
[jj] *
term_lin
[ii]
/* zero */
;
37
basisGradient
[3 * i_sp + 1] =
dterm_ds_tri
[jj] *
term_lin
[ii]
/* zero */
;
38
basisGradient
[3 * i_sp + 2] =
/* zero */
term_tri
[jj] *
dterm_dt_lin
[ii];
39
}
40
}
41
// clang-format on
basisGradient
basisGradient[0]
Definition
CellC0Gradient.h:1
term_tri
term_tri[0]
Definition
WdgG1Basis.h:7
size_lin
#define size_lin
Definition
WdgG1Basis.h:2
term_lin
term_lin[0]
Definition
WdgG1Basis.h:10
size_tri
#define size_tri
Definition
WdgG1Basis.h:1
WORKSPACE
WORKSPACE(RealT, term_tri, size_tri)
dterm_ds_tri
dterm_ds_tri[0]
Definition
WdgG1Gradient.h:20
dterm_dt_lin
dterm_dt_lin[0]
Definition
WdgG1Gradient.h:27
dterm_dr_tri
dterm_dr_tri[0]
Definition
WdgG1Gradient.h:16
Generated on
for VTK by
1.16.1