$dft (cross-references are
given).
The user normally has to choose only the functional and the grid size, see below. All other parameters have proven defaults.
and for definition of the functionals the section
6.2 on page
.
Example (default input):
$dft functional b-p
). Default is gridsize m3.
Example:
$dft gridsize m3
Possible values for gridtype are
Example (default value):
Example:
When gridsize 9 is given, you have to specify both, ntheta and
nphi (see below), otherwise the program will crash. The restriction for
user-defined Lobatto grids is the number of grid points, which must not exceed
2000 grid points.
Example:
Example:
ioffrad is atom-dependent, the more shells of electrons, the larger ioffrad:
The radial grid size increases further for finer grids:
If you want to converge results with respect to radial grid size, increase
radsize in steps of 5, which is convenient (see equation above).
For information about the linear scaling parameter
In addition, the reduction of spherical grid points near nuclei
is supressed, i.e. fullshell on is set (see page
Note: the keyword radsize integer overrules the setting of
incr; for more information, see p.
Recommendation: For diffuse cases use gridsize m4 (or larger) in
combination with diffuse 2 and check the number of electrons; for more
difficult cases use diffuse 4. In case of doubt, verify the calculation
with a larger grid, i.e. gridsize 7.
The test suite example
$TURBOTEST/dscf/short/PO(OH)3.DIFFUSE provides an example of usage;
this also gives reasonable values for damping and orbitalshift to reach
convergence in this and similar cases, see $scfdamp and
$scforbitalshift (p.
Example (Recommendation):
If you want to use the reference grid, you have to skip the keyword
gridsize, and type instead reference.
Example:
Example for the usage of fullshell:
Example for switching off gridordering:
). For the definition of gridtype 1 -
3, please refer to Eq. (16), (17) and, (19) in Ref.
[111].
$dft
gridtype 3
Flag for debugging. debug 0 means no debug output (default),
debug 1 means some output, debug 2 means a lot more output.
Be careful!
Specification of the sharpness of the partition function as proposed by Becke
[112], default is nkk 3. The usage of nkk makes
sense only in the range
$dft
nkk 3
Only for user-specified Lobatto grids, i.e. gridsize 9, ntheta specifies the number of
$dft
gridsize 9
ntheta 30
nphi 60
Original grids had not been carefully optimized for all atoms individually. This has now been done, which let to changes of
$dft
old_RbCs_xi
Specifies the number of radial grid points. Default values depend on type of
atom and grid (see keyword gridsize).
The formula for the radial gridsize is given as,
![]()
elements ioffrad elements ioffrad
for H-He 20 for K-Kr 40
for Li-Ne 25 for Rb-Xe 45
for Na-Ar 30 for Cs-Lw 50
gridsize 1 2 3 4 5 6 7 8 9
radsize 1 2 3 6 8 10 14 9 3
Serves to increase quadrature grids; this is recommended in case of very diffuse
wavefunctions. With the keyword diffuse grids are modified by changing
the linear scaling factor
radsize
diffuse integer 1 2 3 4 5 6
incr 1 2 3 4 5 6
scal 1.5 2.0 2.8 4.0 5.0 6.0
).
.
and p.
).
$dft
gridsize m4
diffuse 2
Radial grid points have a linear scaling parameter
$dft
rhostart 50
rhostop 200
one performs a numerical integration for the density and the exchange
correlation term for
Usage of the reference grid, which is a very fine grid with very tight
thresholds. The default
values for the different variables are:
gridsize 7
radsize 14
fullshell 1
dgrenze 16
fgrenze 16
qgrenze 16
fcut 16
Please refer to the corresponding sub-keywords for explanation.
$dft
functional b-p
reference
Checking if the selected grid is accurate enough for the
employed basis-set by performing a numerical integration of the norm
of all orbitals. For more detailed information about LHF, please refer to page
.
Grid points are sorted into batches, which are then processed. This increases
efficency. This should be changed only by developers. Default is
batchsize 100.
Standard grids have reduced number of spherical grid points near nuclei. With
the keyword fullshell this reduction is suppressed. Reference grid (see
keyword reference) always has full spherical grids with 1202 points.
Should be used to checked the influence of spherical grid reduction.
$dft
functional b-p
gridsize m4
fullshell
Values of real effects efficiency of the quadrature, default is
symblock1 0.001 and symblock2 0.001, one can try higher or
smaller values.
Where xparameter (default) can be: sgrenze (8),
fgrenze (10), qgrenze (12), dgrenze (12) and,
fcut (14). These parameters control neglect of near zeros of various
quantities. With xparameter integer one changes the default.
integer larger than defaults will increase the numerical accuracy.
Tighter threshold are set automatically with keyword $scfconv (see
section 14.2.5 on page
).
Includes the derivatives of quadrature weights to get more accurate results.
Default is that the derivatives of quadrature weights will be not considered,
see section 14.2.8 on page
.
Grid points are ordered into batches of neighbouring points. This increases
efficiency, since now zeros can be skipped for entire batches.
gridordering is default for serial version, not for the parallel one.
You cannot use weight derivatives and gridordering together.
$dft
gridordering 0
Ex, Ey, Ez or by x, y, z, |E|.
See also $fldopt.
Example:
$electrostatic field
0.1000E-03 0.000 0.000
erfc
,
Calculation of the fractional occupation numbers starts when the current
HOMO-LUMO gap drops below the value given by hlcrit
(default: 0.1). The initial temperature given by tmstrt
(default: 300K) is reduced at each SCF cycle by the factor tmfac
(default: 1.0) until it reaches the value tmend (default: 300K). Note
that the default values lead to occupation numbers calculated at a constant
Calculation of fractional occupation numbers often requires much higher
damping and orbital shifting. Please adjust the values for $scfdamp
and
$scforbitalshift if you encounter convergence problems.
In UHF runs this option can be used to automatically locate the lowest spin
state. In order to obtain integer occupation numbers tmend should
be set to relatively low value, e.g. 50K.
Calculation of fractional occupation numbers should be used only for
single point calculations. When used during structure optimizations it may
lead to energy oscillations.
Caution: don't use the RI approximation for all these calculations
since this will lead to non-negligible errors!!
The following condition must be met:
and rhfshells 1 or 2.
It is advisable to set
Note: this keyword does not work for parallel runs.
nirreps will hold the total number of displayed orbitals after the
successful run.
Example:
The SCF iteration procedure requires control mechanisms to ensure
(fast) convergence, in TURBOMOLE these are based on orbital energies
All this information is normally provided by the previous DSCF run if the
keyword $scfdump (see there) was given.
errvec=FDS-SDF, maxiter=5, qscal=1.2,
thrd=0.0, this implies DIIS damping in all iterations,
prediag is switched of.
Recommended:
errvec=sFDs leads to the following defaults:
These two options can also be used for $uhfmo_alpha and
$uhfmo_beta to
use a core guess and write the molecular orbitals to
After running DEFINE or a TURBOMOLE calculation additional options may
appear specifying the origin of the MOs:
Example:
Options are:
Perform first-order SCF-calculation, i.e. perform only one SCF-iteration with
the start MOs (which should be the orthogonalized MOs of two independent
subsystems as is explained in detail in Chapter 12).
Specification of options related with external electrostatic fields. The
following options are available:
Calculate numerical 1st derivative of SCF energy
with respect to electrostatic field
(default: off), increment for numerical
differentiation is edelt (see below).
Calculate numerical 2nd derivative of SCF energy
with respect to electrostatic field
(default: off), increment for numerical
differentiation is edelt.
Increment for numerical differentiation (default: 0.005).
Calculate SCF energy for non-zero external electrostatic
fields defined in $electrostatic field.
Calculate SCF energy for one external field
definition and dump disturbed MOs onto
$scfmo. This enables to evaluate
properties or perform geometry optimizations
in the presence of an external field.
By using this option the two-electron integrals are kept in RAM;
integer specifies how
many megabytes should be allocated. If the integrals exceed the RAM allocated
the program reverts
to the standard mode. Supports all methods which process two-electron
integrals, i.e. SCF and
DFT (including hybrid functionals); RHF and UHF.
$thize as small as possible
(e.g. $thize 0.1d-08) and to remove the keyword
$scfdump.
If this keyword is set the energies and symmetry labels of all occupied MOs
will be dumped to this data group. This may be helpful to draw mo-diagrams.
If only has been set only the start MOs are dumped and the program
quits.
If this keyword is present all occupied orbitals are dumped to standard output.
Be careful about this option as it can create huge output files in case of
many basis functions.
If this line is present, the dscf program is forced to output the MOs using
the new FORTRAN format format regardless of the format-option
in data group $scfmo. Otherwise the input format will be used.
$mo output format(3(2x,d15.8))
This data group will be written after an UHF calculation (together with
$natural orbital occupation) and contains the natural space orbitals
(same syntax as $scfmo).
This data group will be written after an UHF calculation (together with
$natural orbitals) and contains the occupation of natural orbitals
(syntax as any data group related with orbital occupation information,
e.g. $closed shells), e.g.
a 1-5 ( 2.00000000000000 )
a 6 ( 1.99949836999366 )
a 7 ( 1.99687490286069 )
a 8 ( 1.00000000000000 )
a 9 ( .00312509713931 )
a 10 ( .00050163000634 )
Specification of position and magnitude of point charges to be included in the
Hamiltonian. Each point charge is defined in the format
<x> <y> <z> <q>
with its charge,e.g.
$point_charges thr=<real> self-energy list
2. 2. 2. 5.
5. 0. 0. 2.5
In addition the following optional arguments may be given:
concerns the first SCF iteration cycle if start MOs from an EHT guess
are used.
Try a DSCF restart. The program will read the data group
$restartd (which must exist, also $scfmo has to exist!) and
continue the calculation at the point where it ended before. If the additional
option twoint is appended, the program will read the two-electron
integrals from the files specified in $scfintunit, so there will be
almost no loss of cpu-time.
Data provided by a previous dscf run that has been interrupted. This keyword is
created when $scfdump was given.
is set by define so usually no changes are necessary. The
dimensions must be greater or equal to those actually required,
i.e. you can delete basis functions and keep rundimensions. This
keyword is not necessary for small cases.
Example:
dim(fock,dens)=6072
natoms=6
nshell=34
nbf(CAO)=108
nbf(AO)=98
dim(trafo[SAO<-->AO/CAO])=256
rhfshells=1
SCF convergency criterion will be
Damping parameters for SCF iterations in order to reduce oscillations.
The old Fock-operator is added to the current one with weight
0.5 as start; if convergence is good, this weight is then
reduced by the step 0.05 in each successive iteration
until the minimum of 0.1 is reached.
(These are the default settings of define for closed-shell RHF).
DSCF automatically tries to adjust the weight to optimize
convergence but in difficult cases it is recommended to
start with a large weight, e.g. 1.5, and to set the minimum
to a larger value, e.g. 0.5.
Flags for debugging purposes. Following options are available:
Output level concerning molecular orbitals. integer=0 (default) means
minimal output,
Output level concerning difference density matrices.
integer
This keyword can be used to reduce the time needed to update the fock matrix
in each SCF iteration by exploiting information on previously computed
densities.
The differential density will be minimized using a linear combination of up
to integer previous density matrices.
If this keyword is absent the default value is 20.
Control block for convergence acceleration via Pulay's DIIS
.
Options are:
Further suboptions:
uses
no DIIS
use
Defaults for $prediag (see above) and $scfdiis
maximum number of iterations used for extrapolation.
debug level (default: 0)
scaling factor in DIIS procedure: qscal
directs the reduction of qscal to qscal = 1.0 (no damping in
DIIS), done if
qscal=1.2, for SCF runs: maxiter=6 and
thrd=0.3, prediag is off; for DFT runs: maxiter=5
and thrd=0.1 prediag is on. If you want to switch off prediag
put
$prediag none.
Dump SCF restart information onto data group $restartd and
dump SCF MOs in each iteration onto $scfmo (scfdump = iter).
Additionally, a data block $scfiterinfo will be dumped
containing accumulated SCF total-, one- and two-electron energies of
all previous SCF iterations. Information that will allow you to
perform a restart if your calculation aborts will be dumped on
data group $restartd (see also $restart).
Disc space specification for two-electron integrals. The following suboptions
are available (and necessary):
Thus your data group $scfintunit may look like this:
Fortran unit number for this file. Unit numbers 30,31,... are recommended.
Filespace in megabytes for this file. size=0 leads to a fully direct
run.
size is set by a statistics run, see $statistics.
DSCF switches to direct mode if the file space is exhausted.
Filename. This may also be a complete path name, if you want to store the
integrals in a special directory. Make sure the file is local,
otherwise integrals are transmitted over the network.
$scfintunit
unit=30 size=35 file=twoint1
unit=31 size=35 file=/users/work/twoint2
Maximal 30 files may be specified in this way.
Maximum number of SCF iterations (default: 30).
Input/output data group for SCF MOs. You can specify
To perform a calculation without a start vector (i.e. use a core Hamiltonian
guess).
The file where the MOs are written on output (default: mos).
file.
These MOs were obtained by projection form another basis set. They should not
be used for wavefunction analysis.
The MOs are converged SCF MOs , the convergence criterion applied was
The MOs are unconverged SCF MOs which were written on this data group after
iteration
integer. The latter three options are mutually exclusive.
This specifies the FORTRAN format specification which was used for MO output.
The standard format
is (4d20.14). (See data group $mo output format.)
Your data group $scfmo could look like this after a successful
TURBOMOLE run :
$scfmo scfconv=7 format(3(1x,d19.13))
1 a1 eigenvalue=-.524127 nsao=6
.1234567890123d+01 -.1234567890123d+00 .1234567890123d-01
.1234567890123d+01 -.1234567890123d+00
3 a2 eigenvalue=-.234810
...
Order SCF MOs with respect to their energies (default: on)
To assist convergence, either the energies of unoccupied MOs can be shifted
to higher energies or, in open-shell cases, the energies of closed-shell MOs
to lower energies.
In general a large shift may help to get better convergence.
Automatic virtual shell shift switched off.
Automatic virtual shell shift switched on; the energies of virtual orbitals
will be shifted if the HOMO-LUMO gap drops below real such that a
gap of real is sustained.
This is the default setting if the keyword is missing with real=0.1.
Option for open-shell cases. Closed shells are shifted to lower energies by
real. The default shift value is closedshell=0.4.
Note: Normally this will disable the automatic shift of energies of
virtual
orbitals! To override this, you should append an exclamation mark to the
'automatic' switch, i.e. specify 'automatic! real'.
Set shifts for special occupied MOs. To use this option, start the line with
the symmetry label and the list of MOs within this symmetry and append the
desired shift in brackets as in the following example:
a1 1,2,4-6 (-.34)
b1 8 (+.3)
Integral evaluation threshold. Integrals smaller than real will
not be evaluated. Note that this threshold may affect accuracy and the
convergence properties if it is chosen too large.
If $scftol is absent, a default value will be taken obtained from
$scfconv by
The scratch files allocated by DSCF and RIDFT can be placed anywhere
in your file systems instead of the working directory by referencing
their pathnames in this data group. All possible scratch files are listed
in the following example:
$scratch files
dscf dens path1/file1
dscf fock path2/file2
dscf dfock path3/file3
dscf ddens path4/file4
dscf xsv path5/file5
dscf pulay path6/file6
dscf statistics path7/file7
dscf errvec path8/file8
dscf oldfock path9/file9
dscf oneint path10/file10
The first column specifies the program type (dscf stands for SCF
energy calculations and is valid for both DSCF and RIDFT programs ), the
second column the scratch file needed by this program and the third column
the pathname of the file to be used as scratch file.
The following options are allowed
Options kora, dscf parallel, grad, mpgrad, polly will be described
in the related chapters.
If $statistics dscf has been given integral prescreening will be
performed (which is an
$thize and $thime will be dumped.
Afterwards, the filespace needed for the current combination of $thize
and
$thime will be written to the data group ($scfintunit)
and $statistics dscf will be replaced by $statistics off.
Integral storage parameter, which is related to the time needed to calculate
the integral. The larger integer the less integrals will be stored.
The default value is integer = 5. (see also $thize,
$statistics)
Integral storage parameter, that determines, together with $thime, the
number of integrals stored on disc. Only integrals larger than real
will be stored. The default value is real = 0.100E-04.