29 1 VOLN, LLSH3N, AREA, X1, X2,
38#include "implicit_f.inc"
46 INTEGER,
INTENT(IN) :: NEL
47 my_real,
DIMENSION(MVSIZ) ,
INTENT(OUT) :: AREA
50 . X1(*), X2(*), X3(*), X4(*), X5(*), X6(*),
51 . Y1(*), Y2(*), Y3(*), Y4(*), Y5(*), Y6(*),
52 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*)
58 . E1X(MVSIZ), E1Y(MVSIZ), E1Z(MVSIZ),
59 . E2X(MVSIZ), E2Y(MVSIZ), E2Z(MVSIZ),
60 . E3X(MVSIZ), E3Y(MVSIZ), E3Z(MVSIZ),
61 . X31(MVSIZ), Y31(MVSIZ), Z31(MVSIZ),
62 . x32(mvsiz), y32(mvsiz), z32(mvsiz),
63 . x21(mvsiz), y21(mvsiz), z21(mvsiz),
64 . x2l(mvsiz), x3l(mvsiz), y3l(mvsiz),
65 . xn(3,mvsiz) , yn(3,mvsiz) , zn(3,mvsiz)
67 . al1,al2,al3,almax,sum
70 xn(1,i) = half*(x1(i)+x4(i))
71 yn(1,i) = half*(y1(i)+y4(i))
72 zn(1,i) = half*(z1(i)+z4(i))
73 xn(2,i) = half*(x2(i)+x5(i))
74 yn(2,i) = half*(y2(i)+y5(i))
75 zn(2,i) = half*(z2(i)+z5(i))
76 xn(3,i) = half*(x3(i)+x6(i))
77 yn(3,i) = half*(y3(i)+y6(i))
78 zn(3,i) = half*(z3(i)+z6(i))
81 x21(i)=xn(2,i)-xn(1,i)
82 y21(i)=yn(2,i)-yn(1,i)
83 z21(i)=zn(2,i)-zn(1,i)
84 x31(i)=xn(3,i)-xn(1,i)
85 y31(i)=yn(3,i)-yn(1,i)
86 z31(i)=zn(3,i)-zn(1,i)
87 x32(i)=xn(3,i)-xn(2,i)
88 y32(i)=yn(3,i)-yn(2,i)
96 x2l(i) = sqrt(e1x(i)*e1x(i)+e1y(i)*e1y(i)+e1z(i)*e1z(i))
103 e3x(i)=y31(i)*z32(i)-z31(i)*y32(i)
104 e3y(i)=z31(i)*x32(i)-x31(i)*z32(i)
105 e3z(i)=x31(i)*y32(i)-y31(i)*x32(i)
106 sum = sqrt(e3x(i)*e3x(i)+e3y(i)*e3y(i)+e3z(i)*e3z(i))
114 e2x(i)=e3y(i)*e1z(i)-e3z(i)*e1y(i)
115 e2y(i)=e3z(i)*e1x(i)-e3x(i)*e1z(i)
116 e2z(i)=e3x(i)*e1y(i)-e3y(i)*e1x(i)
117 sum = sqrt(e2x(i)*e2x(i)+e2y(i)*e2y(i)+e2z(i)*e2z(i))
121 y3l(i)=e2x(i)*x31(i)+e2y(i)*y31(i)+e2z(i)*z31(i)
122 x3l(i)=e1x(i)*x31(i)+e1y(i)*y31(i)+e1z(i)*z31(i)
125 al1 = x2l(i) * x2l(i)
126 al2 = (x3l(i)-x2l(i)) * (x3l(i)-x2l(i)) + y3l(i) * y3l(i)
127 al3 = x3l(i) * x3l(i) + y3l(i) * y3l(i)
128 almax =
max(al1,al2,al3)
129 llsh3n(i)= two*area(i) / sqrt(almax)
subroutine sdlensh3n(voln, llsh3n, area, x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, z1, z2, z3, z4, z5, z6, nel)