28 SUBROUTINE inthqd(X1 , Y1, Z1, X2, Y2, Z2,
29 . X3, Y3, Z3, X4, Y4, Z4,
30 . XP, YP, ZP, XS, YS, ZS,
31 . NRX, NRY, NRZ, D2, JAC,RVAL)
35#include "implicit_f.inc"
40 . x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4,
41 . xp, yp, zp, d2, jac, nrx, nry, nrz,
46 INTEGER NPG, IAD, IAD2, IP
48 . PG(28), WPG(14), R2, W, XG, YG, ZG,
49 . val1, val2, val3, val4, valphi,
52 DATA pg / .0000000000000, .0000000000000,
53 . -.5773502691896,-.5773502691896,
54 . .5773502691896,-.5773502691896,
55 . -.5773502691896, .5773502691896,
56 . .5773502691896, .5773502691896,
57 . -.7745966692415,-.7745966692415,
58 . .0000000000000,-.7745966692415,
59 . .7745966692415,-.7745966692415,
60 . -.7745966692415, .0000000000000,
61 . .0000000000000, .0000000000000,
62 . .7745966692415, .0000000000000,
63 . -.7745966692415, .7745966692415,
64 . .0000000000000, .7745966692415,
65 . .7745966692415, .7745966692415/
66 DATA wpg / 1.00000000000,
67 . .2500000000000, .2500000000000,
68 . .2500000000000, .2500000000000,
69 . .0771604938272, .1234567901234,
70 . .0771604938272, .1234567901234,
71 . .1975308641975, .1234567901234,
72 . .0771604938272, .1234567901234,
76 r2=(xp-xs)**2+(yp-ys)**2+(zp-zs)**2
78 IF (r2>hundred*d2)
THEN
81 ELSEIF (r2>twenty5*d2)
THEN
97 val1=fourth*(one-ksip)*(one-etap)
98 val2=fourth*(one+ksip)*(one-etap)
99 val3=fourth*(one+ksip)*(one+etap)
100 val4=fourth*(one-ksip)*(one+etap)
101 xg=val1*x1+val2*x2+val3*x3+val4*x4
102 yg=val1*y1+val2*y2+val3*y3+val4*y4
103 zg=val1*z1+val2*z2+val3*z3+val4*z4
104 r2=(xg-xp)**2+(yg-yp)**2+(zg-zp)**2
106 valphi=-(nrx*(xg-xp)+nry*(yg-yp)+nrz*(zg-zp))/(r2**three_half)
107 rval =rval+w*valphi*jac
120 SUBROUTINE intgqd(X1 , Y1, Z1, X2, Y2, Z2,
121 . X3, Y3, Z3, X4, Y4, Z4,
122 . XP, YP, ZP, XS, YS, ZS,
127#include "implicit_f.inc"
132 . x1, y1, z1, x2, y2, z2
133 . xp, yp, zp, d2, jac,
138 INTEGER NPG, IAD, IAD2, IP
140 . PG(28), WPG(14), R2, W, XG, YG, ZG,
141 . VAL1, VAL2, VAL3, VAL4, VALPHI,
144 DATA pg / .0000000000000, .0000000000000,
145 . -.5773502691896,-.5773502691896,
146 . .5773502691896,-.5773502691896,
147 . -.5773502691896, .5773502691896,
148 . .5773502691896, .5773502691896,
149 . -.7745966692415,-.7745966692415,
150 . .0000000000000,-.7745966692415,
151 . .7745966692415,-.7745966692415,
152 . -.7745966692415, .0000000000000,
153 . .0000000000000, .0000000000000,
154 . .7745966692415, .0000000000000,
155 . -.7745966692415, .7745966692415,
156 . .0000000000000, .7745966692415,
157 . .7745966692415, .7745966692415/
158 DATA wpg / 1.00000000000,
159 . .2500000000000, .2500000000000,
160 . .2500000000000, .2500000000000,
161 . .0771604938272, .1234567901234,
162 . .0771604938272, .1234567901234,
163 . .1975308641975, .1234567901234,
164 . .0771604938272, .1234567901234,
168 r2=(xp-xs)**2+(yp-ys)**2+(zp-zs)**2
170 IF (r2>hundred*d2)
THEN
173 ELSEIF (r2>twenty5*d2)
THEN
189 val1=fourth*(one-ksip)*(one-etap)
190 val2=fourth*(one+ksip)*(one-etap)
191 val3=fourth*(one+ksip)*(one+etap)
192 val4=fourth*(one-ksip)*(one+etap)
193 xg=val1*x1+val2*x2+val3*x3+val4*x4
194 yg=val1*y1+val2*y2+val3*y3+val4*y4
195 zg=val1*z1+val2*z2+val3*z3+val4*z4
196 r2=(xg-xp)**2+(yg-yp)**2+(zg-zp)**2
199 rval =rval+w*valphi*jac
subroutine intgqd(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, xp, yp, zp, xs, ys, zs, d2, jac, rval)
subroutine inthqd(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, xp, yp, zp, xs, ys, zs, nrx, nry, nrz, d2, jac, rval)