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_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,
74 CHARACTER(LEN=NCHARTITLE) :: TITR
78 INTEGER NB_SCN1,NB_MCN1,NB_SCN,NB_MCN,ADDNN,ADDNE,
80 INTEGER INF,SUP,DIR,N1,N2,NN1,NN2,NN,NE,MEMX,NCAND_PROV
82 . dx,dy,dz,dsup,seuil,xx1
155 IF(nb_mc==0.OR.nb_sc==0)
THEN
160 CALL i7dstk(i_add,nb_sc,nb_mc,add(1,i_add-1),bpn,pn,bpe,pe)
166 dx = xyzm(4,i_add) - xyzm(1,i_add)
167 dy = xyzm(5,i_add) - xyzm(2,i_add)
168 dz = xyzm(6,i_add) - xyzm(3,i_add)
172 IF(add(1,i_add)+nb_sc>=maxsiz.OR.
173 . add(2,i_add)+nb_mc>=maxsiz)
THEN
175 IF ( nb_n_b == maxsiz/3)
THEN
188 ncand_prov=nb_mc*nb_sc
189 IF(dsup<minbox.OR.istop==1.OR.
190 . (nb_sc<=nb_n_b.AND.dsup<maxbox).OR.
191 . (nb_sc<=nb_n_b.AND.nb_mc==1).OR.
192 . (nb_mc<=nb_n_b.AND.dsup<maxbox).OR.
193 . (nb_mc<=nb_n_b.AND.nb_sc==1))
THEN
199 DO k=1,ncand_prov,nvsiz
200 DO l=k,
min(k-1+nvsiz,ncand_prov)
213 IF(nn1/=n1.AND.nn1/=n2.AND.
214 . nn2/=n1.AND.nn2/=n2)
THEN
220 IF(j_stok>=nvsiz)
THEN
222 1 nvsiz,irects,irectm,x ,ii_stok,
223 2 cand_s,cand_m,nsn ,noint ,tzinf ,
224 3 i_mem ,prov_s,prov_m,multimp,addcm,
227 j_stok = j_stok-nvsiz
229 prov_s(j) = prov_s(j+nvsiz)
230 prov_m(j) = prov_m(j+nvsiz)
237 CALL i7dstk(i_add,nb_sc,nb_mc,add(1,i_add-1),bpn,
256 ELSE IF(dz==dsup)
THEN
259 seuil =(xyzm(dir+3,i_add)+xyzm(dir,i_add))/2
275 xx1=x(dir, irects(1,nn))
276 xx2=x(dir, irects(2,nn))
277 xmax=
max(xx1,xx2)+tzinf
278 xmin=
min(xx1,xx2)-tzinf
281 nb_scn1 = nb_scn1 + 1
308 xx1=x(dir, irectm(1,nn))
309 xx2=x(dir, irectm(2,nn))
310 xmax=
max(xx1,xx2)+tzinf
311 xmin=
min(xx1,xx2)-tzinf
317 IF(xmin<seuil.AND.inf==1)
THEN
319 nb_mcn1 = nb_mcn1 + 1
328 IF(xmax>=seuil.AND.sup==1)
THEN
344 add(1,i_add+1) = addnn
345 add(2,i_add+1) = addne
352 xyzm(1,i_add+1) = xyzm(1,i_add)
353 xyzm(2,i_add+1) = xyzm(2,i_add)
354 xyzm(3,i_add+1) = xyzm
355 xyzm(4,i_add+1) = xyzm(4,i_add)
356 xyzm(5,i_add+1) = xyzm(5,i_add)
357 xyzm(6,i_add+1) = xyzm(6,i_add)
358 xyzm(dir,i_add+1) = seuil
359 xyzm(dir+3,i_add) = seuil
361 IF( ((nb_scn==nb_sc .AND. nb_mcn1==nb_mc) .OR.
362 . (nb_scn1==nb_sc .AND. nb_mcn==nb_mc)) .AND.
363 .
min(nb_scn,nb_scn1)>0.AND.
364 .
min(nb_mcn,nb_mcn1)>0) istop = istop + 1
372 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)