29 1 JLT ,IEDGE ,CAND_S,CAND_M,
31 3 XXS1 ,XXS2 ,XYS1 ,XYS2 ,
32 4 XZS1 ,XZS2 ,XXM1 ,XXM2 ,XYM1 ,
33 5 XYM2 ,XZM1 ,XZM2 ,GAPVE ,PENE ,
34 6 EX ,EY ,EZ ,FX ,FY ,
35 7 FZ ,LEDGE ,IRECT ,X ,ITAB )
39#include "implicit_f.inc"
49 INTEGER CAND_S(*), CAND_M(*), IRECT(4,*), LEDGE(NLEDGE,*), ITAB(*),
50 . N1(MVSIZ),N2(MVSIZ),M1(MVSIZ),M2()
52 . XXS1(*), XXS2(*), XYS1(*), XYS2(*), XZS1(*) , XZS2(*),
53 . XXM1(*), XXM2(*) , XYM1(*), XYM2(*), XZM1(*), XZM2(*),
54 . (*), PENE(*), X(3,*),
55 . ex(mvsiz), ey(mvsiz), ez(mvsiz), fx(mvsiz), fy(mvsiz), fz(mvsiz)
59 INTEGER I, IA, JA, IB, JB, SOL_EDGE, SH_EDGE, K, NJNDX, N4A, N4B,
60 . IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
61 . (MVSIZ), JX2(MVSIZ), JX3(MVSIZ), (MVSIZ),
62 . JNDX(MVSIZ), I4A(), I4B(MVSIZ)
64 . H1S(MVSIZ),H2S(MVSIZ),H1M(MVSIZ),H2M(MVSIZ),NX(MVSIZ),NY(MVSIZ),NZ(MVSIZ),
65 . XS12,YS12,ZS12,XM12,YM12,ZM12,XA,XB,
66 . xs2,xm2,xsm,xs2m2,ys2,ym2,ysm,ys2m2,zs2,zm2,zsm,zs2m2,
67 . xx,yy,zz,als,alm,det,aaa,bbb,nn(mvsiz),p1,p2
69 . xa0(mvsiz),xa1(mvsiz),xa2(mvsiz),xa3(mvsiz),xa4(mvsiz),
70 . ya0(mvsiz),ya1(mvsiz),ya2(mvsiz),ya3(mvsiz),ya4(mvsiz),
71 . za0(mvsiz),za1(mvsiz),za2(mvsiz),za3(mvsiz),za4(mvsiz),
72 . xb0(mvsiz),xb1(mvsiz),xb2(mvsiz),xb3(mvsiz),xb4(mvsiz),
73 . yb0(mvsiz),yb1(mvsiz),yb2(mvsiz),yb3(mvsiz),yb4(mvsiz),
74 . zb0(mvsiz),zb1(mvsiz),zb2(mvsiz),zb3(mvsiz),zb4(mvsiz)
76 . x0a(mvsiz,4),y0a(mvsiz,4),z0a(mvsiz,4),
77 . x0b(mvsiz,4),y0b(mvsiz,4),z0b(mvsiz,4),
78 . xna(mvsiz,4), yna(mvsiz,4), zna(mvsiz,4), xnb(mvsiz,4), ynb(mvsiz,4), znb(mvsiz,4),
79 . xs, ys, zs, xm, ym, zm, da, db, cnvx, da1, db1, da2, db2,
80 . rzero, run, rdix, rem30, rep30,
82 . xi0,yi0,zi0,xi1,yi1,zi1,xi2,yi2,zi2,
83 . sx1,sy1,sz1,sx2,sy2,sz2
85 DATA NTRIA/1,2,4,2,4,1,0,0,0,4,1,2/
137 xm12 = xxm2(i)-xxm1(i)
138 ym12 = xym2(i)-xym1(i)
139 zm12 = xzm2(i)-xzm1(i)
140 xm2 = xm12*xm12 + ym12*ym12 + zm12*zm12
142 xs12 = xxs2(i)-xxs1(i)
143 ys12 = xys2(i)-xys1(i)
144 zs12 = xzs2(i)-xzs1(i)
145 xs2 = xs12*xs12 + ys12*ys12 + zs12*zs12
146 xsm = - (xs12*xm12 + ys12*ym12 + zs12*zm12)
147 xs2m2 = xxm2(i)-xxs2(i)
148 ys2m2 = xym2(i)-xys2(i)
149 zs2m2 = xzm2(i)-xzs2(i)
151 xa = xs12*xs2m2 + ys12*ys2m2 + zs12*zs2m2
152 xb = -xm12*xs2m2 - ym12*ys2m2 - zm12*zs2m2
153 det = xm2*xs2 - xsm*xsm
156 h1m(i) = (xa*xsm-xb*xs2) / det
159 h1m(i)=
min(one,
max(zero,h1m(i)))
160 h1s(i) = -(xa + h1m(i)*xsm) / xs2
161 h1s(i)=
min(one,
max(zero,h1s(i)))
162 h1m(i) = -(xb + h1s(i)*xsm) / xm2
163 h1m(i)=
min(one,
max(zero,h1m(i)))
170 nx(i) = h1s(i)*xxs1(i) + h2s(i)*xxs2(i)
171 . - h1m(i)*xxm1(i) - h2m(i)*xxm2(i)
172 ny(i) = h1s(i)*xys1(i) + h2s(i)*xys2(i)
173 . - h1m(i)*xym1(i) - h2m(i)*xym2(i)
174 nz(i) = h1s(i)*xzs1(i) + h2s(i)*xzs2(i)
175 . - h1m(i)*xzm1(i) - h2m(i)*xzm2(i)
177 nn(i) = sqrt(nx(i)**2 + ny(i)**2 + nz(i)**2)
179 pene(i) =
max(zero,gapve(i) - nn(i))
184 sh_edge =iedge-10*sol_edge
201 IF(ledge(3,cand_m(i))==0)
202 . p1=-(nx(i)*ex(i)+ny(i)*ey(i)+nz(i)*ez(i))
205 IF(ledge(3,cand_s(i))==0)
206 . p2= nx(i)*fx(i)+ny(i)*fy(i)+nz(i)*fz(i)
209 IF(p1 > em04*nn(i) .OR. p2 > em04*nn(i))pene(i)=zero
subroutine i25pen3e(jlt, iedge, cand_s, cand_m, n1, n2, m1, m2, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, gapve, pene, ex, ey, ez, fx, fy, fz, ledge, irect, x, itab)
subroutine inint3(inscr, x, ixs, ixc, pm, geo, ipari, nin, itab, ms, mwa, rwa, ixtg, iwrn, ikine, ixt, ixp, ixr, nelemint, iddlevel, ifiend, ale_connectivity, nsnet, nmnet, igrbric, iwcont, nsnt, nmnt, nsn2t, nmn2t, iwcin2, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, igrsurf, ikine1, ielem21, sh4tree, sh3tree, ipart, ipartc, iparttg, thk, thk_part, nod2el1d, knod2el1d, ixs10, i_mem, resort, inter_cand, ixs16, ixs20, id, titr, iremnode, nremnode, iparts, kxx, ixx, igeo, intercep, lelx, intbuf_tab, fillsol, pm_stack, iworksh, kxig3d, ixig3d, tagprt_fric, intbuf_fric_tab, ipartt, ipartp, ipartx, ipartr, nsn_multi_connec, t2_add_connec, t2_nb_connec, t2_connec, nom_opt, icode, iskew, iremnode_edg, s_append_array, x_append, mass_append, n2d, flag_removed_node, nspmd, inter_type2_number, elem_linked_to_segment, sinscr, sicode, sitab, nin25, flag_elem_inter25, multi_fvm)