40 A PZ2, PZ3, PZ4, PX1H1,
41 B PX1H2, PX1H3, PX2H1, PX2H2,
42 C PX2H3, PX3H1, PX3H2, PX3H3,
43 D PX4H1, PX4H2, PX4H3, NEL,
48#include "implicit_f.inc"
60 INTEGER,
INTENT(IN) :: NEL
61 INTEGER,
INTENT(IN) :: JHBE
64 . (*), X2(*), X3(*), X4(*), X5(*), X6(*), X7(*), X8(*),
65 . Y1(*), Y2(*), Y3(*), Y4(*), Y5(*), Y6(*), Y7(*), Y8(*),
66 . Z1(*), Z2(*), Z3(*), Z4(*), Z5(*), Z6(*), Z7(*), Z8(*),
67 . PX1(*), PX2(*), PX3(*), PX4(*),
68 . PY1(*), PY2(*), PY3(*), PY4(*),
69 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
70 . PX1H1(*), PX1H2(*), PX1H3(*),
71 . PX2H1(*), PX2H2(*), PX2H3(*),
72 . PX3H1(*), PX3H2(*), PX3H3(*),
73 . PX4H1(*), PX4H2(*), PX4H3(*)
79 . DETT(MVSIZ) , AJ7(MVSIZ), AJ8(MVSIZ) , AJ9(MVSIZ),
80 . AJI1(MVSIZ), AJI2(MVSIZ), AJI3(MVSIZ),
81 . AJI4(MVSIZ), AJI5(MVSIZ), AJI6(MVSIZ),
82 . AJI7(MVSIZ), AJI8(MVSIZ), AJI9(MVSIZ),
83 . X17(MVSIZ) , X28(MVSIZ) , X35(MVSIZ) , X46(MVSIZ),
84 . Y17(MVSIZ) , Y28(MVSIZ) , Y35(MVSIZ) , Y46(MVSIZ),
85 . Z17(MVSIZ) , Z28(MVSIZ) , Z35(MVSIZ) , Z46(MVSIZ),
86 . JAC_59_68(MVSIZ), JAC_67_49(MVSIZ), JAC_48_57(MVSIZ),
87 . AJ12(MVSIZ), AJ45(MVSIZ), AJ78(MVSIZ),
88 . A17(MVSIZ) , A28(MVSIZ) ,
89 . B17(MVSIZ) , B28(MVSIZ) ,
90 . C17(MVSIZ) , C28(MVSIZ) , AJ4(MVSIZ),
91 . aj5(mvsiz) , aj6(mvsiz) , aj1(mvsiz),
92 . aj2(mvsiz) , aj3(mvsiz) ,
113 aj1(i)=x17(i)+x28(i)-x35(i)-x46(i)
114 aj2(i)=y17(i)+y28(i)-y35(i)-y46(i)
115 aj3(i)=z17(i)+z28(i)-z35(i)-z46(i)
136 jac_59_68(i)=aj5(i)*aj9(i)-aj6(i)*aj8(i)
137 jac_67_49(i)=aj6(i)*aj7(i)-aj4(i)*aj9(i)
138 jac_48_57(i)=aj4(i)*aj8(i)-aj5(i)*aj7(i)
142 det(i)=one_over_64*(aj1(i)*jac_59_68(i)+aj2(i)*jac_67_49(i)+aj3(i)*jac_48_57(i))
146 1 off, det, ngl, nel)
149 dett(i)=one_over_64/det(i)
157 aji1(i)=dett(i)*jac_59_68(i)
158 aji4(i)=dett(i)*jac_67_49(i)
159 aji7(i)=dett(i)*jac_48_57(i)
160 aji2(i)=dett(i)*(-aj2(i)*aj9(i)+aj3(i)*aj8(i))
161 aji5(i)=dett(i)*( aj1(i)*aj9(i)-aj3(i)*aj7(i))
162 aji8(i)=dett(i)*(-aj1(i)*aj8(i)+aj2(i)*aj7(i))
163 aji3(i)=dett(i)*( aj2(i)*aj6(i)-aj3(i)*aj5(i))
164 aji6(i)=dett(i)*(-aj1(i)*aj6(i)+aj3(i)*aj4(i))
165 aji9(i)=dett(i)*( aj1(i)*aj5(i)-aj2(i)*aj4(i))
169 aj12(i)=aji1(i)-aji2(i)
170 aj45(i)=aji4(i)-aji5(i)
173 px3(i)= aj12(i)+aji3(i)
174 py3(i)= aj45(i)+aji6(i)
175 pz3(i)= aj78(i)+aji9(i)
176 px4(i)= aj12(i)-aji3(i)
177 py4(i)= aj45(i)-aji6(i)
178 pz4(i)= aj78(i)-aji9(i)
180 aj12(i)=aji1(i)+aji2(i)
181 aj45(i)=aji4(i)+aji5(i)
182 aj78(i)=aji7(i)+aji8(i)
184 px1(i)=-aj12(i)-aji3(i)
185 py1(i)=-aj45(i)-aji6(i)
186 pz1(i)=-aj78(i)-aji9(i)
187 px2(i)=-aj12(i)+aji3(i)
188 py2(i)=-aj45(i)+aji6(i)
189 pz2(i)=-aj78(i)+aji9(i)
195 hx=(x1(i)-x2(i)+x3(i)-x4(i)+x5(i)-x6(i)+x7(i)-x8(i))
196 hy=(y1(i)-y2(i)+y3(i)-y4(i)+y5(i)-y6(i)+y7(i)-y8(i))
197 hz=(z1(i)-z2(i)+z3(i)-z4(i)+z5(i)-z6(i)+z7(i)-z8(i))
198 px1h1(i)=px1(i)*hx+ py1(i)*hy+pz1(i)*hz
199 px2h1(i)=px2(i)*hx+ py2(i)*hy+pz2(i)*hz
200 px3h1(i)=px3(i)*hx+ py3(i)*hy+pz3(i)*hz
201 px4h1(i)=px4(i)*hx+ py4(i)*hy+pz4(i)*hz
205 hx=(x1(i)+x2(i)-x3(i)-x4(i)-x5(i)-x6(i)+x7(i)+x8(i))
206 hy=(y1(i)+y2(i)-y3(i)-y4(i)-y5(i)-y6(i)+y7(i)+y8(i))
207 hz=(z1(i)+z2(i)-z3(i)-z4(i)-z5(i)-z6(i)+z7(i)+z8(i))
208 px1h2(i)=px1(i)*hx+ py1(i)*hy+pz1(i)*hz
209 px2h2(i)=px2(i)*hx+ py2(i)*hy+pz2(i)*hz
210 px3h2(i)=px3(i)*hx+ py3(i)*hy+pz3(i)*hz
211 px4h2(i)=px4(i)*hx+ py4(i)*hy+pz4(i)*hz
216 hx=(x1(i)-x2(i)-x3(i)+x4(i)-x5(i)+x6(i)+x7(i)-x8(i))
217 hy=(y1(i)-y2(i)-y3(i)+y4(i)-y5(i)+y6(i)+y7(i)-y8(i))
218 hz=(z1(i)-z2(i)-z3(i)+z4(i)-z5(i)+z6(i)+z7(i)-z8(i))
219 px1h3(i)=px1(i)*hx+ py1(i)*hy+pz1(i)*hz
220 px2h3(i)=px2(i)*hx+ py2(i)*hy+pz2(i)*hz
221 px3h3(i)=px3(i)*hx+ py3(i)*hy+pz3(i)*hz
222 px4h3(i)=px4(i)*hx+ py4(i)*hy+pz4(i)*hz
228 1000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : 3D-ELEMENT NB',i10/)
229 2000
FORMAT(/
' ZERO OR NEGATIVE VOLUME : DELETE 3D-ELEMENT NB',i10/)
subroutine fderi3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, nel, jhbe)