Contents
HF/DFT.
Example:
$scf RHF $end
The following line is an integer array, .
The following line is an integer array, .
The following line is an integer array, .
Values: Atom, Hcore, Huckel, Read.
If Read is used, the old orbital will be read. The program searches for the following files, in that order:
(1) $BDF_TMPDIR/[taskname].inporb
(2) $BDF_TMPDIR/inporb
(3) $BDF_WORKDIR/[taskname].scforb
The initial guess orbitals will be read from the first file that exists, and will be Lowdin orthogonalized before they are used in the SCF calculation. If the orbital file is invalid, corrupted, or incompatible with the current calculation (e.g. the number of basis functions is different), then the atomic guess will be used instead.
Notice that we recommend users choose Hcore for the following MCSCF calculations.
Mix the orbitals of the initial guess wavefunction. This is useful in two contexts: (1) generation of broken-symmetry wavefunctions, and (2) swapping of one or more occupied orbital(s) with virtual orbital(s) in order to converge to a different electronic state. Note that normally Mixorb is only useful when the initial guess is read from a file (see the Guess keyword), otherwise the initial guess orbitals are not known at the time the input file is written, which means that the behavior of Mixorb will be unpredictable.
The first line after the keyword is an integer, N, that specifies how many orbital pairs need to be mixed. The 2nd to (N+1)th lines each consists of 5 numbers: the spin of the orbital pair (1=alpha, 2=beta), the irreducible representation (irrep) of the orbital pair, the index of the first orbital, the index of the second orbital, and the mixing angle (in degrees).
$scf RHF guess read mixorb 1 1,3,10,11,45 $end
will mix the 10th alpha orbital of the 3rd irrep with the 11th alpha orbital of the 3rd irrep like and , while
$scf UHF guess read mixorb 1 2,5,7,8,90 $end
$scf RKS DFT B3LYP $end
Below is a list of functionals supported by the SCF module, together with whether they are supported by other modules, and whether they are supported by the DFT-D3 dispersion correction:
Functional |
SCF/Elecoup |
TDDFT/NMR |
Resp (excluding gradients & NACMEs) |
Resp (gradients & NACMEs) |
DFT-D3 |
LDA functionals |
|||||
LSDA |
√ |
√ |
√ |
√ |
× |
SVWN5 |
√ |
√ |
√ |
√ |
× |
SAOP |
√ |
√ |
× |
× |
× |
GGA functionals |
|||||
BP86 |
√ |
√ |
√ |
√ |
√ |
BLYP |
√ |
√ |
√ |
√ |
√ |
PBE |
√ |
√ |
√ |
√ |
√ |
PW91 |
√ |
√ |
× |
× |
× |
OLYP |
√ |
√ |
√ |
√ |
× |
KT2 |
√ |
√ |
× |
× |
× |
Hybrid GGA functionals |
|||||
B3LYP [a] |
√ |
√ |
√ |
√ |
√ |
GB3LYP [b] |
√ |
√ |
√ |
√ |
√ |
BHHLYP |
√ |
√ |
√ |
√ |
√ |
B3PW91 |
√ |
√ |
× |
× |
√ |
PBE0 |
√ |
√ |
√ |
√ |
√ |
HFLYP |
√ |
√ |
√ |
√ |
× |
VBLYP |
√ |
√ |
× |
× |
× |
SF5050 |
√ |
√ |
× |
× |
× |
Range-separated hybrid GGA functionals |
|||||
CAM-B3LYP [c] |
√ |
√ [f] |
√ |
× |
√ |
LC-BLYP [c] |
√ |
√ [f] |
√ |
× |
× |
wB97 [d] |
√ |
√ [f] |
× |
× |
× |
wB97X [e] |
√ |
√ [f] |
× |
× |
× |
wB97X-D [e] |
√ |
√ [f] |
× |
× |
√ |
Meta-GGA and hybrid meta-GGA functionals |
|||||
M06L |
√ |
√ [f] |
× |
√ [g] |
× |
M062X |
√ |
√ [f] |
× |
√ [g] |
× |
M11L |
√ |
√ [f] |
× |
√ [g] |
× |
MN12L |
√ |
√ [f] |
× |
√ [g] |
× |
MN15L |
√ |
√ [f] |
× |
√ [g] |
× |
TPSS |
√ |
√ [f] |
× |
√ [g] |
× |
TPSSh |
√ |
√ [f] |
× |
√ [g] |
× |
SCAN |
√ |
√ [f] |
× |
√ [g] |
× |
r2SCAN |
√ |
√ [f] |
× |
√ [g] |
× |
SCAN0 |
√ |
√ [f] |
× |
√ [g] |
× |
PW6B95 |
√ |
√ [f] |
× |
√ [g] |
× |
Double hybrid functionals |
|||||
B2PLYP [h] |
√ [i] |
× |
× |
× |
√ |
[a] The B3LYP functional used in Turbomole, ORCA, etc., where the LDA correlation is VWN5.
[b] The B3LYP functional used in Gaussian, etc., where the LDA correlation is VWN3.
[c] Must specify rs 0.33 in $xuanyuan.
[d] Must specify rs 0.40 in $xuanyuan.
[e] Must specify rs 0.30 in $xuanyuan.
[f] TDDFT only.
[g] Ground-state gradients only.
[h] Must add a $mp2 block after the $scf block to calculate the MP2 contribution to B2PLYP.
[i] Elecoup nominally supported, but the contribution of perturbative doubles is not included, i.e. the elecoup results are approximate.
Alternatively, the user may specify the exchange and correlation functionals separately, for example
$scf RKS DFT B88 VWN5 $end
specifies the functional BVWN5. The supported exchange and correlation functionals are:
Exchange functionals: LDA, B3, PW91, B88, LC-B88, FT97, PBE Correlation functionals: VWN, VWN5, PW91, PW92, P86, PBE, FT97, LYP, PZ81
$scf ... DFT PBE facex 0.375 $end
For example, the following input defines the DSD-BLYP functional (herein the fss and fos keywords are the spin-component-scaling (SCS) parameters. For details, see mp2):
$scf ... dft B2PLYP facex 0.75 facco # One minus DFT correlation factor 0.47 $end $mp2 fss 0.60 fos 0.46 $end
Numbers of radius and angular grids of each atomic type in COSX calculation. Example: CH2 molecule 20 194 # Grid for C 20 194 # Grid for H
Use DirectGrid. Basis set values on the grid points are calculated directly. Default: Direct SCF, use direct grid. None Direct SCF, do not use direct grid.
will be used. NoGridSwitch dissiable grid switch and use default grid directly.
If the numerical integral , the basis will be neglected at grid batch k. The is defined as
Default value:
Neglect the basis , if . The is defined as
If input values is ,
Neglect the basis at grid batch k, if . The is defined as
If input values is ,
: (uv|rs) D_{rs}, D_{rs} ==> Atom diagonal D matrix
: (uv|rs) D_{rs}, D_{rs} ==> Shell diagonal D matrix
: (uv|rs) D_{rs}, D_{rs} ==> Atom Occupied shell diagonal D matrix
: (uv|rs) D_{rs}, u and v belong to one atom, same as r and s
: model coulpot got by modpotz
: model coulpot got by ACP (Atom Occupied shell diagonal D)
Method(1) == +OMPEC
Method(2) == +OMPEC,
Method(3) == OMPEC for
Method(4) == ACP +OMPEC for
The maximum Number of SCF iteration. Default: 100.
Logical control parameter. Disable DIIS.
Set DIIS algorithm. XIISID=0, DIIS; XIISID=1, LCIIS. Default: XIISID=0.
$SCF threshconv 1.d-6 1.d-4 $END
DIISmode: 0: diisdim goes from 0 to maxdiis, then cycles to 0. And reset to 0 when diis fails. 1: diisdim goes from 0 to maxdiis, keeps maxdiis. And throw the oldest vector (reduce diisdim) when diis fails. Default: 0.
Invokes the Semiempirical Model Hamiltonian (SMH) converger. Can be used in conjunction with DIIS, damp or vshift. On average, SMH reduces the number of SCF iterations by 10-15 %, with the largest savings observed in systems with charge transfer character and/or strong correlation, where savings can reach 30 % to 6 fold. At this point, the SMH converger is available for RHF/RKS and UHF/UKS, but not for ROHF/ROKS. Besides, the SMH converger cannot be used when Fermi smearing is turned on, or when the basis set is linearly dependent. NOTE: SMH is turned on by default whenever it is supported.
Control parameter of electron occupation protocol in each SCF iteration. IAUFBAU = 1, electron occupation obeys Aufbau principle(default); IAUFBAU = 2, electrons complies with specific occupation pattern based on maximum occupation method(mom); IAUFBAU = 3, electrons complies with specific occupation pattern based on maximum occupation method(mom). Update MO coefficients and reorder occupied orbitals in each iteration. WARNING if IAUFBAU=2 or 3 without initial guess=read (this means initial guess is bad), the result is unpredictable.
Temperature (in Kelvin) used in Fermi smearing. A realistic temperature (e.g. 300 K) allows one to probe the finite-temperature effects of the electronic structure, while much higher temperatures (5000 K for pure functionals, 10000 K for hybrid functionals, or 20000 K for HF) may be useful for stabilizing SCF convergence. Note that the final energy includes the electronic entropy contribution, which is printed in the "Final scf result" section under the name "-TS_ele". Subtracting this contribution from the final energy (E_tot) gives the electronic energy. Note: Smeartemp must not be used together with vshift and/or SMH, nor can it be used in bottom-up FLMO calculations or other calculations where the keyword sylv is set to a non-zero value.
Block-diagonalize the Fock matrix by solving the Sylvester equation (recommended when the Fock diagonalization time takes a significant fraction of the total computational time, and the basis set is small, e.g. minimal or double zeta). This automatically sets Blkiop=3.
Diagonalize the Fock matrix using the iVI method (recommended when the Fock diagonalization time takes a significant fraction of the total computational time, AND the basis set is large, e.g. at least triple zeta). 1:CHC rotation with Fock screen, automatic switch betwwen iVI and Dsyev. 2:iVI for GEP (generalized eigenvalue problem) diagonalization. 3:iVI for EP (eigenvalue problem) with Cholesky decomposition of S.
7 and 8 for iVI diagonalization otherwise specific pFLMO diagonalization: 1: SAI, 2: DDS, 3: DNR, 4: DGN, 5: FNR, 6: FGN 8: CHC rotation with Fock screen, full diagonalization 7: iVI diagonalization, specific by iviop. Recommended value of Blkiop: 3
Calculate effective contact densities for the atoms with ZA ≥ minza. The finite nucleus model must be used which is specified in xuanyuan .
NOTE The effective contact densities are very sensitive to basis functions. Very steep primitive s-functions (and p-functions for p-block elements) have to be used to get accurate results.
Calculate electric field gradient (EFG) tensor and nuclear quadrupole coupling constant (NQCC) for the atoms with ZA ≥ minza. The finite nucleus model must be used which is specified in xuanyuan .
NOTE The EFG tensor is very sensitive to basis functions. Both steep and diffuse primitive s, p, d, and f-functions, if they are involved in the occupied atomic orbitals, have to be used to get accurate results. In addition, (static and dynamic) electronic correlations are also important for EFG. For example, EFG of a degenerate state by HF/DFT may be unreliable.
An example,
$xuanyuan scalar heff 23 nuclear 1 $end $scf rhf reled 10 relefg 10 $end
Check if the basis sets is linear dependent. If diffuse basis set is used, SCF do not converge or ridiculous energy observed, it is better to check linear dependent of the basis set.
$SCF checklin $END
Tolerance of basis set linear dependent. Default value 1.d-7.
$SCF tollin 1.d-5 $END
used to excite electrons (MOM)with following keywords:
hpalpha,hpbeta
then with number of partical-hole pairs N
then with 2N lines specificate partical-hole pairs. (0 is do nothing, indexes start from 1)
eg. the molecular is has 4 irreducible representation, we want to excite electrons from orb 5,6 to 8,9 in rep 1 and 3 to 4 in rep 3 (alpha) & 7 to 8 in rep 1(beta):
ifpair hpalpha 2 5 0 3 0 8 0 4 0 6 0 0 0 9 0 0 0 hpbeta 1 7 0 0 0 8 0 0 0
this should be combined with iaufbau=2 or 3.
WARNING: this function will not check whether partical orbital is filled or whether hole orbiltal is not filled.
specificate fix orbitals
first line specificates the number of fix orbitals
then with N lines specificate fix orbitals. (0 is do nothing, indexes start from 1)
(somewhat likes hpalpha/hpbeta input)
these keywords leads to SCF_solver from solve FC=SCE to
Set parameter omega in RS Hybrid functional as CAM-B3lyp, LC-Blyp, etc. Only used in debugging.
Set alpha, beta parameters in RS Hybrid functionals. Only used in debugging.
Filename |
Description |
Format |
|
|
|
$COMPASS Title Cocaine Molecule test run, CC-PVDZ Basis CC-PVDZ Geometry XYZ # The molecule geometry will be read from file $BDFTASK.xyz End Geometry Skeleton # This keyword must be used. $End $xuanyuan Direct # Direct SCF. Schwarz # Schwarz prescreening. $end $scf RKS DFT functional B3LYP Molden # This keyword is used to output SCF orbital to molden format file. $end
Suppose you have performed a calculation and generated aSCF orbital file in your work directory as test.scforb. Usually, this file atomically generated by SCF module. This file also can be used to restart SCF calculation via read it as initial guess orbital.
$COMPASS Title Cocaine Molecule test run, CC-PVDZ Basis CC-PVDZ Geometry XYZ # The molecule geometry will be read from file $BDFTASK.xyz. End Geometry Skeleton # This keyword must be used. $End $xuanyuan Direct # Direct SCF. Schwarz # Schwarz prescreening. $end # Copy orbital file test.scforb as inporb in BDF_TMPDIR % cp $BDF_WORKDIR/test.scforb $BDF_TMPDIR/inporb $scf RKS DFT functional B3LYP Guess # Read orbital as initial guess orbital Read Molden # This keyword is used to output SCF orbital to molden format file. $end
In HF/DFT calculation, the J and K matrices could be calculated with the different algorithms. One can calculate J and K operators with four-index electron repulsion (denote as J-ERI and K-ERI). One can also calculate J operator by using multipole-expansion to calculate coulomb potential (J-Coulpot). Coulpot is much faster than J-ERI. For K matrix, one can also use Chain-of-Spheres for exchange (K-COSX) scheme introduced by Frank Neese. Therefore, there are possible four combination to calculate J+K operatros in BDF. Here is example input.
### # Molecule: Trypophane # DFT/B3lyp, Direct SCF/ERI, Direct SCF/Coulpot+COSX, ### $COMPASS Title Trypophane Molecule test. Different SCF algoritm Basis def2-svp Geometry C -5.180310 1.350093 -0.761602 N -4.541127 1.810914 1.512755 C -4.214871 1.026972 0.352222 C -4.314616 -0.453360 0.696018 C -2.985178 -1.107032 0.480801 C -2.691578 -2.435732 0.687001 N -1.371378 -2.626032 0.374901 C -0.802178 -1.440032 -0.031299 C 0.506322 -1.158132 -0.441399 C 0.800622 0.160368 -0.802499 C -0.175278 1.153768 -0.754599 C -1.479078 0.854668 -0.341999 C -1.799378 -0.466032 0.026601 O -6.055556 2.163783 -0.585200 O -5.066908 0.735342 -1.944592 H -3.986324 1.717755 2.363587 H -5.327349 2.460137 1.485110 H -3.177889 1.263584 0.024424 H -4.615011 -0.566763 1.761696 H -5.075156 -0.935542 0.041917 H -3.392007 -3.207186 1.039501 H -0.866143 -3.544417 0.436596 H 1.274481 -1.944628 -0.478218 H 1.818909 0.417434 -1.129621 H 0.081435 2.183514 -1.043948 H -2.245318 1.643076 -0.306108 H -5.688781 0.943476 -2.662045 End geometry Check skeleton $END $XUANYUAN direct schwarz $END #This is a DFT calculation with J-ERI + K-ERI %echo "CHECKDATA: RKS with ZY-NI and ERI" $SCF RKS dft functional b3lyp $END #This is a DFT calcualtion with J-Coulpot + K-ERI %echo "CHECKDATA: RKS with ZY-NI, Coulomb potential+COSX" $SCF RKS dft functional b3lyp COULPOT $END #This is a DFT calcualtion with J-ERI + K-COSX %echo "CHECKDATA: RKS with ZY-NI, Coulomb potential+COSX" $SCF RKS dft functional b3lyp COSX $END #This is a DFT calcualtion with J-Coulpot + K-COSX %echo "CHECKDATA: RKS with ZY-NI, Coulomb potential+COSX" $SCF RKS dft functional b3lyp COULPOT+COSX $END