34 1 GEO,AREA,VCORE,JAC,HX,HY,
35 2 VQN,VQG,VQ,VJFI,VNRM,VASTN,NPLAT,IPLAT,
36 3 X13_T ,X24_T ,Y13_T,Y24_T,
37 4 ELBUF_STR,NLAY, SMSTR,
38 5 IREP,NPT,ISMSTR,DIR_A ,DIR_B,
39 6 PID,MAT,NGL,OFF,ISROT ,NEL)
47#include
"implicit_f.inc"
60 INTEGER IXC(NIXC,*),JFT,JLT,NNOD,NLAY,NPLAT,IPLAT(*),ISROT,NEL
62 . X(3,*), PM(NPROPM,*),GEO(NPROPG,*),OFFG(*)
65 . vcore(mvsiz,3,nnod),
area(*),vjfi(mvsiz,6,4),
66 . vqn(mvsiz,9,nnod),vqg(mvsiz,9,nnod),vq(mvsiz,3,3),
67 . vastn(mvsiz,4,nnod),vnrm(mvsiz,3,nnod),
68 . jac(mvsiz,4),hx(mvsiz,4),hy(mvsiz,4),y24_t(*),
69 . dir_a(nel,*),dir_b(nel,*),off(*),
70 . x13_t(*),x24_t(*),y13_t(*),off_l
73 INTEGER IREP,NPT,ISMSTR,PID(*),MAT(*),NGL(*)
74 TYPE(ELBUF_STRUCT_) :: ELBUF_STR
104 INTEGER ,I,II(6),K,EP,,JPLAT(MVSIZ),L,M,MAT_1
106 . J0,J1,J2,DETA,X1,Y1,S1,PG
108 . X13,X24,Y13,MX13,MX23,MX34,MY13,Y13_2,Z1,Z2,,GAMA2,
109 . X21,X34,Y21,Y34,Z21,Z34,X41,X32,Y41,Y32,Z_2,Z41,Z32,L12,L34,
110 . a_4,sl,sz2,sz,jmx13,jmy13,jmz13,j2myz,lm(mvsiz),y24,y24_2,
111 . my23,my34,scal,g1x1,g1x3,g1y1
113 . lxyz0(3),deta1(mvsiz),rx(mvsiz), ry(mvsiz), rz(mvsiz),
114 . sx(mvsiz),sy(mvsiz),r11(mvsiz),r12(mvsiz),r13(mvsiz),
115 . r21(mvsiz),r22(mvsiz),r23(mvsiz),r31(mvsiz),r32(mvsiz),
116 . r33(mvsiz),xl2(mvsiz),xl3(mvsiz),xl4(mvsiz),yl2(mvsiz),
117 . yl3(mvsiz),yl4(mvsiz),zl1(mvsiz),area_i(mvsiz
118 . l13(mvsiz),l24(mvsiz),xx,yy,zz,c1,c2,ll(mvsiz)
120 . xx1,xx2,xx3,xx4,yy1,yy2,yy3,yy4,zz1,zz2,zz3,zz4,tol
128 IF (isrot > 0 ) tol=em8
137 rx(i)=x(1,ixc(3,i))+x(1,ixc(4,i))-x(1,ixc(2,i))-x(1,ixc(5,i))
138 sx(i)=x(1,ixc(4,i))+x(1,ixc(5,i))-x(1,ixc(2,i))-x(1,ixc(3,i))
139 ry(i)=x(2,ixc(3,i))+x(2,ixc(4,i))-x(2,ixc(2,i))-x(2,ixc(5,i))
140 sy(i)=x(2,ixc(4,i))+x(2,ixc(5,i))-x(2,ixc(2,i))-x(2,ixc(3,i))
141 rz(i)=x(3,ixc(3,i))+x(3,ixc(4,i))-x(3,ixc(2,i))-x(3,ixc(5,i))
142 ssz(i)=x(3,ixc(4,i))+x(3,ixc(5,i))-x(3,ixc(2,i))-x(3,ixc(3,i))
151 . r11,r12,r13,r21,r22,r23,r31,r32,r33,deta1,offg )
153 area(i)=fourth*deta1(i)
154 area_i(i)=one/
area(i)
171 lxyz0(1)=fourth*(x(1,l)+x(1,m)+x(1,j)+x(1,k))
172 lxyz0(2)=fourth*(x(2,l)+x(2,m)+x(2,j)+x(2,k))
173 lxyz0(3)=fourth*(x(3,l)+x(3,m)+x(3,j)+x(3,k))
179 xl2(i)=r11(i)*xx1+r21(i)*yy1+r31(i)*zz1
180 yl2(i)=r12(i)*xx1+r22(i)*yy1+r32(i)*zz1
185 zl1(i)=r13(i)*xx2+r23(i)*yy2+r33(i)*zz2
190 xl3(i)=r11(i)*xx3+r21(i)*yy3+r31(i)*zz3
191 yl3(i)=r12(i)*xx3+r22(i)*yy3+r32(i)*zz3
196 xl4(i)=r11(i)*xx4+r21(i)*yy4+r31(i)*zz4
197 yl4(i)=r12(i)*xx4+r22(i)*yy4+r32(i)*zz4
202 IF(ismstr==1.OR.ismstr==2)
THEN
204 IF(abs(offg(i))==two)
THEN
205 xl2(i)=smstr(ii(1)+i)
206 yl2(i)=smstr(ii(2)+i)
207 xl3(i)=smstr(ii(3)+i)
208 yl3(i)=smstr(ii(4)+i)
209 xl4(i)=smstr(ii(5)+i)
210 yl4(i)=smstr(ii(6)+i)
213 . ((xl2(i)-xl4(i))*yl3(i)-xl3(i)*(yl2(i)-yl4(i)))
214 area_i(i)=one/
max(em20,
area(i))
216 smstr(ii(1)+i)=xl2(i)
217 smstr(ii(2)+i)=yl2(i)
218 smstr(ii(3)+i)=xl3(i)
219 smstr(ii(4)+i)=yl3(i)
220 smstr(ii(5)+i)=xl4(i)
221 smstr(ii(6)+i)=yl4(i)
227 IF(offg(i)==one)offg(i)=two
234 CALL cortdir3(elbuf_str,dir_a,dir_b ,jft ,jlt ,
235 . nlay ,irep ,rx ,ry ,rz ,
236 . sx ,sy ,ssz ,r11 ,r21 ,
237 . r31 ,r12 ,r22 ,r32 ,nel )
241 lxyz0(1)=fourth*(xl2(ep)+xl3(ep)+xl4(ep))
242 lxyz0(2)=fourth*(yl2(ep)+yl3(ep)+yl4(ep))
243 vcore(ep,1,1)=-lxyz0(1)
244 vcore(ep,1,2)=xl2(ep)-lxyz0(1)
245 vcore(ep,1,3)=xl3(ep)-lxyz0(1)
246 vcore(ep,1,4)=xl4(ep)-lxyz0(1)
247 vcore(ep,2,1)=-lxyz0(2)
248 vcore(ep,2,2)=yl2(ep)-lxyz0(2)
249 vcore(ep,2,3)=yl3(ep)-lxyz0(2)
250 vcore(ep,2,4)=yl4(ep)-lxyz0(2)
251 x13_t(ep) =(vcore(ep,1,1)-vcore(ep,1,3))*half
252 x24_t(ep) =(vcore(ep,1,2)-vcore(ep,1,4))*half
253 y13_t(ep) =(vcore(ep,2,1)-vcore(ep,2,3))*half
254 y24_t(ep) =(vcore(ep,2,2)-vcore(ep,2,4))*half
255 l13(ep)=x13_t(ep)*x13_t(ep)+y13_t(ep)*y13_t(ep)
256 l24(ep)=x24_t(ep)*x24_t(ep)+y24_t(ep)*y24_t(ep)
257 ll(ep)=
max(l13(ep),l24(ep))
259 IF (imp_chk > 0)
THEN
261 mx13=(vcore(ep,1,1)+vcore(ep,1,3))*half
262 my13=(vcore(ep,2,1)+vcore(ep,2,3))*half
263 mx23=(vcore(ep,1,2)+vcore(ep,1,3))*half
264 mx34=(vcore(ep,1,3)+vcore(ep,1,4))*half
265 my23=(vcore(ep,2,2)+vcore(ep,2,3))*half
266 my34=(vcore(ep,2,3)+vcore(ep,2,4))*half
267 j1=(mx23*my13-mx13*my23)*pg
268 j2=-(mx13*my34-mx34*my13)*pg
274 IF(offg(ep)/=zero)
THEN
275 IF(jac(ep,1)<=zero.OR.jac(ep,2)<=zero.OR.
276 . jac(ep,3)<=zero.OR.jac(ep,4)<=zero)
THEN
278 WRITE(iout ,2001) ngl(ep)
279#include "lockoff.inc"
291 IF (z2<tol*ll(ep))
THEN
300 iplat(ep)=jplat(ep-nplat)
302#include "vectorize.inc"
309 mx13=(vcore(ep,1,1)+vcore(ep,1,3))*half
310 my13=(vcore(ep,2,1)+vcore(ep,2,3))*half
311 mx23=(vcore(ep,1,2)+vcore(ep,1,3))*half
312 mx34=(vcore(ep,1,3)+vcore(ep,1,4))*half
313 my23=(vcore(ep,2,2)+vcore(ep,2,3))*half
314 my34=(vcore(ep,2,3)+vcore(ep,2,4))*half
315 x13_t(ep) =x13*area_i(ep)
316 x24_t(ep) =x24*area_i(ep)
317 y13_t(ep) =y13*area_i(ep)
318 y24_t(ep) =y24*area_i(ep)
320 gama1=-mx13*y24+my13*x24
321 gama2= mx13*y13-my13*x13
322 vcore(ep,1,1)=y24_t(ep)
323 vcore(ep,2,1)=-y13_t(ep)
324 vcore(ep,3,1)=-x24_t(ep)
325 vcore(ep,1,2)= x13_t(ep)
326 vcore(ep,2,2)=gama1*area_i(ep)
327 vcore(ep,3,2)=gama2*area_i(ep)
334 j1=(mx23*my13-mx13*my23)*pg
335 j2=-(mx13*my34-mx34*my13)*pg
337 jac(ep,1)=abs(j0+j2-j1)
338 jac(ep,2)=abs(j0+j2+j1)
339 jac(ep,3)=abs(j0-j2+j1)
340 jac(ep,4)=abs(j0-j2-j1)
343 hx(ep,1)=j1/jac(ep,1)
344 hx(ep,2)=j2/jac(ep,2)
345 hx(ep,3)=-j1/jac(ep,3)
346 hx(ep,4)=-j2/jac(ep,4)
349 hy(ep,1)=j1/jac(ep,1)
350 hy(ep,2)=j2/jac(ep,2)
351 hy(ep,3)=-j1/jac(ep,3)
352 hy(ep,4)=-j2/jac(ep,4)
354#include "vectorize.inc"
367 mx13=(vcore(ep,1,1)+vcore(ep,1,3))*half
368 my13=(vcore(ep,2,1)+vcore(ep,2,3)
369 mx23=(vcore(ep,1,2)+vcore(ep,1,3))*half
370 my23=(vcore(ep,2,2)+vcore(ep,2,3))*half
371 mx34=(vcore(ep,1,3)+vcore(ep,1,4))*half
372 my34=(vcore(ep,2,3)+vcore(ep,2,4))*half
373 x13_t(ep) =x13*area_i(ep)
374 x24_t(ep) =x24*area_i(ep)
375 y13_t(ep) =y13*area_i(ep)
376 y24_t(ep) =y24*area_i(ep)
378 gama1=-mx13*y24+my13*x24
379 gama2= mx13*y13-my13*x13
390 x34 =(vcore(ep,1,3)-vcore(ep,1,4))*half
392 y34 =(vcore(ep,2,3)-vcore(ep,2,4))*half
395 l12 = sqrt(x21*x21+y21*y21+z2)
396 l34 = sqrt(x34*x34+y34*y34+z2)
401 x32 =(vcore(ep,1,3)-vcore(ep,1,2))*half
403 y32 =(vcore(ep,2,3)-vcore(ep,2,2))*half
418 sl=one/sqrt(sz+sz2*sz2)
423 vqn(ep,7,3)=-vqn(ep,7,1)
424 vqn(ep,8,3)=-vqn(ep,8,1)
425 vqn(ep,7,1)= vqn(ep,7,1)*sl
426 vqn(ep,8,1)= vqn(ep,8,1)*sl
428 vqn(ep,4,1)= vqn(ep,8,1)*vqn(ep,3,1)-vqn(ep,9,1)*vqn(ep,2,1)
429 vqn(ep,5,1)= vqn(ep,9,1)*vqn(ep,1,1)-vqn(ep,7,1)*vqn(ep,3,1)
430 vqn(ep,6,1)= vqn(ep,7,1)*vqn(ep,2,1)-vqn(ep,8,1)*vqn(ep,1,1)
437 sl=one/sqrt(sz+sz2*sz2)
438 vqn(ep,7,3)= vqn(ep,7,3)*sl
439 vqn(ep,8,3)= vqn(ep,8,3)*sl
442 vqn(ep,4,3)= vqn(ep,8,3)*vqn(ep,3,3)-vqn(ep,9,3)*vqn(ep,2,3)
443 vqn(ep,5,3)= vqn(ep,9,3)*vqn(ep,1,3)-vqn(ep,7,3)*vqn(ep,3,3)
444 vqn(ep,6,3)= vqn(ep,7,3)*vqn(ep,2,3)-vqn(ep,8,3)*vqn(ep,1,3)
446 vqn(ep,1,2)=vqn(ep,1,1)
447 vqn(ep,2,2)=vqn(ep,2,1)
448 vqn(ep,3,2)=vqn(ep,3,1)
451 sl=one/sqrt(sz+sz2*sz2)
455 vqn(ep,7,4)=-vqn(ep,7,2)
456 vqn(ep,8,4)=-vqn(ep,8,2)
457 vqn(ep,7,2)= vqn(ep,7,2)*sl
458 vqn(ep,8,2)= vqn(ep,8,2)*sl
460 vqn(ep,4,2)= vqn(ep,8,2)*vqn(ep,3,2)-vqn(ep,9,2)*vqn(ep,2,2)
461 vqn(ep,5,2)= vqn(ep,9,2)*vqn(ep,1,2)-vqn(ep,7,2)*vqn(ep,3,2)
462 vqn(ep,6,2)= vqn(ep,7,2)*vqn(ep,2,2)-vqn(ep,8,2)*vqn(ep,1,2)
464 vqn(ep,1,4)=vqn(ep,1,3)
465 vqn(ep,2,4)=vqn(ep,2,3)
466 vqn(ep,3,4)=vqn(ep,3,3)
468 sl=one/sqrt(sz+sz2*sz2)
469 vqn(ep,7,4)= vqn(ep,7,4)*sl
470 vqn(ep,8,4)= vqn(ep,8,4)*sl
473 vqn(ep,4,4)= vqn(ep,8,4)*vqn(ep,3,4)-vqn(ep,9,4)*vqn(ep,2,4)
474 vqn(ep,5,4)= vqn(ep,9,4)*vqn(ep,1,4)-vqn(ep,7,4)*vqn(ep,3,4)
475 vqn(ep,6,4)= vqn(ep,7,4)*vqn(ep,2,4)-vqn(ep,8,4)*vqn(ep,1,4)
480 vnrm(ep,1,1)=vqn(ep,7,1)+vqn(ep,7,2)
481 vnrm(ep,2,1)=vqn(ep,8,1)+vqn(ep,8,
482 vnrm(ep,3,1)=vqn(ep,9,1)+vqn(ep,9,2)
483 c1=sqrt(vnrm(ep,1,1)*vnrm(ep,1,1)+
484 1 vnrm(ep,2,1)*vnrm(ep,2,1)+vnrm(ep,3,1)*vnrm(ep,3,1))
486 vnrm(ep,1,1)=vnrm(ep,1,1)/c1
487 vnrm(ep,2,1)=vnrm(ep,2,1)/c1
488 vnrm(ep,3,1)=vnrm(ep,3,1)/c1
491 vastn(ep,3,1)=vastn(ep,1,1)
492 vastn(ep,4,1)=vastn(ep,2,1)
494 vnrm(ep,1,2)=vqn(ep,7,4)+vqn(ep,7,3)
495 vnrm(ep,2,2)=vqn(ep,8,4)+vqn(ep,8,3)
496 vnrm(ep,3,2)=vqn(ep,9,4)+vqn(ep,9,3)
497 c1=sqrt(vnrm(ep,1,2)*vnrm(ep,1,2)+
498 1 vnrm(ep,2,2)*vnrm(ep,2,2)+vnrm(ep,3,2)*vnrm(ep,3,2))
500 vnrm(ep,1,2)=vnrm(ep,1,2)/c1
501 vnrm(ep,2,2)=vnrm(ep,2,2)/c1
502 vnrm(ep,3,2)=vnrm(ep,3,2)/c1
505 vastn(ep,3,2)=vastn(ep,1,2)
506 vastn(ep,4,2)=vastn(ep,2,2)
508 vnrm(ep,1,3)=vqn(ep,7,1)+vqn(ep,7,4)
509 vnrm(ep,2,3)=vqn(ep,8,1)+vqn(ep,8,4)
510 vnrm(ep,3,3)=vqn(ep,9,1)+vqn(ep,9,4)
511 c1=sqrt(vnrm(ep,1,3)*vnrm(ep,1,3)+
512 1 vnrm(ep,2,3)*vnrm(ep,2,3)+vnrm(ep,3,3)*vnrm(ep,3,3))
514 vnrm(ep,1,3)=vnrm(ep,1,3)/c1
515 vnrm(ep,2,3)=vnrm(ep,2,3)/c1
516 vnrm(ep,3,3)=vnrm(ep,3,3)/c1
517 vastn(ep,1,3)=-(x41*vqn(ep,4,1)+y41*vqn(ep,5,1)+z41*vqn(ep,6,1))
518 vastn(ep,2,3)= x41*vqn(ep,1,1)+y41*vqn(ep,2,1)+z41*vqn(ep,3,1)
519 vastn(ep,3,3)=-(x41*vqn(ep,4,4)+y41*vqn(ep,5,4)+z41*vqn(ep,6,4))
520 vastn(ep,4,3)= x41*vqn(ep,1,4)+y41*vqn(ep,2,4)+z41*vqn(ep,3,4)
522 vnrm(ep,1,4)=vqn(ep,7,2)+vqn(ep,7,3)
523 vnrm(ep,2,4)=vqn(ep,8,2)+vqn(ep,8,3)
524 vnrm(ep,3,4)=vqn(ep,9,2)+vqn(ep,9,3)
525 c1=sqrt(vnrm(ep,1,4)*vnrm(ep,1,4)+
526 1 vnrm(ep,2,4)*vnrm(ep,2,4)+vnrm(ep,3,4)*vnrm(ep,3,4))
528 vnrm(ep,1,4)=vnrm(ep,1,4)/c1
529 vnrm(ep,2,4)=vnrm(ep,2,4)/c1
530 vnrm(ep,3,4)=vnrm(ep,3,4)/c1
531 vastn(ep,1,4)=-(x32*vqn(ep,4,2)+y32*vqn(ep,5,2)+z32*vqn(ep,6,2))
532 vastn(ep,2,4)= x32*vqn(ep,1,2)+y32*vqn(ep,2,2)+z32*vqn(ep,3,2)
533 vastn(ep,3,4)=-(x32*vqn(ep,4,3)+y32*vqn(ep,5,3)+z32*vqn(ep,6,3))
534 vastn(ep,4,4)= x32*vqn(ep,1,3)+y32*vqn(ep,2,3)+z32*vqn(ep,3,3)
552 vqg(ep,7,3)=-vqg(ep,7,1)
553 vqg(ep,8,3)=-vqg(ep,8,1)
554 vqg(ep,7,1)= vqg(ep,7,1)*sl
555 vqg(ep,8,1)= vqg(ep,8,1)*sl
559 c1 = sqrt(g1x1*g1x1 + g1y1*g1y1 +j2myz )
562 c2 = sqrt(g2x1*g2x1 + g2y1*g2y1 +j2myz)
563 vjfi(ep,1,1)=(g2y1*vqg(ep,9,1)+jmz13*vqg(ep,8,1))
564 vjfi(ep,2,1)=(-jmz13*vqg(ep,7,1)-g2x1*vqg(ep,9,1))
565 vjfi(ep,3,1)=(g2x1*vqg(ep,8,1)-g2y1*vqg(ep,7,1))
566 vqg(ep,1,1)= g1x1*c2+vjfi(ep,1,1)*c1
567 vqg(ep,2,1)= g1y1*c2+vjfi(ep,2,1)*c1
568 vqg(ep,3,1)= -jmz13*c2+vjfi(ep,3,1)*c1
570 vjfi(ep,1,1)=vjfi(ep,1,1)*sl
571 vjfi(ep,2,1)=vjfi(ep,2,1)*sl
572 vjfi(ep,3,1)=vjfi(ep,3,1)*sl
574 vjfi(ep,4,1)=(-jmz13*vqg(ep,8,1)-g1y1*vqg(ep,9,1))*sl
575 vjfi(ep,5,1)=(g1x1*vqg(ep,9,1)+jmz13*vqg(ep,7,1))*sl
576 vjfi(ep,6,1)=(g1y1*vqg(ep,7,1)-g1x1*vqg(ep,8,1))*sl
578 sl = sqrt(vqg(ep,1,1)*vqg(ep,1,1) + vqg(ep,2,1)*vqg(ep,2,1)
579 1 + vqg(ep,3,1)*vqg(ep,3,1))
580 IF ( sl/=zero) sl = one / sl
581 vqg(ep,1,1) = vqg(ep,1,1)*sl
582 vqg(ep,2,1) = vqg(ep,2,1)*sl
583 vqg(ep,3,1) = vqg(ep,3,1)*sl
585 vqg(ep,4,1)= vqg(ep,8,1)*vqg(ep,3,1)-vqg(ep,9,1)*vqg(ep,2,1)
586 vqg(ep,5,1)= vqg(ep,9,1)*vqg(ep,1,1)-vqg(ep,7,1)*vqg(ep,3,1)
587 vqg(ep,6,1)= vqg(ep,7,1)*vqg(ep,2,1)-vqg(ep,8,1)*vqg(ep,1,1)
593 vqg(ep,7,3)= vqg(ep,7,3)*sl
594 vqg(ep,8,3)= vqg(ep,8,3)*sl
599 j1 = sqrt(g1x3*g1x3 + g1y3*g1y3 +j2myz )
603 j2 = sqrt(g2x2*g2x2 + g2y2*g2y2 +j2myz
604 vjfi(ep,1,3)=(g2y2*vqg(ep,9,3)-jmz13*vqg(ep,8,3))
605 vjfi(ep,2,3)=(jmz13*vqg(ep,7,3)-g2x2*vqg(ep,9,3))
606 vjfi(ep,3,3)=(g2x2*vqg(ep,8,3)-g2y2*vqg(ep,7,3))
607 vqg(ep,1,3)= g1x3*j2+vjfi(ep,1,3)*j1
608 vqg(ep,2,3)= g1y3*j2+vjfi(ep,2,3)*j1
609 vqg(ep,3,3)= jmz13*j2+vjfi(ep,3,3)*j1
611 vjfi(ep,1,3)=vjfi(ep,1,3)*sl
612 vjfi(ep,2,3)=vjfi(ep,2,3)*sl
613 vjfi(ep,3,3)=vjfi(ep,3,3)*sl
615 vjfi(ep,4,3)=(jmz13*vqg(ep,8,3)-g1y3*vqg(ep,9,3))*sl
616 vjfi(ep,5,3)=(g1x3*vqg(ep,9,3)-jmz13*vqg(ep,7,3))*sl
617 vjfi(ep,6,3)=(g1y3*vqg(ep,7,3)-g1x3*vqg(ep,8,3))*sl
619 sl = sqrt(vqg(ep,1,3)*vqg(ep,1,3) + vqg(ep,2,3)*vqg(ep,2,3)
620 1 + vqg(ep,3,3)*vqg(ep,3,3))
621 IF ( sl/=zero) sl = one / sl
622 vqg(ep,1,3) = vqg(ep,1,3)*sl
623 vqg(ep,2,3) = vqg(ep,2,3)*sl
624 vqg(ep,3,3) = vqg(ep,3,3)*sl
626 vqg(ep,4,3)= vqg(ep,8,3)*vqg(ep,3,3)-vqg(ep,9,3)*vqg(ep,2,3)
627 vqg(ep,5,3)= vqg(ep,9,3)*vqg(ep,1,3)-vqg(ep,7,3)*vqg(ep,3,3)
628 vqg(ep,6,3)= vqg(ep,7,3)*vqg(ep,2,3)-vqg(ep,8,3)*vqg(ep,1,3)
638 vqg(ep,7,4)=-vqg(ep,7,2)
639 vqg(ep,8,4)=-vqg(ep,8,2)
640 vqg(ep,7,2)= vqg(ep,7,2)*sl
641 vqg(ep,8,2)= vqg(ep,8,2)*sl
643 vjfi(ep,1,2)=(g2y2*vqg(ep,9,2)-jmz13
644 vjfi(ep,2,2)=(jmz13*vqg(ep,7,2)-g2x2*vqg(ep,9,2))
645 vjfi(ep,3,2)=(g2x2*vqg(ep,8,2)-g2y2*vqg
646 vqg(ep,1,2)= g1x1*j2+vjfi(ep,1,2)*c1
647 vqg(ep,2,2)= g1y1*j2+vjfi(ep,2,2)*c1
648 vqg(ep,3,2)=-jmz13*j2+vjfi(ep,3,2)*c1
650 vjfi(ep,1,2)=vjfi(ep,1,2)*sl
651 vjfi(ep,2,2)=vjfi(ep,2,2)*sl
652 vjfi(ep,3,2)=vjfi(ep,3,2)*sl
654 vjfi(ep,4,2)=(-jmz13*vqg(ep,8,2)-g1y1*vqg(ep,9,2))*sl
655 vjfi(ep,5,2)=(g1x1*vqg(ep,9,2)+jmz13*vqg(ep,7,2))*sl
656 vjfi(ep,6,2)=(g1y1*vqg(ep,7,2)-g1x1*vqg(ep,8,2))*sl
658 sl = sqrt(vqg(ep,1,2)*vqg(ep,1,2) + vqg(ep,2,2)*vqg(ep,2,2)
659 1 + vqg(ep,3,2)*vqg(ep,3,2))
660 IF ( sl/=0.) sl = 1. / sl
661 vqg(ep,1,2) = vqg(ep,1,2)*sl
662 vqg(ep,2,2) = vqg(ep,2,2)*sl
663 vqg(ep,3,2) = vqg(ep,3,2)*sl
664 vqg(ep,4,2)= vqg(ep,8,2)*vqg(ep,3,2)-vqg(ep,9,2)*vqg(ep,2,2)
665 vqg(ep,5,2)= vqg(ep,9,2)*vqg(ep,1,2)-vqg(ep,7,2)*vqg(ep,3,2)
666 vqg(ep,6,2)= vqg(ep,7,2)*vqg(ep,2,2)-vqg(ep,8,2)*vqg(ep,1,2)
672 vqg(ep,7,4)= vqg(ep,7,4)*sl
673 vqg(ep,8,4)= vqg(ep,8,4)*sl
676 vjfi(ep,1,4)=(g2y1*vqg(ep,9,4)+jmz13*vqg(ep,8,4))
677 vjfi(ep,2,4)=(-jmz13*vqg(ep,7,4)-g2x1*vqg(ep,9,4))
678 vjfi(ep,3,4)=(g2x1*vqg(ep,8,4)-g2y1*vqg(ep,7,4))
679 vqg(ep,1,4)= g1x3*c2+vjfi(ep,1,4)*j1
680 vqg(ep,2,4)= g1y3*c2+vjfi(ep,2,4)*j1
681 vqg(ep,3,4)=jmz13*c2+vjfi(ep,3,4)*j1
683 vjfi(ep,1,4)=vjfi(ep,1,4)*sl
684 vjfi(ep,2,4)=vjfi(ep,2,4)*sl
685 vjfi(ep,3,4)=vjfi(ep,3,4)*sl
687 vjfi(ep,4,4)=(jmz13*vqg(ep,8,4)-g1y3*vqg(ep,9,4))*sl
688 vjfi(ep,5,4)=(g1x3*vqg(ep,9,4)-jmz13*vqg(ep,7,4))*sl
689 vjfi(ep,6,4)=(g1y3*vqg(ep,7,4)-g1x3*vqg(ep,8,4))*sl
691 sl = sqrt(vqg(ep,1,4)*vqg(ep,1,4) + vqg(ep,2,4)*vqg(ep,2,4)
692 1 + vqg(ep,3,4)*vqg(ep,3,4))
693 IF ( sl/=zero) sl = one / sl
694 vqg(ep,1,4) = vqg(ep,1,4)*sl
695 vqg(ep,2,4) = vqg(ep,2,4)*sl
696 vqg(ep,3,4) = vqg(ep,3,4)*sl
697 vqg(ep,4,4)= vqg(ep,8,4)*vqg(ep,3,4)-vqg(ep,9,4)*vqg(ep,2,4)
698 vqg(ep,5,4)= vqg(ep,9,4)*vqg(ep,1,4)-vqg(ep,7,4)*vqg(ep,3,4)
699 vqg(ep,6,4)= vqg(ep,7,4)*vqg(ep,2,4)-vqg(ep,8,4)*vqg(ep,1,4)
700 area(ep)=jac(ep,1)+jac(ep,2)+jac(ep,3)+jac(ep,4)
708 2001
FORMAT(/
' ZERO OR NEGATIVE SHELL SUB-AREA : ELEMENT NB:',