28 SUBROUTINE intanl_qd(X1, Y1, Z1, X2, Y2, Z2, X3, Y3, Z3,
29 . X4, Y4, Z4, XP, YP, ZP, NRX, NRY, NRZ,
30 . AREA,RVLH,RVLG,JEL, IEL)
34#include "implicit_f.inc"
40 . x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, xp, yp, zp,
41 . nrx, nry, nrz,
area, rvlh, rvlg
47 . vx1, vy1, vz1, vx2, vy2, vz2, s1,
48 . x0, y0, z0, ksi(5), eta(5), dksi(4), deta(4), r(5),
49 . xls, yls, zls, s(4), v, fln, arg,
50 . d2, l12, l22, l32, l42, lm2
53 x0=fourth*(x1+x2+x3+x4)
55 z0=fourth*(z1+z2+z3+z4)
58 d2 =(x0-xp)**2+(y0-yp)**2+(z0-zp)**2
59 l12=(x2-x1)**2+(y2-y1)**2+(z2-z1)**2
60 l22=(x3-x2)**2+(y3-y2)**2+(z3-z2)**2
61 l32=(x4-x3)**2+(y4-y3)**2+(z4-z3)**2
62 l42=(x1-x4)**2+(y1-y4)**2+(z1-z4)**2
63 lm2=
max(l12,l22,l32,l42)
65 IF(d2>twenty5*lm2)
THEN
67 rvlh=
area*(nrx*(x0-xp)+nry*(y0-yp)+nrz*(z0-zp))/(d2**three_half)
77 s1 =vx1*vx1+vy1*vy1+vz1*vz1
78 s12=vx1*vx2+vy1*vy2+vz1*vz2
85 s2=vx2*vx2+vy2*vy2+vz2*vz2
94 xls=(xp-x0)*vx1+(yp-y0)*vy1+(zp-z0)*vz1
95 yls=(xp-x0)*vx2+(yp-y0)*vy2+(zp-z0)*vz2
96 zls=(xp-x0)*nrx+(yp-y0)*nry+(zp-z0)*nrz
98 ksi(1)=(x1-x0)*vx1+(y1-y0)*vy1+(z1-z0)*vz1
99 eta(1)=(x1-x0)*vx2+(y1-y0)*vy2+(z1-z0)*vz2
100 ksi(2)=(x2-x0)*vx1+(y2-y0)*vy1+(z2-z0)*vz1
101 eta(2)=(x2-x0)*vx2+(y2-y0)*vy2+(z2-z0)*vz2
102 ksi(3)=(x3-x0)*vx1+(y3-y0)*vy1+(z3-z0)*vz1
103 eta(3)=(x3-x0)*vx2+(y3-y0)*vy2+(z3-z0)*vz2
104 ksi(4)=(x4-x0)*vx1+(y4-y0)*vy1+(z4-z0)*vz1
105 eta(4)=(x4-x0)*vx2+(y4-y0)*vy2+(z4-z0)*vz2
109 dksi(1)=ksi(2)-ksi(1)
110 dksi(2)=ksi(3)-ksi(2)
111 dksi(3)=ksi(4)-ksi(3)
112 dksi(4)=ksi(1)-ksi(4)
113 deta(1)=eta(2)-eta(1)
114 deta(2)=eta(3)-eta(2)
115 deta(3)=eta(4)-eta(3)
116 deta(4)=eta(1)-eta(4)
117 r(1)=sqrt((xp-x1)**2+(yp-y1)**2+(zp-z1)**2)
118 r(2)=sqrt((xp-x2)**2+(yp-y2)**2+(zp-z2)**2)
119 r(3)=sqrt((xp-x3)**2+(yp-y3)**2+(zp-z3)**2)
120 r(4)=sqrt((xp-x4)**2+(yp-y4)**2+(zp-z4)**2)
138 . +atan((deta(i)*((xls-ksi(i))**2+zls**2)-dksi(i)*(xls-ksi(i))*(yls-eta(i)))/(r(i)*zls*dksi(i)))
139 . -atan((deta(i)*((xls-ksi(j))**2+zls**2)-dksi(i)*(xls-ksi(j))*(yls-eta(j)))/(r(j)*zls*dksi(i)))
147 v=(xls-ksi(i))*sn(i)-(yls-eta(i))*cs(i)
148 arg=(r(i)+r(j)-s(i))/(r(i)+r(j)+s(i))
153 WRITE(6,
'(A,E13.5)')
'? ARG=',arg
subroutine intanl_qd(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, xp, yp, zp, nrx, nry, nrz, area, rvlh, rvlg, jel, iel)