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,STF ,STFN ,J_STOK,
44 7 MULTIMP,ISTF ,ITAB ,GAP ,GAP_S ,
45 8 GAP_M ,IGAP ,GAPMIN,GAPMAX,MARGE ,
46 9 GAP_S_L,GAP_M_L,ID ,TITR,
47 1 IX1 ,IX2 ,IX3,IX4 ,NSVG ,
48 2 PROV_N ,PROV_E ,N11,N12 ,N13 ,
49 3 PENE ,X1 ,X2 ,X3 ,X4 ,
50 4 Y1 ,Y2 ,Y3 ,Y4 ,Z1 ,
51 5 Z2 ,Z3 ,Z4 ,XI ,YI ,
52 6 ZI ,X0 ,Y0 ,Z0 ,NX1 ,
53 7 NY1 ,NZ1 ,NX2,NY2 ,NZ2 ,
54 8 NX3 ,NY3 ,NZ3,NX4 ,NY4 ,
55 9 NZ4 ,P1 ,P2 ,P3 ,P4 ,
56 1 LB1 ,LB2 ,LB3,LB4 ,LC1 ,
67#include "implicit_f.inc"
77#include "vect07_c.inc"
81 INTEGER NB_NC,NB_EC,I_ADD,MAXSIZ,I_STOK,J_STOK,I_MEM,ISTF
82 INTEGER I_BID, I_AMAX,NB_N_B, NOINT, NSN,MULTIMP, IGAP
83 INTEGER ADD(2,0:*),IRECT(4,*),BPE(*),PE(*),BPN(*),PN(*)
84 INTEGER NSV(*),CAND_N(*),CAND_E(*), ITAB(*)
87 . X(3,*),XYZM(6,*),TZINF,DBUC,STF(*),STFN(*),
88 . MAXBOX,MINBOX, XMAX, YMAX, ZMAX,
89 . GAP, GAP_S(*), GAP_M(*),
90 . GAPMIN, GAPMAX, MARGE, GAPSMX, BGAPSMX,
91 . GAP_S_L(*),GAP_M_L(*)
93 CHARACTER(LEN=NCHARTITLE) :: TITR
94 INTEGER,
DIMENSION(MVSIZ)INTENT(INOUT)
95INTEGER,
DIMENSION(MVSIZ),
INTENT(INOUT) :: IX1,IX2,IX3,IX4
96 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: N11,N12,N13,PENE
97 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: X1,X2,X3,X4
98 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: Y1,Y2,Y3,Y4
99 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: Z1,Z2,Z3,Z4
100 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: XI,YI,ZI
101 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: x0,y0,z0
102 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: nx1,ny1,nz1
103 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: nx2,ny2,nz2
104 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: nx3,ny3,nz3
105 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: nx4,ny4,nz4
106 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: p1,p2,p3,p4
107 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: lb1,lb2,lb3,lb4
108 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: lc1,lc2,lc3,lc4,stif
112 INTEGER NB_NCN,NB_ECN,ADDNN,ADDNE,IPOS,I,IP,J
113 INTEGER INF,SUP,DIR,N1,N2,N3,N4,NN,NE
115 . bid,dx,dy,dz,dsup,seuil,xmx,xmn,gapsmax,
184 IF(nb_ec==0.OR.nb_nc==0)
THEN
188 CALL i7dstk(i_add,nb_nc,nb_ec,add,bpn,pn,bpe,pe)
194 dx = xyzm(4,i_add) - xyzm(1,i_add)
195 dy = xyzm(5,i_add) - xyzm(2,i_add)
196 dz = xyzm(6,i_add) - xyzm(3,i_add)
199 IF(add(2,1)+nb_ec>=maxsiz)
THEN
201 IF ( nb_n_b == numnod)
THEN
212 . nb_nc<=nb_n_b.AND.dsup<maxbox.OR.
213 . nb_nc<=nb_n_b.AND.nb_ec==1)
THEN
226 IF(nn/=n1.AND.nn/=n2.AND.nn/=n3.AND.nn/=n4)
THEN
228 prov_n(j_stok) = bpn(j)
230 IF(j_stok==nvsiz)
THEN
235 CALL i7cor3(x ,irect,nsv ,prov_e ,prov_n,
236 2 stf ,stfn ,gapv ,igap ,gap ,
237 3 gap_s,gap_m,istf ,gapmin ,gapmax,
238 4 gap_s_l,gap_m_l ,zero ,ix1 ,ix2 ,
241 7 y4 ,z1 ,z2 ,z3 ,z4 ,
242 8 xi ,yi ,zi ,stif ,zero ,
244 CALL i7dst3(ix3,ix4,x1 ,x2 ,x3 ,
245 1 x4 ,y1 ,y2 ,y3 ,y4 ,
246 2 z1 ,z2 ,z3 ,z4 ,xi ,
247 3 yi ,zi ,x0 ,y0 ,z0 ,
250 6 ny4,nz4,p1 ,p2 ,p3 ,
251 7 p4 ,lb1,lb2,lb3,lb4,
252 8 lc1,lc2,lc3,lc4,llt)
253 CALL i7pen3(marge,gapv,n11,n12,n13 ,
254 1 pene ,nx1 ,ny1,nz1,nx2,
255 2 ny2 ,nz2 ,nx3,ny3,nz3,
256 3 nx4 ,ny4 ,nz4,p1 ,p2 ,
258 IF(i_stok+nvsiz<multimp*nsn)
THEN
259 CALL i7cmp3(i_stok,cand_e ,cand_n,1,pene,
263 CALL i7cmp3(i_bid,cand_e,cand_n,0,pene,
265 IF(i_stok+i_bid<multimp*nsn)
THEN
266 CALL i7cmp3(i_stok,cand_e,cand_n,1,pene,
282 CALL i7dstk(i_add,nb_nc,nb_ec,add,bpn,pn,bpe,pe)
300 ELSE IF(dz==dsup)
THEN
303 seuil =(xyzm(dir+3,i_add)+xyzm(dir,i_add))/2
313 IF(x(dir,nsv(bpn(i)))<seuil)
THEN
329 IF(x(dir,nsv(bpn(i)))<seuil)
THEN
333 gapsmx =
max(gapsmx,gap_s(bpn(i)))
339 bgapsmx =
max(bgapsmx,gap_s(bpn(i)))
390 xmx =
max(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
391 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
393 xmn =
min(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
394 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
396 IF(xmn<seuil.AND.inf==1)
THEN
401 IF(xmx>=seuil.AND.sup==1)
THEN
409 xmn =
min(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
410 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
411 . -
max(
min(gapsmx+gap_m(bpe(i)),gapmax),gapmin)-marge
412 IF(xmn<seuil.AND.inf==1)
THEN
417 xmx =
max(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
418 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
438 xyzm(1,i_add+1) = xyzm(1,i_add)
439 xyzm(2,i_add+1) = xyzm(2,i_add)
440 xyzm(3,i_add+1) = xyzm(3,i_add)
441 xyzm(4,i_add+1) = xyzm(4,i_add)
442 xyzm(5,i_add+1) = xyzm(5,i_add)
443 xyzm(6,i_add+1) = xyzm(6,i_add)
444 xyzm(dir,i_add+1) = seuil
445 xyzm(dir+3,i_add) = seuil
453 IF ( nb_n_b == numnod)
THEN
subroutine i7cor3(x, irect, nsv, cand_e, cand_n, stf, stfn, gapv, igap, gap, gap_s, gap_m, istf, gapmin, gapmax, gap_s_l, gap_m_l, drad, ix1, ix2, ix3, ix4, nsvg, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, stif, dgapload, last)
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 i7tri(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, stf, stfn, j_stok, multimp, istf, itab, gap, gap_s, gap_m, igap, gapmin, gapmax, marge, gap_s_l, gap_m_l, id, titr, ix1, ix2, ix3, ix4, nsvg, prov_n, prov_e, n11, n12, n13, pene, 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, stif)
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)