compass
Contents
Compass is used to do some preprocessing of the user's input. The main task of compass is to read molecule geometry and basis set and store them as internal data structure. The point group symmetry of molecule could be determined automatically and symmetry information will be generated.
General keywords
Basis
The following line is a string to specify the basis set name used in calculation. This string is used to locate the file in which basis set are stored. In general, there is a file with the name of capital "string" in the directory basis_library of BDF main directory. In addition to the directory basis_library, the work directory will also be searched to locate the basis set. Thus, users can write the basis set into a file with the name of "NAME" in work directory and specify in input file.
Both all-electron basis set and ECP basis set are supported. See below about ECP basis sets available in the BDF basis library.
If multiple basis sets are specified, a suffix -multi is needed after Basis. Basis-block is a synonym for Basis-multi. Then the first basis set (or basis set file) in the next line is the default one, and in the subsequent lines different basis sets (or basis set files) may be assigned to different elements in the format
- Ele_1, Ele_2, ..., Ele_n = basis_set_name
The Basis input block may be ended by End Basis, which is usually optional but required for Basis-block or Basis-multi.
Examples:
$Compass Basis cc-pvdz Geometry H 0.000 0.000 0.707 H 0.000 0.000 -0.707 End Geometry $End
$Compass # ECP basis set is used. Basis SBKJC-VDZ Geometry Br 0.000 0.000 0.000 I 0.000 0.000 2.500 End Geometry $End
$Compass # multiple basis sets with ECP for Xe. "End Basis" is needed. Basis-multi 3-21g C,N = 6-31g Xe = cc-pvdz-pp End Basis Geometry H 0.0 0.0 -1.1 C 0.0 0.0 0.0 N 0.0 0.0 1.0 Xe 3.0 0.0 0.0 End geometry $End
If one wants to assign different basis sets to the same element, one can do so by labeling atoms using numbers:
$compass title CH4+OH transition state basis-multi # This assigns 3-21G to C, O and the hydrogen labeled by H1, and STO-3G for other H's STO-3G C,O,H1 = 3-21G end basis geometry C -1.30476780 -0.28217649 0.01651161 H1 0.06922223 -0.06461901 -0.06668006 H -1.52745706 0.09005560 1.00578897 H -1.67541520 0.37402566 -0.75763714 H -1.66524887 -1.32013775 -0.12243054 O 1.24625883 0.22654592 -0.07441161 H 1.43958218 1.19260549 0.09238462 end geometry skeleton $end
RI-J/RI-K/RI-C
Define auxiliary basis sets used in RI calculation. RI-J: Coulomb fitting. RI-K: exchange fitting, RI-C: correlation fitting.
Examples:
$Compass Basis DEF2-SVP RI-J DEF2-SVP Geometry H 0.000 0.000 0.707 H 0.000 0.000 -0.707 End Geometry $End
Geometry
The cartesian coordinates of a molecule are written as following lines with the format of
- Atom x y z
The string End of geometry is used to specify the end of the geometry input. The "xyz" formatted file can also be used as molecule geometry input. Users can write molecule geometry into a file named "test.xyz" (if your input file named test.inp, the input geometry should be stored in test.xyz using standard xyz format) and put it in work directory. The compass will read molecule geometry from this file.
Examples:
$Compass Basis cc-pvdz Geometry H 0.000 0.000 0.707 H 0.000 0.000 -0.707 End Geometry $End
Geometry is read from a file filename.xyz in the standard xyz format
$Compass Basis cc-pvdz Geometry file=filename.xyz End of Geometry $End
For a xyz file with the default name $bdftask.xyz, one may also simply specify xyz instead of file=filename.xyz.
Geometry is read as an internal coordinate.
$Compass Basis cc-pVDZ Geometry O H 1 0.95 H 1 0.95 2 109.0 End Geometry $End
Restart
Use [taskname].optgeom (herein [taskname] is the name of the input file with .inp stripped off), rather than the geometry specified in the input file, as the input geometry. Useful in restarting geometry optimizations (such that the user does not need to copy the coordinates in the .optgeom file into the input file).
Group
The following line is used to set the point group of the molecule used in calculation. Usually, the point group can be determined by BDF automatically. However, the point group with degenerated representation is only supported by BDF in HF/DFT/TDDFT calculations. In general, D2h and subgroup is used by most of BDF modules. By default, BDF will use highest ablian group of a molecules point group in calculation if use do not set "Skeleton" keyword. Users can specify the subgroup of molecule point group in calculation.
For Abelian group symmetries, the numbering of irreps is
Abelian group |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
D2h |
Ag |
B1g |
B2g |
B3g |
Au |
B1u |
B2u |
B3u |
D2 |
A |
B1 |
B2 |
B3 |
|
|
|
|
C2h |
Ag |
Bg |
Au |
Bu |
|
|
|
|
C2v |
A1 |
A2 |
B1 |
B2 |
|
|
|
|
Ci |
Ag |
Au |
|
|
|
|
|
|
C2 |
A |
B |
|
|
|
|
|
|
Cs |
A' |
A" |
|
|
|
|
|
|
C1 |
A |
|
|
|
|
|
|
|
Examples:
A linear molecule CH has the Cinfv linear symmetry. We can use highest albeilian subgroup in calculation
$Compass Basis sto-3g Geometry C 0.0 0.0 0.0 H 0.0 0.0 1.6 End Geometry Group C(2v) $End
Nosymm
This keyword is used to turn off the molecule symmetry in the calculation.
Norotate
Disables rotation to standard orientation. Mandatory for QM/MM.
Difference between Norotate and Nosym. The keyword "Nosymm" disables using the molecular point group symmetry. The molecular symmetry does not be checked abd the input coordinates are not rotated. C1 group is used in the calculation. The keyword "Norotate" still checks the molecular symmetry according to the input coordinates but the molecular coordinates are not rotated to standard orientation. The molecular point group is still used in the calculation.
Thresh
The threshold for detecting point group symmetry. Possible values: tight, medium, coarse. Default: tight.
Unit
This keyword is used to set the unit of input coordinate. "Bohr" is for the atomic unit. "Angstrom" is for angstrom. The angstrom is used for default.
Examples:
$Compass Basis cc-pvdz Geometry H 0.000 0.000 1.5 H 0.000 0.000 -1.5 End Geometry Unit Bohr $End
Skeleton
This keyword ask the skeleton matrix method is used in the calculation. The symmetry-adapted integrals will not be generated and the symmetry-independent integrals will be used to calculate the skeleton Fock/J/K matrices in the calculation. The integral direct SCF and post-HF calculation use this method in the calculation. The none-abelian group can be used in calculation when Skeleton is asked.
Skeleton is a default keyword now but incompatible with wavefunction theory based post-HF methods; use the Saorb keyword instead in the latter case.
Example:
A CH4 molecule has the Td symmetry, we can use Td group in SCF calculation.
$Compass Title CH4 Molecule test run, 3-21G Basis 3-21G Geometry C 0.000000 0.000000 0.000000 H 0.617765 0.617765 0.617765 H -0.617765 -0.617765 0.617765 H -0.617765 0.617765 -0.617765 H 0.617765 -0.617765 -0.617765 End geometry Skeleton $End
Saorb
This keyword requests the symmetry-adapted integrals to be generated. It also requests the traditional integral indirect SCF procedure.
Extcharge
Define the type of external charge in the calculation. If the input file is named $bdftask.inp, then a file with name $bdftask.extcharge should be put into the working directory to input charges and coordinates. The value should be point and gaussian.
$COMPASS Title H2 Molecule test run, 3-21G Basis cc-pvdz Geometry H 0.000 0.000 0.70018162 H 0.000 0.000 -0.70018162 X 0.000 0.000 0.80018162 X 0.000 0.000 -0.80018162 X 0.000 0.000 0.60018162 X 0.000 0.000 -0.60018162 End geometry Check Unit Bohr nosymm ExtCharge Point $END
The format of the $bdftask.extcharge file should be:
First line: an arbitrary title Second line: number of charges and unit of coordinates (Angstrom (default) or Bohr), delimited by a space From the third line on, each line denotes a point charge and consists of five fields: element name, amount of charge, x coordinate, y coordinate, z coordinate
Example:
External charge, Point charge 4 bohr C -0.27 0.0000000000 0.0000000000 -1.4431177457 H 0.09 1.6563586362 0.9562991045 -2.1854206090 H 0.09 -0.0000000000 -1.9125982090 -2.1854206090 H 0.09 -1.6563586362 0.9562991045 -2.1854206090
Restart
Use the coordinates in $BDFTASK.optgeom as the input structure, instead of that given under the "geometry" keyword in the $compass block of the current input file. Note that geometry must still be provided in the input file, which has the same number and order of atoms, but the coordinates may be arbitrary. This keyword is especially useful in restarting geometry optimizations.
MPEC+COSX
Ask for MPEC+COSX calculation if it is available.
Nfragment
The number of molecular fragments. The molecular fragments information will be read from &database ... &end domain.
GODetail
Print detail information of the symmetry-adapted orbital as linear combination coefficients, components of atomic orbitals.
Print level. Not be used intensively at present. It is better to use this keyword to set the global print level in all BDF modules.
Values: 0 (Default), >5 (debug).
ExpBas
Export the basis functions used for the given atoms in the format of some other programs.
The available values are 0 (Default), 1 (Molpro), 2 (Molcas), 3 (Gaussian), 4 (ORCA), and 5 (CFour).
Relative
Relativistic calculation using spinor orbital. Only for debug, not well implemented yet.
Expert keywords
Uncontract
This keyword asks to use primitive GTOs instead of contracted ones.
Prim
This keyword asks to read primitive GTOs from a specific basis file. In the basis file, ncont must equal to nprim and the contraction coefficients are not provided.
Atommass
Define the atomic mass. Unit in Dalton.
2 # number of atoms C 13.10 # label mass H 2.00 # label mass
Kratzer
Non-adibatic diatom molecule calculation. Next line is used to specify the parameters of Kratzer potential. Three integers and two floats are needed.
$COMPASS Title H2 Molecule test run, 3-21G Basis cc-pvdz Geometry H 0.000 0.000 0.70018162 H 0.000 0.000 -0.70018162 X 0.000 0.000 0.80018162 X 0.000 0.000 -0.80018162 X 0.000 0.000 0.60018162 X 0.000 0.000 -0.60018162 End geometry Check Unit Bohr nosymm Kratzer # maxnu maxj ngausslag re de 10 0 50 1.40036324 0.365148 $END
ECP basis sets
At the moment the following ECP basis sets are available in the basis library.
Basis set |
SOECP? |
Elements |
Comments |
aug-cc-pVnZ-PP |
Yes |
Cu-Kr, Y-Xe, Hf-Rn |
n = D, T, Q, or 5. Stuttgart-Cologne MCDHF+Breit pseudopotentials |
aug-cc-pWCVnZ-PP |
Yes |
Cu-Kr, Y-Xe, Hf-Rn |
n = D, T, Q, or 5. Stuttgart-Cologne MCDHF+Breit pseudopotentials |
cc-pVnZ-PP |
Yes |
Cu-Kr, Y-Xe, Hf-Rn, Th-U |
n = D, T, or Q. Stuttgart-Cologne MCDHF+Breit pseudopotentials |
cc-pWCVnZ-PP |
Yes |
Cu-Kr, Y-Xe, Hf-Rn, Th-U |
n = D, T, or Q. Stuttgart-Cologne MCDHF+Breit pseudopotentials |
cc-pV5Z-PP |
Yes |
Cu-Kr, Y-Xe, Hf-Rn |
Stuttgart-Cologne MCDHF+Breit pseudopotentials |
cc-pWCV5Z-PP |
Yes |
Cu-Kr, Y-Xe, Hf-Rn |
Stuttgart-Cologne MCDHF+Breit pseudopotentials |
aug-cc-pVnZ-ccECP |
No |
Li-F, Na-Cl, K-Kr |
n = D, T, Q, 5, or 6. Li, Na, and Sc-Zn are not available for n = 6. ccECP pseudopotentials |
aug-cc-pCVnZ-ccECP |
No |
K-Zn |
n = D, T, Q, or 5. ccECP pseudopotentials |
cc-pVnZ-ccECP |
No |
Li-Kr |
n = D, T, Q, 5, or 6. Li, Na, and Sc-Zn are not available for n = 6. ccECP pseudopotentials |
cc-pCVnZ-ccECP |
No |
K-Zn |
n = D, T, Q, or 5. ccECP pseudopotentials |
CRENBL |
Yes |
H a, Li-Og |
a All-electron. Large valence basis set with Clarkson small core pseudopotentials |
CRENBS |
Yes |
Sc-Kr, Y-Xe, La, Hf-Rn, Rf-Og |
Small valence basis set with Clarkson large core pseudopotentials |
DEF2-QZVP/QZVPP/QZVPD/QZVPPD |
No |
H-Kr a, Rb-La, Hf-Rn |
Old version of Def2. a All-electron. |
DEF2-QZVP/QZVPP-TM73 |
No |
H-Kr a, Rb-Rn |
New version of Def2 from Turbomole 7.3. a All-electron |
DEF2-QZVPD/QZVPPD-TM73 |
No |
H-Kr a, Rb-La, Hf-Rn |
New version of Def2 from Turbomole 7.3. a All-electron |
DEF2-SV(P)/SVP/SVPD |
No |
H-Kr a, Rb-La, Hf-Rn |
Old version of Def2. a All-electron |
DEF2-SV(P)/SVP-TM73 |
No |
H-Kr a, Rb-Rn |
New version of Def2 from Turbomole 7.3. a All-electron |
DEF2-SVPD-TM73 |
No |
H-Kr a, Rb-La, Hf-Rn |
New version of Def2 from Turbomole 7.3. a All-electron |
DEF2-TZVP/TZVPP/TZVPD/TZVPPD |
No |
H-Kr a, Rb-La, Hf-Rn |
Old version of Def2. a All-electron |
DEF2-TZVP/TZVPP-TM73 |
No |
H-Kr a, Rb-Rn |
New version of Def2 from Turbomole 7.3. a All-electron |
DEF2-TZVPD/TZVPPD-TM73 |
No |
H-Kr a, Rb-La, Hf-Rn |
New version of Def2 from Turbomole 7.3. a All-electron |
DEF2-TZVP-F/TZVPP-F/TZVP-F-TM73/TZVPP-F-TM73 |
No |
|
DEF2-TZVP/TZVPP/TZVP-TM73/TZVPP-TM73 with f polarization removed from main group elements H-Ar |
MA-DEF2-SV(P)/SVP/TZVP/TZVPP/QZVP/QZVPP |
No |
H-Kr a, Rb-La, Hf-Rn |
a All-electron |
DHF-SV(P)/SVP/TZVP/TZVPP/QZVP/QZVPP |
Yes |
Rb-Ba, Hf-Rn |
SOECP basis sets from Turbomole |
LANL08 |
No |
Na-La, Hf-Bi |
|
LANL08(D) |
No |
Si-Cl, Ge-Br, Sn-I, Pb-Bi |
|
LANL08(F) |
No |
Sc-Cu, Y-Ag, La, Hf-Au |
|
LANL08+ |
No |
Sc-Zn |
|
LANL2DZ |
No |
H and Li-Ne a, Na-La, Hf-Bi, U-Pu |
a All-electron |
LANL2DZDP |
No |
H and C-F a, Si-Cl, Ge-Br, Sn-I, Pb-Bi |
a All-electron |
LANL2TZ |
No |
Sc-Zn, Y-Cd, La, Hf-Hg |
|
LANL2TZ(F) |
No |
Sc-Cu, Y-Ag, La, Hf-Au |
|
LANL2TZ+ |
No |
Sc-Zn |
|
MODIFIED-LANL2DZ |
No |
Sc-Cu, Y-Ag, La, Hf-Au |
|
Pitzer-AVDZ-PP |
Yes |
Li-Ne |
Pitzer's aug-cc-pVDZ basis set with Clarkson pseudopotentials |
Pitzer-VnZ-PP |
Yes |
Li-Ar |
n = D or T. Pitzer's cc-pVnZ basis sets with Clarkson pseudopotentials |
PSBKJC |
No |
C-F, Si-Cl, Ge-Br, Sn-I |
|
SBKJC-VDZ |
No |
H-He a, Li-Ce, Hf-Rn |
a All-electron |
SBKJC-POLAR |
No |
H-He a, Li-Ca, Ge-Sr, Sn-Ba, Pb-Rn |
a All-electron |
STUTTGART-ECPMDFSO-QZVP |
Yes |
K, Ca, Rb, Sr, Cs, Ba, Fr-U |
Stuttgart-Cologne MCDHF+Breit pseudopotentials |
STUTTGART-ECP92MDFQ-nZVP |
Yes |
Rg (Z=111)-Ubn (Z=120) |
n = D, T, or Q. Stuttgart-Cologne MCDHF+Breit+QED pseudopotentials |
STUTTGART-RLC |
No |
Li-Ca, Zn-Sr, In-Ba, Hg-Rn, Ac-Lr |
Stuttgart-Cologne pseudopotentials |
STUTTGART-RSC-1997 |
No |
K-Zn, Rb-Cd, Cs-Ba, Ce-Yb, Hf-Hg, Ac-Lr, Db |
Stuttgart-Cologne pseudopotentials |
STUTTGART-RSC-ANO/SEG |
Yes |
La-Lu, Ac-Lr |
Stuttgart-Cologne MWB pseudopotentials |
Used files
Filename |
Description |
Format |
Position |
Input/output |
$BDFTASK.chkfil |
Global variables |
Binary |
WORKDIR |
Output |
$BDFTASK.symorb |
Symmetry-adapted orbitals |
Binary |
TMPDIR |
Output |
$BDFTASK.grpinf |
Data for using molecular point group |
Binary |
TMPDIR |
Output |
$BDFTASK.xyz |
Molecular coordinates save in xyz format |
Fromatted |
WOKRDIR |
Input |