36 SUBROUTINE czcorc1(NUMNOD ,NUMELC ,ELBUF_STR,
37 1 JFT ,JLT ,X ,V ,VR ,
38 2 IXC ,PM ,PLAT ,AREA ,
39 3 AREA_I ,V13 ,V24 ,VHI ,RLXYZ ,
40 4 VQN ,VQ ,LL ,L13 ,L24 ,
41 5 X13 ,X24 ,Y13 ,Y24 ,MX13 ,
42 6 MX23 ,MX34 ,MY13 ,MY23 ,MY34 ,
43 7 Z1 ,COREL ,DI ,DB ,SMSTR ,
44 9 IREP ,NPT ,NLAY ,ISMSTR ,
45 A DIR_A ,DIR_B ,OFFG ,RLXYZV ,CORELV ,
46 B FACN ,PY1 ,PX2 ,PY2 ,R11 ,
47 C R12 ,R13 ,R21 ,R22 ,R23 ,
48 D R31 ,R32 ,R33 ,RLZ ,IDRIL ,
49 E IXFEM ,VX1 ,VX2 ,VX3 ,VX4 ,
50 F VY1 ,VY2 ,VY3 ,VY4 ,VZ1 ,
51 G VZ2 ,VZ3 ,VZ4 ,VRX1 ,VRX2 ,
52 H VRX3 ,VRX4 ,VRY1 ,VRY2 ,VRY3 ,
53 I VRY4 ,VRZ1 ,VRZ2 ,VRZ3 ,VRZ4 ,
54 J X1G ,X2G ,X3G ,X4G ,Y1G ,
55 K Y2G ,Y3G ,Y4G ,Z1G ,Z2G ,
56 L Z3G ,Z4G ,THK ,DIZ ,UX1 ,
57 M UX2 ,UX3 ,UX4 ,UY1 ,UY2 ,
58 N UY3 ,UY4 ,XL2 ,XL3 ,XL4 ,
59 O YL2 ,YL3 ,YL4 ,VL1 ,VL2 ,
66#include "implicit_f.inc"
81 INTEGER,
INTENT(IN) :: NUMNOD,NUMELC
82 INTEGER IXC(NIXC,*),JFT,JLT,IREP,NPT,NLAY,ISMSTR,IDRIL,IXFEM,NEL
84 . PM(NPROPM,*), X(3,*), V(3,*), VR(3,*),RLXYZ(MVSIZ
86 . LL(NEL)(),Y13(NEL),Y24(NEL),MX13(NEL),
87 . VQ(,3,3),AREA(NEL),Z1(NEL),MX34(NEL),VQN(MVSIZ,3,4),AREA_I(),
88 . corel(mvsiz,2,4),di(mvsiz,6),db(mvsiz,3,4),dir_a(nel,*),dir_b(nel,*),offg(nel),
89 . rlxyzv(mvsiz,2,4),corelv(mvsiz,2,4),facn(mvsiz,2),px2(*),
90 . py1(nel), py2(nel),r11(mvsiz),r12(mvsiz),r13(mvsiz),
91 . r21(mvsiz),r22(mvsiz),r23(mvsiz),r31(mvsiz),r32(mvsiz),
92 . r33(mvsiz),rlz(mvsiz,4),diz(mvsiz,3),thk(*),
93 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
94 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
95 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
96 . vrx1(mvsiz),vrx2(mvsiz),vrx3(mvsiz),vrx4(mvsiz),
97 . vry1(mvsiz),vry2(mvsiz),vry3(mvsiz),vry4(mvsiz),
98 . vrz1(mvsiz),vrz2(mvsiz),vrz3(mvsiz),vrz4(mvsiz),
99 . x1g(mvsiz),x2g(mvsiz),x3g(mvsiz),x4g(mvsiz),
100 . y1g(mvsiz),y2g(mvsiz),y3g(mvsiz),y4g(mvsiz),
101 . z1g(mvsiz),z2g(mvsiz),z3g(mvsiz),z4g(mvsiz),
102 . ux1(mvsiz),ux2(mvsiz),ux3(mvsiz),ux4(mvsiz),
103 . uy1(mvsiz),uy2(mvsiz),uy3(mvsiz),uy4(mvsiz),
104 . xl2(mvsiz),xl3(mvsiz),xl4(mvsiz),
105 . yl2(mvsiz),yl3(mvsiz),yl4(mvsiz),
106 . z2(mvsiz),vl1(mvsiz,3),vl2(mvsiz,3),vl3(mvsiz,3),vl4(mvsiz,3)
107 TYPE (ELBUF_STRUCT_) :: ELBUF_STR
113 INTEGER IXCTMP2,IXCTMP3,IXCTMP4,IXCTMP5
114 INTEGER NNOD,I,J,K,L,II(6)
117 . lxyz0(3),deta,deta1(mvsiz),rx(mvsiz), ry(mvsiz), rz(mvsiz),
118 . sx(mvsiz),sy(mvsiz),ssz(mvsiz),
119 . vcore(3,nnod),rrxyz(3,nnod),vg13(3),vg24(3),vghi(3),
120 . tol,x13_2(mvsiz),y13_2(mvsiz),x24_2(mvsiz),y24_2(mvsiz),
121 . a_4,sz,sz1,sz2,sl,c1,c2,s1,
122 . vlxyz(3,nnod),ar(3),ad(nnod),btb(6),xx,yy,zz,xy,xz,yz,
123 . abc,xxyz2,yyxz2,zzxy2,d(6),diz1(6),
124 . alr(3),ald(nnod),dbad(3),btb_c,
125 . hs(mvsiz),faci,fac1,fac2,lm(mvsiz),facdt,
126 . dt05,dt025,exz,eyz,ddrx,ddry,v13x,v24x,vhix,ddrz1,ddrz2
147 rx(i)=x(1,ixctmp3)+x(1,ixctmp4)-x(1,ixctmp2)-x(1,ixctmp5)
148 sx(i)=x(1,ixctmp4)+x(1,ixctmp5)-x(1,ixctmp2)-x(
149 ry(i)=x(2,ixctmp3)+x(2,ixctmp4)-x(2,ixctmp2)-x(2,ixctmp5
151 rz(i)=x(3,ixctmp3)+x(3,ixctmp4)-x(3,ixctmp2)-x(3,ixctmp5)
152 ssz(i)=x(3,ixctmp4)+x(3,ixctmp5)-x(3,ixctmp2)-x(3,ixctmp3)
154 ELSE IF(ixfem==1)
THEN
156 rx(i)=x2g(i)+x3g(i)-x1g(i)-x4g(i)
157 sx(i)=x3g(i)+x4g(i)-x1g(i)-x2g(i)
158 ry(i)=y2g(i)+y3g(i)-y1g(i)-y4g(i)
159 sy(i)=y3g(i)+y4g(i)-y1g(i)-y2g(i)
160 rz(i)=z2g(i)+z3g(i)-z1g(i)-z4g(i)
161 ssz(i)=z3g(i)+z4g(i)-z1g(i)-z2g(i)
171 . r11,r12,r13,r21,r22,r23,r31,r32,r33,deta1,offg )
173 area(i)=fourth*deta1(i)
175 IF(abs(offg(i))/=zero) off_loc = one
176 area_i(i)=off_loc/area(i)
177 area_i(i) =
max(area_i(i),em20)
198 lxyz0(1)=fourth*(x(1,ixctmp4)+x(1,ixctmp5) + x(1,ixctmp2)+x(1,ixctmp3))
199 lxyz0(2)=fourth*(x(2,ixctmp4)+x(2,ixctmp5) + x(2,ixctmp2)+x(2,ixctmp3))
200 lxyz0(3)=fourth*(x(3,ixctmp4)+x(3,ixctmp5) + x(3,ixctmp2)+x(3,ixctmp3))
207 xl2(i)=r11(i)*xx+r21(i)*yy+r31(i)*zz
208 yl2(i)=r12(i)*xx+r22(i)*yy+r32(i)*zz
212 z1(i)=r13(i)*xx+r23(i)*yy+r33(i)*zz
217 xl3(i)=r11(i)*xx+r21(i)*yy+r31(i)*zz
218 yl3(i)=r12(i)*xx+r22(i)*yy+r32(i)*zz
223 xl4(i)=r11(i)*xx+r21(i)*yy+r31(i)*zz
224 yl4(i)=r12(i)*xx+r22(i)*yy+r32(i)*zz
227 ELSE IF(ixfem==1)
THEN
229 lxyz0(1)=fourth*(x3g(i)+x4g(i)+x1g(i)+x2g(i))
230 lxyz0(2)=fourth*(y3g(i)+y4g(i)+y1g(i)+y2g(i))
231 lxyz0(3)=fourth*(z3g(i)+z4g(i)+z1g(i)+z2g(i))
235 xl2(i)=r11(i)*xx+r21(i)*yy+r31(i)*zz
236 yl2(i)=r12(i)*xx+r22(i)*yy+r32(i)*zz
240 z1(i)=r13(i)*xx+r23(i)*yy+r33(i)*zz
244 xl3(i)=r11(i)*xx+r21(i)*yy+r31(i)*zz
245 yl3(i)=r12(i)*xx+r22(i)*yy+r32(i)*zz
249 xl4(i)=r11(i)*xx+r21(i)*yy+r31(i)*zz
250 yl4(i)=r12(i)*xx+r22(i)*yy+r32(i)*zz
258#include "vectorize.inc"
260 IF(abs(offg(i)) == one)offg(i
269 IF(abs(offg(i)) == two)
THEN
270 ux2(i) = xl2(i)-smstr(ii(1)+i)
271 uy2(i) = yl2(i)-smstr(ii(2)+i)
272 ux3(i) = xl3(i)-smstr(ii(3)+i)
273 uy3(i) = yl3(i)-smstr(ii(4)+i)
274 ux4(i) = xl4(i)-smstr(ii(5)+i)
275 uy4(i) = yl4(i)-smstr(ii(6)+i)
276 xl2(i) = smstr(ii(1)+i)
277 yl2(i) = smstr(ii(2)+i)
278 xl3(i) = smstr(ii(3)+i)
279 yl3(i) = smstr(ii(4)+i)
280 xl4(i) = smstr(ii(5)+i)
281 yl4(i) = smstr(ii(6)+i)
283 area(i) = half*((xl2(i)-xl4(i))*yl3(i)-xl3(i)*(yl2(i)-yl4(i)))
284 area_i(i) = one/
max(em20,area(i))
286 smstr(ii(1)+i) = xl2(i)
287 smstr(ii(2)+i) = yl2(i)
288 smstr(ii(3)+i) = xl3(i)
289 smstr(ii(4)+i) = yl3(i)
290 smstr(ii(5)+i) = xl4(i)
291 smstr(ii(6)+i) = yl4(i)
294 ELSEIF(ismstr == 1.OR.ismstr == 2)
THEN
295#include "vectorize.inc"
297 IF(abs(offg(i)) == two)
THEN
298 xl2(i) = smstr(ii(1)+i)
299 yl2(i) = smstr(ii(2)+i)
300 xl3(i) = smstr(ii(3)+i)
301 yl3(i) = smstr(ii(4)+i)
302 xl4(i) = smstr(ii(5)+i)
303 yl4(i) = smstr(ii(6)+i)
305 area(i) = half*((xl2(i)-xl4(i))*yl3(i)-xl3(i)*(yl2(i)-yl4(i)))
306 area_i(i) = one/
max(em20,area(i))
308 smstr(ii(1)+i)=xl2(i)
309 smstr(ii(2)+i)=yl2(i)
310 smstr(ii(3)+i)=xl3(i)
311 smstr(ii(4)+i)=yl3(i)
312 smstr(ii(5)+i)=xl4(i)
313 smstr(ii(6)+i)=yl4(i)
319 IF(offg(i) == one)offg(i)=two
325 CALL cortdir3(elbuf_str,dir_a ,dir_b ,jft ,jlt ,
326 . nlay ,irep ,rx ,ry ,rz ,
327 . sx ,sy ,ssz ,r11 ,r21 ,
328 . r31 ,r12 ,r22 ,r32 ,nel )
330 IF (ivector == 1)
THEN
334 lxyz0(1)=fourth*(xl2(i)+xl3(i)+xl4(i))
335 lxyz0(2)=fourth*(yl2(i)+yl3(i)+yl4(i))
336 corel(i,1,1)=-lxyz0(1)
337 corel(i,1,2)=xl2(i)-lxyz0(1)
339 corel(i,1,4)=xl4(i)-lxyz0(1)
340 corel(i,2,1)=-lxyz0(2)
341 corel(i,2,2)=yl2(i)-lxyz0(2)
342 corel(i,2,3)=yl3(i)-lxyz0(2)
343 corel(i,2,4)=yl4(i)-lxyz0(2)
344 x13(i)=(corel(i,1,1)-corel(i,1,3))*half
345 x24(i)=(corel(i,1,2)-corel(i,
346 y13(i)=(corel(i,2,1)-corel(i,2,3))*half
347 y24(i)=(corel(i,2,2)-corel(i,2,4))*half
349 mx13(i)=(corel(i,1,1)+corel(i,1,3))*half
350 mx23(i)=(corel(i,1,2)+corel(i,1,3))*half
351 mx34(i)=(corel(i,1,3)+corel(i,1,4))*half
352 my13(i)=(corel(i,2,1)+corel(i,2,3))*half
353 my23(i)=(corel(i,2,2)+corel(i,2,3))*half
354 my34(i)=(corel(i,2,3)+corel(i,2,4))*half
360 x13_2(i) =x13(i)*x13(i)
361 y13_2(i) =y13(i)*y13(i)
362 x24_2(i) =x24(i)*x24(i)
363 y24_2(i) =y24(i)*y24(i)
364 l13(i)=x13_2(i)+y13_2(i)
366 l24(i)=x24_2(i)+y24_2(i)
368 c1 =corel(i,1,2)*corel(i,2,4)-corel(i,2,2)*corel(i,1,4)
369 c2 =corel(i,1,1)*corel(i,2,3)-corel(i,2,1)*corel(i,1,3)
370 hs(i) =
max(abs(c1),abs(c2))*area_i(i)
379 IF (idt1sh>0) facdt =four_over_3
381 rx(i)=xl2(i)+xl3(i)-xl4(i)
382 ry(i)=yl2(i)+yl3(i)-yl4(i)
383 sx(i)=-xl2(i)+xl3(i)+xl4(i)
384 sy(i)=-yl2(i)+yl3(i)+yl4(i)
385 c1=sqrt(rx(i)*rx(i)+ry(i)*ry(i))
386 c2=sqrt(sx(i)*sx(i)+sy(i)*sy(i))
387 s1=fourth*(
max(c1,c2)/
min(c1,c2)-one)
388 fac1=
min(half,s1)+one
389 fac2=four*area(i)/(c1*c2)
390 fac2=3.413*
max(zero,fac2-0.7071)
391 fac2=0.78+0.22*fac2*fac2*fac2
394 ll(i)=
max(l13(i),l24(i))
395 lm(i)=half*(l13(i)+l24(i))
396 facn(i,1)=sqrt(l24(i)/ll(i))
397 facn(i,2)=sqrt(l13(i)/ll(i))
398 s1 = sqrt(faci*(facdt+hs(i))*ll(i))
405 s1=em01*thk(i)*thk(i)
414 rlxyz(i,1,1) =vq(i,1,1)*vr(1,k)+vq(i,2,1)*vr(2,k)+vq(i,3,1)*vr(3,k)
415 rlxyz(i,2,1) =vq(i,1,2)*vr(1,k)+vq(i,2,2)*vr(2,k)+vq(i,3,2)*vr(3,k)
417 rlxyz(i,1,2) =vq(i,1,1)*vr(1,k)+vq(i,2,1)*vr(2,k)+vq(i,3,1)*vr(3,k)
418 rlxyz(i,2,2) =vq(i,1,2)*vr(1,k)+vq(i,2,2)*vr(2,k)+vq(i,3,2)*vr(3,k)
420 rlxyz(i,1,3) =vq(i,1,1)*vr(1,k)+vq(i,2,1)*vr(2,k)+vq(i,3,1)*vr(3,k)
421 rlxyz(i,2,3) =vq(i,1,2)*vr(1,k)+vq(i
423 rlxyz(i,1,4) =vq(i,1,1)*vr(1,k)+vq(i,2,1)*vr(2,k)+vq(i,3,1)*vr(3,k)
424 rlxyz(i,2,4) =vq(i,1,2)*vr(1,k)+vq(i,2,2)*vr
426 ELSE IF(ixfem==1)
THEN
429 rlxyz(i,1,1) =vq(i,1,1)*vrx1(i)+vq(i,2,1)*vry1(i)+vq(i,3,1)*vrz1(i)
430 rlxyz(i,2,1) =vq(i,1,2)*vrx1(i)+vq(i,2,2)*vry1(i)+vq(i,3,2)*vrz1(i)
432 rlxyz(i,1,2) =vq(i,1,1)*vrx2(i)+vq(i,2,1)*vry2(i)+vq(i,3,1)*vrz2(i)
433 rlxyz(i,2,2) =vq(i,1,2)*vrx2(i)+vq(i,2,2)*vry2(i)+vq(i,3,2)*vrz2(i)
435 rlxyz(i,1,3) =vq(i,1,1)*vrx3(i)+vq(i,2,1)*vry3(i)+vq(i,3,1)*vrz3(i)
436 rlxyz(i,2,3) =vq(i,1,2)*vrx3(i)+vq(i,2,2)*vry3(i)+vq(i,3,2)*vrz3(i)
438 rlxyz(i,1,4) =vq(i,1,1)*vrx4(i)+vq(i,2,1)*vry4(i)+vq(i,3,1)*vrz4(i)
439 rlxyz(i,2,4) =vq(i,1,2)*vrx4(i)+vq(i,2,2)*vry4(i)+vq(i,3,2)*vrz4(i)
452 vl1(i,1)=v(1,ixctmp2)
453 vl1(i,2)=v(2,ixctmp2)
454 vl1(i,3)=v(3,ixctmp2)
455 vl2(i,1)=v(1,ixctmp3)
456 vl2(i,2)=v(2,ixctmp3)
457 vl2(i,3)=v(3,ixctmp3)
458 vl3(i,1)=v(1,ixctmp4)
459 vl3(i,2)=v(2,ixctmp4)
460 vl3(i,3)=v(3,ixctmp4)
461 vl4(i,1)=v(1,ixctmp5)
462 vl4(i,2)=v(2,ixctmp5)
463 vl4(i,3)=v(3,ixctmp5)
466 vg13(1)=vl1(i,1)-vl3(i,1)
467 vg24(1)=vl2(i,1)-vl4(i,1)
468 vghi(1)=vl1(i,1)-vl2(i,1)+vl3(i,1)-vl4(i,1)
470 vg13(2)=vl1(i,2)-vl3(i,2)
471 vg24(2)=vl2(i,2)-vl4(i,2)
472 vghi(2)=vl1(i,2)-vl2(i,2)+vl3(i,2)-vl4(i,2)
474 vg13(3)=vl1(i,3)-vl3(i,3)
475 vg24(3)=vl2(i,3)-vl4(i,3)
476 vghi(3)=vl1(i,3)-vl2(i,3)+vl3(i,3)-vl4(i,3)
478 v13(i,1)=(vq(i,1,1)*vg13(1)+vq(i,2,1)*vg13(2)+vq(i,3,1)*vg13(3))
479 v24(i,1)=(vq(i,1,1)*vg24(1)+vq(i,2,1)*vg24(2)+vq(i,3,1)*vg24(3))
480 vhi(i,1)=(vq(i,1,1)*vghi(1)+vq(i,2,1)*vghi(2)+vq(i,3,1)*vghi(3))
481 v13(i,2)=(vq(i,1,2)*vg13(1)+vq(i,2,2)*vg13(2)+vq(i,3,2)*vg13(3))
482 v24(i,2)=(vq(i,1,2)*vg24(1)+vq(i,2,2)*vg24(2)+vq(i,3,2)*vg24(3))
483 vhi(i,2)=(vq(i,1,2)*vghi(1)+vq(i,2,2)*vghi(2)+vq(i,3,2)*vghi(3))
484 v13(i,3)=(vq(i,1,3)*vg13(1)+vq(i,2,3)*vg13(2)+vq(i,3,3)*vg13(3))
485 v24(i,3)=(vq(i,1,3)*vg24(1)+vq(i,2,3)*vg24(2)+vq(i,3,3)*vg24(3))
486 vhi(i,3)=(vq(i,1,3)*vghi(1)+vq(i,2,3)*vghi(2)+vq(i,3,3)*vghi(3))
488 ELSE IF(ixfem==1)
THEN
490 vg13(1)=vx1(i)-vx3(i)
491 vg24(1)=vx2(i)-vx4(i)
492 vghi(1)=vx1(i)-vx2(i)+vx3(i)-vx4(i)
494 vg13(2)=vy1(i)-vy3(i)
495 vg24(2)=vy2(i)-vy4(i)
496 vghi(2)=vy1(i)-vy2(i)+vy3(i)-vy4(i)
498 vg13(3)=vz1(i)-vz3(i)
499 vg24(3)=vz2(i)-vz4(i)
500 vghi(3)=vz1(i)-vz2(i)+vz3(i)-vz4(i)
502 v13(i,1)=(vq(i,1,1)*vg13(1)+vq(i,2,1)*vg13(2)+vq(i,3,1)*vg13(3))
503 v24(i,1)=(vq(i,1,1)*vg24(1)+vq(i,2,1)*vg24(2)+vq(i,3,1)*vg24(3))
504 vhi(i,1)=(vq(i,1,1)*vghi(1)+vq(i,2,1)*vghi(2)+vq(i,3,1)*vghi(3))
505 v13(i,2)=(vq(i,1,2)*vg13(1)+vq(i,2,2)*vg13(2)+vq(i,3,2)*vg13(3))
506 v24(i,2)=(vq(i,1,2)*vg24(1)+vq(i,2,2)*vg24(2)+vq(i,3,2)*vg24(3))
507 vhi(i,2)=(vq(i,1,2)*vghi(1)+vq(i,2,2)*vghi
508 v13(i,3)=(vq(i,1,3)*vg13(1)+vq(i,2,3)*vg13(2)
509 v24(i,3)=(vq(i,1,3)*vg24(1)+vq(i,2,3)*vg24(2)+vq(i,3,3)*vg24(3))
510 vhi(i,3)=(vq(i,1,3)*vghi(1)+vq(i,2,3)*vghi(2)+vq(i,3,3)*vghi(3))
518 rlz(i,1) =(vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3)*vr(3,k))*area_i(i)
520 rlz(i,2) =(vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3)*vr(3,k))*area_i(i)
522 rlz(i,3) =(vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i
524 rlz(i,4) =(vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3)*vr(3,k))*area_i(i)
526 ELSE IF(ixfem==1)
THEN
528 rlz(i,1) =(vq(i,1,3)*vrx1(i)+vq(i,2,3)*vry1(i)+vq(i,3,3)*vrz1(i))*area_i(i)
529 rlz(i,2) =(vq(i,1,3)*vrx2(i)+vq(i,2,3)*vry2(i)+vq(i,3,3)*vrz2(i))*area_i(i)
530 rlz(i,3) =(vq(i,1,3)*vrx3(i)+vq(i,2,3)*vry3(i)+vq(i,3,3)*vrz3(i))*area_i(i)
531 rlz(i,4) =(vq(i,1,3)*vrx4(i)+vq(i,2,3)*vry4(i)+vq(i,3,3)*vrz4(i))*area_i(i)
538 IF (impl_s == 0.OR.imp_lr>0)
THEN
542 exz = y24(i)*v13(i,3)-y13(i)*v24(i,3)
543 eyz = -x24(i)*v13(i,3)+x13(i)*v24(i,3)
544 ddry=dt05*exz*area_i(i)
545 ddrx=dt05*eyz*area_i(i)
549 IF (abs(x13(i)-x24(i)) < em10)
THEN
552 ddrz1 = dt025*(v13(i,2)-v24(i,2))/(x13(i)-x24(i))
554 v13(i,1) = v13(i,1)-ddry*v13(i,3)-ddrz1*v13(i,2)
555 v24(i,1) = v24(i,1)-ddry*v24(i,3)-ddrz1*v24(i,2)
556 vhi(i,1) = vhi(i,1)-ddry*vhi(i,3)-ddrz1*vhi(i,2)
557 IF (abs(y13(i)+y24(i)) < em10)
THEN
560 ddrz2 = dt025*(v13x+v24x)/(y13(i)+y24(i))
562 v13(i,2) = v13(i,2)-ddrx*v13(i,3)-ddrz2*v13x
563 v24(i,2) = v24(i,2)-ddrx*v24(i,3)-ddrz2*v24x
564 vhi(i,2) = vhi(i,2)-ddrx*vhi(i,3)-ddrz2*vhix
570 IF (ivector == 1)
THEN
573 CALL czcorp5(numnod ,jlt ,numelc ,vr ,npt ,tol ,
574 2 ixc ,plat ,area ,area_i ,v13 ,
575 3 v24 ,vhi ,rlxyz ,vqn ,vq ,
576 4 x13 ,x24 ,y13 ,y24 ,mx13 ,
578 7 z1 ,di ,db ,corel ,rlz ,
580 9 l13 ,l24 ,idril ,diz )
582 ELSE IF(ixfem==1)
THEN
583 CALL czcorp5x(jft ,jlt ,vr ,npt ,tol ,
584 2 ixc ,plat ,area ,area_i ,v13 ,
585 3 v24 ,vhi ,rlxyz ,vqn ,vq ,
586 4 x13 ,x24 ,y13 ,y24 ,mx13 ,
587 6 mx23 ,mx34 ,my13 ,my23 ,my34 ,
588 7 z1 ,di ,db ,corel ,rlz ,
589 8 lm ,x13_2 ,y13_2 ,x24_2 ,y24_2 ,
590 9 l13 ,l24 ,vrx1 ,vrx2 ,vrx3 ,
591 a vrx4 ,vry1 ,vry2 ,vry3 ,vry4 ,
592 b vrz1 ,vrz2 ,vrz3 ,vrz4 )
597 v13(i,1)=v13(i,1)*area_i(i)
598 v24(i,1)=v24(i,1)*area_i(i)
599 vhi(i,1)=vhi(i,1)*fourth
601 v13(i,2)=v13(i,2)*area_i(i)
602 v24(i,2)=v24(i,2)*area_i(i)
603 vhi(i,2)=vhi(i,2)*fourth
605 v13(i,3)=v13(i,3)*area_i(i)
606 v24(i,3)=v24(i,3)*area_i(i)
607 vhi(i,3)=vhi(i,3)*fourth
652 2 IXC ,PLAT ,AREA ,AREA_I ,V13 ,
653 3 V24 ,VHI ,RLXYZV ,VQN ,VQ ,
654 4 X13 ,X24 ,Y13 ,Y24 ,MX13 ,
655 6 MX23 ,MX34 ,MY13 ,MY23 ,MY34 ,
656 7 Z1 ,DI ,DB ,CORELV ,RLZ ,
657 8 LL ,X13_2 ,Y13_2 ,X24_2 ,Y24_2 ,
662#include "implicit_f.inc"
666#include "mvsiz_p.inc"
671 INTEGER (NIXC,*),JFT,JLT,NPT
673 . vr(3,*),v13(mvsiz,3),v24(mvsiz,3),vhi(mvsiz,3),
674 . mx23(*),my13(*),my23(*),my34(*),
675 . x13(*),x24(*),y13(*),y24(*),mx13(*),
676 . vq(mvsiz,3,3),
area(*),z1(*),mx34(*),vqn(mvsiz,3,4),area_i(*),
677 . di(mvsiz,6),db(mvsiz,3,4),ll(*),l13(*),l24(*),
678 . tol,x13_2(*),y13_2(*),x24_2(*),y24_2(*),
679 . rlxyzv(mvsiz,2,4),corelv(mvsiz,2,4),rlz(mvsiz,4)
687 . vcore(3,nnod),rrxyz(3,nnod),vg13(3),vg24(3),vghi(3),
688 . z2(mvsiz),a_4,sz,sz1,sz2,sl,c1,c2,s1,
689 . ar(3),ad(nnod),btb(6),xx,yy,zz,xy,xz,yz,
690 . abc,xxyz2,yyxz2,zzxy2,d(6),
691 . alr(3),ald(nnod),dbad(3),btb_c
695 IF (z2(i)<ll(i)*tol.OR.npt == 1)
THEN
706 sz1=mx13(i)*y24(i)-my13(i)*x24(i)
709 sl=one/sqrt(sz+sz2*sz2)
710 vqn(i,1,1)=-z1(i)*y24(i)
711 vqn(i,2,1)= z1(i)*x24(i)
713 vqn(i,1,3)=-vqn(i,1,1)
714 vqn(i,2,3)=-vqn(i,2,1)
715 vqn(i,1,1)= vqn(i,1,1)*sl
716 vqn(i,2,1)= vqn(i,2,1)*sl
719 sl=one/sqrt(sz+sz2*sz2)
720 vqn(i,1,3)= vqn(i,1,3)*sl
721 vqn(i,2,3)= vqn(i,2,3)*sl
724 sz1=mx13(i)*y13(i)-my13(i)*x13(i)
727 sl=one/sqrt(sz+sz2*sz2)
728 vqn(i,1,2)=-z1(i)*y13(i)
729 vqn(i,2,2)= z1(i)*x13(i)
731 vqn(i,1,4)=-vqn(i,1,2)
732 vqn(i,2,4)=-vqn(i,2,2)
733 vqn(i,1,2)= vqn(i,1,2)*sl
734 vqn(i,2,2)= vqn(i,2,2)*sl
737 sl=one/sqrt(sz+sz2*sz2)
738 vqn(i,1,4)= vqn(i,1,4)*sl
739 vqn(i,2,4)= vqn(i,2,4)*sl
743 rrxyz(1,1) =rlxyzv(i,1,1)
744 rrxyz(2,1) =rlxyzv(i,2,1)
745 rrxyz(3,1) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3)*vr(3,k)
748 rrxyz(1,2) =rlxyzv(i,1,2)
749 rrxyz(2,2) =rlxyzv(i,2,2)
750 rrxyz(3,2) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3)*vr(3,k)
753 rrxyz(1,3) =rlxyzv(i,1,3)
754 rrxyz(2,3) =rlxyzv(i,2,3)
755 rrxyz(3,3) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3)*vr(3,k)
758 rrxyz(1,4) =rlxyzv(i,1,4)
759 rrxyz(2,4) =rlxyzv(i,2,4)
760 rrxyz(3,4) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3)*vr(3,k)
763 ar(1)=-z1(i)*vhi(i,2)+y13(i)*v13(i,3)+y24(i)*v24(i,3)
765 2 +rrxyz(1,1)+rrxyz(1,2)+rrxyz(1,3)+rrxyz(1,4)
766 ar(2)= z1(i)*vhi(i,1)-x13(i)*v13(i,3)-x24(i)*v24(i,3)
768 2 +rrxyz(2,1)+rrxyz(2,2)+rrxyz(2,3)+rrxyz(2,4)
769 ar(3)= x13(i)*v13(i,2)+x24(i)*v24(i,2)+mx13(i)*vhi(i,2)
770 1 -y13(i)*v13(i,1)-y24(i)*v24(i,1)-my13(i)*vhi(i,1)
771 2 +rrxyz(3,1)+rrxyz(3,2)+rrxyz(3,3)+rrxyz(3,4)
772 ad(1)= vqn(i,1,1)*rrxyz(1,1)+vqn(i,2,1)*rrxyz(2,1)+vqn(i,3,1)*rrxyz(3,1)
773 ad(2)= vqn(i,1,2)*rrxyz(1,2)+vqn(i,2,2)*rrxyz(2,2)+vqn(i,3,2)*rrxyz(3,2)
774 ad(3)= vqn(i,1,3)*rrxyz(1,3)+vqn(i,2,3)*rrxyz(2,3)+vqn(i,3,3)*rrxyz(3,3)
775 ad(4)= vqn(i,1,4)*rrxyz(1,4)+vqn(i,2,4)*rrxyz(2,4)+vqn(i,3,4)*rrxyz(3,4)
778 xx = corelv(i,1,1)*corelv(i,1,1)+corelv(i,1,2)*corelv(i,1,2)+corelv(i,1,3)*corelv(i,1,3)+corelv(i,1,4)*corelv(i,1,4)
779 yy = corelv(i,2,1)*corelv(i,2,1)+corelv(i,2,2)*corelv(i,2,2)+corelv(i,2,3)*corelv(i,2,3)+corelv(i,2,4)*corelv(i,2,4)
780 xy = corelv(i,1,1)*corelv(i,2,1)+corelv(i,1,2)*corelv(i,2,2)+corelv(i,
784 btb(1)= btb_c*(y24_2(i)+y13_2(i))
785 btb(2)= btb_c*(x24_2(i)+x13_2(i))
786 btb(3)= btb_c*(x24(i)*y24(i)+x13(i)*y13(i))
791 deta = d(1)*d(2)-d(3)*d(3)
800 di(i,3) = one/
max(xx+yy,em20)
805 db(i,1,j)= di(i,1)*vqn(i,1,j)+di(i,4)*vqn(i,2,j)
806 db(i,2,j)= di(i,4)*vqn(i,1,j)+di(i,2)*vqn(i,2,j)
807 db(i,3,j)= di(i,3)*vqn(i,3,j)
810 dbad(1)= db(i,1,1)*ad(1)+db(i,1,2)*ad(2)+db(i,1,3)*ad(3)+db(i,1,4)*ad(4)
811 dbad(2)= db(i,2,1)*ad(1)+db(i,2,2)*ad(2)+db(i,2,3)*ad(3)+db(i,2,4)*ad(4)
812 dbad(3)= db(i,3,1)*ad(1)+db(i,3,2)*ad(2)+db(i,3,3)*ad(3)+db(i,3,4)*ad(4)
814 alr(1) =di(i,1)*ar(1)+di(i,4)*ar(2)-dbad(1)
815 alr(2) =di(i,4)*ar(1)+di(i,2)*ar(2)-dbad(2)
816 alr(3) = di(i,3)*ar(3)-dbad(3)
818 ald(1) = ad(1)+vqn(i,1,1)*dbad(1)+vqn(i,2,1)*dbad(2)
819 1 +vqn(i,3,1)*dbad(3)
820 2 -db(i,1,1)*ar(1)-db(i,2,1)*ar(2)-db(i,3,1)*ar(3)
821 ald(2) = ad(2)+vqn(i,1,2)*dbad(1)+vqn(i,2,2)*dbad(2)
822 1 +vqn(i,3,2)*dbad(3)
823 2 -db(i,1,2)*ar(1)-db(i,2,2)*ar(2)-db(i,3,2)*ar(3)
824 ald(3) = ad(3)+vqn(i,1,3)*dbad(1)+vqn(i,2,3)*dbad(2)
825 1 +vqn(i,3,3)*dbad(3)
826 2 -db(i,1,3)*ar(1)-db(i,2,3)*ar(2)-db(i,3,3)*ar(3)
827 ald(4) = ad(4)+vqn(i,1,4)*dbad(1)+vqn(i,2,4)*dbad(2)
828 1 +vqn(i,3,4)*dbad(3)
829 2 -db(i,1,4)*ar(1)-db(i,2,4)*ar(2)-db(i,3,4)*ar(3)
832 v13(i,1)= v13(i,1)+c1*y13(i)
833 v24(i,1)= v24(i,1)+c1*y24(i)
834 vhi(i,1)= vhi(i,1)+four*(alr(3)*my13(i)-z1(i)*alr(2))
835 v13(i,2)= v13(i,2)-c1*x13(i)
836 v24(i,2)= v24(i,2)-c1*x24(i)
837 vhi(i,2)= vhi(i,2)-four*(alr(3)*mx13(i)-z1(i)*alr(1))
838 v13(i,3)= v13(i,3)-two*(y13(i)*alr(1)-x13(i)*alr(2))
839 v24(i,3)= v24(i,3)-two*(y24(i)*alr(1)-x24(i)*alr(2))
840 vhi(i,3)= vhi(i,3)+four*(mx13(i)*alr(2)-my13(i)*alr(1))
842 rlxyzv(i,1,1)= rrxyz(1,1)-alr(1)-vqn(i,1,1)*ald(1)
843 rlxyzv(i,1,2)= rrxyz(1,2)-alr(1)-vqn(i,1,2)*ald(2)
844 rlxyzv(i,1,3)= rrxyz(1,3)-alr(1)-vqn(i,1,3)*ald(3)
847 rlxyzv(i,2,1)= rrxyz(2,1)-alr(2)-vqn(i,2,1)*ald(1)
848 rlxyzv(i,2,2)= rrxyz(2,2)-alr(2)-vqn(i,2,2)*ald(2)
849 rlxyzv(i,2,3)= rrxyz(2,3)-alr(2)-vqn(i,2,3)*ald(3)
850 rlxyzv(i,2,4)= rrxyz(2,4)-alr(2)-vqn(i,2,4)*ald(4)
863 2 IXC ,PLAT ,AREA ,AREA_I ,V13 ,
864 3 V24 ,VHI ,RLXYZ ,VQN ,VQ ,
865 4 X13 ,X24 ,Y13 ,Y24 ,MX13 ,
866 6 MX23 ,MX34 ,MY13 ,MY23 ,MY34 ,
867 7 Z1 ,DI ,DB ,COREL ,RLZ ,
868 8 LL ,X13_2 ,Y13_2 ,X24_2 ,Y24_2 ,
873#include "implicit_f.inc"
877#include "mvsiz_p.inc"
882 INTEGER IXC(NIXC,*),JFT,JLT,NPT
884 . vr(3,*),v13(mvsiz,3),v24(mvsiz,3
885 . mx23(*),my13(*),my23(*),my34(*),
886 . x13(*),x24(*),y13(*),y24(*),mx13(*),
887 . vq(mvsiz,3,3),
area(*),z1(*),mx34(*),vqn(mvsiz,3,4),area_i(*),
888 . di(mvsiz,6),db(mvsiz,3,4),ll(*),l13(*),l24(*),
889 . tol,x13_2(*),y13_2(*),x24_2(*),y24_2(*),
890 . rlxyz(mvsiz,2,4),corel(mvsiz,2,4),rlz(mvsiz,4)
898 . vcore(3,nnod),rrxyz(3,nnod),vg13(3),vg24(3),vghi(3),
899 . z2(mvsiz),a_4,sz,sz1,sz2,sl,c1,c2,s1,
900 . ar(3),ad(nnod),btb(6),xx,yy,zz,xy,xz,yz,
901 . abc,xxyz2,yyxz2,zzxy2,d(6),
902 . alr(3),ald(nnod),dbad(3),btb_c
906 IF (z2(i)<ll(i)*tol.OR.npt == 1)
THEN
917 sz1=mx13(i)*y24(i)-my13(i)*x24(i)
920 sl=one/sqrt(sz+sz2*sz2)
921 vqn(i,1,1)=-z1(i)*y24(i)
922 vqn(i,2,1)= z1(i)*x24(i)
924 vqn(i,1,3)=-vqn(i,1,1)
925 vqn(i,2,3)=-vqn(i,2,1)
926 vqn(i,1,1)= vqn(i,1,1)*sl
927 vqn(i,2,1)= vqn(i,2,1)*sl
930 sl=one/sqrt(sz+sz2*sz2)
931 vqn(i,1,3)= vqn(i,1,3)*sl
932 vqn(i,2,3)= vqn(i,2,3)*sl
935 sz1=mx13(i)*y13(i)-my13(i)*x13(i)
938 sl=one/sqrt(sz+sz2*sz2)
939 vqn(i,1,2)=-z1(i)*y13(i)
940 vqn(i,2,2)= z1(i)*x13(i)
942 vqn(i,1,4)=-vqn(i,1,2)
943 vqn(i,2,4)=-vqn(i,2,2)
944 vqn(i,1,2)= vqn(i,1,2)*sl
945 vqn(i,2,2)= vqn(i,2,2)*sl
948 sl=one/sqrt(sz+sz2*sz2)
949 vqn(i,1,4)= vqn(i,1,4)*sl
950 vqn(i,2,4)= vqn(i,2,4)*sl
954 rrxyz(1,1) =rlxyz(i,1,1)
955 rrxyz(2,1) =rlxyz(i,2,1)
956 rrxyz(3,1) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3)*vr(3,k)
959 rrxyz(1,2) =rlxyz(i,1,2)
960 rrxyz(2,2) =rlxyz(i,2,2)
961 rrxyz(3,2) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3
964 rrxyz(1,3) =rlxyz(i,1,3)
965 rrxyz(2,3) =rlxyz(i,2,3)
966 rrxyz(3,3) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3)*vr(3,k)
970 rrxyz(2,4) =rlxyz(i,2,4)
971 rrxyz(3,4) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)+vq(i,3,3)*vr(3,k)
975 ar(1)=-z1(i)*vhi(i,2)+y13(i)*v13(i,3)+y24(i)*v24(i,3)
977 2 +rrxyz(1,1)+rrxyz(1,2)+rrxyz(1,3)+rrxyz(1,4)
978 ar(2)= z1(i)*vhi(i,1)-x13(i)*v13(i,3)-x24(i)*v24(i,3)
980 2 +rrxyz(2,1)+rrxyz(2,2)+rrxyz(2,3)+rrxyz(2,4)
981 ar(3)= x13(i)*v13(i,2)+x24(i)*v24(i,2)+mx13(i)*vhi(i,2)
982 1 -y13(i)*v13(i,1)-y24(i)*v24(i,1)-my13(i)*vhi(i,1)
983 2 +rrxyz(3,1)+rrxyz(3,2)+rrxyz(3,3)+rrxyz(3,4)
984 ad(1)= vqn(i,1,1)*rrxyz(1,1)+vqn(i,2,1)*rrxyz(2,1)+
985 1 vqn(i,3,1)*rrxyz(3,1)
986 ad(2)= vqn(i,1,2)*rrxyz(1,2)+vqn(i,2,2)*rrxyz(2,2)+
987 1 vqn(i,3,2)*rrxyz(3,2)
988 ad(3)= vqn(i,1,3)*rrxyz(1,3)+vqn(i,2,3)*rrxyz(2,3)+
989 1 vqn(i,3,3)*rrxyz(3,3)
990 ad(4)= vqn(i,1,4)*rrxyz(1,4)+vqn(i,2,4)*rrxyz(2,4)+
991 1 vqn(i,3,4)*rrxyz(3,4)
994 xx = corel(i,1,1)*corel(i,1,1)+corel(i,1,2)*corel(i,1,2)
995 1 +corel(i,1,3)*corel(i,1,3)+corel(i,1,4)*corel(i,1,4)
996 yy = corel(i,2,1)*corel(i,2,1)+corel(i,2,2)*corel(i,2,2)
997 1 +corel(i,2,3)*corel(i,2,3)+corel(i,2,4)*corel(i,2,4)
998 xy = corel(i,1,1)*corel(i,2,1)+corel(i,1,2)*corel(i,2,2)
999 1 +corel(i,1,3)*corel(i,2,3)+corel(i,1,4)*corel(i,2,4)
1003 btb(1)= btb_c*(y24_2(i)+y13_2(i))
1004 btb(2)= btb_c*(x24_2(i)+x13_2(i))
1005 btb(3)= btb_c*(x24(i)*y24(i)+x13(i)*y13(i))
1007 d(1)= yy+zz+4-btb(1)
1008 d(2)= xx+zz+4-btb(2)
1010 deta = d(1)*d(2)-d(3)*d(3)
1011 IF (deta<=em20)
THEN
1019 di(i,3) = one/
max(xx+yy,em20)
1024 db(i,1,j)= di(i,1)*vqn(i,1,j)+di(i,4)*vqn(i,2,j)
1025 db(i,2,j)= di(i,4)*vqn(i,1,j)+di(i,2)*vqn(i,2,j)
1026 db(i,3,j)= di(i,3)*vqn(i,3,j)
1029 dbad(1)= db(i,1,1)*ad(1)+db(i,1,2)*ad(2)
1030 1 +db(i,1,3)*ad(3)+db(i,1,4)*ad(4)
1031 dbad(2)= db(i,2,1)*ad(1)+db(i,2,2)*ad(2)
1032 1 +db(i,2,3)*ad(3)+db(i,2,4)*ad(4)
1033 dbad(3)= db(i,3,1)*ad(1)+db(i,3,2)*ad(2)
1034 1 +db(i,3,3)*ad(3)+db(i,3,4)*ad(4)
1036 alr(1) =di(i,1)*ar(1)+di(i,4)*ar(2)-dbad(1)
1037 alr(2) =di(i,4)*ar(1)+di(i,2)*ar(2)-dbad(2)
1038 alr(3) = di(i,3)*ar(3)-dbad(3)
1040 ald(1) = ad(1)+vqn(i,1,1)*dbad(1)+vqn(i,2,1)*dbad(2)
1041 1 +vqn(i,3,1)*dbad(3)
1042 2 -db(i,1,1)*ar(1)-db(i,2,1)*ar(2)-db(i,3,1)*ar(3)
1043 ald(2) = ad(2)+vqn(i,1,2)*dbad(1)+vqn(i,2,2)*dbad(2)
1044 1 +vqn(i,3,2)*dbad(3)
1045 2 -db(i,1,2)*ar(1)-db(i,2,2)*ar(2)-db(i,3,2)*ar(3)
1046 ald(3) = ad(3)+vqn(i,1,3)*dbad(1)+vqn(i,2,3)*dbad(2)
1047 1 +vqn(i,3,3)*dbad(3)
1048 2 -db(i,1,3)*ar(1)-db(i,2,3)*ar(2)-db(i,3,3)*ar(3)
1049 ald(4) = ad(4)+vqn(i,1,4)*dbad(1)+vqn(i,2,4)*dbad(2)
1050 1 +vqn(i,3,4)*dbad(3)
1051 2 -db(i,1,4)*ar(1)-db(i,2,4)*ar(2)-db
1055 v13(i,1)= v13(i,1)+c1*y13(i)
1056 v24(i,1)= v24(i,1)+c1*y24(i)
1057 vhi(i,1)= vhi(i,1)+four*(alr(3)*my13(i)-z1(i)*alr(2))
1058 v13(i,2)= v13(i,2)-c1*x13(i)
1059 v24(i,2)= v24(i,2)-c1*x24(i)
1060 vhi(i,2)= vhi(i,2)-four*(alr(3)*mx13(i)-z1(i)*alr(1))
1061 v13(i,3)= v13(i,3)-two*(y13(i)*alr(1)-x13(i)*alr(2))
1062 v24(i,3)= v24(i,3)-two*(y24(i)*alr(1)-x24(i)*alr(2))
1063 vhi(i,3)= vhi(i,3)+four*(mx13(i)*alr(2)-my13(i)*alr(1))
1064 rlxyz(i,1,1)= rrxyz(1,1)-alr(1)-vqn(i,1,1)*ald(1)
1065 rlxyz(i,1,2)= rrxyz(1,2)-alr(1)-vqn(i,1,2)*ald(2)
1066 rlxyz(i,1,3)= rrxyz(1,3)-alr(1)-vqn(i,1,3)*ald(3)
1067 rlxyz(i,1,4)= rrxyz(1,4)-alr(1)-vqn(i,1,4)*ald(4)
1069 rlxyz(i,2,1)= rrxyz(2,1)-alr(2)-vqn(i,2,1)*ald(1)
1070 rlxyz(i,2,2)= rrxyz(2,2)-alr(2)-vqn(i,2,2)*ald(2)
1071 rlxyz(i,2,3)= rrxyz(2,3)-alr(2)-vqn(i,2,3)*ald(3)
1072 rlxyz(i,2,4)= rrxyz(2,4)-alr(2)-vqn(i,2,4)*ald(4)
1085 2 IXC ,PLAT ,AREA ,AREA_I ,V13 ,
1086 3 V24 ,VHI ,RLXYZ ,VQN ,VQ ,
1087 4 X13 ,X24 ,Y13 ,Y24 ,MX13 ,
1088 6 MX23 ,MX34 ,MY13 ,MY23 ,MY34 ,
1089 7 Z1 ,DI ,DB ,COREL ,RLZ ,
1090 8 LL ,X13_2 ,Y13_2 ,X24_2 ,Y24_2 ,
1091 9 L13 ,L24 ,VRX1 ,VRX2 ,VRX3 ,
1092 A VRX4 ,VRY1 ,VRY2 ,VRY3 ,VRY4 ,
1093 B VRZ1 ,VRZ2 ,VRZ3 ,VRZ4 )
1097#include "implicit_f.inc"
1101#include "mvsiz_p.inc"
1106 INTEGER IXC(NIXC,*),JFT,JLT,NPT
1108 . vr(3,*),v13(mvsiz,3),v24(mvsiz,3),vhi(mvsiz,3),
1109 . mx23(*),my13(*),my23(*),my34(*),
1110 . x13(*),x24(*),y13(*),y24(*),mx13(*),
1111 . vq(mvsiz,3,3),
area(*),z1(*),mx34(*),vqn(mvsiz,3,4),area_i(*),
1112 . di(mvsiz,6),db(mvsiz,3,4),ll(*),l13(*),l24(*),
1113 . tol,x13_2(*),y13_2(*),x24_2(*),y24_2(*),
1114 . rlxyz(mvsiz,2,4),corel(mvsiz,2,4),rlz(mvsiz,4),
1115 . vrx1(*),vrx2(*),vrx3(*),vrx4(*),
1116 . vry1(*),vry2(*),vry3(*),vry4(*),
1117 . vrz1(*),vrz2(*),vrz3(*),vrz4(*)
1121 INTEGER NNOD,I,J,K,L
1122 PARAMETER (NNOD = 4)
1125 . vcore(3,nnod),rrxyz(3,nnod),vg13(3),vg24(3),vghi(3),
1126 . z2(mvsiz),a_4,sz,sz1,sz2,sl,c1,c2,s1,
1127 . ar(3),ad(nnod),btb(6),xx,yy,zz,xy,xz,yz,
1128 . abc,xxyz2,yyxz2,zzxy2,d(6),
1129 . alr(3),ald(nnod),dbad(3),btb_c
1133 IF (z2(i)<ll(i)*tol.OR.npt == 1)
THEN
1145 sz1=mx13(i)*y24(i)-my13(i)*x24(i)
1148 sl=one/sqrt(sz+sz2*sz2)
1149 vqn(i,1,1)=-z1(i)*y24(i)
1150 vqn(i,2,1)= z1(i)*x24(i)
1152 vqn(i,1,3)=-vqn(i,1,1)
1153 vqn(i,2,3)=-vqn(i,2,1)
1154 vqn(i,1,1)= vqn(i,1,1)*sl
1155 vqn(i,2,1)= vqn(i,2,1)*sl
1158 sl=one/sqrt(sz+sz2*sz2)
1159 vqn(i,1,3)= vqn(i,1,3)*sl
1160 vqn(i,2,3)= vqn(i,2,3)*sl
1163 sz1=mx13(i)*y13(i)-my13(i)*x13(i)
1166 sl=one/sqrt(sz+sz2*sz2)
1167 vqn(i,1,2)=-z1(i)*y13(i)
1168 vqn(i,2,2)= z1(i)*x13(i)
1170 vqn(i,1,4)=-vqn(i,1,2)
1171 vqn(i,2,4)=-vqn(i,2,2)
1173 vqn(i,2,2)= vqn(i,2,2)*sl
1176 sl=one/sqrt(sz+sz2*sz2)
1177 vqn(i,1,4)= vqn(i,1,4)*sl
1178 vqn(i,2,4)= vqn(i,2,4)*sl
1182 rrxyz(1,1) =rlxyz(i,1,1)
1183 rrxyz(2,1) =rlxyz(i,2,1)
1184 rrxyz(3,1) =vq(i,1,3)*vrx1(i)+vq(i,2,3)*vry1(i)
1185 1 +vq(i,3,3)*vrz1(i)
1187 rrxyz(1,2) =rlxyz(i,1,2)
1188 rrxyz(2,2) =rlxyz(i,2,2)
1189 rrxyz(3,2) =vq(i,1,3)*vrx2(i)+vq(i,2,3)*vry2(i)
1190 1 +vq(i,3,3)*vrz2(i)
1192 rrxyz(1,3) =rlxyz(i,1,3)
1193 rrxyz(2,3) =rlxyz(i,2,3)
1194 rrxyz(3,3) =vq(i,1,3)*vrx3(i)+vq(i,2,3)*vry3(i)
1195 1 +vq(i,3,3)*vrz3(i)
1197 rrxyz(1,4) =rlxyz(i,1,4)
1198 rrxyz(2,4) =rlxyz(i,2,4)
1199 rrxyz(3,4) =vq(i,1,3)*vrx4(i)+vq(i,2,3)*vry4(i)
1200 1 +vq(i,3,3)*vrz4(i)
1203 ar(1)=-z1(i)*vhi(i,2)+y13(i)*v13(i,3)+y24(i)*v24(i,3)
1205 2 +rrxyz(1,1)+rrxyz(1,2)+rrxyz(1,3)+rrxyz(1,4)
1206 ar(2)= z1(i)*vhi(i,1)-x13(i)*v13(i,3)-x24(i)*v24(i,3)
1208 2 +rrxyz(2,1)+rrxyz(2,2)+rrxyz(2,3)+rrxyz(2,4)
1209 ar(3)= x13(i)*v13(i,2)+x24(i)*v24(i,2)+mx13(i)*vhi(i,2)
1210 1 -y13(i)*v13(i,1)-y24(i)*v24(i,1)-my13(i)*vhi(i,1)
1211 2 +rrxyz(3,1)+rrxyz(3,2)+rrxyz(3,3)+rrxyz(3,4)
1212 ad(1)= vqn(i,1,1)*rrxyz(1,1)+vqn(i,2,1)*rrxyz(2,1)+
1213 1 vqn(i,3,1)*rrxyz(3,1)
1214 ad(2)= vqn(i,1,2)*rrxyz(1,2)+vqn(i,2,2)*rrxyz(2,2)+
1215 1 vqn(i,3,2)*rrxyz(3,2)
1216 ad(3)= vqn(i,1,3)*rrxyz(1,3)+vqn(i,2,3)*rrxyz(2,3)+
1217 1 vqn(i,3,3)*rrxyz(3,3)
1218 ad(4)= vqn(i,1,4)*rrxyz(1,4)+vqn(i,2,4)*rrxyz(2,4)+
1219 1 vqn(i,3,4)*rrxyz(3,4)
1222 xx = corel(i,1,1)*corel(i,1,1)+corel(i,1,2)*corel(i,1,2)
1223 1 +corel(i,1,3)*corel(i,1,3)+corel(i,1,4)*corel(i,1,4)
1224 yy = corel(i,2,1)*corel(i,2,1)+corel(i,2,2)*corel(i,2,2)
1226 xy = corel(i,1,1)*corel(i,2,1)+corel(i,1,2)*corel(i,2,2)
1227 1 +corel(i,1,3)*corel(i,2,3)+corel(i,1,4)*corel(i,2,4)
1231 btb(1)= btb_c*(y24_2(i)+y13_2(i))
1232 btb(2)= btb_c*(x24_2(i)+x13_2(i))
1233 btb(3)= btb_c*(x24(i)*y24(i)+x13(i)*y13(i))
1235 d(1)= yy+zz+4-btb(1)
1236 d(2)= xx+zz+4-btb(2)
1238 deta = d(1)*d(2)-d(3)*d(3)
1239 IF (deta<=em20)
THEN
1247 di(i,3) = one/
max(xx+yy,em20)
1252 db(i,1,j)= di(i,1)*vqn(i,1,j)+di(i,4)*vqn(i,2,j)
1253 db(i,2,j)= di(i,4)*vqn(i,1,j)+di(i,2)*vqn(i,2,j)
1254 db(i,3,j)= di(i,3)*vqn(i,3,j)
1257 dbad(1)= db(i,1,1)*ad(1)+db(i,1,2)*ad(2)
1258 1 +db(i,1,3)*ad(3)+db(i,1,4)*ad(4)
1259 dbad(2)= db(i,2,1)*ad(1)+db(i,2,2)*ad(2)
1260 1 +db(i,2,3)*ad(3)+db(i,2,4)*ad(4)
1261 dbad(3)= db(i,3,1)*ad(1)+db(i,3,2)*ad(2)
1262 1 +db(i,3,3)*ad(3)+db(i,3,4)*ad(4)
1264 alr(1) =di(i,1)*ar(1)+di(i,4)*ar(2)-dbad(1)
1265 alr(2) =di(i,4)*ar(1)+di(i,2)*ar(2)-dbad(2)
1266 alr(3) = di(i,3)*ar(3)-dbad(3)
1268 ald(1) = ad(1)+vqn(i,1,1)*dbad(1)+vqn(i,2,1)*dbad(2)
1269 1 +vqn(i,3,1)*dbad(3)
1270 2 -db(i,1,1)*ar(1)-db(i,2,1)*ar(2)-db(i,3,1)*ar(3)
1271 ald(2) = ad(2)+vqn(i,1,2)*dbad(1)+vqn(i,2,2)*dbad(2)
1272 1 +vqn(i,3,2)*dbad(3)
1273 2 -db(i,1,2)*ar(1)-db(i,2,2)*ar(2)-db(i,3,2)*ar
1274 ald(3) = ad(3)+vqn(i,1,3)*dbad(1)+vqn(i,2,3)*dbad(2)
1275 1 +vqn(i,3,3)*dbad(3)
1276 2 -db(i,1,3)*ar(1)-db(i,2,3)*ar(2)-db(i,3,3)*ar(3)
1277 ald(4) = ad(4)+vqn(i,1,4)*dbad(1)+vqn(i,2,4)*dbad(2)
1278 1 +vqn(i,3,4)*dbad(3)
1279 2 -db(i,1,4)*ar(1)-db(i,2,4)*ar(2)-db(i,3,4)*ar(3)
1283 v13(i,1)= v13(i,1)+c1*y13(i)
1284 v24(i,1)= v24(i,1)+c1*y24(i)
1285 vhi(i,1)= vhi(i,1)+four*(alr(3)*my13(i)-z1(i)*alr(2))
1286 v13(i,2)= v13(i,2)-c1*x13(i)
1287 v24(i,2)= v24(i,2)-c1*x24(i)
1288 vhi(i,2)= vhi(i,2)-four*(alr(3)*mx13(i)-z1(i)*alr(1))
1289 v13(i,3)= v13(i,3)-two*(y13(i)*alr(1)-x13(i)*alr(2))
1290 v24(i,3)= v24(i,3)-two*(y24(i)*alr(1)-x24(i)*alr(2))
1291 vhi(i,3)= vhi(i,3)+four*(mx13(i)*alr(2)-my13(i)*alr(1))
1292 rlxyz(i,1,1)= rrxyz(1,1)-alr(1)-vqn
1293 rlxyz(i,1,2)= rrxyz(1,2)-alr(1)-vqn(i,1,2)*ald(2)
1294 rlxyz(i,1,3)= rrxyz(1,3)-alr(1)-vqn(i,1,3)*ald(3)
1295 rlxyz(i,1,4)= rrxyz(1,
1297 rlxyz(i,2,1)= rrxyz(2,1)-alr(2)-vqn(i,2,1)*ald(1)
1298 rlxyz(i,2,2)= rrxyz(2,2)-alr(2)-vqn(i,2,2)*ald(2)
1299 rlxyz(i,2,3)= rrxyz(2,3)-alr
1300 rlxyz(i,2,4)= rrxyz(2,4)-alr(2)-vqn(i,2,4)*ald(4)
1316 2 IXC ,PLAT ,AREA ,AREA_I ,V13 ,
1317 3 V24 ,VHI ,RLXYZV ,VQN ,VQ ,
1318 4 X13 ,X24 ,Y13 ,Y24 ,MX13 ,
1319 6 MX23 ,MX34 ,MY13 ,MY23 ,MY34 ,
1320 7 Z1 ,DI ,DB ,CORELV ,RLZ ,
1321 8 LL ,X13_2 ,Y13_2 ,X24_2 ,Y24_2 ,
1322 9 L13 ,L24 ,IDRIL ,DIZ )
1326#include "implicit_f.inc"
1330#include "mvsiz_p.inc"
1331#include "impl1_c.inc"
1332#include "scr05_c.inc"
1337 INTEGER IXC(NIXC,*),JFT,JLT,IDRIL,NPT
1339 . vr(3,*),v13(mvsiz,3),v24(mvsiz,3),vhi(mvsiz,3),
1340 . mx23(*),my13(*),my23(*),my34(*),
1341 . x13(*),x24(*),y13(*),y24(*),mx13(*),
1342 . vq(mvsiz,3,3),
area(*),z1(*),mx34(*),vqn(mvsiz,3,4),area_i(*),
1343 . di(mvsiz,6),db(mvsiz,3,4),ll(*),l13(*),l24(*),
1344 . tol,x13_2(*),y13_2(*),x24_2(*),y24_2(*),
1345 . rlxyzv(mvsiz,2,4),corelv(mvsiz,2,4),rlz(mvsiz,4),diz(mvsiz,3)
1349 INTEGER NNOD,I,J,K,L
1350 PARAMETER (NNOD = 4)
1353 . vcore(3,nnod),rrxyz(3,nnod),vg13(3),vg24(3),vghi(3),
1354 . z2(mvsiz),a_4,sz,sz1,sz2,sl,c1,c2,s1,
1355 . ar(3),ad(nnod),btb(6),xx,yy,zz,xy,xz,yz,
1356 . abc,xxyz2,yyxz2,zzxy2,d(6),diz1(6),diz2(6),
1357 . alr(3),ald(nnod),dbad(3),btb_c,alrz
1361 IF (z2(i)<ll(i)*tol.OR.npt == 1)
THEN
1373 sz1=mx13(i)*y24(i)-my13(i)*x24(i)
1376 sl=one/sqrt(sz+sz2*sz2)
1377 vqn(i,1,1)=-z1(i)*y24(i)
1378 vqn(i,2,1)= z1(i)*x24(i)
1380 vqn(i,1,3)=-vqn(i,1,1)
1381 vqn(i,2,3)=-vqn(i,2,1)
1382 vqn(i,1,1)= vqn(i,1,1)*sl
1383 vqn(i,2,1)= vqn(i,2,1)*sl
1386 sl=one/sqrt(sz+sz2*sz2)
1387 vqn(i,1,3)= vqn(i,1,3)*sl
1388 vqn(i,2,3)= vqn(i,2,3)*sl
1391 sz1=mx13(i)*y13(i)-my13(i)*x13(i)
1394 sl=one/sqrt(sz+sz2*sz2)
1395 vqn(i,1,2)=-z1(i)*y13(i)
1396 vqn(i,2,2)= z1(i)*x13(i)
1398 vqn(i,1,4)=-vqn(i,1,2)
1399 vqn(i,2,4)=-vqn(i,2,2)
1400 vqn(i,1,2)= vqn(i,1,2)*sl
1401 vqn(i,2,2)= vqn(i,2,2)*sl
1404 sl=one/sqrt(sz+sz2*sz2)
1405 vqn(i,1,4)= vqn(i,1,4)*sl
1406 vqn(i,2,4)= vqn(i,2,4)*sl
1410 rrxyz(1,1) =rlxyzv(i,1,1)
1411 rrxyz(2,1) =rlxyzv(i,2,1)
1412 rrxyz(3,1) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)
1413 1 +vq(i,3,3)*vr(3,k)
1415 rrxyz(1,2) =rlxyzv(i,1,2)
1416 rrxyz(2,2) =rlxyzv(i,2,2)
1417 rrxyz(3,2) =vq(i,1,3)*vr(1,k)+vq(i
1418 1 +vq(i,3,3)*vr(3,k)
1420 rrxyz(1,3) =rlxyzv(i,1,3)
1421 rrxyz(2,3) =rlxyzv(i,2,3)
1422 rrxyz(3,3) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)
1423 1 +vq(i,3,3)*vr(3,k)
1425 rrxyz(1,4) =rlxyzv(i,1,4)
1426 rrxyz(2,4) =rlxyzv(i,2,4)
1428 1 +vq(i,3,3)*vr(3,k)
1429 IF (impl_s>0.AND.ikproj<0)
THEN
1434 rlz(i,1)=area_i(i)*(vqn(i,1,1)*rrxyz(1,1)+
1435 1 vqn(i,2,1)*rrxyz(2,1)+vqn(i,3,1)*rrxyz(3,1))
1436 rlz(i,2)=area_i(i)*(vqn(i,1,2)*rrxyz(1,2)+
1437 1 vqn(i,2,2)*rrxyz(2,2)+vqn(i,3,2)*rrxyz(3,2))
1438 rlz(i,3)=area_i(i)*(vqn(i,1,3)*rrxyz(1,3)+
1439 1 vqn(i,2,3)*rrxyz(2,3)+vqn(i,3,3)*rrxyz(3,3))
1440 rlz(i,4)=area_i(i)*(vqn(i,1,4)*rrxyz(1,4)+
1441 1 vqn(i,2,4)*rrxyz(2,4)+vqn(i,3,4)*rrxyz(3,4))
1444 rlxyzv(i,1,1)=(one-vqn(i,1,1)*vqn(i,1,1))*rrxyz(1,1)
1445 1 -vqn(i,1,1)*vqn(i,2,1) *rrxyz(2,1)
1446 2 -vqn(i,1,1)*vqn(i,3,1) *rrxyz(3,1)
1447 rlxyzv(i,2,1)=(one-vqn(i,2,1)*vqn(i,2,1))*rrxyz(2,1)
1448 1 -vqn(i,1,1)*vqn(i,2,1) *rrxyz(1,1)
1449 2 -vqn(i,2,1)*vqn(i,3,1) *rrxyz(3,1)
1451 rlxyzv(i,1,2)=(one-vqn(i,1,2)*vqn(i,1,2))*rrxyz(1,2)
1452 1 -vqn(i,1,2)*vqn(i,2,2) *rrxyz(2,2)
1453 2 -vqn(i,1,2)*vqn(i,3,2) *rrxyz(3,2)
1454 rlxyzv(i,2,2)=(one-vqn(i,2,2)*vqn(i,2,2))*rrxyz(2,2)
1455 1 -vqn(i,1,2)*vqn(i,2,2) *rrxyz(1,2)
1456 2 -vqn(i,2,2)*vqn(i,3,2) *rrxyz(3,2)
1458 rlxyzv(i,1,3)=(one-vqn(i,1,3)*vqn(i,1,3))*rrxyz(1,3)
1459 1 -vqn(i,1,3)*vqn(i,2,3) *rrxyz(2,3)
1460 2 -vqn(i,1,3)*vqn(i,3,3) *rrxyz(3,3)
1461 rlxyzv(i,2,3)=(one-vqn(i,2,3)*vqn(i,2,3))*rrxyz(2,3)
1462 1 -vqn(i,1,3)*vqn(i,2,3) *rrxyz(1,3)
1463 2 -vqn(i,2,3)*vqn(i,3,3) *rrxyz(3,3)
1465 rlxyzv(i,1,4)=(one-vqn(i,1,4)*vqn(i,1,4))*rrxyz(1,4)
1466 1 -vqn(i,1,4)*vqn(i,2,4) *rrxyz(2,4)
1467 2 -vqn(i,1,4)*vqn(i,3,4) *rrxyz(3,4)
1468 rlxyzv(i,2,4)=(one-vqn(i,2,4)*vqn(i,2,4))*rrxyz(2,4)
1469 1 -vqn(i,1,4)*vqn(i,2,4) *rrxyz(1,4)
1470 2 -vqn(i,2,4)*vqn(i,3,4) *rrxyz(3,4)
1474 ar(1)=-z1(i)*vhi(i,2)+y13(i)*v13(i,3)+y24(i)*v24(i,3)
1476 2 +rrxyz(1,1)+rrxyz(1,2)+rrxyz(1,3)+rrxyz(1,4)
1477 ar(2)= z1(i)*vhi(i,1)-x13(i)*v13(i,3)-x24(i)*v24(i,3)
1479 2 +rrxyz(2,1)+rrxyz(2,2)+rrxyz(2,3)+rrxyz(2,4)
1480 ar(3)= x13(i)*v13(i,2)+x24(i)*v24(i,2)+mx13(i)*vhi(i,2)
1481 1 -y13(i)*v13(i,1)-y24(i)*v24(i,1)-my13(i)*vhi(i,1)
1482 2 +rrxyz(3,1)+rrxyz(3,2)+rrxyz(3,3)+rrxyz(3,4)
1483 ad(1)= vqn(i,1,1)*rrxyz(1,1)+vqn(i,2,1)*rrxyz(2,1)+
1484 1 vqn(i,3,1)*rrxyz(3,1)
1485 ad(2)= vqn(i,1,2)*rrxyz(1,2)+vqn(i,2,2)*rrxyz(2,2)+
1486 1 vqn(i,3,2)*rrxyz(3,2)
1487 ad(3)= vqn(i,1,3)*rrxyz(1,3)+vqn(i,2,3)*rrxyz(2,3)+
1488 1 vqn(i,3,3)*rrxyz(3,3)
1489 ad(4)= vqn(i,1,4)*rrxyz(1,4)+vqn(i,2,4)*rrxyz(2,4)+
1490 1 vqn(i,3,4)*rrxyz(3,4)
1493 xx = corelv(i,1,1)*corelv(i,1,1)+corelv(i,1,2)*corelv(i,1,2)
1494 1 +corelv(i,1,3)*corelv(i,1,3)+corelv(i,1,4)*corelv(i,1,4)
1495 yy = corelv(i,2,1)*corelv(i,2,1)+corelv(i,2,2)*corelv(i,2,2)
1496 1 +corelv(i,2,3)*corelv(i,2,3)+corelv(i,2,4)*corelv(i,2,4)
1497 xy = corelv(i,1,1)*corelv(i,2,1)+corelv(i,1,2)*corelv(i,2,2)
1498 1 +corelv(i,1,3)*corelv(i,2,3)+corelv(i,1,4)*corelv(i,2,4)
1499 xz =(corelv(i,1,1)-corelv(i,1,2)+corelv(i,1,3)-corelv(i,1,4))
1501 yz =(corelv(i,2,1)-corelv(i,2,2)+corelv(i,2,3)-corelv(i,2,4))
1505 btb(1)= vqn(i,1,1)*vqn(i,1,1)+vqn(i,1,2)*vqn(i,1,2)
1506 1 +vqn(i,1,3)*vqn(i,1,3)+vqn(i,1,4)*vqn(i,1,4)
1507 btb(2)= vqn(i,2,1)*vqn(i,2,1)+vqn(i,2,2)*vqn(i,2,2)
1508 1 +vqn(i,2,3)*vqn(i,2,3)+vqn(i,2,4)*vqn
1509 btb(3)= vqn(i,3,1)*vqn(i,3,1)+vqn(i,3,2)*vqn(i,3,2)
1510 1 +vqn(i,3,3)*vqn(i,3,3)+vqn(i,3,4)*vqn(i,3,4)
1511 btb(4)= vqn(i,1,1)*vqn(i,2,1)+vqn(i,1,2)*vqn(i,2,2)
1512 1 +vqn(i,1,3)*vqn(i,2,3)+vqn(i,1,4)*vqn(i,2,4)
1513 btb(5)= vqn(i,1,1)*vqn(i,3,1)+vqn(i
1514 1 +vqn(i,1,3)*vqn(i,3,3)+vqn(i,1,4)*vqn(i,3,4)
1515 btb(6)= vqn(i,2,1)*vqn(i,3,1)+vqn(i,2,2)*vqn(i,3,2)
1516 1 +vqn(i,2,3)*vqn(i,3,3)+vqn(i,2,4)*vqn(i,3,4)
1517 d(1)= yy+zz+four-btb(1)
1518 d(2)= xx+zz+four-btb(2)
1519 d(3)= xx+yy+four-btb(3)
1525 di(i,1:6) = diz2(1:6)
1527 abc = d(1)*d(2)*d(3)
1528 xxyz2 = d(1)*d(6)*d(6)
1529 yyxz2 = d(2)*d(5)*d(5)
1530 zzxy2 = d(3)*d(4)*d(4)
1531 deta = abs(abc+two*d(4)*d(5)*d(6)-xxyz2-yyxz2-zzxy2)
1532 deta = one/
max(deta,em20)
1533 di(i,1) = (abc-xxyz2)*deta/
max(d(1),em20)
1534 di(i,2) = (abc-yyxz2)*deta/
max(d(2),em20)
1535 di(i,3) = (abc-zzxy2)*deta/
max(d(3),em20)
1536 di(i,4) = (d(5)*d(6)-d(4)*d(3))*deta
1537 di(i,5) = (d(6)*d(4)-d(5)*d(2))*deta
1538 di(i,6) = (d(4)*d(5)-d(6)*d(1))*deta
1541 db(i,1,j)= di(i,1)*vqn(i,1,j)+di(i,4)*vqn(i,2,j)
1542 1 +di(i,5)*vqn(i,3,j)
1543 db(i,2,j)= di(i,4)*vqn(i,1,j)+di(i,2)*vqn(i,2,j)
1544 1 +di(i,6)*vqn(i,3,j)
1545 db(i,3,j)= di(i,5)*vqn(i,1,j)+di(i,6)*vqn(i,2,j)
1546 1 +di(i,3)*vqn(i,3,j)
1549 dbad(1)= db(i,1,1)*ad(1)+db(i,1,2)*ad(2)
1550 1 +db(i,1,3)*ad(3)+db(i,1,4)*ad(4)
1551 dbad(2)= db(i,2,1)*ad(1)+db(i,2,2)*ad(2)
1553 dbad(3)= db(i,3,1)*ad(1)+db(i,3,2
1554 1 +db(i,3,3)*ad(3)+db(i,3,4)*ad(4)
1556 alr(1) =di(i,1)*ar(1)+di(i,4)*ar(2)+di(i,5)*ar(3)-dbad(1)
1557 alr(2) =di(i,4)*ar(1)+di(i,2)*ar(2)+di(i,6)*ar(3)-dbad(2)
1558 alr(3) =di(i,5)*ar(1)+di(i,6)*ar(2)+di(i,3)*ar(3)-dbad(3)
1560 ald(1) = ad(1)+vqn(i,1,1)*dbad(1)+vqn(i,2,1)*dbad(2)
1561 1 +vqn(i,3,1)*dbad(3)
1562 2 -db(i,1,1)*ar(1)-db(i,2,1)*ar(2)-db(i,3,1)*ar(3)
1563 ald(2) = ad(2)+vqn(i,1,2)*dbad(1)+vqn(i,2,2)*dbad(2)
1564 1 +vqn(i,3,2)*dbad(3)
1565 2 -db(i,1,2)*ar(1)-db(i,2,2)*ar(2)-db(i,3,2)*ar(3)
1566 ald(3) = ad(3)+vqn(i,1,3)*dbad(1)+vqn(i,2,3)*dbad(2)
1567 1 +vqn(i,3,3)*dbad(3)
1568 2 -db(i,1,3)*ar(1)-db(i,2,3)*ar(2)-db(i,3,3)*ar(3)
1569 ald(4) = ad(4)+vqn(i,1,4)*dbad(1)+vqn(i,2,4)*dbad(2)
1570 1 +vqn(i,3,4)*dbad(3)
1571 2 -db(i,1,4)*ar(1)-db(i,2,4)*ar(2)-db(i,3,4)*ar(3)
1574 v13(i,1)= v13(i,1)+c1*y13(i)
1575 v24(i,1)= v24(i,1)+c1*y24(i)
1576 vhi(i,1)= vhi(i,1)+four*(alr(3)*my13(i)-z1(i)*alr(2))
1577 v13(i,2)= v13(i,2)-c1*x13(i)
1578 v24(i,2)= v24(i,2)-c1*x24(i)
1579 vhi(i,2)= vhi(i,2)-four*(alr(3)*mx13(i)-z1(i)*alr(1))
1580 v13(i,3)= v13(i,3)-two*(y13(i)*alr(1)-x13(i)*alr(2))
1581 v24(i,3)= v24(i,3)-two*(y24(i)*alr(1)-x24(i)*alr(2))
1582 vhi(i,3)= vhi(i,3)+four*(mx13(i)*alr(2)-my13(i)*alr(1))
1584 rlxyzv(i,1,1)= rrxyz(1,1)-alr(1)-vqn(i,1,1)*ald(1)
1585 rlxyzv(i,1,2)= rrxyz(1,2)-alr(1)-vqn(i,1,2)*ald(2)
1586 rlxyzv(i,1,3)= rrxyz(1,3)-alr(1)-vqn(i,1,3)*ald(3)
1587 rlxyzv(i,1,4)= rrxyz(1,4)-alr(1)-vqn(i,1,4)*ald(4)
1589 rlxyzv(i,2,1)= rrxyz(2,1)-alr(2)-vqn(i,2,1)*ald(1)
1590 rlxyzv(i,2,2)= rrxyz(2,2)-alr(2)-vqn(i,2,2)*ald(2)
1591 rlxyzv(i,2,3)= rrxyz(2,3)-alr(2)-vqn(i,2,3)*ald(3)
1592 rlxyzv(i,2,4)= rrxyz(2,4)-alr(2)-vqn(i,2,4)*ald(4)
1606 abc = d(1)*d(2)*d(3)
1607 xxyz2 = d(1)*d(6)*d(6)
1608 yyxz2 = d(2)*d(5)*d(5)
1609 zzxy2 = d(3)*d(4)*d(4)
1610 deta = abs(abc+two*d(4)*d(5)*d(6)-xxyz2-yyxz2-zzxy2)
1611 deta = one/
max(deta,em20)
1612 diz(i,3) = (abc-zzxy2)*deta/
max(d(3),em20)
1613 diz(i,1) = (d(6)*d(4)-d(5)*d(2))*deta
1614 diz(i,2) = (d(4)*d(5)-d(6)*d(1))*deta
1617 alrz=area_i(i)*(diz(i,1)*ar(1)+diz(i,2)*ar(2)+diz(i,3)*ar(3))
1618 rlz(i,1)=rlz(i,1)-alrz
1619 rlz(i,2)=rlz(i,2)-alrz
1620 rlz(i,3)=rlz(i,3)-alrz
1621 rlz(i,4)=rlz(i,4)-alrz
1640 2 IXC ,PLAT ,AREA ,AREA_I ,V13 ,
1641 3 V24 ,VHI ,RLXYZ ,VQN ,VQ ,
1642 4 X13 ,X24 ,Y13 ,Y24 ,MX13 ,
1643 6 MX23 ,MX34 ,MY13 ,MY23 ,MY34 ,
1644 7 Z1 ,DI ,DB ,COREL ,RLZ ,
1645 8 LL ,X13_2 ,Y13_2 ,X24_2 ,Y24_2 ,
1646 9 L13 ,L24 ,VRX1 ,VRX2 ,VRX3 ,
1647 A VRX4 ,VRY1 ,VRY2 ,VRY3 ,VRY4 ,
1648 B VRZ1 ,VRZ2 ,VRZ3 ,VRZ4 )
1652#include "implicit_f.inc"
1656#include "mvsiz_p.inc"
1657#include "impl1_c.inc"
1658#include "scr05_c.inc"
1663 INTEGER IXC(NIXC,*),JFT,JLT,IDRIL,NPT
1665 . vr(3,*),v13(mvsiz,3),v24(mvsiz,3),vhi(mvsiz,3),
1666 . mx23(*),my13(*),my23(*),my34(*),
1667 . x13(*),x24(*),y13(*),y24(*),mx13(*),
1668 . vq(mvsiz,3,3),
area(*),z1(*),mx34(*),vqn(mvsiz,3,4),area_i(*),
1669 . di(mvsiz,6),db(mvsiz,3,4),ll(*),l13(*),l24(*),
1670 . tol,x13_2(*),y13_2(*),x24_2(*),y24_2(*),
1671 . rlxyz(mvsiz,2,4),corel(mvsiz,2,4),rlz(mvsiz,4),
1672 . vrx1(*),vrx2(*),vrx3(*),vrx4(*),
1673 . vry1(*),vry2(*),vry3(*),vry4(*),
1674 . vrz1(*),vrz2(*),vrz3(*),vrz4(*)
1678 INTEGER NNOD,I,J,K,L
1679 PARAMETER (NNOD = 4)
1682 . vcore(3,nnod),rrxyz(3,nnod),vg13(3),vg24(3),vghi(3),
1683 . z2(mvsiz),a_4,sz,sz1,sz2,sl,c1,c2,s1,
1684 . ar(3),ad(nnod),btb(6),xx,yy,zz,xy,xz,yz,
1685 . abc,xxyz2,yyxz2,zzxy2,d(6),diz2(6),
1686 . alr(3),ald(nnod),dbad(3),btb_c
1690 IF (z2(i)<ll(i)*tol.OR.npt == 1)
THEN
1702 sz1=mx13(i)*y24(i)-my13(i)*x24(i)
1705 sl=one/sqrt(sz+sz2*sz2)
1706 vqn(i,1,1)=-z1(i)*y24(i)
1707 vqn(i,2,1)= z1(i)*x24(i)
1709 vqn(i,1,3)=-vqn(i,1,1)
1710 vqn(i,2,3)=-vqn(i,2,1)
1711 vqn(i,1,1)= vqn(i,1,1)*sl
1712 vqn(i,2,1)= vqn(i,2,1)*sl
1715 sl=one/sqrt(sz+sz2*sz2)
1716 vqn(i,1,3)= vqn(i,1,3)*sl
1717 vqn(i,2,3)= vqn(i,2,3)*sl
1720 sz1=mx13(i)*y13(i)-my13(i)*x13(i)
1723 sl=one/sqrt(sz+sz2*sz2)
1724 vqn(i,1,2)=-z1(i)*y13(i)
1725 vqn(i,2,2)= z1(i)*x13(i)
1727 vqn(i,1,4)=-vqn(i,1,2)
1728 vqn(i,2,4)=-vqn(i,2,2)
1729 vqn(i,1,2)= vqn(i,1,2)*sl
1730 vqn(i,2,2)= vqn(i,2,2)*sl
1733 sl=one/sqrt(sz+sz2*sz2)
1734 vqn(i,1,4)= vqn(i,1,4)*sl
1735 vqn(i,2,4)= vqn(i,2,4)*sl
1739 rrxyz(1,1) =rlxyz(i,1,1)
1740 rrxyz(2,1) =rlxyz(i,2,1)
1741 rrxyz(3,1) =vq(i,1,3)*vrx1(i)+vq(i,2,3)*vry1(i)
1742 1 +vq(i,3,3)*vrz1(i)
1744 rrxyz(1,2) =rlxyz(i,1,2)
1745 rrxyz(2,2) =rlxyz(i,2,2)
1746 rrxyz(3,2) =vq(i,1,3)*vrx2(i)+vq(i,2,3)*vry2(i)
1747 1 +vq(i,3,3)*vrz2(i)
1749 rrxyz(1,3) =rlxyz(i,1,3)
1750 rrxyz(2,3) =rlxyz(i,2,3)
1751 rrxyz(3,3) =vq(i,1,3)*vrx3(i)+vq(i,2,3)*vry3(i)
1752 1 +vq(i,3,3)*vrz3(i)
1754 rrxyz(1,4) =rlxyz(i,1,4)
1755 rrxyz(2,4) =rlxyz(i,2,4)
1756 rrxyz(3,4) =vq(i,1,3)*vrx4(i)+vq(i,2,3)*vry4(i)
1757 1 +vq(i,3,3)*vrz4(i)
1758 IF (impl_s>0.AND.ikproj<0)
THEN
1762 rlxyz(i,1,1)=(1.-vqn(i,1,1)*vqn(i,1,1))*rrxyz(1,1)
1763 1 -vqn(i,1,1)*vqn(i,2,1) *rrxyz(2,1)
1764 2 -vqn(i,1,1)*vqn(i,3,1) *rrxyz(3,1)
1765 rlxyz(i,2,1)=(1.-vqn(i,2,1)*vqn(i,2,1))*rrxyz(2,1)
1766 1 -vqn(i,1,1)*vqn(i,2,1) *rrxyz(1,1)
1767 2 -vqn(i,2,1)*vqn(i,3,1) *rrxyz(3,1)
1769 rlxyz(i,1,2)=(1.-vqn(i,1,2)*vqn(i,1,2))*rrxyz(1,2)
1770 1 -vqn(i,1,2)*vqn(i,2,2) *rrxyz(2,2)
1771 2 -vqn(i,1,2)*vqn(i,3,2) *rrxyz(3,2)
1772 rlxyz(i,2,2)=(1.-vqn(i,2,2)*vqn(i,2,2))*rrxyz(2,2)
1773 1 -vqn(i,1,2)*vqn(i,2,2) *rrxyz(1,2)
1774 2 -vqn(i,2,2)*vqn(i,3,2) *rrxyz(3,2)
1776 rlxyz(i,1,3)=(1.-vqn(i,1,3)*vqn(i,1,3))*rrxyz(1,3)
1777 1 -vqn(i,1,3)*vqn(i,2,3) *rrxyz(2,3)
1778 2 -vqn(i,1,3)*vqn(i,3,3) *rrxyz(3,3)
1779 rlxyz(i,2,3)=(1.-vqn(i,2,3)*vqn(i,2,3))*rrxyz(2,3)
1781 2 -vqn(i,2,3)*vqn(i,3,3) *rrxyz(3,3)
1783 rlxyz(i,1,4)=(1.-vqn(i,1,4)*vqn(i,1,4))*rrxyz(1,4)
1784 1 -vqn(i,1,4)*vqn(i,2,4) *rrxyz(2,4)
1785 2 -vqn(i,1,4)*vqn(i,3,4) *rrxyz(3,4)
1786 rlxyz(i,2,4)=(1.-vqn(i,2,4)*vqn(i,2,4))*rrxyz(2,4)
1787 1 -vqn(i,1,4)*vqn(i,2,4) *rrxyz(1,4)
1788 2 -vqn(i,2,4)*vqn(i,3,4) *rrxyz(3,4)
1792 ar(1)=-z1(i)*vhi(i,2)+y13(i)*v13(i,3)+y24(i)*v24(i,3)
1794 2 +rrxyz(1,1)+rrxyz(1,2)+rrxyz(1,3)+rrxyz(1,4)
1795 ar(2)= z1(i)*vhi(i,1)-x13(i)*v13(i,3)-x24(i)*v24(i,3)
1797 2 +rrxyz(2,1)+rrxyz(2,2)+rrxyz(2,3)+rrxyz(2,4)
1798 ar(3)= x13(i)*v13(i,2)+x24(i)*v24(i,2)+mx13(i)*vhi(i,2)
1799 1 -y13(i)*v13(i,1)-y24(i)*v24(i,1)-my13(i)*vhi(i,1)
1800 2 +rrxyz(3,1)+rrxyz(3,2)+rrxyz(3,3)+rrxyz(3,4)
1801 ad(1)= vqn(i,1,1)*rrxyz(1,1)+vqn(i,2,1)*rrxyz(2,1)+
1802 1 vqn(i,3,1)*rrxyz(3,1)
1803 ad(2)= vqn(i,1,2)*rrxyz(1,2)+vqn(i,2,2)*rrxyz(2,2)+
1804 1 vqn(i,3,2)*rrxyz(3,2)
1805 ad(3)= vqn(i,1,3)*rrxyz(1,3)+vqn(i,2,3)*rrxyz(2,3)+
1806 1 vqn(i,3,3)*rrxyz(3,3)
1807 ad(4)= vqn(i,1,4)*rrxyz(1,4)+vqn(i,2,4)*rrxyz(2,4)+
1811 xx = corel(i,1,1)*corel(i,1,1)+corel(i,1,2)*corel(i,1,2)
1812 1 +corel(i,1,3)*corel(i,1,3)+corel(i,1,4)*corel(i,1,4)
1813 yy = corel(i,2,1)*corel(i,2,1)+corel(i,2,2)*corel(i,2,2)
1814 1 +corel(i,2,3)*corel(i,2,3)+corel(i,2,4)*corel(i,2,4)
1815 xy = corel(i,1,1)*corel(i,2,1)+corel(i,1,2)*corel(i,2,2)
1816 1 +corel(i,1,3)*corel(i,2,3)+corel(i,1,4)*corel(i,2,4)
1817 xz =(corel(i,1,1)-corel(i,1,2)+corel(i,1,3)-corel(i,1,4))
1819 yz =(corel(i,2,1)-corel(i,2,2)+corel(i,2,3)-corel(i,2,4))
1823 btb(1)= vqn(i,1,1)*vqn(i,1,1)+vqn(i,1,2)*vqn(i,1,2)
1824 1 +vqn(i,1,3)*vqn(i,1,3)+vqn(i,1,4)*vqn(i,1,4)
1825 btb(2)= vqn(i,2,1)*vqn(i,2,1)+vqn(i,2,2)*vqn(i,2,2)
1826 1 +vqn(i,2,3)*vqn(i,2,3)+vqn(i,2,4)*vqn(i,2,4)
1827 btb(3)= vqn(i,3,1)*vqn(i,3,1)+vqn(i,3,2)*vqn(i,3,2)
1828 1 +vqn(i,3,3)*vqn(i,3,3)+vqn(i,3,4)*vqn(i,
1829 btb(4)= vqn(i,1,1)*vqn(i,2,1)+vqn(i,1,2)*vqn(i,2,2)
1830 1 +vqn(i,1,3)*vqn(i,2,3)+vqn(i,1,4)*vqn(i,2,4)
1831 btb(5)= vqn(i,1,1)*vqn(i,3,1)+vqn(i,1,2)*vqn(i,3,2)
1832 1 +vqn(i,1,3)*vqn(i,3,3)+vqn(i,1,4)*vqn(i,3,4)
1833 btb(6)= vqn(i,2,1)*vqn(i,3,1)+vqn(i,2,2)*vqn(i,3,2)
1834 1 +vqn(i,2,3)*vqn(i,3,3)+vqn(i,2,4)*vqn(i,3,4)
1835 d(1)= yy+zz+four-btb(1)
1836 d(2)= xx+zz+four-btb(2)
1837 d(3)= xx+yy+four-btb(3)
1843 di(i,1:6) = diz2(1:6)
1845 abc = d(1)*d(2)*d(3)
1846 xxyz2 = d(1)*d(6)*d(6)
1847 yyxz2 = d(2)*d(5)*d(5)
1848 zzxy2 = d(3)*d(4)*d(4)
1849 deta = abs(abc+two*d(4)*d(5)*d(6)-xxyz2-yyxz2-zzxy2)
1850 deta = one/
max(deta,em20)
1851 di(i,1) = (abc-xxyz2)*deta/
max(d(1),em20)
1852 di(i,2) = (abc-yyxz2)*deta/
max(d(2),em20)
1853 di(i,3) = (abc-zzxy2)*deta/
max(d(3),em20)
1854 di(i,4) = (d(5)*d(6)-d(4)*d(3))*deta
1855 di(i,5) = (d(6)*d(4)-d(5)*d(2))*deta
1856 di(i,6) = (d(4)*d(5)-d(6)*d(1))*deta
1859 db(i,1,j)= di(i,1)*vqn(i,1,j)+di(i,4)*vqn(i,2,j)
1860 1 +di(i,5)*vqn(i,3,j)
1861 db(i,2,j)= di(i,4)*vqn(i,1,j)+di(i,2)*vqn(i,2,j)
1862 1 +di(i,6)*vqn(i,3,j)
1863 db(i,3,j)= di(i,5)*vqn(i,1,j)+di(i,6)*vqn(i,2,j
1864 1 +di(i,3)*vqn(i,3,j)
1867 dbad(1)= db(i,1,1)*ad(1)+db(i,1,2)*ad(2)
1868 1 +db(i,1,3)*ad(3)+db(i,1,4)*ad(4)
1869 dbad(2)= db(i,2,1)*ad(1)+db(i,2,2)*ad(2)
1870 1 +db(i,2,3)*ad(3)+db(i,2,4)*ad(4)
1871 dbad(3)= db(i,3,1)*ad(1)+db(i,3,2)*ad(2)
1872 1 +db(i,3,3)*ad(3)+db(i,3,4)*ad(4)
1874 alr(1) =di(i,1)*ar(1)+di(i,4)*ar(2)+di(i,5)*ar(3)-dbad(1)
1875 alr(2) =di(i,4)*ar(1)+di(i,2)*ar(2)+di(i,6)*ar(3)-dbad(2)
1876 alr(3) =di(i,5)*ar(1)+di(i,6)*ar(2)+di(i,3)*ar(3)-dbad(3)
1878 ald(1) = ad(1)+vqn(i,1,1)*dbad(1)+vqn(i,2,1)*dbad(2)
1879 1 +vqn(i,3,1)*dbad(3)
1880 2 -db(i,1,1)*ar(1)-db(i,2,1)*ar(2)-db(i,3,1)*ar(3)
1881 ald(2) = ad(2)+vqn(i,1,2)*dbad(1)+vqn(i,2,2)*dbad(2)
1882 1 +vqn(i,3,2)*dbad(3)
1883 2 -db(i,1,2)*ar(1)-db(i,2,2)*ar(2)-db(i,3,2)*ar(3)
1884 ald(3) = ad(3)+vqn(i,1,3)*dbad(1)+vqn(i,2,3)*dbad(2)
1885 1 +vqn(i,3,3)*dbad(3)
1886 2 -db(i,1,3)*ar(1)-db(i,2,3)*ar(2)-db(i,3,3)*ar(3)
1887 ald(4) = ad(4)+vqn(i,1,4)*dbad(1)+vqn(i,2,4)*dbad(2)
1888 1 +vqn(i,3,4)*dbad(3)
1889 2 -db(i,1,4)*ar(1)-db(i,2,4)*ar(2)-db(i,3,4)*ar(3)
1892 v13(i,1)= v13(i,1)+c1*y13(i)
1893 v24(i,1)= v24(i,1)+c1*y24(i)
1894 vhi(i,1)= vhi(i,1)+four*(alr(3)*my13(i)-z1(i)*alr(2))
1895 v13(i,2)= v13(i,2)-c1*x13(i)
1896 v24(i,2)= v24(i,2)-c1*x24(i)
1897 vhi(i,2)= vhi(i,2)-four*(alr(3)*mx13(i)-z1(i)*alr(1))
1898 v13(i,3)= v13(i,3)-two*(y13(i)*alr(1)-x13(i)*alr(2))
1899 v24(i,3)= v24(i,3)-two*(y24(i)*alr(1)-x24(i)*alr(2))
1900 vhi(i,3)= vhi(i,3)+four*(mx13(i)*alr(2)-my13(i)*alr(1))
1901 rlxyz(i,1,1)= rrxyz(1,1)-alr(1)-vqn(i,1,1)*ald(1)
1902 rlxyz(i,1,2)= rrxyz(1,2)-alr(1)-vqn(i,1,2)*ald(2)
1903 rlxyz(i,1,3)= rrxyz(1,3)-alr(1)-vqn(i,1,3)*ald(3)
1904 rlxyz(i,1,4)= rrxyz(1,4)-alr(1)-vqn(i,1,4)*ald(4)
1906 rlxyz(i,2,1)= rrxyz(2,1)-alr(2)-vqn(i,2,1)*ald(1)
1907 rlxyz(i,2,2)= rrxyz(2,2)-alr(2)-vqn(i,2,2)*ald(2)
1908 rlxyz(i,2,3)= rrxyz(2,3)-alr(2)-vqn(i,2,3)*ald(3)
1909 rlxyz(i,2,4)= rrxyz(2,4)-alr(2)-vqn(i,2,4)*ald(4)
1928 1 JFT ,JLT ,X ,V ,VR ,
1929 2 IXC ,PM ,OFFG ,AREA ,AREA_I ,
1930 3 V13 ,V24 ,DR ,RLXYZ ,VQ ,
1931 4 X13_T ,X24_T ,Y13_T ,Y24_T ,MX13 ,
1932 5 MX23 ,MX34 ,MY13 ,MY23 ,MY34 ,
1933 6 Z1 ,SMSTR ,THK ,NPT ,ISMSTR ,
1934 7 IDRIL ,XLCOR ,ZL ,VQN ,NEL )
1940#include "implicit_f.inc"
1944#include "mvsiz_p.inc"
1945#include "param_c.inc"
1946#include "scr05_c.inc"
1947#include "impl1_c.inc"
1951 INTEGER IXC(NIXC,*),JFT,JLT,IREP,NPT,ISMSTR,IDRIL,NEL
1953 . PM(NPROPM,*), X(3,*), V(3,*), VR(3,*),RLXYZ(MVSIZ,4),
1954 . v13(mvsiz,2),v24(mvsiz,2),offg(*),dr(3,*),
1955 . mx23(*),my13(*),my23(*),my34(*),
1956 . x13_t(*),x24_t(*),y13_t(*),y24_t(*),mx13(*),
1957 . vq(mvsiz,3,3),
area(*),z1(*),mx34(*),area_i(*),
1958 . thk(*),xlcor(mvsiz,2,4),zl(*),vqn(mvsiz,9,4)
1961 TYPE (ELBUF_STRUCT_) :: ELBUF_STR
1965 INTEGER NNOD,I,J,K,L,II(9),IFPROJ
1966 INTEGER IXCTMP2,IXCTMP3,IXCTMP4,IXCTMP5
1969 . lxyz0(3),deta,deta1(mvsiz),alrz,corel(mvsiz,2,4),
1970 . di(mvsiz,6),db(mvsiz,3,4),l13(mvsiz),l24(mvsiz),
1971 . rrxyz(3,nnod),vg13(3),vg24(3),vghi(3),
1972 . tol,z2(mvsiz),a_4,sz,sz1,sz2,sl,c1,c2,s1,
1973 . vlxyz(3,nnod),ar(3),ad(nnod),btb(6),xx,yy,zz,xy,xz,yz,
1974 . abc,xxyz2,yyxz2,zzxy2,d(6),diz1(6),diz(3),
1975 . alr(3),ald(nnod),dbad(3),btb_c,lm(mvsiz),
1976 . facdt,ll(mvsiz),axyz(mvsiz,3,nnod),
1977 . vhi(mvsiz,3),v13x,v24x,vhix,ddrz1,ddrz2
1979 . xl2(mvsiz),xl3(mvsiz),xl4(mvsiz),yl2(mvsiz),
1980 . yl3(mvsiz),yl4(mvsiz),zl1(mvsiz),off_l,
1981 . x13(mvsiz),x24(mvsiz),y13(mvsiz),y24(mvsiz),
1982 . x0g2(mvsiz),x0g3(mvsiz),x0g4(mvsiz),y0g2(mvsiz),
1983 . y0g3(mvsiz),y0g4(mvsiz),z0g2(mvsiz),z0g3(mvsiz),z0g4(mvsiz),
1984 . rx(mvsiz),ry(mvsiz),rz(mvsiz),sx(mvsiz),sy(mvsiz),
1985 . r11(mvsiz),r12(mvsiz),r13(mvsiz),r21(mvsiz),r22(mvsiz),
1986 . r23(mvsiz),r31(mvsiz),r32(mvsiz),r33(mvsiz),dirz(mvsiz,2),
1987 . ssz(mvsiz),vq0(mvsiz,3,3),det_1,
1988 . x0l2(mvsiz),x0l3(mvsiz),x0l4(mvsiz),y0l2(mvsiz),
1989 . y0l3(mvsiz),y0l4(mvsiz),vr1_12,vr1_21
2002 IF(abs(offg(i))==one)offg(i)=sign(two,offg(i))
2003 axyz(i,1:3,1:4)= zero
2005 IF (idril > 0 )
THEN
2010 axyz(i,1,1) = dr(1,ixctmp2)
2011 axyz(i,2,1) = dr(2,ixctmp2)
2012 axyz(i,3,1) = dr(3,ixctmp2)
2013 axyz(i,1,2) = dr(1,ixctmp3)
2014 axyz(i,2,2) = dr(2,ixctmp3)
2015 axyz(i,3,2) = dr(3,ixctmp3)
2016 axyz(i,1,3) = dr(1,ixctmp4)
2017 axyz(i,2,3) = dr(2,ixctmp4)
2018 axyz(i,3,3) = dr(3,ixctmp4)
2019 axyz(i,1,4) = dr(1,ixctmp5)
2020 axyz(i,2,4) = dr(2,ixctmp5)
2021 axyz(i,3,4) = dr(3,ixctmp5)
2024 x0g2(i) = smstr(ii(1)+i)
2025 y0g2(i) = smstr(ii(2)+i)
2026 z0g2(i) = smstr(ii(3)+i)
2027 x0g3(i) = smstr(ii(4)+i)
2028 y0g3(i) = smstr(ii(5)+i)
2029 z0g3(i) = smstr(ii(6)+i)
2030 x0g4(i) = smstr(ii(7)+i)
2031 y0g4(i) = smstr(ii(8)+i)
2032 z0g4(i) = smstr(ii(9)+i)
2036 rx(i)=x0g2(i)+x0g3(i)-x0g4(i)
2037 sx(i)=x0g3(i)+x0g4(i)-x0g2(i)
2038 ry(i)=y0g2(i)+y0g3(i)-y0g4(i)
2039 sy(i)=y0g3(i)+y0g4(i)-y0g2(i)
2040 rz(i)=z0g2(i)+z0g3(i)-z0g4(i)
2041 ssz(i)=z0g3(i)+z0g4(i)-z0g2(i)
2050 . r11,r12,r13,r21,r22,r23,r31,r32,r33,deta1,offg )
2052 area(i)=fourth*deta1(i)
2053 area_i(i)=one/
area(i)
2065 lxyz0(1)=fourth*(x0g2(i)+x0g3(i)+x0g4(i))
2066 lxyz0(2)=fourth*(y0g2(i)+y0g3(i)+y0g4(i))
2067 lxyz0(3)=fourth*(z0g2(i)+z0g3(i)+z0g4(i))
2068 z1(i)=-(vq0(i,1,3)*lxyz0(1)+vq0(i,2,3)*lxyz0(2)+vq0(i,3,3)*lxyz0(3))
2074 vr1_12=vq0(i,1,1)*vq(i,1,2)+vq0(i,2,1)*vq(i,2,2)+vq0(i,3,1)*vq(i,3,2)
2075 vr1_21=vq0(i,1,2)*vq(i,1,1)+vq0(i,2,2)*vq(i,2,1)+vq0(i,3,1)*vq(i,3,2)
2076 dirz(i,2) = half*(vr1_12-vr1_21)
2077 det_1 = one-dirz(i,2)*dirz(i,2)
2078 dirz(i,1) = sqrt(
max(zero,det_1))
2081 x0l2(i)=vq0(i,1,1)*x0g2(i)+vq0(i,2,1)*y0g2(i)+vq0(i,3,1)*z0g2(i)
2082 y0l2(i)=vq0(i,1,2)*x0g2(i)+vq0(i,2,2)*y0g2(i)+vq0(i,3,2)*z0g2(i)
2083 x0l3(i)=vq0(i,1,1)*x0g3(i)+vq0(i,2,1)*y0g3(i)+vq0(i,3,1)*z0g3(i)
2084 y0l3(i)=vq0(i,1,2)*x0g3(i)+vq0(i,2,2)*y0g3(i)+vq0(i,3,2)*z0g3(i)
2085 x0l4(i)=vq0(i,1,1)*x0g4(i)+vq0(i,2,1)*y0g4(i)+vq0(i,3,1)*z0g4(i)
2086 y0l4(i)=vq0(i,1,2)*x0g4(i)+vq0(i,2,2)*y0g4(i)+vq0(i,3,2)*z0g4(i)
2092 xl2(i)= x0l2(i)*dirz(i,1)-y0l2(i)*dirz(i,2)
2093 yl2(i)= x0l2(i)*dirz(i,2)+y0l2(i)*dirz(i,1)
2094 xl3(i)= x0l3(i)*dirz(i,1)-y0l3(i)*dirz(i,2)
2095 yl3(i)= x0l3(i)*dirz(i,2)+y0l3(i)*dirz(i,1)
2096 xl4(i)= x0l4(i)*dirz(i,1)-y0l4(i)*dirz(i,2)
2097 yl4(i)= x0l4(i)*dirz(i,2)+y0l4(i)*dirz(i,1)
2106 xl2(i)=xlcor(i,1,2)-xlcor(i,1,1)
2107 yl2(i)=xlcor(i,2,2)-xlcor(i,2,1)
2108 xl3(i)=xlcor(i,1,3)-xlcor(i,1,1)
2109 yl3(i)=xlcor(i,2,3)-xlcor(i,2,1)
2110 xl4(i)=xlcor(i,1,4)-xlcor(i,1,1)
2111 yl4(i)=xlcor(i,2,4)-xlcor(i,2,1)
2116 v24(i,1)=xl2(i)-xl4(i)-(x0l2(i)-x0l4(i
2117 vhi(i,1)=-xl2(i)+xl3(i)-xl4(i)-(-x0l2
2119 v24(i,2)=yl2(i)-yl4(i)-(y0l2(i)-y0l4(i))
2120 vhi(i,2)=-yl2(i)+yl3(i)-yl4
2121 vhi(i,3)=four*(zl(i)-z1(i))
2134 lxyz0(1)=fourth*(xl2(i)+xl3(i)+xl4(i))
2135 lxyz0(2)=fourth*(yl2(i)+yl3(i)+yl4(i))
2136 corel(i,1,1)=-lxyz0(1)
2137 corel(i,1,2)=xl2(i)-lxyz0(1)
2138 corel(i,1,3)=xl3(i)-lxyz0(1)
2139 corel(i,1,4)=xl4(i)-lxyz0(1)
2140 corel(i,2,1)=-lxyz0(2)
2141 corel(i,2,2)=yl2(i)-lxyz0(2)
2142 corel(i,2,3)=yl3(i)-lxyz0(2)
2143 corel(i,2,4)=yl4(i)-lxyz0(2)
2144 x13(i) =(corel(i,1,1)-corel(i,1,3))*half
2145 x24(i) =(corel(i,1,2)-corel(i,1,4))*half
2146 y13(i) =(corel(i,2,1)-corel(i,2,3))*half
2147 y24(i) =(corel(i,2,2)-corel(i,2,4))*half
2148 x13_t(i) =x13(i)*area_i(i)
2149 x24_t(i) =x24(i)*area_i(i)
2150 y13_t(i) =y13(i)*area_i(i)
2151 y24_t(i) =y24(i)*area_i(i)
2153 mx13(i)=(corel(i,1,1)+corel(i,1,3))*half
2155 mx34(i)=(corel(i,1,3)+corel(i,1,4))*half
2156 my13(i)=(corel(i,2,1)+corel(i,2,3))*half
2157 my23(i)=(corel(i,2,2)+corel(i,2,3))*half
2158 my34(i)=(corel(i,2,3)+corel(i,2,4))*half
2160 l13(i) = x13(i)*x13(i)+y13(i)*y13(i)
2162 l24(i) = x24(i)*x24(i)+y24(i)*y24(i)
2163 lm(i)=half*(l13(i)+l24(i))
2170 s1=em01*thk(i)*thk(i)
2177 rlxyz(i,1) =vq(i,1,3)*axyz(i,1,1)+vq(i,2,3)*axyz(i,2,1)
2178 1 +vq(i,3,3)*axyz(i,3,1)
2179 rlxyz(i,2) =vq(i,1,3)*axyz(i,1,2)+vq(i,2,3)*axyz(i,2,2)
2180 1 +vq(i,3,3)*axyz(i,3,2)
2181 rlxyz(i,3) =vq(i,1,3)*axyz(i,1,3)+vq(i,2,3)*axyz(i,2,3)
2182 1 +vq(i,3,3)*axyz(i,3,3)
2183 rlxyz(i,4) =vq(i,1,3)*axyz(i,1,4)+vq(i,2,3)*axyz(i,2,4)
2184 1 +vq(i,3,3)*axyz(i,3,4)
2187 rlxyz(jft:jlt,1:4) = zero
2192 IF (z2(i)<lm(i)*tol.OR.npt == 1)
THEN
2204 IF (idril>0.0 )
THEN
2205 rrxyz(1,1) =vq(i,1,1)*axyz(i,1,1)+vq(i,2,1)*axyz(i,2,1)
2206 + +vq(i,3,1)*axyz(i,3,1)
2207 rrxyz(1,2) =vq(i,1,1)*axyz(i,1,2)+vq(i,2,1)*axyz(i,2,2)
2208 + +vq(i,3,1)*axyz(i,3,2)
2209 rrxyz(1,3) =vq(i,1,1)*axyz(i,1,3)+vq(i,2,1)*axyz(i,2,3)
2210 + +vq(i,3,1)*axyz(i,3,3)
2211 rrxyz(1,4) =vq(i,1,1)*axyz(i,1,4)+vq(i,2,1)*axyz(i,2,4)
2212 + +vq(i,3,1)*axyz(i,3,4)
2213 rrxyz(2,1) =vq(i,1,2)*axyz(i,1,1)+vq(i,2,2)*axyz(i,2,1)
2214 + +vq(i,3,2)*axyz(i,3,1)
2215 rrxyz(2,2) =vq(i,1,2)*axyz(i,1,2)+vq(i,2,2)*axyz(i,2,2)
2216 + +vq(i,3,2)*axyz(i,3,2)
2217 rrxyz(2,3) =vq(i,1,2)*axyz(i,1,3)+vq(i,2,2)*axyz(i,2,3)
2218 + +vq(i,3,2)*axyz(i,3,3)
2219 rrxyz(2,4) =vq(i,1,2)*axyz(i,1,4)+vq(i,2,2)*axyz(i,2,4)
2220 + +vq(i,3,2)*axyz(i,3,4)
2221 rlxyz(i,1)=vqn(i,1,1)*rrxyz(1,1)+
2222 1 vqn(i,2,1)*rrxyz(2,1)+vqn(i,3,1)*rrxyz(3,1)
2223 rlxyz(i,2)=vqn(i,1,2)*rrxyz(1,2)+
2224 1 vqn(i,2,2)*rrxyz(2,2)+vqn(i,3,2)*rrxyz(3,2)
2225 rlxyz(i,3)=vqn(i,1,3)*rrxyz(1,3)+
2226 1 vqn(i,2,3)*rrxyz(2,3)+vqn(i,3,3)*rrxyz(3,3)
2227 rlxyz(i,4)=vqn(i,1,4)*rrxyz(1,4)+
2228 1 vqn(i,2,4)*rrxyz(2,4)+vqn(i,3,4)*rrxyz(3,4)
2236 off_l =
min(off_l,offg(i))
2241 IF(offg(i)<zero)
THEN
2261 1 JFT ,JLT ,X ,V ,VR ,
2263 3 VQ ,HOURG ,THK ,NPT ,ISMSTR ,
2264 7 XLCOR ,ZL2 ,IINT ,NEL )
2270#include "implicit_f.inc"
2274#include "mvsiz_p.inc"
2275#include "param_c.inc"
2276#include "scr05_c.inc"
2277#include "com08_c.inc"
2281 INTEGER IXC(NIXC,*),JFT,JLT,NPT,ISMSTR,NEL,IINT
2283 . pm(npropm,*), x(3,*), v(3,*), vr(3,*),
2284 . offg(*),vq(mvsiz,3,3),thk(*),xlcor(mvsiz,2,4),zl2(*)
2287 TYPE (ELBUF_STRUCT_) :: ELBUF_STR
2291 INTEGER NNOD,I,J,K,L,II(9),IFPROJ
2293 . lxyz0(3),deta,deta1(mvsiz),alrz,corel(mvsiz,2,4),
2294 . l13(mvsiz),l24(mvsiz),
2295 . vg13(3),vg24(3),vghi(3),
2296 . tol,z2(mvsiz),a_2,sz,sz1,sz2,sl,c1,c2,s1,
2297 . xx,yy,zz,xy,xz,yz,lm(mvsiz),
2298 . my13(mvsiz),mx13(mvsiz),
2299 . v13(mvsiz,2),v24(mvsiz,2),
area(mvsiz),area_i(mvsiz),
2300 . vhi(mvsiz,3),v13x,v24x,vhix,bxv2,byv1,tolh
2302 . xl2(mvsiz),xl3(mvsiz),xl4(mvsiz),yl2(mvsiz),
2303 . yl3(mvsiz),yl4(mvsiz),z1(mvsiz),off_l,
2304 . x13(mvsiz),x24(mvsiz),y13(mvsiz),y24(mvsiz),
2305 . x0g2(mvsiz),x0g3(mvsiz),x0g4(mvsiz),y0g2(mvsiz),
2306 . y0g3(mvsiz),y0g4(mvsiz),z0g2(mvsiz),z0g3(mvsiz),z0g4(mvsiz
2307 . rx(mvsiz),ry(mvsiz),rz(mvsiz),sx(mvsiz),sy(mvsiz),
2308 . r11(mvsiz),r12(mvsiz),r13(mvsiz),r21(mvsiz),r22(mvsiz),
2309 . r23(mvsiz),r31(mvsiz),r32(mvsiz),r33(mvsiz),dirz(mvsiz,2),
2310 . ssz(mvsiz),vq0(mvsiz,3,3),det_1,
2311 . x0l2(mvsiz),x0l3(mvsiz),x0l4(mvsiz),y0l2(mvsiz),
2312 . y0l3(mvsiz),y0l4(mvsiz),vr1_12,vr1_21,hg1,hg2,vdef1,vdef2
2322 IF (iint==0.AND.tt==zero)
THEN
2324 hourg(i,1) = x(1,ixc(3,i))-x(1,ixc(2,i))
2325 hourg(i,2) = x(2,ixc(3,i))-x(2,ixc(2,i))
2326 hourg(i,3) = x(3,ixc(3,i))-x(3,ixc(2,i))
2327 hourg(i,4) = x(1,ixc(4,i))-x(1,ixc(2,i))
2328 hourg(i,5) = x(2,ixc(4,i))-x(2,ixc(2,i))
2329 hourg(i,6) = x(3,ixc(4,i))-x(3,ixc(2,i))
2330 hourg(i,7) = x(1,ixc(5,i))-x(1,ixc(2,i))
2331 hourg(i,8) = x(2,ixc(5,i))-x(2,ixc(2,i))
2332 hourg(i,9) = x(3,ixc(5,i))-x(3,ixc(2,i))
2337 x0g2(i) = hourg(i,1)
2338 y0g2(i) = hourg(i,2)
2339 z0g2(i) = hourg(i,3)
2340 x0g3(i) = hourg(i,4)
2341 y0g3(i) = hourg(i,5)
2342 z0g3(i) = hourg(i,6)
2343 x0g4(i) = hourg(i,7)
2344 y0g4(i) = hourg(i,8)
2345 z0g4(i) = hourg(i,9)
2349 rx(i)=x0g2(i)+x0g3(i)-x0g4(i)
2350 sx(i)=x0g3(i)+x0g4(i)-x0g2(i)
2351 ry(i)=y0g2(i)+y0g3(i)-y0g4(i)
2352 sy(i)=y0g3(i)+y0g4(i)-y0g2(i)
2353 rz(i)=z0g2(i)+z0g3(i)-z0g4(i)
2354 ssz(i)=z0g3(i)+z0g4(i)-z0g2(i)
2363 . r11,r12,r13,r21,r22,r23,r31,r32,r33,deta1,offg )
2365 area(i)=fourth*deta1(i)
2366 area_i(i)=one/
area(i)
2378 lxyz0(1)=fourth*(x0g2(i)+x0g3(i)+x0g4(i))
2379 lxyz0(2)=fourth*(y0g2(i)+y0g3(i)+y0g4(i))
2380 lxyz0(3)=fourth*(z0g2(i)+z0g3(i)+z0g4(i))
2381 z1(i)=-(vq0(i,1,3)*lxyz0(1)+vq0(i,2,3)*lxyz0(2)+vq0(i,3,3)*lxyz0(3))
2387 vr1_12=vq0(i,1,1)*vq(i,1,2)+vq0(i,2,1)*vq(i,2,2)+vq0(i,3,1)*vq(i,3,2)
2388 vr1_21=vq0(i,1,2)*vq(i,1,1)+vq0(i,2,2)*vq(i,2,1)+vq0(i,3,1)*vq(i,3,2)
2389 dirz(i,2) = half*(vr1_12-vr1_21)
2390 det_1 = one-dirz(i,2)*dirz(i,2)
2391 dirz(i,1) = sqrt(
max(zero,det_1))
2394 x0l2(i)=vq0(i,1,1)*x0g2(i)+vq0(i,2,1)*y0g2(i)+vq0(i,3,1)*z0g2(i)
2395 y0l2(i)=vq0(i,1,2)*x0g2(i)+vq0(i,2,2)*y0g2(i)+vq0(i,3,2)*z0g2(i)
2396 x0l3(i)=vq0(i,1,1)*x0g3(i)+vq0(i,2,1)*y0g3(i)+vq0(i,3,1)*z0g3(i)
2397 y0l3(i)=vq0(i,1,2)*x0g3(i)+vq0(i,2,2)*y0g3(i)+vq0(i,3,2)*z0g3(i)
2398 x0l4(i)=vq0(i,1,1)*x0g4(i)+vq0(i,2,1)*y0g4(i)+vq0(i,3,1)*z0g4(i)
2399 y0l4(i)=vq0(i,1,2)*x0g4(i)+vq0(i,2,2)*y0g4(i)+vq0(i,3,2)*z0g4(i)
2405 xl2(i)= x0l2(i)*dirz(i,1)-y0l2(i)*dirz(i,2)
2406 yl2(i)= x0l2(i)*dirz(i,2)+y0l2(i)*dirz(i,1)
2407 xl3(i)= x0l3(i)*dirz(i,1)-y0l3(i)*dirz(i,2)
2408 yl3(i)= x0l3(i)*dirz(i,2)+y0l3(i)*dirz(i,1)
2410 yl4(i)= x0l4(i)*dirz(i,2)+y0l4(i)*dirz(i,1)
2419 xl2(i)=xlcor(i,1,2)-xlcor(i,1,1)
2420 yl2(i)=xlcor(i,2,2)-xlcor(i,2,1)
2421 xl3(i)=xlcor(i,1,3)-xlcor(i,1,1)
2422 yl3(i)=xlcor(i,2,3)-xlcor(i,2,1)
2423 xl4(i)=xlcor(i,1,4)-xlcor(i,1,1)
2424 yl4(i)=xlcor(i,2,4)-xlcor(i,2,1)
2428 v13(i,1)=-xl3(i)-(-x0l3(i))
2429 v24(i,1)=xl2(i)-xl4(i)-(x0l2(i)-x0l4(i))
2430 vhi(i,1)=-xl2(i)+xl3(i)-xl4(i)-(-x0l2(i)+x0l3(i)-x0l4(i))
2431 v13(i,2)=-yl3(i)-(-y0l3(i))
2432 v24(i,2)=yl2(i)-yl4(i)-(y0l2(i)-y0l4(i))
2433 vhi(i,2)=-yl2(i)+yl3(i)-yl4(i)-(-y0l2(i)+y0l3(i)-y0l4(i))
2435 vhi(i,3)=sqrt(zl2(i))-z1(i)
2448 lxyz0(1)=fourth*(xl2(i)+xl3(i)+xl4(i))
2449 lxyz0(2)=fourth*(yl2(i)+yl3(i)+yl4(i))
2450 corel(i,1,1)=-lxyz0(1)
2451 corel(i,1,2)=xl2(i)-lxyz0(1)
2452 corel(i,1,3)=xl3(i)-lxyz0(1)
2453 corel(i,1,4)=xl4(i)-lxyz0(1)
2454 corel(i,2,1)=-lxyz0(2)
2455 corel(i,2,2)=yl2(i)-lxyz0(2)
2456 corel(i,2,3)=yl3(i)-lxyz0(2)
2457 corel(i,2,4)=yl4(i)-lxyz0(2)
2458 x13(i) =(corel(i,1,1)-corel(i,1,3))*half
2459 x24(i) =(corel(i,1,2)-corel(i,1,4))*half
2460 y13(i) =(corel(i,2,1)-corel(i,2,3))*half
2461 y24(i) =(corel(i,2,2)-corel(i,2,4))*half
2463 mx13(i)=(corel(i,1,1)+corel(i,1,3))*half
2464 my13(i)=(corel(i,2,1)+corel(i,2,3))*half
2469 l13(i) = x13(i)*x13(i)+y13(i)*y13(i)
2471 l24(i) = x24(i)*x24(i)+y24(i)*y24(i)
2472 lm(i)=half*(l13(i)+l24(i))
2476 x13(i) =x13(i)*area_i(i)
2477 x24(i) =x24(i)*area_i(i)
2478 y13(i) =y13(i)*area_i(i)
2479 y24(i) =y24(i)*area_i(i)
2484 IF (z2(i)<lm(i)*tol.OR.npt == 1)
THEN
2489 vdef1= y24(i)*v13(i,1)-y13(i)*v24(i,1)
2490 vdef2=-x24(i)*v13(i,2)+x13(i)*v24(i,2)
2491 bxv2= y24(i)*v13(i,2)-y13(i)*v24(i,2)
2492 byv1=-x24(i)*v13(i,1)+x13(i)*v24(i,1)
2496 hg1=vhi(i,1)-mx13(i)*vdef1-my13(i)*byv1
2497 hg2=vhi(i,2)-mx13(i)*bxv2 -my13(i)*vdef2
2500 IF (abs(hg1)<tolh) hourg(i,11) = zero
2501 IF (abs(hg2)<tolh) hourg(i,12) = zero