30 SUBROUTINE spclasv(X ,SPBUF ,KXSP ,IXSP ,NOD2SP ,
31 1 WASPACT,MYSPATRUE,IREDUCE,KREDUCE)
38#include "implicit_f.inc"
46 INTEGER KXSP(NISP,*),IXSP(KVOISPH,*),NOD2SP(*),
47 . waspact(*), ireduce, kreduce(*)
49 . x(3,*),spbuf(nspbuf,*), myspatrue
54 . n,inod,jnod,j,nvois,m,ncand,k1,k2,nvois1,nvois2,
55 . nvoiss,nvoiss1,nvoiss2, iaux, ierror,
56 . k, l, jk, nc, js, ns, nn, nb,jj1,jj2, jj, jjj,
57 . mwa(2*kvoisph),jstor(kvoisph), jperm(kvoisph),
61 . xi,yi,zi,di,xj,yj,zj,dj,dd,dvois(kvoisph),
83 dvois(k)=(xi-xj)*(xi-xj)+(yi-yj)*(yi-yj)+(zi-zj)*(zi-zj)
84 dvois(k)=dvois(k)/dms2
87 CALL myqsort(nvois,dvois,jperm,ierror)
102 spbuf(15,n)=two*sqrt(dvois(1))
108 IF(ireduce==0)
GO TO 100
116 IF(kreduce(n)/=0.OR.nvois1>lvoisph)
THEN
118 IF(nvois1>lvoisph)
THEN
119 kreduce(n)=kreduce(n)+10
138 dvois(k)=(xi-xj)*(xi-xj)+(yi-yj)*(yi-yj)+(zi-zj)*(zi-zj)
139 dvois(k)=dvois(k)/dms2
142 CALL myqsort(nvois,dvois,jperm,ierror)
147 IF(kreduce(n) >= 10)dwa(n)=sqrt(dvois(lvoisph))
165 spbuf(1,n)=
min(spbuf(1,n),dwa(n)*spbuf(1,n))
166 spbuf(8,n)=spbuf(1,n)
173 IF(mod(kreduce(n),10)/=0)
THEN
189 dd =(xi-xj)*(xi-xj)+(yi-yj)*(yi-yj)+(zi-zj)*(zi-zj)
193 myspatrue=
max(zero,
min(myspatrue,dk-one))
subroutine spclasv(x, spbuf, kxsp, ixsp, nod2sp, waspact, myspatrue, ireduce, kreduce)