VTK  9.7.1
TetF2Basis.h
Go to the documentation of this file.
1 // Adapted from P. Silvester, "High-Order Polynomial Triangular Finite
2 // Elements for Potential Problems". Int. J. Engng Sci. Vol. 7, pp. 849-861.
3 // Pergamon Press, 1969. The generic method is valid for all orders, but we
4 // unroll the first two orders to reduce computational cost.
5 
6 RealT uu = 1. - rr - ss - tt;
7 
8 RealT ur = uu * rr;
9 RealT us = uu * ss;
10 RealT ut = uu * tt;
11 RealT rs = rr * ss;
12 RealT rt = rr * tt;
13 RealT st = ss * tt;
14 RealT urs = ur * ss;
15 RealT urt = ur * tt;
16 RealT ust = us * tt;
17 RealT rst = rs * tt;
18 RealT urst = urs * tt;
19 
20 basis[0] = uu - 2.0 * (ur + us + ut) + 3.0 * (urs + urt + ust) - 4.0 * urst;
21 basis[1] = rr - 2.0 * (ur + rs + rt) + 3.0 * (urs + urt + rst) - 4.0 * urst;
22 basis[2] = ss - 2.0 * (rs + us + st) + 3.0 * (urs + rst + ust) - 4.0 * urst;
23 basis[3] = tt - 2.0 * (ut + rt + st) + 3.0 * (urt + ust + rst) - 4.0 * urst;
24 basis[4] = 4.0 * ur - 12.0 * (urs + urt) + 32.0 * urst;
25 basis[5] = 4.0 * rs - 12.0 * (urs + rst) + 32.0 * urst;
26 basis[6] = 4.0 * us - 12.0 * (urs + ust) + 32.0 * urst;
27 basis[7] = 4.0 * ut - 12.0 * (urt + ust) + 32.0 * urst;
28 basis[8] = 4.0 * rt - 12.0 * (urt + rst) + 32.0 * urst;
29 basis[9] = 4.0 * st - 12.0 * (rst + ust) + 32.0 * urst;
30 basis[10] = 27.0 * urs - 108.0 * urst;
31 basis[11] = 27.0 * urt - 108.0 * urst;
32 basis[12] = 27.0 * rst - 108.0 * urst;
33 basis[13] = 27.0 * ust - 108.0 * urst;
34 basis[14] = 256.0 * urst;
RealT us
Definition: TetF2Basis.h:9
basis[0]
Definition: TetF2Basis.h:20
RealT urst
Definition: TetF2Basis.h:18
RealT ur
Definition: TetF2Basis.h:8
RealT st
Definition: TetF2Basis.h:13
RealT urs
Definition: TetF2Basis.h:14
RealT ut
Definition: TetF2Basis.h:10
RealT rst
Definition: TetF2Basis.h:17
RealT rs
Definition: TetF2Basis.h:11
RealT uu
Definition: TetF2Basis.h:6
RealT urt
Definition: TetF2Basis.h:15
RealT ust
Definition: TetF2Basis.h:16
RealT rt
Definition: TetF2Basis.h:12