VTK  9.7.1
PyrC1Gradient.h
Go to the documentation of this file.
1 // Be sure that the basis functions are defined when tt is very close to 1.
2 // Warning: the derivatives are discontinuous in (0, 0, 1).
3 if (abs(tt - 1.0) < eps)
4 {
5  if (tt <= 1.0)
6  {
7  tt = 1.0 - eps;
8  }
9  else
10  {
11  tt = 1.0 + eps;
12  }
13 }
14 
15 RealT ttTerm = 0.25 / (1.0 - tt);
16 RealT ttTerm2 = 4.0 * ttTerm * ttTerm;
17 
18 basisGradient[0] = (ss + tt - 1.0) * ttTerm;
19 basisGradient[1] = (rr + tt - 1.0) * ttTerm;
20 basisGradient[2] = rr * ss * ttTerm2 - 0.25;
21 
22 basisGradient[3] = (1.0 - ss - tt) * ttTerm;
23 basisGradient[4] = (tt - rr - 1.0) * ttTerm;
24 basisGradient[5] = rr * ss * ttTerm2 - 0.25;
25 
26 basisGradient[6] = (1.0 + ss - tt) * ttTerm;
27 basisGradient[7] = (1.0 + rr - tt) * ttTerm;
28 basisGradient[8] = rr * ss * ttTerm2 - 0.25;
29 
30 basisGradient[9] = (tt - ss - 1.0) * ttTerm;
31 basisGradient[10] = (1.0 - rr - tt) * ttTerm;
32 basisGradient[11] = rr * ss * ttTerm2 - 0.25;
33 
34 basisGradient[12] = 0.0;
35 basisGradient[13] = 0.0;
36 basisGradient[14] = 1.0;
RealT ttTerm2
Definition: PyrC1Gradient.h:16
basisGradient[0]
Definition: PyrC1Gradient.h:18
RealT ttTerm
Definition: PyrC1Gradient.h:15