32
33
34
35#include "implicit_f.inc"
36
37
38
39#include "mvsiz_p.inc"
40
41
42
43 INTEGER NEL
45 . vol(*),
46 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*),
47 . x7(*), x8(*), y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*),
48 . y8(*), z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*)
49
50
51
52 INTEGER I,J
53
54 double precision
55 . xd1(mvsiz), xd2(mvsiz), xd3(mvsiz), xd4(mvsiz),
56 . xd5(mvsiz), xd6(mvsiz), xd7(mvsiz), xd8(mvsiz),
57 . yd1(mvsiz), yd2(mvsiz), yd3(mvsiz), yd4(mvsiz),
58 . yd5(mvsiz), yd6(mvsiz), yd7(mvsiz), yd8(mvsiz),
59 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
60 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz)
61
63 . jac1(mvsiz), jac2(mvsiz), jac3(mvsiz), jac4(mvsiz), jac5(mvsiz), jac6(mvsiz),
64 . jac7(mvsiz), jac8(mvsiz) , jac9(mvsiz),
65 . a17(mvsiz) , a28(mvsiz) ,
66 . b17(mvsiz) , b28(mvsiz) ,
67 . c17(mvsiz) , c28(mvsiz)
69 . x17(mvsiz), x28(mvsiz), x35(mvsiz), x46(mvsiz),
70 . y17(mvsiz), y28(mvsiz), y35(mvsiz), y46(mvsiz),
71 . z17(mvsiz), z28(mvsiz), z35(mvsiz), z46(mvsiz),
72 . jac_59_68(mvsiz), jac_67_49(mvsiz), jac_48_57(mvsiz)
73
74 DO i=1,nel
75 xd1(i)=x1(i)
76 xd2(i)=x2(i)
77 xd3(i)=x3(i)
78 xd4(i)=x4(i)
79 xd5(i)=x5(i)
80 xd6(i)=x6(i)
81 xd7(i)=x7(i)
82 xd8(i)=x8(i)
83 yd1(i)=y1(i)
84 yd2(i)=y2(i)
85 yd3(i)=y3(i)
86 yd4(i)=y4(i)
87 yd5(i)=y5(i)
88 yd6(i)=y6(i)
89 yd7(i)=y7(i)
90 yd8(i)=y8(i)
91 zd1(i)=z1(i)
92 zd2(i)=z2(i)
93 zd3(i)=z3(i)
94 zd4(i)=z4(i)
95 zd5(i)=z5(i)
96 zd6(i)=z6(i)
97 zd7(i)=z7(i)
98 zd8(i)=z8(i)
99 ENDDO
100
101 DO i=1,nel
102 x17(i)=xd7(i)-xd1(i)
103 x28(i)=xd8(i)-xd2(i)
104 x35(i)=xd5(i)-xd3(i)
105 x46(i)=xd6(i)-xd4(i)
106 y17(i)=yd7(i)-yd1(i)
107 y28(i)=yd8(i)-yd2(i)
108 y35(i)=yd5(i)-yd3(i)
109 y46(i)=yd6(i)-yd4(i)
110 z17(i)=zd7(i)-zd1(i)
111 z28(i)=zd8(i)-zd2(i)
112 z35(i)=zd5(i)-zd3(i)
113 z46(i)=zd6(i)-zd4(i)
114 ENDDO
115
116 DO i=1,nel
117 jac1(i)=x17(i)+x28(i)-x35(i)-x46(i)
118 jac2(i)=y17(i)+y28(i)-y35(i)-y46(i)
119 jac3(i)=z17(i)+z28(i)-z35(i)-z46(i)
120 a17(i)=x17(i)+x46(i)
121 a28(i)=x28(i)+x35(i)
122 b17(i)=y17(i)+y46(i)
123 b28(i)=y28(i)+y35(i)
124 c17(i)=z17(i)+z46(i)
125 c28(i)=z28(i)+z35(i)
126 ENDDO
127
128 DO i=1,nel
129 jac4(i)=a17(i)+a28(i)
130 jac5(i)=b17(i)+b28(i)
131 jac6(i)=c17(i)+c28(i)
132 jac7(i)=a17(i)-a28(i)
133 jac8(i)=b17(i)-b28(i)
134 jac9(i)=c17(i)-c28(i)
135 ENDDO
136
137 DO i=1,nel
138 jac_59_68(i)=jac5(i)*jac9(i)-jac6(i)*jac8(i)
139 jac_67_49(i)=jac6(i)*jac7(i)-jac4(i)*jac9(i)
140 jac_48_57(i)=jac4(i)*jac8(i)-jac5(i)*jac7(i)
141 ENDDO
142
143 DO i=1,nel
144 vol(i)=one_over_64*(jac1(i)*jac_59_68(i)+jac2(i)*jac_67_49(i)+jac3(i)*jac_48_57(i))
145 ENDDO
146
147 RETURN