VTK  9.7.20260918
WdgG2Gradient.h
Go to the documentation of this file.
1#define size_tri ((order + 1) * (order + 2) / 2)
2#define size_lin (order + 1)
3
7
10
11// clang-format off
12term_tri[0] = 7.6156408160581188226956328435335 * ss * rr - 5.4599331074840975475126469973475 * rr -
13 5.459933107484095771155807597097 * ss + 3.7248334213839786599464787286706 * ss * ss +
14 3.7248334213839773276788491784828 * rr * rr + 1.8736592735119068642291040305281;
15term_tri[1] = 0.16597397329018215295093341410393 * ss - 1.989733735284602289539179764688 * rr -
16 0.16597397329016608247265196496301 * ss * rr - 0.16597397329016555511671526801365 * ss * ss +
17 3.7248334213839764395004294783575 * rr * rr + 0.13855958741198567962804588660219;
18term_tri[2] = 0.1659739732901820974397821828461 * rr - 1.9897337352846020674945748396567 * ss -
19 0.16597397329016638778398373688105 * ss * rr + 3.7248334213839768835896393284202 * ss * ss -
20 0.16597397329016555511671526801365 * rr * rr + 0.13855958741198570738362150223111;
21term_tri[3] = 7.9963036868787469302333192899823 * ss + 0.40859490520043550976225787962903 * rr -
22 7.9963036868779449051203300768975 * ss * rr - 7.9963036868779484578340088773984 * ss * ss +
23 0.3563054087000795400186348160787 * rr * rr - 0.63855958741216845009347480299766;
24term_tri[4] = 0.40859490520043528771765295459772 * ss + 7.9963036868787469302333192899823 * rr -
25 7.9963036868779449051203300768975 * ss * rr + 0.35630540870007948450748358482087 * ss * ss -
26 7.9963036868779475696555891772732 * rr * rr - 0.63855958741216845009347480299766;
27term_tri[5] = 8.7089145042781037631129947840236 * ss * rr - 1.1212057226006655330508010592894 * rr -
28 1.1212057226006653110061961342581 * ss + 0.35630540870007937348518112230522 * ss * ss +
29 0.35630540870007937348518112230522 * rr * rr + 0.12634072648845873221290503352066;
30
31dterm_dr_tri[0] = 7.6156408160581188226956328435335 * ss - 5.4599331074840975475126469973475 +
32 2. * 3.7248334213839773276788491784828 * rr;
33dterm_dr_tri[1] = - 1.989733735284602289539179764688 -
34 0.16597397329016608247265196496301 * ss +
35 2. * 3.7248334213839764395004294783575 * rr;
36dterm_dr_tri[2] = 0.1659739732901820974397821828461 -
37 0.16597397329016638778398373688105 * ss -
38 2. * 0.16597397329016555511671526801365 * rr;
39dterm_dr_tri[3] = 0.40859490520043550976225787962903 -
40 7.9963036868779449051203300768975 * ss +
41 2. * 0.3563054087000795400186348160787 * rr;
42dterm_dr_tri[4] = 7.9963036868787469302333192899823 -
43 7.9963036868779449051203300768975 * ss -
44 2. * 7.9963036868779475696555891772732 * rr;
45dterm_dr_tri[5] = 8.7089145042781037631129947840236 * ss - 1.1212057226006655330508010592894 +
46 2. * 0.35630540870007937348518112230522 * rr;
47
48dterm_ds_tri[0] = 7.6156408160581188226956328435335 * rr -
49 5.459933107484095771155807597097 + 2. * 3.7248334213839786599464787286706 * ss;
50dterm_ds_tri[1] = 0.16597397329018215295093341410393 -
51 0.16597397329016608247265196496301 * rr - 2. * 0.16597397329016555511671526801365 * ss;
52dterm_ds_tri[2] = - 1.9897337352846020674945748396567 -
53 0.16597397329016638778398373688105 * rr + 2. * 3.7248334213839768835896393284202 * ss;
54dterm_ds_tri[3] = 7.9963036868787469302333192899823 -
55 7.9963036868779449051203300768975 * rr - 2. * 7.9963036868779484578340088773984 * ss;
56dterm_ds_tri[4] = 0.40859490520043528771765295459772 -
57 7.9963036868779449051203300768975 * rr + 2. * 0.35630540870007948450748358482087 * ss;
58dterm_ds_tri[5] = 8.7089145042781037631129947840236 * rr -
59 1.1212057226006653110061961342581 + 2. * 0.35630540870007937348518112230522 * ss;
60
61term_lin[0] = 0.83333333333333333333333333333333 * tt * (tt - 0.77459666924148337703585307995648);
62term_lin[1] = 1.0 - 1.6666666666666666666666666666667 * tt * tt;
63term_lin[2] = 0.83333333333333333333333333333333 * tt * (tt + 0.77459666924148337703585307995648);
64
66 2. * 0.83333333333333333333333333333333 * tt - 0.77459666924148337703585307995648 * 0.83333333333333333333333333333333;
67dterm_dt_lin[1] =
68 -2. * 1.6666666666666666666666666666667 * tt;
69dterm_dt_lin[2] =
70 2. * 0.83333333333333333333333333333333 * tt + 0.77459666924148337703585307995648 * 0.83333333333333333333333333333333;
71
72for (int ii = 0; ii < size_lin; ++ii)
73{
74 for (int jj = 0; jj < size_tri; ++jj)
75 {
76 int i_sp = ii * size_tri + jj;
77 // ∂/∂r, ∂/∂s, ∂/∂t:
78 basisGradient[3 * i_sp ] = dterm_dr_tri[jj] * term_lin[ii] /* zero */;
79 basisGradient[3 * i_sp + 1] = dterm_ds_tri[jj] * term_lin[ii] /* zero */;
80 basisGradient[3 * i_sp + 2] = /* zero */ term_tri[jj] * dterm_dt_lin[ii];
81 }
82}
83// clang-format on
basisGradient[0]
term_tri[0]
Definition WdgG1Basis.h:7
#define size_lin
Definition WdgG1Basis.h:2
term_lin[0]
Definition WdgG1Basis.h:10
#define size_tri
Definition WdgG1Basis.h:1
dterm_ds_tri[0]
dterm_dt_lin[0]
dterm_dr_tri[0]
WORKSPACE(RealT, term_tri, size_tri)