30 SUBROUTINE agrad2(IXQ,X,ALE_CONNECT,GRAD)
38#include "implicit_f.inc"
47#include "vect01_c.inc"
48#include "tabsiz_c.inc"
60 INTEGER,
INTENT(IN) :: IXQ(7,SIXQ/NIXQ)
62 my_real,
INTENT(INOUT) :: grad(4,*)
67 INTEGER I, II, IE, IV1, IV2, IV3, IV4, IAD2
69 . y1(mvsiz) , y2(mvsiz
70 . z1(mvsiz) , z2(mvsiz) , z3(mvsiz) , z4(mvsiz) ,
71 . yc(mvsiz) , zc(mvsiz) , n1y(mvsiz),
72 . n2y(mvsiz), n3y(mvsiz), n4y(mvsiz), n1z(mvsiz),
73 . n2z(mvsiz), n3z(mvsiz), n4z(mvsiz),
74 . dd1(mvsiz), dd2(mvsiz), dd3(mvsiz), dd4(mvsiz),
75 . d1y(mvsiz), d2y(mvsiz), d3y(mvsiz), d4y(mvsiz),
76 . d1z(mvsiz), d2z(mvsiz), d3z(mvsiz), d4z(mvsiz)
82 y1(i) = x(2,ixq(2,ii))
83 z1(i) = x(3,ixq(2,ii))
84 y2(i) = x(2,ixq(3,ii))
85 z2(i) = x(3,ixq(3,ii))
86 y3(i) = x(2,ixq(4,ii))
87 z3(i) = x(3,ixq(4,ii))
88 y4(i) = x(2,ixq(5,ii))
89 z4(i) = x(3,ixq(5,ii))
95 n1y(i) = (z2(i)-z1(i))
96 n1z(i) = -(y2(i)-y1(i))
97 n2y(i) = (z3(i)-z2(i))
98 n2z(i) = -(y3(i)-y2(i))
99 n3y(i) = (z4(i)-z3(i))
100 n3z(i) = -(y4(i)-y3(i))
101 n4y(i) = (z1(i)-z4(i))
102 n4z(i) = -(y1(i)-y4(i))
103 yc(i) = (y1(i)+y2(i)+y3(i)+y4(i))
104 zc(i) = (z1(i)+z2(i)+z3(i)+z4(i))
109 n1y(i) = n1y(i)*(y1(i)+y2(i))*half
110 n1z(i) = n1z(i)*(y1(i)+y2(i))*half
111 n2y(i) = n2y(i)*(y2(i)+y3(i))*half
112 n2z(i) = n2z(i)*(y2(i)+y3(i))*half
113 n3y(i) = n3y(i)*(y3(i)+y4(i))*half
114 n3z(i) = n3z(i)*(y3(i)+y4(i))*half
115 n4y(i) = n4y(i)*(y1(i)+y4(i))*half
116 n4z(i) = n4z(i)*(y1(i)+y4(i))*half
124 iad2 = ale_connect%ee_connect%iad_connect(ie)
125 iv1 = ale_connect%ee_connect%connected(iad2 + 1 - 1)
126 iv2 = ale_connect%ee_connect%connected(iad2 + 2 - 1)
127 iv3 = ale_connect%ee_connect%connected(iad2 + 3 - 1)
128 iv4 = ale_connect%ee_connect%connected(iad2 + 4 - 1)
133 d1y(i) = - yc(i) + x(2,ixq(2,iv1)) + x(2,ixq(3,iv1)) + x(2,ixq(4,iv1)) + x(2,ixq(5,iv1))
134 d1z(i) = - zc(i) + x(3,ixq(2,iv1)) + x(3,ixq(3,iv1)) + x(3,ixq(4,iv1)) + x(3,ixq(5,iv1))
135 d2y(i) = - yc(i) + x(2,ixq(2,iv2)) + x(2,ixq(3,iv2)) + x(2,ixq(4,iv2)) + x(2,ixq(5,iv2))
136 d2z(i) = - zc(i) + x(3,ixq(2,iv2)) + x(3,ixq(3,iv2)) + x(3,ixq(4,iv2)) + x(3,ixq(5,iv2))
137 d3y(i) = - yc(i) + x(2,ixq(2,iv3)) + x(2,ixq(3,iv3)) + x(2,ixq(4,iv3)) + x(2,ixq(5,iv3))
138 d3z(i) = - zc(i) + x(3,ixq(2,iv3)) + x(3,ixq(3,iv3)) + x(3,ixq(4,iv3)) + x(3,ixq(5,iv3))
139 d4y(i) = - yc(i) + x(2,ixq(2,iv4)) + x(2,ixq(3,iv4)) + x(2,ixq(4,iv4)) + x(2,ixq(5,iv4))
140 d4z(i) = - zc(i) + x(3,ixq(2,iv4)) + x(3,ixq(3,iv4)) + x(3,ixq(4,iv4)) + x(3,ixq(5,iv4))
144 dd1(i) = d1y(i)**2+d1z(i)**2
145 dd2(i) = d2y(i)**2+d2z(i)**2
146 dd3(i) = d3y(i)**2+d3z(i)**2
147 dd4(i) = d4y(i)**2+d4z(i)**2
153 grad(1,i) = four * (d1y(i)*n1y(i)+d1z(i)*n1z(i)) /
max(em15,dd1(i))
154 grad(2,i) = four * (d2y(i)*n2y(i)+d2z(i)*n2z(i)) /
max(em15,dd2(i))
155 grad(3,i) = four * (d3y(i)*n3y(i)+d3z(i)*n3z(i)) /
max(em15,dd3(i))
156 grad(4,i) = four * (d4y(i)*n4y(i)+d4z(i)*n4z(i)) /
max(em15,dd4(i))