31 1 JLT ,CAND_S,CAND_M,H1S ,H2S ,
32 2 H1M ,H2M ,NX ,NY ,NZ ,
33 3 STIF ,N1 ,N2 ,M1 ,M2 ,
34 4 JLT_NEW,XXS1 ,XXS2 ,XYS1 ,XYS2 ,
35 5 XZS1 ,XZS2 ,XXM1 ,XXM2 ,XYM1 ,
36 6 XYM2 ,XZM1 ,XZM2 ,VXS1 ,VXS2 ,
37 7 VYS1 ,VYS2 ,VZS1 ,VZS2 ,VXM1 ,
38 8 VXM2 ,VYM1 ,VYM2 ,VZM1 ,VZM2 ,
39 9 MS1 ,MS2 ,MM1 ,MM2 ,IEDGE ,
40 B NSMS ,INDEX ,INTFRIC ,IPARTFRIC_ES,IPARTFRIC_EM ,
41 C GAPVE ,EX ,EY ,EZ ,FX ,
42 D FY ,FZ ,LEDGE ,IRECT ,X ,
43 E CAND_P ,TYPEDGS,IAS ,JAS ,IBS ,
44 F JBS ,IAM ,ITAB ,INDX1 ,INDX2 ,
45 G CS_LOC4,CM_LOC4, EDGE_ID, NEDGE, NIN,
46 H DGAPLOADPMAX,NORMALN1,NORMALN2,NORMALM1,NORMALM2)
54#include "implicit_f.inc"
66 INTEGER,
INTENT(IN) :: NIN
67 INTEGER,
INTENT(IN) :: NEDGE
68 INTEGER :: EDGE_ID(2,4*MVSIZ)
69 INTEGER JLT,JLT_NEW, IEDGE,INTFRIC
70 INTEGER CAND_S(MVSIZ),CAND_M(MVSIZ),INDEX(*),(*),CM_LOC4(*),
71 . N1(4,MVSIZ),N2(4,MVSIZ),M1(4,MVSIZ),M2(4,MVSIZ),
72 . TYPEDGS(MVSIZ),(MVSIZ),JAS(MVSIZ),IBS(MVSIZ),JBS(),IAM(MVSIZ),
73 . NSMS(4,MVSIZ),IPARTFRIC_ES(4,MVSIZ),IPARTFRIC_EM(
76(4,*),H1M(4,*),H2M(4,*),NX(4,*),NY(4,*),NZ(4,*),STIF(4,*),
77 . XXS1(4,*), XXS2(4,*), XYS1(4,*), XYS2(4,*), XZS1(4,*) , XZS2(4,*),
78 . XXM1(4,*), XXM2(4,*) , XYM1(4,*), XYM2(4,*), XZM1(4,*), XZM2(4,*),
79 . VXS1(4,*), VXS2(4,*), VYS1(4,*), VYS2(4,*), VZS1(4,*), VZS2(4,*) ,
80 . VXM1(4,*), VXM2(4,*), VYM1(4,*), VYM2(4,*), VZM1(4,*), (4,*),
81 . MS1(4,*) ,MS2(4,*) ,MM1(4,*) ,MM2(4,*),
82 . gapve(4,*), x(3,*), cand_p(4,*),
83 . ex(4,mvsiz), ey(4,mvsiz), ez(4,mvsiz),
84 . fx(mvsiz), fy(mvsiz) , fz(mvsiz)
85 my_real ,
INTENT(IN) :: dgaploadpmax
86 my_real ,
INTENT(IN) :: normaln1(3,mvsiz),normaln2(3,mvsiz),
87 . normalm1(3,4,mvsiz),normalm2(3,4,mvsiz)
91 INTEGER I, IA, , IB, JB, SOL_EDGE, SH_EDGE, K, NJNDX, N4A,
92 . EJ, I1, I2, I3, I4, I0, IT, EJ_NEW, ,
93 . IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
94 . JX1(MVSIZ), JX2(MVSIZ), JX3(MVSIZ), JX4(MVSIZ),
95 . JNDX(MVSIZ), I4A(MVSIZ)
97 . XA0(MVSIZ),XA1(MVSIZ),XA2(MVSIZ),XA3(MVSIZ),XA4(MVSIZ),
98 . YA0(MVSIZ),YA1(MVSIZ),YA2(MVSIZ),YA3(MVSIZ),YA4(MVSIZ),
99 . ZA0(MVSIZ),ZA1(MVSIZ),ZA2(MVSIZ),ZA3(MVSIZ),ZA4(MVSIZ),
100 . XA(5,MVSIZ),YA(5,MVSIZ),ZA(5,MVSIZ)
103 . xs12(4,mvsiz),ys12(4,mvsiz),zs12(4,mvsiz),xm12(4,mvsiz),
104 . ym12(4,mvsiz),zm12(4,mvsiz),xaa,xbb,xs2(4,mvsiz),xm2(4,mvsiz),
105 . xsm,xs2m2,ys2,ym2,ysm,ys2m2,zs2,zm2,zsm,zs2m2,
106 . xx,yy,zz,als,alm,det,aaa,bbb,gap2,p1,p2,nn(4,mvsiz),
107 . x0a(mvsiz,4),y0a(mvsiz,4),z0a(mvsiz,4),
108 . x0b(mvsiz,4),y0b(mvsiz,4),z0b(mvsiz,4),
109 . xna(mvsiz,4), yna(mvsiz,4), zna(mvsiz,4), xnb(mvsiz,4), ynb(mvsiz,4), znb(mvsiz,4), ps,
110 . xs, ys, zs, xm, ym, zm, da, db, cnvx, da1, db1, da2, db2,
111 . rzero, run, rdix, rem30, rep30,
112 . alp,xxs,xys,xzs,xxm,xym,xzm,
113 . xi0,yi0,zi0,xi1,yi1,zi1,xi2,yi2,zi2,
114 . sx1,sy1,sz1,sx2,sy2,sz2
117 . nncx,nncy,nncz,nncp,dist,pedg,nedg
118 INTEGER :: EDGE_ID_CP(2,MVSIZ)
120 INTEGER :: INTFRIC_LOC,IDTMINS_LOC
121 DATA NTRIA/1,2,4,2,4,1,0,0,0,4,1,2/
129 INTFRIC_LOC = intfric
130 idtmins_loc = idtmins
182 pene2(1:4,1:jlt)=ep20
187 IF(ej==3.AND.m1(ej,i)==m2(ej,i))
THEN
189 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,pene2(ej,i))
193 xm12(ej,i) = xxm2(ej,i)-xxm1(ej,i)
194 ym12(ej,i) = xym2(ej,i)-xym1(ej,i)
195 zm12(ej,i) = xzm2(ej,i)-xzm1(ej,i)
196 xm2(ej,i) = xm12(ej,i)*xm12(ej,i) + ym12(ej,i)*ym12(ej,i) + zm12(ej,i)*zm12(ej,i)
198 xs12(ej,i) = xxs2(ej,i)-xxs1(ej,i)
199 ys12(ej,i) = xys2(ej,i)-xys1(ej,i)
200 zs12(ej,i) = xzs2(ej,i)-xzs1(ej,i)
201 xs2(ej,i) = xs12(ej,i)*xs12(ej,i) + ys12(ej,i)*ys12(ej,i) + zs12(ej,i)*zs12(ej,i)
202 xsm = - (xs12(ej,i)*xm12(ej,i) + ys12(ej,i)*ym12(ej,i) + zs12(ej,i)*zm12(ej,i))
203 xs2m2 = xxm2(ej,i)-xxs2(ej,i)
204 ys2m2 = xym2(ej,i)-xys2(ej,i)
205 zs2m2 = xzm2(ej,i)-xzs2(ej,i)
207 xaa = xs12(ej,i)*xs2m2 + ys12(ej,i)*ys2m2 + zs12(ej,i)*zs2m2
208 xbb = -xm12(ej,i)*xs2m2 - ym12(ej,i)*ys2m2 - zm12(ej,i)*zs2m2
209 det = xm2(ej,i)*xs2(ej,i) - xsm*xsm
212 h1m(ej,i) = (xaa*xsm-xbb*xs2(ej,i)) / det
213 IF(h1m(ej,i) < -em03 .OR. h1m(ej,i) > onep03)
THEN
215 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,pene2(ej,i))
219 xs2(ej,i) =
max(xs2(ej,i),em20)
220 xm2(ej,i) =
max(xm2(ej,i),em20)
221 h1m(ej,i)=
min(one,
max(zero,h1m(ej,i)))
222 h1s(ej,i) = -(xaa + h1m(ej,i)*xsm) / xs2(ej,i)
223 IF(h1s(ej,i) < -em03 .OR. h1s(ej,i) > onep03)
THEN
225 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,pene2(ej,i))
230 h1s(ej,i)=
min(one,
max(zero,h1s(ej,i)))
231 h1m(ej,i) = -(xbb + h1s(ej,i)*xsm) / xm2(ej,i)
232 h1m(ej,i)=
min(one,
max(zero,h1m(ej,i)))
234 h2s(ej,i) = one -h1s(ej,i)
235 h2m(ej,i) = one -h1m(ej,i)
239 nx(ej,i) = h1s(ej,i)*xxs1(ej,i) + h2s(ej,i)*xxs2(ej,i)
240 . - h1m(ej,i)*xxm1(ej,i) - h2m(ej,i)*xxm2(ej,i)
241 ny(ej,i) = h1s(ej,i)*xys1(ej,i) + h2s(ej,i)*xys2(ej,i)
242 . - h1m(ej,i)*xym1(ej,i) - h2m(ej,i)*xym2(ej,i)
243 nz(ej,i) = h1s(ej,i)*xzs1(ej,i) + h2s(ej,i)*xzs2(ej,i)
244 . - h1m(ej,i)*xzm1(ej,i) - h2m(ej,i)*xzm2(ej,i)
246 nn(ej,i) = nx(ej,i)**2 + ny(ej,i)**2 + nz(ej,i)**2
252 pene2(ej,i) = dgaploadpmax*dgaploadpmax + nn(ej,i)
253 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,pene2(ej,i))
259 sh_edge =iedge-10*sol_edge
285 IF(pene2(1,i)+pene2(2,i)+pene2(3,i)+pene2(4,i)==zero) cycle
287 IF(typedgs(i)/=1)cycle
300 IF(pene2(ej,i)==zero) cycle
312 pedg = xm12(ej,i) *xs12(ej,i) + ym12(ej,i) *ys12(ej,i) + zm12(ej,i) *zs12(ej,i)
313 nedg = sqrt(xm2(ej,i)) * sqrt(xs2(ej,i))
314 IF(abs(pedg)>zep999*nedg)
THEN
319 nncx = ys12(ej,i)*zm12(ej,i)- zs12(ej,i)*ym12(ej,i)
320 nncy = zs12(ej,i)*xm12(ej,i)- zm12(ej,i)*xs12(ej,i)
321 nncz = xs12(ej,i)*ym12(ej,i)- ys12(ej,i)*xm12(ej,i)
323 nncp = sqrt(nncx*nncx+nncy*nncy+nncz*nncz)
325 nncx = nncx /
max(em30,nncp)
326 nncy = nncy /
max(em30,nncp)
327 nncz = nncz /
max(em30,nncp)
329 dist = nncx*nx(ej,i)+nncy*ny(ej,i)+nncz*nz(ej,i)
331 nx(ej,i) = nncx * dist
332 ny(ej,i) = nncy * dist
335 nn(ej,i)=sqrt(nx(ej,i)**2 + ny(ej,i)**2 + nz(ej,i)**2)
337 pene2(ej,i) = nn(ej,i)
341 nm(1:3)=h1m(ej,i)*normalm1(1:3,ej,i)+h2m(ej,i)*normalm2(1:3,ej,i)
342 ns(1:3)=h1s(ej,i)*normaln1(1:3,i)+h2s(ej,i)*normaln2(1:3,i)
344 p1=-(nx(ej,i)*nm(1)+ny(ej,i)*nm(2)+nz(ej,i)*nm(3))
345 p2= nx(ej,i)*ns(1)+ny(ej,i)*ns(2)+nz(ej,i)*ns(3)
350 IF(p2 > em04*nnnn.OR.p1 > em04*nnnn)
THEN
354 IF(abs(p1) <= zep2*nnnn .OR. abs(p2) <= zep2*nnnn)
THEN
368 lba(1:jlt,1:4) = -one
369 lca(1:jlt,1:4) = zero
375 IF(pene2(1,i)+pene2(2,i)+pene2(3,i)+pene2(4,i)==zero) cycle
381 ix1(i)=irect(1,iam(i))
382 ix2(i)=irect(2,iam(i))
383 ix3(i)=irect(3,iam(i))
384 ix4(i)=irect(4,iam(i))
399 IF(ix3(i)/=ix4(i))
THEN
400 xa(5,i) = fourth*(xa(1,i)+xa(2,i)+xa(3,i)+xa(4,i))
401 ya(5,i) = fourth*(ya(1,i)+ya(2,i)+ya(3,i)+ya(4,i))
402 za(5,i) = fourth*(za(1,i)+za(2,i)+za(3,i)+za(4,i))
413 IF(pene2(1,i)+pene2(2,i)+pene2(3,i)+pene2(4,i)==zero) cycle
415 x0a(i,1) = xa(1,i) - xa(5,i)
416 y0a(i,1) = ya(1,i) - ya(5,i)
417 z0a(i,1) = za(1,i) - za(5,i)
419 x0a(i,2) = xa(2,i) - xa(5,i)
420 y0a(i,2) = ya(2,i) - ya(5,i)
421 z0a(i,2) = za(2,i) - za(5,i)
423 x0a(i,3) = xa(3,i) - xa(5,i)
424 y0a(i,3) = ya(3,i) - ya(5,i)
425 z0a(i,3) = za(3,i) - za(5,i)
427 x0a(i,4) = xa(4,i) - xa(5,i)
428 y0a(i,4) = ya(4,i) - ya(5,i)
429 z0a(i,4) = za(4,i) - za(5,i)
431 xna(i,1) = -(y0a(i,1)*z0a(i,2) - z0a(i,1)*y0a(i,2))
432 yna(i,1) = -(z0a(i,1)*x0a(i,2) - x0a(i,1)*z0a(i,2))
433 zna(i,1) = -(x0a(i,1)*y0a(i,2) - y0a(i,1)*x0a(i,2))
435 IF(ix3(i)/=ix4(i))
THEN
437 xna(i,2) = -(y0a(i,2)*z0a(i,3) - z0a(i,2)*y0a(i,3))
438 yna(i,2) = -(z0a(i,2)*x0a(i,3) - x0a(i,2)*z0a(i,3))
439 zna(i,2) = -(x0a(i,2)*y0a(i,3) - y0a(i,2)*x0a(i,3))
441 xna(i,3) = -(y0a(i,3)*z0a(i,4) - z0a(i,3)*y0a(i,4))
442 yna(i,3) = -(z0a(i,3)*x0a(i,4) - x0a(i,3)*z0a(i,4))
443 zna(i,3) = -(x0a(i,3)*y0a(i,4) - y0a(i,3)*x0a(i,4))
445 xna(i,4) = -(y0a(i,4)*z0a(i,1) - z0a(i,4)*y0a(i,1))
446 yna(i,4) = -(z0a(i,4)*x0a(i,1) - x0a(i,4)*z0a(i,1))
447 zna(i,4) = -(x0a(i,4)*y0a(i,1) - y0a(i,4)*x0a(i,1))
472 IF(typedgs(i)==1)cycle
476 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,pene2(ej,i))
478 IF(pene2(ej,i)==zero) cycle
480 IF(ix3(i)==ix4(i))
THEN
500 ps=xna(i,ej)*ex(ej,i)+yna(i,ej)*ey(ej,i)+zna(i,ej)*ez(ej,i)
501 xnb(i,ej) = -xna(i,ej)+two*ps*ex(ej,i)
502 ynb(i,ej) = -yna(i,ej)+two*ps*ey(ej,i)
503 znb(i,ej) = -zna(i,ej)+two*ps*ez(ej,i)
505 xs = h1s(ej,i)*xxs1(ej,i) + h2s(ej,i)*xxs2(ej,i)
506 ys = h1s(ej,i)*xys1(ej,i) + h2s(ej,i)*xys2(ej,i)
507 zs = h1s(ej,i)*xzs1(ej
508 xm = h1m(ej,i)*xxm1(ej,i) + h2m(ej,i)*xxm2(ej,i)
509 ym = h1m(ej,i)*xym1(ej,i) + h2m(ej,i)*xym2(ej,i)
510 zm = h1m(ej,i)*xzm1(ej,i) + h2m(ej,i)*xzm2(ej,i)
511 da = (xs-xm)*xna(i,ej)+(ys-ym)*yna(i,ej)+(zs-zm)*zna(i,ej)
512 db = (xs-xm)*xnb(i,ej)+(ys-ym)*ynb(i,ej)+(zs-zm)*znb(i,ej)
514 cnvx= (xa(i0,i)-xa(i1,i))*xnb(i,ej)
515 . +(ya(i0,i)-ya(i1,i))*ynb(i,ej)
516 . +(za(i0,i)-za(i1,i))*znb(i,ej)
518 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,cnvx)
521 IF(da <= zero .OR. db <= zero)
THEN
524 ELSE IF(da <= zero .AND. db <= zero)
THEN
528 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,pene2(ej,i))
539 IF(pene2(1,i)+pene2(2,i)+pene2(3,i)+pene2(4,i)==zero) cycle
547 IF(ix3(i)/=ix4(i))
THEN
553#include "vectorize.inc"
562 da1 = (xxs1(1,i)-xa(5,i))*xna(i,1)+(xys1(1,i)-ya(5,i))*yna(i,1)+(xzs1(1,i)-za(5,i))*zna(i,1)
563 da2 = (xxs2(1,i)-xa(5,i))*xna(i,1)+(xys2(1,i)-ya(5,i))*yna(i,1)+(xzs2(1,i)-za(5,i))*zna(i,1)
567 IF(da1*da2 <= zero)
THEN
568 alp=-da2/sign(
max(em20,abs(da1-da2)),da1-da2)
569 xxs=alp*xxs1(1,i)+(one-alp)*xxs2(1,i)
570 xys=alp*xys1(1,i)+(one-alp)*xys2(1,i)
571 xzs=alp*xzs1(1,i)+(one-alp)*xzs2(1,i)
585 sx1 = yi0*zi1 - zi0*yi1
586 sy1 = zi0*xi1 - xi0*zi1
587 sz1 = xi0*yi1 - yi0*xi1
589 sx2 = yi0*zi2 - zi0*yi2
590 sy2 = zi0*xi2 - xi0*zi2
591 sz2 = xi0*yi2 - yi0*xi2
593 aaa=one/
max(em30,xna(i,1)*xna(i,1)+yna(i,1)*yna(i,1)+zna(i,1)*zna(i,1))
594 lba(i,1) = -(-(xna(i,1)*sx2 + yna(i,1)*sy2 + zna(i,1)*sz2))*aaa
595 lca(i,1) = -( (xna(i,1)*sx1 + yna(i,1)*sy1 + zna(i,1)*sz1))*aaa
604#include "vectorize.inc"
608 da1 = (xxs1(1,i)-xa(5,i))*xna(i,2)+(xys1(1,i)-ya(5,i))*yna(i,2)+(xzs1(1,i)-za(5,i))*zna(i,2)
609 da2 = (xxs2(1,i)-xa(5,i))*xna(i,2)+(xys2(1,i)-ya(5,i))*yna(i,2)+(xzs2(1,i)-za(5,i))*zna(i,2)
613 IF(da1*da2 <= zero)
THEN
614 alp=-da2/sign(
max(em20,abs(da1-da2)),da1-da2)
615 xxs=alp*xxs1(1,i)+(one-alp)*xxs2(1,i)
616 xys=alp*xys1(1,i)+(one-alp)*xys2(1,i)
617 xzs=alp*xzs1(1,i)+(one-alp)*xzs2(1,i)
631 sx1 = yi0*zi1 - zi0*yi1
632 sy1 = zi0*xi1 - xi0*zi1
633 sz1 = xi0*yi1 - yi0*xi1
635 sx2 = yi0*zi2 - zi0*yi2
636 sy2 = zi0*xi2 - xi0*zi2
637 sz2 = xi0*yi2 - yi0*xi2
639 aaa=one/
max(em30,xna(i,2)*xna(i,2)+yna(i,2)*yna(i,2)+zna(i,2)*zna(i,2))
640 lba(i,2) = -(-(xna(i,2)*sx2 + yna(i,2)*sy2 + zna(i,2)*sz2))*aaa
641 lca(i,2) = -( (xna(i,2)*sx1 + yna(i,2)*sy1 + zna(i,2)*sz1))*aaa
650#include "vectorize.inc"
654 da1 = (xxs1(1,i)-xa(5,i))*xna(i,3)+(xys1(1,i)-ya(5,i))*yna(i,3)+(xzs1(1,i)-za(5,i))*zna(i,3)
655 da2 = (xxs2(1,i)-xa(5,i))*xna(i,3)+(xys2(1,i)-ya(5,i))*yna(i,3)+(xzs2(1,i)-za(5,i))*zna(i,3)
659 IF(da1*da2 <= zero)
THEN
660 alp=-da2/sign(
max(em20,abs(da1-da2)),da1-da2)
661 xxs=alp*xxs1(1,i)+(one-alp)*xxs2(1,i)
662 xys=alp*xys1(1,i)+(one-alp)*xys2(1,i)
663 xzs=alp*xzs1(1,i)+(one-alp)*xzs2(1,i)
677 sx1 = yi0*zi1 - zi0*yi1
678 sy1 = zi0*xi1 - xi0*zi1
679 sz1 = xi0*yi1 - yi0*xi1
681 sx2 = yi0*zi2 - zi0*yi2
682 sy2 = zi0*xi2 - xi0*zi2
683 sz2 = xi0*yi2 - yi0*xi2
685 aaa=one/
max(em30,xna(i,3)*xna(i,3)+yna(i,3)*yna(i,3)+zna(i,3)*zna(i,3))
686 lba(i,3) = -(-(xna(i,3)*sx2 + yna(i,3)*sy2 + zna(i,3)*sz2))*aaa
687 lca(i,3) = -( (xna(i,3)*sx1 + yna(i,3)*sy1 + zna(i,3)*sz1))*aaa
696#include "vectorize.inc"
700 da1 = (xxs1(1,i)-xa(5,i))*xna(i,4)+(xys1(1,i)-ya(5,i))*yna(i,4)+(xzs1(1,i)-za(5,i))*zna(i,4)
701 da2 = (xxs2(1,i)-xa(5,i))*xna(i,4)+(xys2(1,i)-ya(5,i))*yna(i,4)+(xzs2(1,i)-za(5,i))*zna(i,4)
705 IF(da1*da2 <= zero)
THEN
706 alp=-da2/sign(
max(em20,abs(da1-da2)),da1-da2)
707 xxs=alp*xxs1(1,i)+(one-alp)*xxs2(1,i)
708 xys=alp*xys1(1,i)+(one-alp)*xys2(1,i)
709 xzs=alp*xzs1(1,i)+(one-alp)*xzs2(1,i)
723 sx1 = yi0*zi1 - zi0*yi1
724 sy1 = zi0*xi1 - xi0*zi1
725 sz1 = xi0*yi1 - yi0*xi1
727 sx2 = yi0*zi2 - zi0*yi2
728 sy2 = zi0*xi2 - xi0*zi2
729 sz2 = xi0*yi2 - yi0*xi2
731 aaa=one/
max(em30,xna(i,4)*xna(i,4)+yna(i,4)*yna(i,4)+zna(i,4)*zna(i,4))
732 lba(i,4) = -(-(xna(i,4)*sx2 + yna(i,4)*sy2 + zna(i,4)*sz2))*aaa
733 lca(i,4) = -( (xna(i,4)*sx1 + yna(i,4)*sy1 + zna(i,4)*sz1))*aaa
743#include "vectorize.inc"
752 IF(lba(i,1) < -em01 .OR. lca(i,1) < -em01 .OR. lba(i,1)+lca(i,1) > onep01)
754 IF(lba(i,2) < -em01 .OR. lca(i,2) < -em01 .OR. lba(i,2)+lca(i,2) > onep01)
756 IF(lba(i,3) < -em01 .OR. lca(i,3) < -em01 .OR. lba(i,3)+lca(i,3) > onep01)
758 IF(lba(i,4) < -em01 .OR. lca(i,4) < -em01 .OR. lba(i,4)+lca(i,4) > onep01)
761 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,pene2(1,i))
770 IF(pene2(ej,i)==zero) cand_p(ej,index(i))=zero
771 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,cand_p(ej,index(i)))
773 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,i)
774 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,index(i))
780 indx1(1:4*mvsiz) = -666
781 edge_id_cp(1:2,1:mvsiz) = edge_id(1:2,1:mvsiz)
785 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,stif(ej,i))
786 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,pene2(ej,i))
787 debug_e2e(edge_id(1,i)==d_em .AND. edge_id(2,i) == d_es,nsms(ej,i))
790 IF( stif(ej,i)/=zero.AND.pene2(ej,i)/=zero)
THEN
791 jlt_new = jlt_new + 1
797 edge_id(1,jlt_new) = edge_id_cp(1,i)
798 edge_id(2,jlt_new) = edge_id_cp(2,i)
799 assert(cand_s(i) > 0)
800 assert(cand_m(i) > 0)
801 cs_loc4(jlt_new)=cand_s(i)
802 cm_loc4(jlt_new)=cand_m(i)
803 n1(ej_new,i_new) = n1(ej,i)
804 n2(ej_new,i_new) = n2(ej,i)
805 m1(ej_new,i_new) = m1(ej,i)
806 m2(ej_new,i_new) = m2(ej,i)
807 h1s(ej_new,i_new) = h1s(ej,i)
808 h2s(ej_new,i_new) = h2s(ej,i)
809 h1m(ej_new,i_new) = h1m(ej,i)
810 h2m(ej_new,i_new) = h2m(ej,i)
811 nx(ej_new,i_new) = nx(ej,i)
812 ny(ej_new,i_new) = ny(ej,i)
813 nz(ej_new,i_new) = nz(ej,i)
814 stif(ej_new,i_new) = stif(ej,i)
815 gapve(ej_new,i_new)= gapve(ej,i)
816 vxs1(ej_new,i_new) = vxs1(ej,i)
817 vys1(ej_new,i_new) = vys1(ej,i)
818 vzs1(ej_new,i_new) = vzs1(ej,i)
819 vxs2(ej_new,i_new) = vxs2(ej,i)
820 vys2(ej_new,i_new) = vys2(ej,i)
821 vzs2(ej_new,i_new) = vzs2(ej,i)
822 vxm1(ej_new,i_new) = vxm1(ej,i)
823 vym1(ej_new,i_new) = vym1(ej,i)
824 vzm1(ej_new,i_new) = vzm1(ej,i)
825 vxm2(ej_new,i_new) = vxm2(ej,i)
826 vym2(ej_new,i_new) = vym2(ej,i)
827 vzm2(ej_new,i_new) = vzm2(ej,i)
828 ms1(ej_new,i_new) = ms1(ej,i)
829 ms2(ej_new,i_new) = ms2(ej,i)
830 mm1(ej_new,i_new) = mm1(ej,i)
831 mm2(ej_new,i_new) = mm2(ej,i)
832 indx1(jlt_new) =index(i)
834 IF(intfric_loc /= 0) ipartfric_es(ej_new,i_new)=ipartfric_es(ej,i)
835 IF(intfric_loc /= 0) ipartfric_em(ej_new,i_new)=ipartfric_em(ej,i)
836 IF(idtmins_loc == 2) nsms(ej_new,i_new) = nsms(ej,i)