38 2 TZINF ,IXS ,IXS16 ,IXS20 ,NELEM ,
39 3 NELES ,MAXSIZ ,CAND_N ,CAND_E ,MINBOX ,
40 5 CONT ,NB_N_B ,EMINX ,I_STOK_GLOB,NME ,
41 6 ITASK ,NOINT ,X ,V ,A ,
42 7 MX_CAND,EMINXS ,ESH_T ,MAXSIZS ,I_ADD_MAX,
43 8 XYZM ,NMES ,NMESR ,NIN )
48 use element_mod ,
only : nixs
52#include "implicit_f.inc"
66 INTEGER I_ADD_MAX, NMESR, NIN,
67 . MAXSIZ,NB_N_B,I_STOK_GLOB,NME,NMES ,ITASK,NOINT ,,
68 . IXS(NIXS,*),IXS16(8,*),
69 . NELES(*),CAND_N(*),CAND_E(*),NELEM(*),IXS20(12,*),ESH_T,
79 INTEGER I,I_ADD,I_STOK,L,NB_NC,NB_EC,CONT
80 INTEGER ADD(2,I_ADD_MAX) ,PROV_N(MVSIZ),PROV_E(),
81 . BPE(MAXSIZ/3), PE(MAXSIZ), BPN(MAXSIZS/3), PN(MAXSIZS)
84 . XMIN,YMIN,ZMIN,XMAX,YMAX,ZMAX
116 IF(eminxs(4,i)>xmin.AND.
117 . eminxs(5,i)>ymin.AND.
118 . eminxs(6,i)>zmin.AND.
119 . eminxs(1,i)<xmax.AND.
120 . eminxs(2,i)<ymax.AND.
121 . eminxs(3,i)<zmax)
THEN
129 DO i = nmes+1, nmes+nmesr
142 1 bpe ,pe ,bpn ,pn ,add ,
143 2 x ,nb_nc ,nb_ec ,xyzm ,i_add ,
144 3 neles ,maxsiz ,cand_n ,cand_e ,minbox ,
145 4 cont ,nb_n_b ,i_add_max,eminx ,nelem ,
146 5 i_stok ,ixs ,ixs16 ,ixs20 ,tzinf ,
147 6 i_stok_glob,prov_n ,prov_e ,v ,a ,
148 7 mx_cand ,eminxs ,maxsizs ,nmes ,nin )
159 1 i_stok,i_stok_glob,prov_n,cand_n,prov_e,cand_e,
163 CALL ancmsg(msgid=86,anmode=aninfo,i1=noint)
165 ELSEIF(cont==-2)
THEN
166 CALL ancmsg(msgid=86,anmode=aninfo,i1=noint)
169 CALL ancmsg(msgid=90,anmode=aninfo,i1=noint)
187 1 BPE ,PE ,BPN ,PN ,ADD ,
188 2 X ,NB_NC ,NB_EC ,XYZM ,I_ADD ,
189 3 NELES ,MAXSIZ ,CAND_N ,CAND_E ,MINBOX ,
190 4 CONT ,NB_N_B ,I_ADD_MAX,EMINX ,NELEM ,
191 5 I_STOK ,IXS ,IXS16 ,IXS20 ,TZINF ,
192 6 I_STOK_GLOB,PROV_N ,PROV_E ,V ,A ,
193 7 MX_CAND ,EMINXS ,MAXSIZS ,NMES ,NIN )
198 use element_mod ,
only : nixs
202#include "implicit_f.inc"
206#include "mvsiz_p.inc"
210#include "com01_c.inc"
258 INTEGER NB_NC,NB_EC,I_ADD,MAXSIZ,I_STOK_GLOB,I_STOK,MX_CAND,NIN,
259 . NB_N_B,I_ADD_MAX,CONT ,IXS(NIXS,*),IXS16(8,*),
260 . ADD(2,*),BPE(*),PE(*),BPN(*),PN(*),
261 . CAND_N(*),CAND_E(*),NELEM(*),NELES(*),
262 . PROV_N(*) ,PROV_E(*) ,IXS20(12,*),MAXSIZS, NMES
265 . X(3,*),V(3,*),A(3,*),XYZM(6,*),EMINX(6,*),EMINXS(6,*),
270 INTEGER NB_NCN,NB_NCN1,NB_ECN,ADDNN,ADDNE,I,J,DIR,
271 . nes,ne,le,les,l,ncand_prov,lesl
274 . dx,dy,dz,dsup,seuil
285 IF(add(2,i_add)+nb_ec>maxsiz)
THEN
295 IF(add(1,i_add)+nb_nc>maxsizs)
THEN
303 IF(nb_ec/=0.AND.nb_nc/=0)
THEN
305 dx = xyzm(4,i_add) - xyzm(1,i_add)
306 dy = xyzm(5,i_add) - xyzm(2,i_add)
307 dz = xyzm(6,i_add) - xyzm(3,i_add)
317 IF(nb_ec+nb_nc<=128)
THEN
318 ncand_prov = nb_ec*nb_nc
323 IF(dsup<minbox.OR.nb_nc<=nb_n_b.OR.ncand_prov<=128)
THEN
325 ncand_prov = nb_ec*nb_nc
335 . eminxs(4,les)>eminx(1,le)-tzinf.AND.
336 . eminxs(5,les)>eminx(2,le)-tzinf.AND.
337 . eminxs(6,les)>eminx(3,le)-tzinf.AND.
338 . eminxs(1,les)<eminx(4,le)+tzinf.AND.
339 . eminxs(2,les)<eminx(5,le)+tzinf.AND.
340 . eminxs(3,les)<eminx(6,le)+tzinf)
THEN
344 IF(i_stok==mvsiz-1)
CALL i17sto(
345 1 i_stok,i_stok_glob,prov_n,cand_n,prov_e,cand_e,
351 IF(xrem(4,lesl)>eminx(1,le)-tzinf.AND.
352 . xrem(5,lesl)>eminx(2,le)-tzinf.AND.
353 . xrem(6,lesl)>eminx(3,le)-tzinf.AND.
354 . xrem(1,lesl)<eminx(4,le)+tzinf.AND.
355 . xrem(2,lesl)<eminx(5,le)+tzinf.AND.
356 . xrem(3,lesl)<eminx(6,le)+tzinf)
THEN
360 IF(i_stok==mvsiz-1)
CALL i17sto(
361 1 i_stok,i_stok_glob,prov_n,cand_n,prov_e,cand_e,
382 ELSE IF(dz==dsup)
THEN
385 seuil =(xyzm(dir+3,i_add)+xyzm(dir,i_add))*half
394#include "vectorize.inc"
398 IF(eminxs(dir,les)<seuil)
THEN
400 nb_ncn1 = nb_ncn1 + 1
407#include "vectorize.inc"
412 IF(xrem(dir,lesl)<seuil)
THEN
414 nb_ncn1 = nb_ncn1 + 1
422#include "vectorize.inc"
426 IF(eminxs(dir+3,les)>=seuil)
THEN
434#include "vectorize.inc"
439 IF(xrem(dir+3,lesl)>=seuil)
THEN
454#include "vectorize.inc"
457 IF(eminx(dir+3,le)+tzinf>=seuil)
THEN
463 ELSEIF(nb_ncn==0)
THEN
465#include "vectorize.inc"
468 IF(eminx(dir,le)-tzinf<seuil)
THEN
475#include "vectorize.inc"
478 IF(eminx(dir,le)-tzinf<seuil)
THEN
483 IF(eminx(dir+3,le)+tzinf>=seuil)
THEN
493 add(1,i_add+1) = addnn
494 add(2,i_add+1) = addne
496 xyzm(1,i_add+1) = xyzm(1,i_add)
497 xyzm(2,i_add+1) = xyzm(2,i_add)
498 xyzm(3,i_add+1) = xyzm(3,i_add)
499 xyzm(4,i_add+1) = xyzm(4,i_add)
500 xyzm(5,i_add+1) = xyzm(5,i_add)
501 xyzm(6,i_add+1) = xyzm(6,i_add)
502 xyzm(dir,i_add+1) = seuil
503 xyzm(dir+3,i_add) = seuil
509 IF(i_add+1>=i_add_max)
THEN
554 nb_nc = add(1,i_add+1) - add(1,i_add)
556 bpn(i) = pn(add(1,i_add)+i)
561 nb_ec = add(2,i_add+1) - add(2,i_add)
563 bpe(i) = pe(add(2,i_add)+i)
subroutine i17tri(tzinf, ixs, ixs16, ixs20, nelem, neles, maxsiz, cand_n, cand_e, minbox, cont, nb_n_b, eminx, i_stok_glob, nme, itask, noint, x, v, a, mx_cand, eminxs, esh_t, maxsizs, i_add_max, xyzm, nmes, nmesr, nin)
subroutine i17cut(bpe, pe, bpn, pn, add, x, nb_nc, nb_ec, xyzm, i_add, neles, maxsiz, cand_n, cand_e, minbox, cont, nb_n_b, i_add_max, eminx, nelem, i_stok, ixs, ixs16, ixs20, tzinf, i_stok_glob, prov_n, prov_e, v, a, mx_cand, eminxs, maxsizs, nmes, nin)
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)