1      subroutine defrad(doiso)
2c     supplies default radius ( see keyword EDGE )
3      implicit double precision (a-h,o-z)
4      parameter (numatm=2000)
5      parameter (mxvalc=10)
6      parameter (max3d=61)
7      common /plane/  px, py, pz, cx, cy, cz, r(3),v1(3),v2(3),iplat
8      common /moldat/ natoms, norbs, nelecs,nat(numatm)
9      common /coord / xyz(3,numatm)
10      common /srfhlp/edge,ctval(mxvalc),pxyz(3),nvalc,nspts,istyp
11      logical doiso
12      dimension vec(3)
13
14      if (doiso) then
15
16         call cntvc2(pxyz,xyz,natoms)
17         edge = 0.0d0
18         do i=1,natoms
19            dist = dist2(pxyz,xyz(1,i))
20            if (dist.gt.edge) edge = dist
21         end do
22         edge = dsqrt(edge)*2.0d0
23
24         edge = edge + 7.0d0
25
26         nspts = edge / 0.3d0
27         if (nspts.gt.max3d) nspts = max3d
28
29      else
30
31         call cntvec(vec,xyz,nat,natoms)
32         r(1) = 0.0d0
33         do i=1,natoms
34            dist = (xyz(1,i)-px)**2 +
35     &             (xyz(2,i)-py)**2 +
36     &             (xyz(3,i)-pz)**2
37            if (dist.gt.r(1)) r(1) = dist
38         end do
39         r(1) = dsqrt(r(1))*2.4d0
40         r(2) = r(1)
41         r(3) = r(1)
42
43      endif
44
45      return
46      end
47