31 . X1, X2, X3, X4, X5, X6, X7, X8,
32 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
33 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
37 . PX1H1, PX1H2, PX1H3,
38 . PX2H1, PX2H2, PX2H3,
39 . PX3H1, PX3H2, PX3H3,
40 . PX4H1, PX4H2, PX4H3,
47#include "implicit_f.inc"
57 . x1(*), x2(*), x3(*), x4(*), x5(*), x6(*), x7(*), x8(*),
58 . y1(*), y2(*), y3(*), y4(*), y5(*), y6(*), y7(*), y8(*),
59 . z1(*), z2(*), z3(*), z4(*), z5(*), z6(*), z7(*), z8(*)
60 INTEGER,
INTENT(IN) :: NGL(*), NEL, JHBE
63 . PX1(*), PX2(*), PX3(*), PX4(*),
64 . PY1(*), PY2(*), PY3(*), PY4(*),
65 . PZ1(*), PZ2(*), PZ3(*), PZ4(*),
66 . PX1H1(*), PX1H2(*), PX1H3(*),
67 . PX2H1(*), PX2H2(*), PX2H3(*),
68 . PX3H1(*), PX3H2(*), PX3H3(*),
69 . px4h1(*), px4h2(*), px4h3(*),
70 . jac1(*), jac2(*), jac3(*),
71 . jac4(*), jac5(*), jac6(*)
77 . DETT , JAC7(MVSIZ), JAC8(MVSIZ) , JAC9(MVSIZ),
78 . JACI1, JACI2, JACI3,
79 . JACI4, JACI5, JACI6,
80 . JACI7, JACI8, JACI9,
81 . X17 , X28 , X35 , X46,
82 . Y17 , Y28 , Y35 , Y46,
83 . Z17 , Z28 , Z35 , Z46,
84 . JAC_59_68(MVSIZ), JAC_67_49(MVSIZ), JAC_48_57(MVSIZ),
107 jac1(i)=x17+x28-x35-x46
108 jac2(i)=y17+y28-y35-y46
109 jac3(i)=z17+z28-z35-z46
118 jac4(i)=x_17_46+x_28_35
119 jac5(i)=y_17_46+y_28_35
120 jac6(i)=z_17_46+z_28_35
122 jac7(i)=x_17_46-x_28_35
123 jac8(i)=y_17_46-y_28_35
124 jac9(i)=z_17_46-z_28_35
128 jac_59_68(i)=jac5(i)*jac9(i)-jac6(i)*jac8(i)
129 jac_67_49(i)=jac6(i)*jac7(i)-jac4(i)*jac9(i)
130 jac_48_57(i)=jac4(i)*jac8(i)-jac5(i)*jac7(i)
134 det(i)=one_over_64*(jac1(i)*jac_59_68(i)+jac2(i)*jac_67_49(i)+jac3(i)*jac_48_57(i))
139 1 off, det, ngl, nel)
143 dett=one_over_64/det(i)
144 jaci1=dett*jac_59_68(i)
145 jaci4=dett*jac_67_49(i)
146 jaci7=dett*jac_48_57(i)
147 jaci2=dett*(jac3(i)*jac8(i)-jac2(i)*jac9(i))
148 jaci5=dett*(jac1(i)*jac9(i)-jac3(i)*jac7(i))
149 jaci8=dett*(jac2(i)*jac7(i)-jac1(i)*jac8(i))
150 jaci3=dett*(jac2(i)*jac6(i)-jac3(i)*jac5(i))
151 jaci6=dett*(jac3(i)*jac4(i)-jac1(i)*jac6(i))
152 jaci9=dett*(jac1(i)*jac5(i)-jac2(i)*jac4(i))
154 px1(i)=-jaci1-jaci2-jaci3
155 py1(i)=-jaci4-jaci5-jaci6
156 pz1(i)=-jaci7-jaci8-jaci9
158 px2(i)=-jaci1-jaci2+jaci3
159 py2(i)=-jaci4-jaci5+jaci6
160 pz2(i)=-jaci7-jaci8+jaci9
162 px3(i)= jaci1-jaci2+jaci3
163 py3(i)= jaci4-jaci5+jaci6
164 pz3(i)= jaci7-jaci8+jaci9
166 px4(i)= jaci1-jaci2-jaci3
167 py4(i)= jaci4-jaci5-jaci6
168 pz4(i)= jaci7-jaci8-jaci9
173 hx=(x1(i)-x2(i)+x3(i)-x4(i)+x5(i)-x6(i)+x7(i)-x8(i))
174 hy=(y1(i)-y2(i)+y3(i)-y4(i)+y5(i)-y6(i)+y7(i)-y8(i))
175 hz=(z1(i)-z2(i)+z3(i)-z4(i)+z5(i)-z6(i)+z7(i)-z8(i))
176 px1h1(i)=px1(i)*hx+ py1(i)*hy+pz1(i)*hz
177 px2h1(i)=px2(i)*hx+ py2(i)*hy+pz2(i)*hz
178 px3h1(i)=px3(i)*hx+ py3(i)*hy+pz3(i)*hz
179 px4h1(i)=px4(i)*hx+ py4(i)*hy+pz4(i)*hz
183 hx=(x1(i)+x2(i)-x3(i)-x4(i)-x5(i)-x6(i)+x7(i)+x8(i))
184 hy=(y1(i)+y2(i)-y3(i)-y4(i)-y5(i)-y6(i)+y7(i)+y8(i))
185 hz=(z1(i)+z2(i)-z3(i)-z4(i)-z5(i)-z6(i)+z7(i)+z8(i))
186 px1h2(i)=px1(i)*hx+ py1(i)*hy+pz1(i)*hz
187 px2h2(i)=px2(i)*hx+ py2(i)*hy+pz2(i)*hz
188 px3h2(i)=px3(i)*hx+ py3(i)*hy+pz3(i)*hz
189 px4h2(i)=px4(i)*hx+ py4(i)*hy+pz4(i)*hz
193 hx=(x1(i)-x2(i)-x3(i)+x4(i)-x5(i)+x6(i)+x7
194 hy=(y1(i)-y2(i)-y3(i)+y4(i)-y5(i)+y6(i)+y7(i)-y8(i))
195 hz=(z1(i)-z2(i)-z3(i)+z4(i)-z5(i)+z6(i)+z7(i)-z8(i))
196 px1h3(i)=px1(i)*hx+ py1(i)*hy+pz1(i)*hz
197 px2h3(i)=px2(i)*hx+ py2(i)*hy+pz2(i)*hz
198 px3h3(i)=px3(i)*hx+ py3(i)*hy+pz3(i)*hz
199 px4h3(i)=px4(i)*hx+ py4(i)*hy+pz4(i)*hz
subroutine sderit3(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, jac1, jac2, jac3, jac4, jac5, jac6, nel, jhbe)