33 2 SPBUF ,MA ,JVOIS ,JSTOR ,JPERM ,
34 3 DVOIS ,IREDUCE,KREDUCE,BMINMA,IPARTSP ,
35 . SZ_INTP_DIST,MAX_INTP_DIST_PART,PRE_SEARCH)
43#include "implicit_f.inc"
55 INTEGER KXSP(NISP,*), IXSP(KVOISPH,*), NOD2SP(*),
56 . JVOIS(*), JSTOR(*), JPERM(*), IREDUCE, MA(NSPHACT),
58 INTEGER ,
INTENT(IN) :: IPARTSP(NUMSPH),PRE_SEARCH,SZ_INTP_DIST
61 . x(3,*),spbuf(nspbuf,*),dvois(*), bminma(6)
62 my_real ,
INTENT(INOUT) :: max_intp_dist_part(sz_intp_dist)
66 INTEGER I, NSPHACTF, NSPHACTL
71 INTEGER (KIND=8) :: NBX8,NBY8,NBZ8,RES8,LVOXEL8
75 . ((bminma(1)-bminma(4))*(bminma(2)-bminma(5))
76 . +(bminma(2)-bminma(5))*(bminma(3)-bminma(6))
77 . +(bminma(3)-bminma(6))*(bminma(1)-bminma(4))))
81 nbx = nint(aaa*(bminma(1)-bminma(4)))
82 nby = nint(aaa*(bminma(2)-bminma(5)))
83 nbz = nint(aaa*(bminma(3)-bminma(6)))
91 res8=(nbx8+2)*(nby8+2)*(nbz8+2)
94 IF(res8 > lvoxel8)
THEN
96 aaa = aaa/((nbx8+2)*(nby8+2)*(nbz8+2))
98 nbx = int((nbx+2)*aaa)-2
99 nby = int((nby+2)*aaa)-2
100 nbz = int((nbz+2)*aaa)-2
109 res8=(nbx8+2)*(nby8+2)*(nbz8+2)
111 IF(res8 > lvoxel8) stop 678
115 DO i=
inivoxel,(nbx+2)*(nby+2)*(nbz+2)
127 1 nsphact ,x ,bminma ,nod2sp ,
129 3 ma ,spbuf ,jvois ,jstor ,jperm ,
130 4 dvois ,ireduce,nsphactf,nsphactl,
voxel1 ,
131 5 kxsp ,ixsp ,kreduce ,ipartsp ,sz_intp_dist,
132 6 max_intp_dist_part,pre_search)
143 SUBROUTINE sppro31(IL ,KXSP ,IXSP ,NOD2SP,JVOIS,
144 . JSTOR,JPERM ,DVOIS,IREDUCE,KREDUCE)
148#include "implicit_f.inc"
152#include "mvsiz_p.inc"
160 INTEGER KXSP(NISP,*), IXSP(KVOISPH,*), NOD2SP(*),
161 . JVOIS(*),JSTOR(*), JPERM(*), IREDUCE, KREDUCE(*)
168 INTEGER J, KB, JB, NSBT, IB, IL, MM1, MM2, KM, MM, MG,
169 . JJL, NFT, LLT, JL, JG, JLO, LL1, LL2, LL, LG, N, NN,
170 . NVOIS, KL, K, JK, L, , NVOIS2, IERROR , ig
173 . xjj, yjj, zjj,dk, dl
181 IF(nvois>kvoisph)
THEN
185 CALL myqsort(nvois,dvois,jperm,ierror)
190 jvois(k)=jstor(jperm(k))
206 nvois=
min(nvois,kvoisph)
226 IF(nvois1>lvoisph)ireduce=1
subroutine sppro31(il, kxsp, ixsp, nod2sp, jvois, jstor, jperm, dvois, ireduce, kreduce)
subroutine spbuc31(x, kxsp, ixsp, nod2sp, spbuf, ma, jvois, jstor, jperm, dvois, ireduce, kreduce, bminma, ipartsp, sz_intp_dist, max_intp_dist_part, pre_search)
subroutine sptrivox(nsn, x, bminma, nod2sp, nbx, nby, nbz, nlist, spbuf, jvois, jstor, jperm, dvois, ireduce, nsphactf, nsphactl, voxel, kxsp, ixsp, kreduce, ipartsp, sz_intp_dist, max_intp_dist_part, pre_search)