38 1 BPE ,PE ,BPN ,PN ,ADD ,
39 2 IRECT ,X ,NB_NC ,NB_EC ,XYZM ,
40 3 I_ADD ,NSV ,I_AMAX,XMAX ,YMAX ,
41 4 ZMAX ,MAXSIZ,I_STOK,I_MEM ,NB_N_B,
42 5 CAND_N ,CAND_E,NSN ,NOINT ,TZINF ,
43 6 MAXBOX ,MINBOX,J_STOK,MSR ,XM0 ,
44 7 MULTIMP,ITAB ,GAP ,GAP_S ,IGAP ,
45 8 GAPMIN,GAPMAX,MARGE ,DEPTH ,DRAD ,
47 1 IX1 ,IX2 ,IX3 ,IX4 ,NSVG ,
48 2 X1 ,X2 ,X3 ,X4 ,Y1 ,
49 3 Y2 ,Y3 ,Y4 ,Z1 ,Z2 ,
50 4 Z3 ,Z4 ,XI ,YI ,ZI ,
51 5 X0 ,Y0 ,Z0 ,STIF ,NX1 ,
52 6 NY1 ,NZ1 ,NX2 ,NY2 ,NZ2 ,
53 7 NX3 ,NY3 ,NZ3 ,NX4 ,NY4 ,
54 8 NZ4 ,P1 ,P2 ,P3 ,P4 ,
55 9 LB1 ,LB2 ,LB3 ,LB4 ,LC1 ,
56 1 LC2 ,LC3 ,LC4 ,PENE ,PROV_N ,
57 2 PROV_E,N11 ,N21 ,N31 ,DGAPLOAD)
63#include "implicit_f.inc"
74#include "vect07_c.inc"
78 INTEGER NB_NC,NB_EC,I_ADD,MAXSIZ,I_STOK,J_STOK,I_MEM
79 INTEGER I_BID, I_AMAX,NB_N_B, NOINT, NSN,MULTIMP, IGAP
80 INTEGER ADD(2,0:*),IRECT(4,*),BPE(*),PE(*),BPN(*),PN(*)
81 INTEGER NSV(*),CAND_N(*),CAND_E(*), ITAB(*), MSR(*)
82 INTEGER,
DIMENSION(MVSIZ),
INTENT(INOUT) ::PROV_N,PROV_E
83 INTEGER,
DIMENSION(MVSIZ),
INTENT(INOUT) :: IX1,IX2,IX3,IX4,NSVG
84 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: X1,X2,X3,X4
85 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: Y1,Y2,Y3,Y4
86 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: Z1,Z2,Z3,Z4
87 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: XI,YI,ZI
88 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: X0,Y0,Z0,STIF
89 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: N11,N21,N31,PENE
90 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: NX1,NY1,NZ1
91 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: NX2,NY2,NZ2
92 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: NX3,NY3,NZ3
93 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: NX4,NY4,NZ4
94 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: P1,P2,P3,P4
95 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: LB1,LB2,LB3,LB4
96 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: LC1,LC2,LC3,LC4
99 . x(3,*),xyzm(6,*),tzinf,dbuc,
100 . maxbox,minbox, xmax,
ymax, zmax,
102 . gapmin, gapmax, marge, gapsmx, bgapsmx, depth, xm0(3,*), drad
103 my_real ,
INTENT(IN) :: dgapload
105 CHARACTER(LEN=NCHARTITLE) :: TITR
109 INTEGER NB_NCN,NB_ECN,ADDNN,ADDNE,IPOS,I,IP,J
110 INTEGER INF,SUP,DIR,N1,N2,N3,N4,NN,NE
113 . bid,dx,dy,dz,dsup,seuil,xmx,xmn,gapsmax,
182 IF(nb_ec==0.OR.nb_nc==0)
THEN
186 CALL i7dstk(i_add,nb_nc,nb_ec,add,bpn,pn,bpe,pe)
192 dx = xyzm(4,i_add) - xyzm(1,i_add)
193 dy = xyzm(5,i_add) - xyzm(2,i_add)
194 dz = xyzm(6,i_add) - xyzm(3,i_add)
197 IF(add(2,1)+nb_ec>
THEN
199 IF ( nb_n_b == numnod)
THEN
203 IF (istamping == 1)
THEN
221 . nb_nc<=nb_n_b.AND.dsup<maxbox.OR.
222 . nb_nc<=nb_n_b.AND.nb_ec==1)
THEN
235 IF(nn/=n1.AND.nn/=n2.AND.nn/=n3.AND.nn/=n4)
THEN
237 prov_n(j_stok) = bpn(j)
239 IF(j_stok==nvsiz)
THEN
244 CALL i21cor3t(x ,irect,nsv ,prov_e ,prov_n,
245 2 gapv ,igap ,gap ,gap_s,gapmin ,
246 3 gapmax,xm0 ,depth ,drad ,ix1 ,
247 4 ix2 ,ix3 ,ix4 ,nsvg ,x1 ,
248 5 x2 ,x3 ,x4 ,y1 ,y2 ,
249 6 y3 ,y4 ,z1 ,z2 ,z3 ,
250 7 z4 ,xi ,yi ,zi ,dgapload)
251 CALL i7dst3(ix3,ix4,x1 ,x2 ,x3 ,
252 1 x4 ,y1 ,y2 ,y3 ,y4 ,
253 2 z1 ,z2 ,z3 ,z4 ,xi ,
254 3 yi ,zi ,x0 ,y0 ,z0 ,
255 4 nx1,ny1,nz1,nx2,ny2,
256 5 nz2,nx3,ny3,nz3,nx4,
257 6 ny4,nz4,p1 ,p2 ,p3 ,
258 7 p4 ,lb1,lb2,lb3,lb4,
259 8 lc1,lc2,lc3,lc4,llt)
260 CALL i7pen3(marge,gapv,n11,n21,n31,
261 1 pene ,nx1 ,ny1,nz1,nx2,
262 2 ny2 ,nz2 ,nx3,ny3,nz3,
263 3 nx4 ,ny4 ,nz4,p1 ,p2 ,
265 IF(i_stok+nvsiz<multimp*nsn)
THEN
266 CALL i7cmp3(i_stok,cand_e ,cand_n,1,pene,
270 CALL i7cmp3(i_bid,cand_e,cand_n,0,pene,
272 IF(i_stok+i_bid<multimp*nsn)
THEN
273 CALL i7cmp3(i_stok,cand_e,cand_n,1,pene,
287 CALL i7dstk(i_add,nb_nc,nb_ec,add,bpn,pn,bpe,pe)
305 ELSE IF(dz==dsup)
THEN
308 seuil =(xyzm(dir+3,i_add)+xyzm(dir,i_add))/2
318 IF(x(dir,nsv(bpn(i)))<seuil)
THEN
334 IF(x(dir,nsv(bpn(i)))<seuil)
THEN
338 gapsmx =
max(gapsmx,
max(gap_s(bpn(i)),depth,drad))
344 bgapsmx =
max(bgapsmx,
max(gap_s(bpn(i)),depth,drad))
394 xmx =
max(xm0(dir,irect(1,bpe(i))),xm0(dir,irect(2,bpe(i))),
395 . xm0(dir,irect(3,bpe(i))),xm0(dir,irect(4,bpe(i))))
397 xmn =
min(xm0(dir,irect(1,bpe(i))),xm0(dir,irect(2,bpe(i))),
398 . xm0(dir,irect(3,bpe(i))),xm0(dir,irect(4,bpe(i))))
400 IF(xmn<seuil.AND.inf==1)
THEN
405 IF(xmx>=seuil.AND.sup==1)
THEN
413 xmn =
min(xm0(dir,irect(1,bpe(i))),xm0(dir,irect(2,bpe(i))),
415 - -
max(
min(
max(gapsmx,gapmin),gapmax)+dgapload,depth,drad)
417 IF(xmn<seuil.AND.inf==1)
THEN
422 xmx =
max(xm0(dir,irect(1,bpe(i))),xm0(dir,irect(2,bpe(i))),
423 . xm0(dir,irect(3,bpe(i))),xm0(dir,irect(4,bpe(i))))
424 + +
max(
min(
max(bgapsmx,gapmin),gapmax)+dgapload,depth,drad)
426 IF(xmx>=seuil.AND.sup==1)
THEN
444 xyzm(1,i_add+1) = xyzm(1,i_add)
445 xyzm(2,i_add+1) = xyzm(2,i_add)
446 xyzm(3,i_add+1) = xyzm(3,i_add)
447 xyzm(4,i_add+1) = xyzm(4,i_add)
448 xyzm(5,i_add+1) = xyzm(5,i_add)
449 xyzm(6,i_add+1) = xyzm(6,i_add)
450 xyzm(dir,i_add+1) = seuil
451 xyzm(dir+3,i_add) = seuil
459 IF ( nb_n_b == numnod)
THEN
463 IF (istamping == 1)
THEN
subroutine i21tri(bpe, pe, bpn, pn, add, irect, x, nb_nc, nb_ec, xyzm, i_add, nsv, i_amax, xmax, ymax, zmax, maxsiz, i_stok, i_mem, nb_n_b, cand_n, cand_e, nsn, noint, tzinf, maxbox, minbox, j_stok, msr, xm0, multimp, itab, gap, gap_s, igap, gapmin, gapmax, marge, depth, drad, id, titr, ix1, ix2, ix3, ix4, nsvg, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, stif, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, pene, prov_n, prov_e, n11, n21, n31, dgapload)
subroutine i7dst3(ix3, ix4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, last)
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)