45 2 ITASK ,WEIGHT ,RETRI ,NUM_IMP ,IND_IMP ,
46 3 INTSTAMP,MWAG ,INTBUF_TAB, nspmd)
53 use check_sorting_criteria_mod ,
only : check_sorting_criteria
57#include "implicit_f.inc"
66#include "timeri_c.inc"
67 COMMON /i21mainc/result21,i_memg
68 INTEGER RESULT21,I_MEMG
72 TYPE(timer_) :: TIMERS
73 integer,
intent(in) :: nspmd
74 INTEGER NIN ,ITASK, RETRI, NUM_IMP ,IND_IMP(*),
75 . ipari(npari,ninter),
82 TYPE(intbuf_struct_) INTBUF_TAB
87 . I, IP0, IP1, IP2, IP21, K11_T, I_SK_OLD,
88 . ADD1, NB_N_B, INIT, NOINT, INACTI, MULTIMP, IGAP, I_STOK,
91 . NRTM_T,ESHIFT,ILD, NCONTACT, NRTM_L,
92 . I_MEM,CAND_N_OLD, IROT
95 . gap,maxbox,minbox,tzinf,
96 . xmax,
ymax, zmax, xmin, ymin, zmin, gapmin, gapmax,
98 INTEGER :: NRTM,NSN,NTY,NMN
99 logical :: need_computation
103 call check_sorting_criteria( need_computation,nin,npari,nspmd,
104 . itask,ipari(1,nin),tt,intbuf_tab )
105 if( .not.need_computation )
return
115 intth = ipari(47,nin)
117 inacti =ipari(22,nin)
118 multimp=ipari(23,nin)
122 gap =intbuf_tab%VARIABLES(2)
123 gapmin=intbuf_tab%VARIABLES(13)
124 gapmax=intbuf_tab%VARIABLES(16)
143 2 dd ,irot ,intstamp%ROT,intstamp%BRACKET)
146 maxbox = intbuf_tab%VARIABLES(9)
147 minbox = intbuf_tab%VARIABLES
148 tzinf = intbuf_tab%VARIABLES(8)
152 intbuf_tab%I_STOK(1)=zero
156 cand_n_old = intbuf_tab%I_STOK(1)
160 inacti = ipari(22,nin)
164 eshift = itask*nrtm_t
167 k11_t = 1+4*itask*nrtm_t
169 j17_t = 1+itask*nrtm_t
170 IF(itask==nthread-1)nrtm_t=nrtm-(nthread-1)*(nrtm/nthread)
175 IF (imonm > 0)
CALL startime(timers,30)
178 1 x ,intbuf_tab%IRECTM(k11_t),intbuf_tab%NSV ,ipari(22,nin),
179 2 nrtm_t ,nsn ,intbuf_tab%CAND_E ,intbuf_tab%CAND_N ,gap,
180 3 noint ,intbuf_tab%I_STOK(1) ,tzinf ,maxbox ,minbox ,
181 4 ncontact ,xmin ,xmax ,ymin ,
182 5
ymax ,zmin ,zmax ,nb_n_b ,eshift ,
183 6 ild ,init ,weight ,intbuf_tab%STFNS ,nin ,
184 7 intbuf_tab%STF(j17_t) ,ipari(21,nin),intbuf_tab%GAP_S,gapmin,gapmax ,
185 8 ipari(39,nin),num_imp ,intbuf_tab%XM0 ,intbuf_tab%NOD_NORMAL
186 9 intbuf_tab%VARIABLES(23) ,intbuf_tab%VARIABLES(22) ,intbuf_tab%VARIABLES(27) ,
187 . intbuf_tab%VARIABLES(28) ,intbuf_tab%VARIABLES(29) ,
188 a nrtm_l ,intbuf_tab%XSAV(adxloc),i_mem,intbuf_tab%VARIABLES(32) ,
190 b intth ,intbuf_tab%MNDD ,intbuf_tab%MSR_L ,itask,intbuf_tab%IRECTM,
191 c ipari(48,nin) ,intbuf_tab%VARIABLES(46))
199#include "lockoff.inc"
206 multimp = ipari(23,nin) + 4
211 intbuf_tab%I_STOK(1) =cand_n_old
212 multimp=ipari(23,nin)
218 1 intbuf_tab%CAND_E, intbuf_tab%I_STOK(1), ipari(48,nin) , nin , nmn,
219 2 intth, intbuf_tab%MNDD, intbuf_tab%MSR_L , intbuf_tab%IRECTM )
221 IF (imonm > 0)
CALL stoptime(timers,30)
224 intbuf_tab%VARIABLES(9) =
min(maxbox,intbuf_tab%VARIABLES(9))
225 intbuf_tab%VARIABLES(12) =
min(minbox,intbuf_tab%VARIABLES(12))
226 intbuf_tab%VARIABLES(8) =
min(tzinf,intbuf_tab%VARIABLES(8))
228 intbuf_tab%VARIABLES(5) = ep30
229 result21 = result21 + ild
230#include "lockoff.inc"
234 IF (result21/=0)
THEN
237 intbuf_tab%I_STOK(1) = i_sk_old
243 maxbox = intbuf_tab%VARIABLES(9)
244 minbox = intbuf_tab%VARIABLES(12)
245 tzinf = intbuf_tab%VARIABLES(8)
257 i_stok = intbuf_tab%I_STOK(1)
259 1 nsn ,i_stok ,intbuf_tab%CAND_N,intbuf_tab%CAND_E,
261 2 intbuf_tab%FTSAVX,intbuf_tab%FTSAVY,intbuf_tab%FTSAVZ,mwag(ip0) ,
subroutine i21buce(x, irect, nsv, inacti, nrtm, nsn, cand_e, cand_n, gap, noint, ii_stok, tzinf, maxbox, minbox, ncontact, xmin, xmax, ymin, ymax, zmin, zmax, nb_n_b, eshift, ild, init, weight, stfn, nin, stf, igap, gap_s, gapmin, gapmax, icurv, num_imp, xm0, nod_normal, depth, margeref, lxm, lym, lzm, nrtm_l, xloc, i_mem, drad, nmn, intth, mndd, msr_l, itask, irectt, iform, dgapload)
subroutine i21main_tri(timers, ipari, x, nin, itask, weight, retri, num_imp, ind_imp, intstamp, mwag, intbuf_tab, nspmd)
subroutine inttri(timers, ipari, x, w, errors, v, ms, in, iad_elem, fr_elem, vr, isendto, irecvfrom, newfront, itask, wag, dt2t, itab, neltst, ityptst, weight, intlist, nbintc, kinet, dretri, islen7, irlen7, islen11, irlen11, temp, igrbric, igrsh3n, eminx, ixs, ixs16, ixs20, islen17, irlen17, irlen7t, islen7t, num_imp, ind_imp, intstamp, thknod, irlen20, islen20, irlen20t, islen20t, irlen20e, islen20e, renum, nsnfiold, xslv, xmsr, vslv, vmsr, size_t, nodnx_sms, dxancg, ikine, diag_sms, count_remslv, count_remslve, ale_connectivity, ixtg, sensors, delta_pmax_gap, intbuf_tab, delta_pmax_gap_node, iad_frnor, fr_nor, nb25_candt, nb25_impct, nb25_dst1, nb25_dst2, intlist25, iad_fredg, fr_edg, main_proc, nativ_sms, i_opt_stok, multi_fvm, iparg, elbuf_tab, h3d_data, t2main_sms, lskyi_sms_new, forneqs, int7itied, idel7nok_sav, maxdgap, t2fac_sms, icodt, iskew, fskyn25, addcsrect, procnor, inter_struct, sort_comm, renum_siz, nodnx_sms_siz, temp_siz, interfaces, glob_therm, component)