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,*),,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) :: PROV_N,PROV_E,NSVG
95 INTEGER,
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, I, J
113 INTEGER INF,SUP,DIR,N1,N2,N3,N4,NN,NE
115 . dx,dy,dz,dsup,seuil,xmx,xmn,
181 IF(nb_ec==0.OR.nb_nc==0)
THEN
185 CALL i7dstk(i_add,nb_nc,nb_ec,add,bpn,pn,bpe,pe)
191 dx = xyzm(4,i_add) - xyzm(1,i_add)
192 dy = xyzm(5,i_add) - xyzm(2,i_add)
193 dz = xyzm(6,i_add) - xyzm(3,i_add)
196 IF(add(2,1)+nb_ec>=maxsiz)
THEN
198 IF ( nb_n_b == numnod)
THEN
209 . nb_nc<=nb_n_b.AND.dsup<maxbox.OR.
210 . nb_nc<=nb_n_b.AND.nb_ec==1)
THEN
223 IF(nn/=n1.AND.nn/=n2.AND.nn/=n3.AND.nn/=n4)
THEN
225 prov_n(j_stok) = bpn(j)
227 IF(j_stok==nvsiz)
THEN
232 CALL i7cor3(x ,irect,nsv ,prov_e ,prov_n,
233 2 stf ,stfn ,gapv ,igap ,gap ,
234 3 gap_s,gap_m,istf ,gapmin ,gapmax,
235 4 gap_s_l,gap_m_l ,zero ,ix1 ,ix2 ,
236 5 ix3 ,ix4 ,nsvg,x1 ,x2 ,
237 6 x3 ,x4 ,y1 ,y2 ,y3 ,
238 7 y4 ,z1 ,z2 ,z3 ,z4 ,
239 8 xi ,yi ,zi ,stif ,zero ,
241 CALL i7dst3(ix3,ix4,x1 ,x2 ,x3 ,
242 1 x4 ,y1 ,y2 ,y3 ,y4 ,
243 2 z1 ,z2 ,z3 ,z4 ,xi ,
244 3 yi ,zi ,x0 ,y0 ,z0 ,
245 4 nx1,ny1,nz1,nx2,ny2,
246 5 nz2,nx3,ny3,nz3,nx4,
247 6 ny4,nz4,p1 ,p2 ,p3 ,
248 7 p4 ,lb1,lb2,lb3,lb4,
249 8 lc1,lc2,lc3,lc4,llt)
250 CALL i7pen3(marge,gapv,n11,n12,n13 ,
251 1 pene ,nx1 ,ny1,nz1,nx2,
252 2 ny2 ,nz2 ,nx3,ny3,nz3,
253 3 nx4 ,ny4 ,nz4,p1 ,p2 ,
255 IF(i_stok+nvsiz<multimp*nsn)
THEN
256 CALL i7cmp3(i_stok,cand_e ,cand_n,1,pene,
260 CALL i7cmp3(i_bid,cand_e,cand_n,0,pene,
262 IF(i_stok+i_bid<multimp*nsn)
THEN
263 CALL i7cmp3(i_stok,cand_e,cand_n,1,pene,
279 CALL i7dstk(i_add,nb_nc,nb_ec,add,bpn,pn,bpe,pe)
297 ELSE IF(dz==dsup)
THEN
300 seuil =(xyzm(dir+3,i_add)+xyzm(dir,i_add))/2
310 IF(x(dir,nsv(bpn(i)))<seuil)
THEN
326 IF(x(dir,nsv(bpn(i)))<seuil)
THEN
330 gapsmx =
max(gapsmx,gap_s(bpn(i)))
336 bgapsmx =
max(bgapsmx,gap_s(bpn(i)))
387 xmx =
max(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
388 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
390 xmn =
min(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 IF(xmn<seuil.AND.inf==1)
THEN
398 IF(xmx>=seuil.AND.sup==1)
THEN
406 xmn =
min(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
407 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
408 . -
max(
min(gapsmx+gap_m(bpe(i)),gapmax),gapmin)-marge
409 IF(xmn<seuil.AND.inf==1)
THEN
414 xmx =
max(x(dir,irect(1,bpe(i))),x(dir,irect(2,bpe(i))),
415 . x(dir,irect(3,bpe(i))),x(dir,irect(4,bpe(i))))
416 . +
max(
min(bgapsmx+gap_m(bpe(i)),gapmax),gapmin)+marge
417 IF(xmx>=seuil.AND.sup==1)
THEN
435 xyzm(1,i_add+1) = xyzm(1,i_add)
436 xyzm(2,i_add+1) = xyzm(2,i_add)
437 xyzm(3,i_add+1) = xyzm(3,i_add)
438 xyzm(4,i_add+1) = xyzm(4,i_add)
439 xyzm(5,i_add+1) = xyzm(5,i_add)
440 xyzm(6,i_add+1) = xyzm(6,i_add)
441 xyzm(dir,i_add+1) = seuil
442 xyzm(dir+3,i_add) = seuil
450 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)