$DANDC group (optional, relevant if SCFTYP=RHF or UHF)
This group controls the divide-and-conquer (DC) SCF
calculations, in which the total 1-electron density matrix
is obtained as sum of subsystem density matrices. In this
calculation, the total system is partitioned into several
disjoint subsystems (central regions). A subsystem density
matrix is expanded by bases in the central region and its
neighboring environmental region (buffer).
The present implementation allows energy and analytic
nuclear gradients, for HF, DFT, and semi-empirical runs,
for SCFTYP=RHF or UHF only. The discrete EFP and various
continuum solvation models are available. DC correlation
energies are also available for either MP2 and CC, see
$DCCORR, without nuclear gradients. Dynamic and static
polarizabilities (but no hyperpolarizabilities) based on
DC-HF are available by specifying RUNTYP=TDHF (not TDHFX).
The initial guess is given by a density matrix, not
orbitals. The only available options are GUESS=HUCKEL,
HCORE, HUCSUB, DMREAD, and MOREAD (the latter means
orbitals for the entire system).
For a review paper on Divide-and-Conquer in GAMESS:
M.Kobayashi, H.Nakai
in Linear-Scaling Techniques in Computational
Chemistry and Physics: Methods and Applications
(Springer), Chap. 5 (2011)
For more information on the DC-SCF method, see
W.Yang, T.-S.Lee
J.Chem.Phys. 103, 5674-5678(1995)
T.Akama, M.Kobayashi, H.Nakai
J.Comput.Chem. 28, 2003-2012(2007)
T.Akama, A.Fujii, M.Kobayashi, H.Nakai
Mol.Phys. 105, 2799-2804(2007)
T.Akama, M.Kobayashi, H.Nakai
Int.J.Quant.Chem. 109, 2706-2713(2009)
M.Kobayashi, T.Yoshikawa, H.Nakai
Chem.Phys.Lett. 500, 172-177(2010) [open-shell]
M.Kobayashi, T.Kunisada, T.Akama, D.Sakura, H.Nakai
J.Chem.Phys. 134, 034105/1-11(2011) [gradient]
For more information on DC-MP2 and DC-CC, see
M.Kobayashi, Y.Imamura, H.Nakai
J.Chem.Phys. 127, 074103/1-7(2007)
M.Kobayashi, H.Nakai
J.Chem.Phys. 129, 044103/1-9(2008)
M.Kobayashi, H.Nakai
J.Chem.Phys. 131, 114108/1-9(2009)
M.Kobayashi, H.Nakai
Int.J.Quant.Chem. 109, 2227-2237(2009)
For more information on DC-TDHF polarizability, see
T.Touma, M.Kobayashi, H.Nakai
Chem.Phys.Lett. 485, 247-252(2010)
Of course, the trick to methods that divide up a large
problem into small ones is to control the errors that
result. A simple way to set up a DC-MP2 calculation is
with atomic partitions:
$contrl scftyp=rhf mplevl=2 runtyp=energy $end
$system mwords=25 $end
$scf dirscf=.true. $end
$dandc dcflg=.true. subtyp=atom bufrad=8.0 $end
$dccorr dodccr=.true. rbufcr=5.0 $end
$guess guess=hucsub $end (if DC-SCF is used)
This leads to as many subsystems as there are atoms, with
the buffer region around the central atom being defined by
a radius. This input recognizes that exchange effects in
Hartree-Fock are longer range than correlation, and thus
uses dual level radii. It may be reasonable to simply do a
conventional and thus fully accurate SCF computation by
DCFLG=.FALSE., obtaining only the MP2 correlation energy by
the divide and conquer method. Faster run times may result
from other partitionings, such as manually dividing a
protein into subsystems containing a single amino acid.
DCFLG = flag to activate DC-SCF calculation.
(default=.FALSE.)
Note: If you want to treat only the correlated MP2/CC
procedure in the DC manner, after a standard HF
calculation, this option may be set to .FALSE.
SUBTYP = chooses a method to construct disjoint
subsystems (central region).
= ATOM individual atom is 1 subsystem.
(default if NSUBS=0 or not given)
= MANUAL manually selects using NSUBS and LBSUBS
keywords. (default if NSUBS>=1)
= CARD reads from card. $SUBSCF is used for SCF
and $SUBCOR for MP2/CC calculation.
= AUTO constructs subsystems automatically by
dividing total system by cubic grid.
Grid size can be set by SUBLNG.
= AUTBND considers bond strength after AUTO.
NSUBS = number of subsystems when SUBTYP=MANUAL.
LBSUBS = an array assigning atoms to subsystems.
The style is the same as INDAT keyword in $FMO.
Two styles are supported (the choice is made based
on LBSUBS(1): if it is nonzero, choice (a) is
taken, otherwise LBSUBS(1) is ignored and choice
(b) is taken):
a) LBSUBS(i)=m assigns atom i is to subsystem m.
LBSUBS(i) must be given for each atom.
b) the style is
a1 a2 ... ak 0
b1 b2 ... bm 0
...
Elements a1...ak are assigned to subsystem 1,
then b1...bm are assigned to subsystem 2,etc.
An element is one of the following:
I or I -J
where I means atom I, and a pair I,-J means
the range of atoms I-J. There must be no space
after the "-"!
Example:
LBSUBS(1)=1,1,1,2,2,1 is equivalent to
LBSUBS(1)=0, 1,-3,6,0, 4,5,0
Both assign atoms 1,2,3 and 6 to subsystem 1,
and 4,5 to subsystem 2.
SUBLNG = grid length of cube used in SUBTYP=AUTO or AUTBND.
This value should be in the unit given by UNITS
keyword in $CONTRL. (default=2.0 Angstroms).
BUFTYP = chooses a method to construct buffer region.
= RADIUS selects atoms included in spheres centered
at atoms in the central region (default).
The radius is given by BUFRAD keyword for
DC-SCF and by the RBUFCR keyword in $DCCORR
for DC-MP2/CC.
= RADSUB selects subsystems containing one or more
atom(s) which is included in spheres
centered at atoms in the central region.
This selection can avoid cutting bonds
within each subsystem.
= CARD reads from $SUBSCF or $SUBCOR card.
Only available when SUBTYP=CARD.
BUFRAD = buffer radius in DC-SCF calculation. This value
should be in the units given by UNITS keyword in
$CONTRL (default=5.0 Angstroms).
FRBETA = inverse temperature parameter of Fermi function
used in DC-SCF procedure in a.u. (default=200.0)
Reducing this value may improve SCF convergence
but may obtain worse total energy.
MXITDC = maximum number of iteration cycles for determining
Fermi level (default=100). Usually, you need not
care about this keyword.
FTOL = Fermi function cutoff factor (default=15.0).
= p The value of Fermi function less than 10**(-p)
is considered as 0. The value greater than
[1 - 10**(-p)] is considered as 1.
NDCPRT = DC print-out option which is the sum of
followings (default=0).
= +1 not used (reserved).
= +2 prints density matrix ($DM section) on punch.
= +4 prints energy corresponding to each subsystem.
Gives correct energy only in HF calculation.
= +8 prints orbitals in each subsystem.
IORBD = selects molecular orbital in total system whose
electron density is to be computed.
Print format is given in $ELDENS.
= -1, -2, ... correspond to HOMO, HOMO-1, ...
= 1, 2, ... correspond to LUMO, LUMO+1, ...
= 0 no calculation (default).
In the DC-SCF procedure, the available SCF acceleration
techniques are DIIS, DAMP, EXTRAP as well as DC-DIIS and
VFON which are specific to the DC-SCF. In DC-SCF
calculation, only DIIS is used by default. DC-DIIS
(DIIDCF=.TRUE.) is not normally needed for convergence.
The following keywords control (DC-)DIIS convergence:
DIITYP = selects the error vector used in the
standard DIIS extrapolation
= FDS Pulay's modified DIIS (e=FDS-SDF). Although
this type of error vector behaves well in
standard SCF, it may not for DC-SCF.
= DELTAF Pulay's original DIIS (e[i]=F[i]-F[i-1]),
or so-called Anderson mixing (default).
DIIQTR = .TRUE. uses orthogonal basis (in entire system)
for DIIS extrapolation. Normally, this
does not make sense in DC-SCF run.
.FALSE. uses atomic basis function for DIIS
extrapolation (default).
EXTDII = energy error threshold in absolute value for
exiting DIIS (default=0.0).
PEXDII = percentage threshold of energy error change for
exiting DIIS (default=1.0). PEXDII is
preferential to EXTDII.
DIIDCF = a flag to activate DC-DIIS interpolation
(default=.FALSE.).
ETHRDC = energy error threshold for initiating DC-DIIS.
Increasing ETHRDC forces DC-DIIS on sooner
(default = 1.D-4 if DIIDCF=.TRUE.).
The following keywords control the convergence acceleration
based on the varying fractional occupation number (VFON).
The final electronic temperature is given by FRBETA.
FONTYP = selects the variation pattern of electronic
temperature (beta) in SCF iteration
= DIIER logarithmic variation with respect to DIIS
error.
= NONE no variation (default).
BETINI = initial beta value in a.u.
(default = FRBETA/4 for FONTYP=DIIER).
FONSTA = threshold to start variation of beta
(default=1.0 for FONTYP=DIIER).
FONEND = threshold to stop variation of beta
(default=1.D-4 for FONTYP=DIIER).
When FONTYP=DIIER, the beta value used in the iteration
(of which the DIIS error is DIISer) is the following:
beta = BETINI [for DIISER>FONSTA]
= FRBETA [for DIISER<=FONEND]
= FRBETA + C_FON * Log(DIISer/FONEND) [otherwise]
where (C_FON = (BETINI-FRBETA) / Log(FONSTA/FONEND)
Option for the type of nuclear gradient:
NDCGRD = selects the DC-SCF gradient implementation
= 0 use a formula proposed by Yang and Lee in 1995
= 1 use a formula proposed by Kobayashi et al. in
2011 (default)
Next are options for printing density of states (DOS).
DOSITV = Interval between plot points in Hartree. The
default is zero,meaning no DOS print-out. If
you print out DOS, DOSITV=0.05 may be sufficient.
DOSRGL = Left end of the plot range in Hartree.
(default=-2.0)
DOSRGR = Right end of the plot range in Hartree.
(default=+2.0)
BDOS = Inverse temperature parameter (beta) for
distributing states. This value should not be
given because it is set to be equivalent to FRBETA
in $DANDC by default.
267 lines are written.
Edited by Shiro KOSEKI on Tue May 17 15:19:38 2022.