35 1 BPE ,PE ,BPN ,PN ,ADD,
36 2 IRECTS,X ,NB_SC ,NB_MC ,XYZM,
37 3 I_ADD ,IRECTM,I_AMAX,ISTOP ,
38 4 MAXSIZ,I_STOK,I_MEM ,NB_N_B,IADFIN,
39 5 CAND_S,CAND_M,NSN ,NOINT ,TZINF ,
40 6 MAXBOX,MINBOX,J_STOK,ADDCM,CHAINE,
41 7 PROV_S,PROV_M,II_STOK,MULTIMP,ID,TITR)
54#include "implicit_f.inc"
63 INTEGER NB_SC,NB_MC,I_ADD,MAXSIZ,I_STOK,J_STOK,I_MEM
64 INTEGER I_BID, I_AMAX,NB_N_B, NOINT, NSN,MULTIMP,ISTOP,
66 INTEGER ADD(2,0:*),IRECTS(2,*),IRECTM(2,*),BPE(*),PE(*)
67 INTEGER CAND_S(*),CAND_M(*),BPN(*),PN(*)
68 INTEGER ADDCM(*),CHAINE(*)
69 INTEGER PROV_S(2*MVSIZ),PROV_M(2*MVSIZ)
71 . x(3,*),xyzm(6,*),tzinf,dbuc,
74 CHARACTER(LEN=NCHARTITLE) :: TITR
78 INTEGER NB_SCN1,NB_MCN1,NB_SCN,NB_MCN,ADDNN,ADDNE,IPOS,
80 INTEGER INF,SUP,DIR,N1,N2,NN1,NN2,NN,NE,MEMX,NCAND_PROV
82 . dx,dy,dz,dsup,seuil,xmx,xmn,xx1,xx2,xmin, xmax
158 IF(nb_mc==0.OR.nb_sc==0)
THEN
163 CALL i7dstk(i_add,nb_sc,nb_mc,add(1,i_add-1),bpn,pn,bpe,pe)
169 dx = xyzm(4,i_add) - xyzm(1,i_add)
170 dy = xyzm(5,i_add) - xyzm(2,i_add)
171 dz = xyzm(6,i_add) - xyzm(3,i_add)
175 IF(add(1,i_add)+nb_sc>=maxsiz.OR.
176 . add(2,i_add)+nb_mc>=maxsiz)
THEN
178 IF ( nb_n_b == maxsiz/3)
THEN
191 ncand_prov=nb_mc*nb_sc
192 IF(dsup<minbox.OR.istop==1.OR.
193 . (nb_sc<=nb_n_b.AND.dsup<maxbox).OR.
194 . (nb_sc<=nb_n_b.AND.nb_mc==1).OR.
195 . (nb_mc<=nb_n_b.AND.dsup<maxbox).OR.
196 . (nb_mc<=nb_n_b.AND.nb_sc==1))
THEN
202 DO k=1,ncand_prov,nvsiz
203 DO l=k,
min(k-1+nvsiz,ncand_prov)
216 IF(nn1/=n1.AND.nn1/=n2.AND.
217 . nn2/=n1.AND.nn2/=n2)
THEN
223 IF(j_stok>=nvsiz)
THEN
225 1 nvsiz,irects,irectm,x ,ii_stok,
226 2 cand_s,cand_m,nsn ,noint ,tzinf ,
227 3 i_mem ,prov_s,prov_m,multimp,addcm,
230 j_stok = j_stok-nvsiz
232 prov_s(j) = prov_s(j+nvsiz)
233 prov_m(j) = prov_m(j+nvsiz)
240 CALL i7dstk(i_add,nb_sc,nb_mc,add(1,i_add-1),bpn,
259 ELSE IF(dz==dsup)
THEN
262 seuil =(xyzm(dir+3,i_add)+xyzm(dir,i_add))/2
278 xx1=x(dir, irects(1,nn))
279 xx2=x(dir, irects(2,nn))
280 xmax=
max(xx1,xx2)+tzinf
281 xmin=
min(xx1,xx2)-tzinf
284 nb_scn1 = nb_scn1 + 1
311 xx1=x(dir, irectm(1,nn))
312 xx2=x(dir, irectm(2,nn))
313 xmax=
max(xx1,xx2)+tzinf
314 xmin=
min(xx1,xx2)-tzinf
320 IF(xmin<seuil.AND.inf==1)
THEN
322 nb_mcn1 = nb_mcn1 + 1
331 IF(xmax>=seuil.AND.sup==1)
THEN
347 add(1,i_add+1) = addnn
348 add(2,i_add+1) = addne
355 xyzm(1,i_add+1) = xyzm(1,i_add)
356 xyzm(2,i_add+1) = xyzm(2,i_add)
357 xyzm(3,i_add+1) = xyzm(3,i_add)
358 xyzm(4,i_add+1) = xyzm(4,i_add)
359 xyzm(5,i_add+1) = xyzm(5,i_add)
360 xyzm(6,i_add+1) = xyzm(6,i_add)
361 xyzm(dir,i_add+1) = seuil
362 xyzm(dir+3,i_add) = seuil
364 IF( ((nb_scn==nb_sc .AND. nb_mcn1==nb_mc) .OR.
365 . (nb_scn1==nb_sc .AND. nb_mcn==nb_mc)) .AND.
366 .
min(nb_scn,nb_scn1)>0.AND.
367 .
min(nb_mcn,nb_mcn1)>0) istop = istop + 1
375 IF ( nb_n_b == maxsiz/3)
THEN
subroutine i11tri(bpe, pe, bpn, pn, add, irects, x, nb_sc, nb_mc, xyzm, i_add, irectm, i_amax, istop, maxsiz, i_stok, i_mem, nb_n_b, iadfin, cand_s, cand_m, nsn, noint, tzinf, maxbox, minbox, j_stok, addcm, chaine, prov_s, prov_m, ii_stok, multimp, id, titr)
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)