VTK  9.4.20241103
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
6RealT uu = 1. - rr - ss - tt;
7
8RealT ur = uu * rr;
9RealT us = uu * ss;
10RealT ut = uu * tt;
11RealT rs = rr * ss;
12RealT rt = rr * tt;
13RealT st = ss * tt;
14RealT urs = ur * ss;
15RealT urt = ur * tt;
16RealT ust = us * tt;
17RealT rst = rs * tt;
18RealT urst = urs * tt;
19
20basis[0] = uu - 2.0 * (ur + us + ut) + 3.0 * (urs + urt + ust) - 4.0 * urst;
21basis[1] = rr - 2.0 * (ur + rs + rt) + 3.0 * (urs + urt + rst) - 4.0 * urst;
22basis[2] = ss - 2.0 * (rs + us + st) + 3.0 * (urs + rst + ust) - 4.0 * urst;
23basis[3] = tt - 2.0 * (ut + rt + st) + 3.0 * (urt + ust + rst) - 4.0 * urst;
24basis[4] = 4.0 * ur - 12.0 * (urs + urt) + 32.0 * urst;
25basis[5] = 4.0 * rs - 12.0 * (urs + rst) + 32.0 * urst;
26basis[6] = 4.0 * us - 12.0 * (urs + ust) + 32.0 * urst;
27basis[7] = 4.0 * ut - 12.0 * (urt + ust) + 32.0 * urst;
28basis[8] = 4.0 * rt - 12.0 * (urt + rst) + 32.0 * urst;
29basis[9] = 4.0 * st - 12.0 * (rst + ust) + 32.0 * urst;
30basis[10] = 27.0 * urs - 108.0 * urst;
31basis[11] = 27.0 * urt - 108.0 * urst;
32basis[12] = 27.0 * rst - 108.0 * urst;
33basis[13] = 27.0 * ust - 108.0 * urst;
34basis[14] = 256.0 * urst;
RealT st
Definition TetF2Basis.h:13
RealT ust
Definition TetF2Basis.h:16
RealT rst
Definition TetF2Basis.h:17
RealT urt
Definition TetF2Basis.h:15
RealT ut
Definition TetF2Basis.h:10
RealT us
Definition TetF2Basis.h:9
RealT urs
Definition TetF2Basis.h:14
RealT uu
Definition TetF2Basis.h:6
basis[0]
Definition TetF2Basis.h:20
RealT urst
Definition TetF2Basis.h:18
RealT rt
Definition TetF2Basis.h:12
RealT ur
Definition TetF2Basis.h:8
RealT rs
Definition TetF2Basis.h:11