37 SUBROUTINE s4deri3(VOL ,VEUL ,GEO ,IGEO ,RX ,
38 . RY ,RZ ,SX ,SY ,SZ ,
40 . X1 ,X2 ,X3 ,X4 ,Y1 ,Y2 ,
41 . Y3 ,Y4 ,Z1 ,Z2 ,Z3 ,Z4 ,
42 . PX1 ,PX2 ,PX3 ,PX4 ,
43 . PY1 ,PY2 ,PY3 ,PY4 ,
44 . PZ1 ,PZ2 ,PZ3 ,PZ4 ,JAC_I,
45 . DELTAX,DET ,NGL ,NGEO ,MXT ,
51#include "implicit_f.inc"
60#include "vect01_c.inc"
67 INTEGER IGEO(NPROPGI,*), MXT(MVSIZ)
69 . X1(MVSIZ), X2(MVSIZ), X3(), X4(MVSIZ),
70 . Y1(MVSIZ), (MVSIZ), Y3(MVSIZ), Y4(MVSIZ),
71 . Z1(MVSIZ), Z2(MVSIZ), Z3(MVSIZ), Z4(MVSIZ),VOLDP(*)
74 . VOL(*), VEUL(LVEUL,*),GEO(NPROPG,*), PM(NPROPM,*),
75 . RX(*), RY(*), RZ(*), SX(*), SY(*), SZ(*), TX(*), TY(*), (*), DET(*),
76 . px1(mvsiz), px2(mvsiz), px3(mvsiz), px4(mvsiz),
77 . py1(mvsiz), py2(mvsiz), py3(mvsiz), py4(mvsiz),
78 . pz1(mvsiz), pz2(mvsiz), pz3(mvsiz), pz4(mvsiz),
79 . deltax(mvsiz),jac_i(10,mvsiz)
80 INTEGER NGL(*), NGEO(*)
86 . B1(MVSIZ), B2(MVSIZ), B3(MVSIZ), B4(MVSIZ),
87 . C1(MVSIZ), C2(MVSIZ), C3(MVSIZ), C4(MVSIZ),
88 . D1(MVSIZ), D2(), D3(MVSIZ), D4(MVSIZ)
90 . x41, y41, z41, x42, y42, z42, x43, y43, z43,b1dp,c1dp,d1dp
92 . d ,pxx, pyy, pzz, pxy, pyz, pxz, gfac, aa, bb, p, ld
114 b1dp = y43*z42 - y42*z43
116 b2(i) = y41*z43 - y43*z41
117 b3(i) = y42*z41 - y41*z42
118 b4(i) = -(b1(i) + b2(i) + b3(i))
120 c1dp = z43*x42 - z42*x43
122 c2(i) = z41*x43 - z43*x41
123 c3(i) = z42*x41 - z41*x42
124 c4(i) = -(c1(i) + c2(i) + c3(i))
126 d1dp = x43*y42 - x42*y43
128 d2(i) = x41*y43 - x43*y41
129 d3(i) = x42*y41 - x41*y42
130 d4(i) = -(d1(i) + d2(i) + d3(i))
132 voldp(i) = (x41*b1dp + y41*c1dp + z41*d1dp)*one_over_6
138 IF (det(i) <= zero)
THEN
139 IF (igeo(11,ngeo(i)) /= 0)
THEN
148 . msgtype=msgwarning,
175 d =
max(px1(i)*px1(i)+py1(i)*py1(i)+pz1(i)*pz1(i),
176 . px2(i)*px2(i)+py2(i)*py2(i)+pz2(i)*pz2(i),
177 . px3(i)*px3(i)+py3(i)*py3(i)+pz3(i)*pz3(i),
178 . px4(i)*px4(i)+py4(i)*py4(i)+pz4(i)*pz4(i))
179 deltax(i) = one / sqrt(d)
182 ELSEIF(iformdt==0)
THEN
184 d = px1(i)*px1(i)+py1(i)*py1(i)+pz1(i)*pz1(i)
185 . + px2(i)*px2(i)+py2(i)*py2(i)+pz2(i)*pz2(i)
186 . + px3(i)*px3(i)+py3(i)*py3(i)+pz3(i)*pz3(i)
187 . + px4(i)*px4(i)+py4(i)*py4(i)+pz4(i)*pz4(i)
188 deltax(i) = one / sqrt(d)
191 ELSEIF(iformdt==1)
THEN
194 ld =two*sqrt(
max(one-gfac,zero))+one
196 pxx=px1(i)*px1(i)+px2(i)*px2(i)+px3(i)*px3(i)+px4(i)*px4(i)
197 pyy=py1(i)*py1(i)+py2(i)*py2(i)+py3(i)*py3(i)+py4(i)*py4(i)
198 pzz=pz1(i)*pz1(i)+pz2(i)*pz2(i)+pz3(i)*pz3(i)+pz4(i)*pz4(i)
199 pxy=px1(i)*py1(i)+px2(i)*py2(i)+px3(i)*py3(i)+px4(i)*py4(i)
200 pxz=px1(i)*pz1(i)+px2(i)*pz2(i)+px3(i)*pz3(i)+px4(i)*pz4(i)
201 pyz=py1(i)*pz1(i)+py2(i)*pz2(i)+py3(i)*pz3(i)+py4(i)*pz4(i)
204 bb = (pxx*pyy+pxx*pzz+pyy*pzz-pxy**2-pxz**2-pyz**2)
206 d = two*sqrt(third*
max(-p,zero))-third*aa
210 deltax(i) = one / sqrt(d)
213 ELSEIF(iformdt==2)
THEN
217 pxx=px1(i)*px1(i)+px2(i)*px2(i)+px3(i)*px3(i)+px4(i)*px4(i)
218 pyy=py1(i)*py1(i)+py2(i)*py2(i)+py3(i)*py3(i)+py4(i)*py4(i)
219 pzz=pz1(i)*pz1(i)+pz2(i)*pz2(i)+pz3(i)*pz3(i)+pz4(i)*pz4(i)
220 pxy=px1(i)*py1(i)+px2(i)*py2(i)+px3(i)*py3(i)+px4(i)*py4(i)
221 pxz=px1(i)*pz1(i)+px2(i)*pz2(i)+px3(i)*pz3(i
222 pyz=py1(i)*pz1(i)+py2(i)*pz2(i)+py3(i)*pz3(i)+py4(i)*pz4(i)
225 bb = gfac*(pxx*pyy+pxx*pzz+pyy*pzz-pxy**2-pxz**2-pyz**2)
227 d = two*sqrt(third*
max(-p,zero))-third*aa
229 deltax(i) = one / sqrt(d)
234 IF (ismstr==10.OR.ismstr==12)
THEN
249 IF (jeul * (1 - imulti_fvm) /= 0 .AND. nxref==0)
THEN
263 veul(13,i)= deltax(i)
268 veul(15,i) = half*b1(i)
270 veul(17,i) = half*b2(i)
271 veul(18,i) = half*b3(i)
272 veul(19,i) = half*b4(i)
275 veul(21,i) = half*c1(i)
277 veul(23,i) = half*c2(i)
278 veul(24,i) = half*c3(i)
279 veul(25,i) = half*c4(i)
282 veul(27,i) = half*d1(i)
284 veul(29,i) = half*d2(i)
285 veul(30,i) = half*d3(i)
286 veul(31,i) = half*d4(i)
289 IF (igeo(11,ngeo(lft)) == 15)
THEN
291 vol(i)=vol(i)*geo(1,ngeo(i))
292 voldp(i)=voldp(i)*geo(1,ngeo(i))
subroutine s4deri3(vol, veul, geo, igeo, rx, ry, rz, sx, sy, sz, tx, ty, tz, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac_i, deltax, det, ngl, ngeo, mxt, pm, voldp)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)