1c
2C$Id$
3C
4c     Common for parameters to do with convergence and common details
5c     of the DFT module
6c
7c     variables related to "vectors" input,
8c     variables related to "convergence" input,
9c     variables related to "xc" input,
10c     variables related to "tolerances" input,
11c     variables related to "grid" input, and
12c     other misc variables.
13c
14
15c Exchange-Correlation related
16c
17c     Common for xc parameters
18c     Note: This is repeated in xc.fh
19c     It is duplicated here to address some build issues
20c
21cold      integer numfunc
22cold      parameter(numfunc=65)
23#include "xc.fh"
24cc AJL/Begin/FDE
25      integer numfunc_fde
26      parameter(numfunc_fde=2)
27cc AJL/End
28c
29      character*256 title
30      character*16 grtagin
31      character*10 gridtype
32      character*8 whichssw
33      character*40 xname, cname, xcname
34cc AJL/Begin/FDE
35      character*40 tsname
36cc AJL/End
37      double precision
38     &     rlshift, dampon, dampoff, levlon, levloff, diison, diisoff,
39     &     rcharge, rscale, cfac, xfac, tol_rho, radius, hl_tol,
40     &     e_conv, d_conv, g_conv, delta_ac, e_homo,
41cc AJL/Begin/FDE
42     &     cfac_fde, xfac_fde, tsfac
43cc AJL/End
44      logical
45     &     nodamping, nolevelshifting, nodiis, ltight, lmaxov, incore,
46     &     XCFIT, CDFIT, store_wght, ldelley, lcfac, nlcfac, lxfac,
47     &     nlxfac, xccomb, levelshift, damp, diis, direct, oskel,
48     &     oadapt, lssw, lkeeps,trunc_neigh, lb94, cs00, bqdontcare,
49     &     ncap, libxcon,
50cc AJL/Begin/FDE
51     &     frozemb, frozemb_fde, lcfac_fde, nlcfac_fde, lxfac_fde,
52     &     nlxfac_fde, xccomb_fde
53cc AJL/End
54      integer
55     &     iAOacc, iCDacc, iXCacc, itol2e, imull, iangquad,
56     &     iterations, iguess, mult, noc(2), ipol, nfock, ncydp, ncysh,
57     &     ncyds, idirect, noio, ndamp, idecomp, nagrid, nquad_task,
58     &     nrinc, nrmax, geom, ncenters, nbf, nradpts, nang_leb_pts,
59     &     nbf_ao, nbf_ao_mxprim, nbf_ao_mxang, nbf_ao_mxcont,
60     &     nbf_ao_mxnbf_cn, nbf_ao_mxnbf_ce, nshells_ao,
61     &     nbf_cd, nbf_cd_mxprim, nbf_cd_mxang, nbf_cd_mxcont,
62     &     nbf_cd_mxnbf_cn, nbf_cd_mxnbf_ce, nshells_cd,
63     &     nbf_xc, nbf_xc_mxprim, nbf_xc_mxang, nbf_xc_mxcont,
64     &     nbf_xc_mxnbf_cn, nbf_xc_mxnbf_ce, nshells_xc,
65     L     lxdm,
66c
67c     old common handles
68c
69     &     AO_bas_han, CD_bas_han, XC_bas_han,
70     ,     lrchi,irchi,lrdelchi,irdelchi,
71     ,     g_cdinv, g_2ceri, sic_orb_spin, sic_orb_occ, sic_orb_index,
72     ,     g_sic_dens(2), aux_ik, g_s12m,g_s12p,
73cc AJL/Begin/FDE
74     &     geom_fde, FD_bas_han, nbf_fde, nbf_fde_mxprim, nbf_fde_mxang,
75     &     nbf_fde_mxcont, nbf_fde_mxnbf_cn, nbf_fde_mxnbf_ce,
76     &     nshells_fde
77cc AJL/End
78c
79      character*256 movecs_in, movecs_out
80      character*8 movecs_guess
81      common /cdft/
82c
83c     Doubles
84c
85     &     rlshift, dampon, dampoff, levlon, levloff, diison, diisoff,
86     &     rcharge, rscale, cfac(numfunc), xfac(numfunc),
87     &     tol_rho, radius, hl_tol, e_conv, d_conv, g_conv,
88     &     delta_ac, e_homo,
89cc AJL/Begin/FDE
90     &     cfac_fde(numfunc), xfac_fde(numfunc), tsfac(numfunc_fde),
91cc AJL/End
92c
93c     Logicals
94c
95     &     nodamping, nolevelshifting, nodiis, ltight, lmaxov, incore,
96     &     XCFIT, CDFIT, store_wght, ldelley, lcfac(numfunc),
97     ,     nlcfac(numfunc),lxfac(numfunc), nlxfac(numfunc),
98     ,     xccomb(numfunc), levelshift, damp, diis,
99     &     direct, oskel, oadapt, lssw, lkeeps,trunc_neigh,
100     &     lb94, cs00, bqdontcare, ncap, libxcon,
101cc AJL/Begin/FDE
102     &     frozemb, frozemb_fde, lcfac_fde(numfunc),
103     &     nlcfac_fde(numfunc), lxfac_fde(numfunc),
104     &     nlxfac_fde(numfunc), xccomb_fde(numfunc),
105cc AJL/End
106c
107c     Integers
108c
109     &     iAOacc, iCDacc, iXCacc,  itol2e, imull, iangquad,
110     &     iterations, iguess, mult, noc, ipol, nfock, ncydp, ncysh,
111     &     ncyds, idirect, noio, ndamp, idecomp, nagrid, nquad_task,
112     &     nrinc, nrmax, geom, ncenters, nbf, nradpts, nang_leb_pts,
113     &     nbf_ao, nbf_ao_mxprim, nbf_ao_mxang, nbf_ao_mxcont,
114     &     nbf_ao_mxnbf_cn, nbf_ao_mxnbf_ce, nshells_ao,
115     &     nbf_cd, nbf_cd_mxprim, nbf_cd_mxang, nbf_cd_mxcont,
116     &     nbf_cd_mxnbf_cn, nbf_cd_mxnbf_ce, nshells_cd,
117     &     nbf_xc, nbf_xc_mxprim, nbf_xc_mxang, nbf_xc_mxcont,
118     &     nbf_xc_mxnbf_cn, nbf_xc_mxnbf_ce, nshells_xc,
119     L     lxdm,
120c
121c     old common handles
122c
123     &     AO_bas_han, CD_bas_han, XC_bas_han,
124     ,     lrchi,irchi,lrdelchi,irdelchi,
125     ,     g_cdinv, g_2ceri, sic_orb_spin, sic_orb_occ, sic_orb_index,
126     ,     g_sic_dens, aux_ik, g_s12m,g_s12p,
127cc AJL/Begin/FDE
128     &     geom_fde, FD_bas_han, nbf_fde, nbf_fde_mxprim, nbf_fde_mxang,
129     &     nbf_fde_mxcont, nbf_fde_mxnbf_cn, nbf_fde_mxnbf_ce,
130     &     nshells_fde
131cc AJL/End
132c
133c     Characters
134c
135      common /ccdft/
136     &     title, gridtype, xname(numfunc), cname(numfunc),
137     .     xcname(numfunc),
138cc AJL/Begin/FDE
139     &     tsname(numfunc_fde),
140cc AJL/End
141     &     movecs_in, movecs_out, movecs_guess,whichssw
142c
143c-->  old dimensions.fh
144c
145      integer MXqshells, MXrad, MXagrid, MXtheta, MXphi
146C
147      Parameter (MXqshells=90000,MXrad=999)
148      Parameter (MXagrid=48,MXtheta=MXagrid,MXphi=2*MXtheta)
149c
150c-->  old quad.fh; Quadrature Points & Weights
151c
152c     MX_l_ang = Lebedev max no. of pts
153c     IAC_MAX = Lebedev max accuracy
154c
155      double precision
156     &     bsrad_atom_type, znuc_atom_type,
157     &     rpts, rwghts, aratio, costheta, sintheta, cosphi, sinphi,
158     &     awghts, qrot, wa_leb, za_leb
159      logical
160     &     iatype_pt_chg,leb
161      integer
162     &     iqshell, nqshells, nqmax, nrad, nang, ntheta, nphi,
163     &     iatype,ityp2ctr, iqrot, ntypes,
164     &     max_mbf, max_pr_mbfnq, max_pr_mbf, max_pr_nq, nq_chunk,
165     &     rad_cutoff,n_tot_tasks,
166     &     nradin, nangin,
167     &     ngridin,wradgrid
168c
169      integer MX_l_ang, IAC_MAX
170c
171      parameter(MX_l_ang = 5810, IAC_MAX = 29)
172c
173c     The following parameters must match those in geomP.fh and
174c     bas_staticP.fh e.g., dft_max_cent = max_cent, and
175c     dft_ntags_bsmx = ntags_bsmx
176c
177#include "nwc_const.fh"
178      integer dft_ntags_bsmx, dft_max_cent, max_constr
179      parameter (dft_ntags_bsmx = 200, dft_max_cent = nw_max_atom)
180      parameter (max_constr = 10)
181      integer ncubes_type,ncubesmx
182      integer l_nxyz,k_nxyz ! MA handler
183      double precision lcube,minexp
184      integer ldiff
185      character*10 radgrid
186
187cc AJL/Begin/FDE
188      integer ldiff_fde
189      integer iatype_fde
190      logical iatype_pt_chg_fde
191      double precision bsrad_atom_type_fde, znuc_atom_type_fde
192      double precision minexp_fde
193cc AJL/End
194c
195      Common /quad/
196c
197c     Doubles
198c
199     & bsrad_atom_type(dft_ntags_bsmx), znuc_atom_type(dft_ntags_bsmx),
200cc AJL/Begin/FDE
201     & bsrad_atom_type_fde(dft_ntags_bsmx),
202     & znuc_atom_type_fde(dft_ntags_bsmx),
203cc AJL/End
204     & rpts(MXrad,dft_ntags_bsmx), rwghts(MXrad,dft_ntags_bsmx),
205     & aratio(dft_ntags_bsmx,dft_ntags_bsmx), costheta(MXtheta,MXagrid),
206     & sintheta(MXtheta,MXagrid), cosphi(MXphi,MXagrid),
207     & sinphi(MXphi,MXagrid), awghts(MXtheta,MXagrid), qrot(3,3),
208     & wa_leb(MX_l_ang,IAC_MAX), za_leb(3,MX_l_ang,IAC_MAX),
209     , lcube(dft_ntags_bsmx),minexp(dft_max_cent),
210cc AJL/Begin/FDE
211     & minexp_fde(dft_max_cent),
212cc AJL/End
213c
214c     Logicals
215c
216     & iatype_pt_chg(dft_max_cent), leb,
217cc AJL/Begin/FDE
218     & iatype_pt_chg_fde(dft_max_cent),
219cc AJL/End
220c
221c     Integers
222c
223     & iqshell(4,MXqshells), nqshells, nqmax,
224     & nrad(dft_ntags_bsmx), nang(dft_ntags_bsmx),
225     & ntheta(MXagrid), nphi(MXagrid), iatype(dft_max_cent), iqrot,
226     & ntypes, max_mbf, max_pr_mbfnq, max_pr_mbf, max_pr_nq, nq_chunk,
227     & rad_cutoff(2,dft_max_cent),n_tot_tasks,
228     & nradin(dft_ntags_bsmx), nangin(dft_ntags_bsmx),
229     & grtagin(dft_ntags_bsmx),ngridin,
230     . l_nxyz,k_nxyz,ityp2ctr(dft_ntags_bsmx),wradgrid,
231     .     ncubes_type(nw_max_atom),ncubesmx,ldiff(dft_max_cent),
232cc AJL/Begin/FDE
233     & iatype_fde(dft_max_cent), ldiff_fde(dft_max_cent),
234cc AJL/End
235c
236c     char
237c
238     .     radgrid
239Cedo      character*10 radgrids(6)
240Cedo      data radgrids /'eumac','murakn','tarad','gausslag','gcinterv',
241Cedo     ,'rlindh'/
242
243