19 gradp = _gradp && gradp;
23 real vc = 0, vc2 = 0,
vs = 0, vs2 = 0;
26 real vrc = 0, vrc2 = 0, vrs = 0, vrs2 = 0;
27 real vtc = 0, vtc2 = 0, vts = 0, vts2 = 0;
28 real vlc = 0, vlc2 = 0, vls = 0, vls2 = 0;
29 for (
int m = _M;
m >= 0; --
m) {
36 v = root[2] * root[2 *
m + 3] / root[
m + 1];
38 B = -
v * root[2 *
m + 5] / (root[8] * root[
m + 2]) * _uq2;
41 v = root[2] * root[2 *
m + 1] / root[
m + 1];
43 B = -
v * root[2 *
m + 3] / (root[8] * root[
m + 2]) * _uq2;
48 v =
A * vc +
B * vc2 + _wc[
m] ; vc2 = vc ; vc =
v;
51 v =
A * vrc +
B * vrc2 + _wrc[
m]; vrc2 = vrc; vrc =
v;
52 v =
A * vrs +
B * vrs2 + _wrs[
m]; vrs2 = vrs; vrs =
v;
53 v =
A * vtc +
B * vtc2 + _wtc[
m]; vtc2 = vtc; vtc =
v;
54 v =
A * vts +
B * vts2 + _wts[
m]; vts2 = vts; vts =
v;
55 v =
A * vlc +
B * vlc2 +
m*_ws[
m]; vlc2 = vlc; vlc =
v;
56 v =
A * vls +
B * vls2 -
m*_wc[
m]; vls2 = vls; vls =
v;
63 B = - root[15]/2 * _uq2;
67 B = - root[3]/2 * _uq2;
73 vc = qs * (_wc[
m] +
A * (
cl * vc + sl *
vs ) +
B * vc2);
80 vrc = - qs * (_wrc[
m] +
A * (
cl * vrc + sl * vrs) +
B * vrc2);
81 vtc = qs * (_wtc[
m] +
A * (
cl * vtc + sl * vts) +
B * vtc2);
82 vlc = qs / _u * (
A * (
cl * vlc + sl * vls) +
B * vlc2);
89 gradx =
cl * (_u * vrc + _t * vtc) - sl * vlc;
90 grady = sl * (_u * vrc + _t * vtc) +
cl * vlc;
91 gradz = _t * vrc - _u * vtc ;