38 1 NIN ,IPARI ,INTBUF_TAB ,X ,
39 2 V ,A ,ITASK ,IGRBRIC ,
40 3 EMINX ,MS ,NC ,IADLL ,
41 4 LLL ,JLL ,SLL ,XLL ,N_MUL_MX,
42 5 IXS ,IXS16 ,IXS20 ,NKMAX ,COMNTAG )
70#include "implicit_f.inc"
85 INTEGER NIN,ITASK ,NC,N_MUL_MX ,NKMAX
86 INTEGER IPARI(NPARI,NINTER),
87 . IADLL(*) ,LLL(*) ,JLL(*) ,SLL(*) , COMNTAG(*),
88 . IXS(NIXS,*) ,IXS16(8,*) ,IXS20(12,*)
91 . x(3,*), v(3,*), a(3,*), ms(*),eminx(6,*),
94 TYPE(intbuf_struct_) INTBUF_TAB
95 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
99 INTEGER NME,NAD,EAD,LWAT,
100 . nme_t,esh_t,ign,ige,multimp,noint,i,mx_cand,nmes,
101 . idum1, idum2, idum3, nmesr
104 . startt, stopt,xx,xy,xz,tzinf,minbox,xmsr(6),size_t
108 noint = ipari(15,nin)
109 multimp = ipari(23,nin)
112 nmes =igrbric(ign)%NENTITY
113 nme =igrbric(ige)%NENTITY
116 startt = intbuf_tab%VARIABLES(3)
117 stopt = intbuf_tab%VARIABLES(11)
123 IF(itask==nthread-1)nme_t=nme-(nthread-1)*(nme/nthread)
125 intbuf_tab%XSLVG(1) = -ep30
126 intbuf_tab%XSLVG(2) = -ep30
127 intbuf_tab%XSLVG(3) = -ep30
128 intbuf_tab%XSLVG(4) = ep30
129 intbuf_tab%XSLVG(5) = ep30
130 intbuf_tab%XSLVG(6) = ep30
131 intbuf_tab%XMSRG(1) = -ep30
132 intbuf_tab%XMSRG(2) = -ep30
133 intbuf_tab%XMSRG(3) = -ep30
134 intbuf_tab%XMSRG(4) = ep30
135 intbuf_tab%XMSRG(5) = ep30
136 intbuf_tab%XMSRG(6) = ep30
150 1 x ,v ,a ,igrbric(ige)%ENTITY ,eminx,
151 2 nme ,itask ,intbuf_tab%XSAV,ixs ,ixs16,
152 3 ixs20 ,xmsr ,size_t)
155 intbuf_tab%XMSRG(1)=
max(intbuf_tab%XMSRG(1),xmsr(1))
156 intbuf_tab%XMSRG(2)=
max(intbuf_tab%XMSRG(2),xmsr(2))
157 intbuf_tab%XMSRG(3)=
max(intbuf_tab%XMSRG(3),xmsr(3))
158 intbuf_tab%XMSRG(4)=
min(intbuf_tab%XMSRG(4),xmsr(4))
159 intbuf_tab%XMSRG(5)=
min(intbuf_tab%XMSRG(5),xmsr(5))
160 intbuf_tab%XMSRG(6)=
min(intbuf_tab%XMSRG(6),xmsr(6))
161#include "lockoff.inc"
165 1 x ,v ,a ,igrbric(ign)%ENTITY,eminx(1,nme+1),
166 2 nmes ,itask ,intbuf_tab%XSAV,ixs ,ixs16 ,
167 3 ixs20 ,intbuf_tab%XSLVG ,size_t )
170 intbuf_tab%XSLVG(1)=
max(intbuf_tab%XSLVG(1),xmsr(1))
171 intbuf_tab%XSLVG(2)=
max(intbuf_tab%XSLVG(2),xmsr(2))
172 intbuf_tab%XSLVG(3)=
max(intbuf_tab%XSLVG(3),xmsr(3))
173 intbuf_tab%XSLVG(4)=
min(intbuf_tab%XSLVG(4),xmsr(4))
174 intbuf_tab%XSLVG(5)=
min(intbuf_tab%XSLVG(5),xmsr(5))
175 intbuf_tab%XSLVG(6)=
min(intbuf_tab%XSLVG(6),xmsr(6))
177#include "lockoff.inc"
183 tzinf = intbuf_tab%VARIABLES(4) *
SIZE / (nme+nmes) / 6
184 minbox = intbuf_tab%VARIABLES(5) *
SIZE / (nme+nmes) / 6
185 xx =
max(intbuf_tab%XSLVG(1)-intbuf_tab%XMSRG(4),intbuf_tab%XMSRG(1)-intbuf_tab%XSLVG(4))
186 xy =
max(intbuf_tab%XSLVG(2)-intbuf_tab%XMSRG
187 xz =
max(intbuf_tab%XSLVG(3)-intbuf_tab%XMSRG(6),intbuf_tab%XMSRG(3)-intbuf_tab%XSLVG(6))
189 IF(xx**2 + xy**2 + xz**2 >= tzinf**2)
THEN
198 1 igrbric(ign)%ENTITY,ixs ,ixs16 ,ixs20 ,igrbric(ige)%ENTITY ,
199 2 nme_t ,lwat ,nmes ,intbuf_tab%CAND_E,intbuf_tab%CAND_N,
200 3 noint ,ipari(35,nin) ,tzinf ,minbox ,eminx ,
201 4 intbuf_tab%XSAV,itask ,x ,v ,a ,
202 5 mx_cand ,eminx(1,nme+1),esh_t ,intbuf_tab%FROTS,intbuf_tab%KS,
203 6 idum1 ,idum2 ,idum3 ,nin ,nmesr ,
214 1 x ,v ,lll ,jll ,sll ,
215 2 xll ,intbuf_tab%CAND_N,intbuf_tab%CAND_E,ipari(35,nin),ixs,
216 3 ixs16 ,iadll ,eminx ,igrbric(ign)%ENTITY,igrbric(ige)%ENTITY,
217 4 nc ,n_mul_mx ,itask ,a ,ipari(30,nin),
218 5 nin ,nkmax ,eminx(1,nme+1),comntag )
221 2 xll ,intbuf_tab%CAND_N,intbuf_tab%CAND_E,ipari(35,nin),ixs,
222 3 ixs20 ,iadll ,eminx ,igrbric(ign)%ENTITY,igrbric(ige
223 4 nc ,n_mul_mx ,itask ,a ,ipari(30,nin),
224 5 nin ,nkmax ,eminx(1,nme+1),comntag )
subroutine i17buce(neles, ixs, ixs16, ixs20, nelem, nme, lwat, nmes, cand_e, cand_n, noint, i_stok_glob, tzinf, minbox, eminxm, xsav, itask, x, v, a, mx_cand, eminxs, esh_t, frots, ks, isendto, ircvfrom, weight, nin, nmesr, vcom)
subroutine i17main(nin, ipari, intbuf_tab, x, v, a, itask, igrbric, eminx, ms, nc, iadll, lll, jll, sll, xll, n_mul_mx, ixs, ixs16, ixs20, nkmax, comntag)