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"
79INTEGER I_BID, I_AMAX,NB_N_B, , NSN,MULTIMP, IGAP
80 INTEGER ADD(2,0:*),IRECT(4,*),(*),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) :
87DIMENSION(MVSIZ),
INTENT(INOUT) :: XI,YI,
88 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: X0,Y0,Z0,STIF
89 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: N11
90DIMENSION(MVSIZ),
INTENT(INOUT) :: NX1,NY1,NZ1
91 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: NX2,,NZ2
92 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: ,NY3,NZ3
93 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: NX4,NY4,NZ4
94 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: P1,,P3,P4
95 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: LB1,LB2,LB3,LB4
96 ,
DIMENSION(MVSIZ),
INTENT(INOUT) :: LC1,LC2,LC3,LC4
99 . x(3,*),xyzm(6,*),tzinf,
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, I, J
110 INTEGER INF,SUP,DIR,N1,N2,N3,N4,,NE
113 . dx,dy,dz,dsup,seuil,xmx,xmn,
179 IF(nb_ec==0.OR.nb_nc==0)
THEN
183 CALL i7dstk(i_add,nb_nc,nb_ec,add,bpn,pn,bpe,pe)
189 dx = xyzm(4,i_add) - xyzm(1,i_add)
190 dy = xyzm(5,i_add) - xyzm(2,i_add)
191 dz = xyzm(6,i_add) - xyzm(3,i_add)
194 IF(add(2,1)+nb_ec>=maxsiz)
THEN
196 IF ( nb_n_b == numnod)
THEN
200 IF (istamping == 1)
THEN
218 . nb_nc<=nb_n_b.AND.dsup<maxbox.OR.
219 . nb_nc<=nb_n_b.AND.nb_ec==1)
THEN
232 IF(nn/=n1.AND.nn/=n2.AND.nn/=n3.AND.nn/=n4)
THEN
234 prov_n(j_stok) = bpn(j)
236 IF(j_stok==nvsiz)
THEN
241 CALL i21cor3t(x ,irect,nsv ,prov_e ,prov_n,
242 2 gapv ,igap ,gap ,gap_s,gapmin ,
243 3 gapmax,xm0 ,depth ,drad ,ix1 ,
244 4 ix2 ,ix3 ,ix4 ,nsvg ,x1 ,
245 5 x2 ,x3 ,x4 ,y1 ,y2 ,
246 6 y3 ,y4 ,z1 ,z2 ,z3 ,
247 7 z4 ,xi ,yi ,zi ,dgapload)
248 CALL i7dst3(ix3,ix4,x1 ,x2 ,x3 ,
249 1 x4 ,y1 ,y2 ,y3 ,y4 ,
250 2 z1 ,z2 ,z3 ,z4 ,xi ,
251 3 yi ,zi ,x0 ,y0 ,z0 ,
252 4 nx1,ny1,nz1,nx2,ny2,
253 5 nz2,nx3,ny3,nz3,nx4,
254 6 ny4,nz4,p1 ,p2 ,p3 ,
255 7 p4 ,lb1,lb2,lb3,lb4,
256 8 lc1,lc2,lc3,lc4,llt)
257 CALL i7pen3(marge,gapv,n11,n21,n31,
258 1 pene ,nx1 ,ny1,nz1,nx2,
259 2 ny2 ,nz2 ,nx3,ny3,nz3,
260 3 nx4 ,ny4 ,nz4,p1 ,p2 ,
262 IF(i_stok+nvsiz<multimp*nsn)
THEN
263 CALL i7cmp3(i_stok,cand_e ,cand_n,1,pene,
267 CALL i7cmp3(i_bid,cand_e,cand_n,0,pene,
269 IF(i_stok+i_bid<multimp*nsn)
THEN
270 CALL i7cmp3(i_stok,cand_e,cand_n,1,pene,
284 CALL i7dstk(i_add,nb_nc,nb_ec,add,bpn,pn,bpe,pe)
302 ELSE IF(dz==dsup)
THEN
305 seuil =(xyzm(dir+3,i_add)+xyzm(dir,i_add))/2
315 IF(x(dir,nsv(bpn(i)))<seuil)
THEN
331 IF(x(dir,nsv(bpn(i)))<seuil)
THEN
335 gapsmx =
max(gapsmx,
max(gap_s(bpn(i)),depth,drad))
341 bgapsmx =
max(bgapsmx,
max(gap_s(bpn(i)),depth,drad))
391 xmx =
max(xm0(dir,irect(1,bpe(i))),xm0(dir,irect(2,bpe(i))),
392 . xm0(dir,irect(3,bpe(i))),xm0(dir,irect(4,bpe(i))))
394 xmn =
min(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 IF(xmn<seuil.AND.inf==1)
THEN
402 IF(xmx>=seuil.AND.sup==1)
THEN
410 xmn =
min(xm0(dir,irect(1,bpe(i))),xm0(dir,irect(2,bpe(i))),
411 . xm0(dir,irect(3,bpe(i))),xm0(dir,irect(4,bpe(i))))
412 - -
max(
min(
max(gapsmx,gapmin),gapmax)+dgapload,depth,drad)
414 IF(xmn<seuil.AND.inf==1)
THEN
419 xmx =
max(xm0(dir,irect(1,bpe(i))),xm0(dir,irect(2,bpe(i))),
420 . xm0(dir,irect(3,bpe(i))),xm0(dir,irect(4,bpe(i))))
421 + +
max(
min(
max(bgapsmx,gapmin),gapmax)+dgapload,depth,drad)
423 IF(xmx>=seuil.AND.sup==1)
THEN
441 xyzm(1,i_add+1) = xyzm(1,i_add)
442 xyzm(2,i_add+1) = xyzm(2,i_add)
443 xyzm(3,i_add+1) = xyzm(3,i_add)
444 xyzm(4,i_add+1) = xyzm(4,i_add)
445 xyzm(5,i_add+1) = xyzm(5,i_add)
446 xyzm(6,i_add+1) = xyzm(6,i_add)
447 xyzm(dir,i_add+1) = seuil
448 xyzm(dir+3,i_add) = seuil
456 IF ( nb_n_b == numnod)
THEN
460 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)