Input

The extension name of XMVB input file is “xmi”. All the contents is organized in sections and case insensitive. The input file is structured in sections with following rules:

  1. The first line of an xmi file is the job title or description of the job and should not be replaced or omitted.

  2. A section start with a line includnig only the section name and ends with a line with only “$END”.

  3. All contents after “#” is recognized as a comment and will not be parsed.

Commonly used sections are:

An example of XMVB input file is shown below:

H2 L-VBSCF # Job title
$CTRL # Start of $CTRL section
NSTR=3 # 3 VB structures in this computation
NAO=2 NAE=2 ISCF=5 # VBSCF algorithm for RDM-based algorithm
IPRINT=3 # Printing level
ORBTYP=HAO FRGTYP=SAO # VB orbitals are HAO with symmetrized atomic orbital fragments (SAO)
INT=LIBCINT # Integrals are evaluated with LIBCINT library
BASIS=CC-PVTZ # Basis set is cc-pVTZ
GUESS=READ # Initial guess read from $GUS section
$END # End of $CTRL section
$STR # Start of $STR section for structure description with NSTR defined in $CTRL
1 2 # covalent structure H-H
1 1 # ionic structure H- H+
2 2 # ionic structure H+ H-
$END # End of $STR section
$FRAG # Start of $FRAG section since SAO fragment is requested
1*2 # 2 fragments, 1 atom included in each
SPZDXXDYYDZZ 1 # Fragment 1, basis functions s, pz, dxx, dyy and dzz on atom 1
SPZDXXDYYDZZ 2 # Fragment 2, basis functions s, pz, dxx, dyy and dzz on atom 2
$END # End of $FRAG section
$ORB # Start of $ORB section for orbital description
1*2 # 2 VB orbitals, each includes 1 fragment (since fragments defined in $FRAG)
1 # orbital 1, with only fragment 1
2 # orbital 2, with only fragment 2
$END # End of $ORB section
$GEO # Start of $GEO section since INT=LIBCINT requested
H 0.0 0.0 0.0     # H2 coordinate given in Cartesian
H 0.0 0.0 0.74
$END # End of $GEO section
$GUS # Start of $GUS section since GUESS=READ requested, pasted from previous computation result
15 15
# ORBITAL 1 NAO = 15
-0.3532245024 1 -0.5363311264 2 -0.2343104477 3 -0.0000000000 4
 0.0000000000 5 -0.0199961314 6 -0.0000000000 7  0.0000000000 8
-0.0192894825 9 -0.0003896018 10 0.0000000000 11 -0.0000000000 12
-0.0003896018 13 0.0000000000 14 -0.0020820012 15
# ORBITAL 2 NAO = 15
 0.3532245024 16 0.5363311264 17 0.2343104477 18 0.0000000000 19
-0.0000000000 20 -0.0199961314 21 0.0000000000 22 -0.0000000000 23
-0.0192894825 24 0.0003896018 25 -0.0000000000 26 -0.0000000000 27
0.0003896018 28 0.0000000000 29 0.0020820013 30
$END

Global control ($CTRL)

The $CTRL section contains the information of how a job is performed. The input format is name=value or name=option, except for the keywords which need no values or options. <enter> and <space> are used to separate keywords. If a keyword accepts several options in a time, the options are separated with “,”.

Keywords for Global Control

BPREP

This keyword initiates an integral transformation from primitive basis functions to VB basis functions with $BFI (see our offline manual) needed. The transformation may freeze core orbitals, remove some primitive basis functions which are not involved in VB calculation, and hybridize basis functions. XMVB will use primitive basis functions without transformation if this keyword is missing.

Note

This keyword cannot be used together with ORBTYP=HAO or GUESS=MO (see descriptions for keywords ORBTYP=option and GUESS=option)

EPG=n

Set the convergent criterion of energy to \(10^{-n}\). Default value is 7.

GPG=n

Set the convergent criterion of gradient. Floating point number is inputted. Default value is 2.D-3 for ISCF=1/3, 1.D-3 for ISCF=2/5, and 1.D-4 for ISCF=6.

ITMAX=n

n is the maximum number of iterations. Default value is 200.

NMUL=n

n is the spin multiplicity (2S + 1) of system. Default value is 1, which means singlet state.

NAO=m

m is the number of active VB orbitals whose occupation number varies in the structures. NAO is required if keywords STR or ISCF=5 (see below) is specified.

NAE=n

n is the number of active VB electrons which occupy the active orbitals. NAE is required if keywords STR or ISCF=5 (see below) is specified.

NSTR=n

n is the number of VB structures (or determinants). This keyword can be omitted if STR (see below) is assigned.

STR=options

This keyword generates VB structures automatically and hence NSTR and the $STR section are not needed. This keyword requires NAO and NAE to declare the active space. Users may use one or several of the following options:

  • COV: Covalent structures will be generated.

  • ION[(n-m)]: Ionic structures will be generated. A simple ION will generate all ionic structures; ION(n,m) will generate only the \(n^\textrm{th}\) and \(m^\textrm{th}\) order ionic structures and ION(n-m) will generate ionic structures from the \(n^\textrm{th}\) to the \(m^\textrm{th}\) order.

  • FULL: All VB structures will be generated.

FIXC

Request to fix structure coefficients for VB structures. In VB theory, the coefficients are obtained by solving the secular equation

\[\mathbf{HC} = E\mathbf{MC}\]

For some special purposes, one may want to fix the coefficients. In such situation, the coefficients are inputted following the corresponding VB structures and the energy will be obtained directly by

\[E=\frac{\sum_K\sum_LC_KC_LH_{KL}}{\sum_K\sum_LC_KC_LM_{KL}}\]

For example, the following input will constrain the coefficients of the three VB structures to be 1.0:0.5:0.5

$STR
1 2 1.0
1 1 0.5
2 2 0.5
$END

The corresponding wave function will in the expression

\[\Psi = N\left( S_1 + 0.5S_2 + 0.5S_3 \right)\]

where N is the normalization coefficient.

GROUP=EXP

Divide VB structures into groups according to the expression EXP. An expression with n structures divided into m groups can be expressed as:

\[\ldots , S_{i1},\ldots ,, \ldots , S_{j2},\ldots,,\ldots,,,\ldots,S_{nm}\ldots\]

Here \(S_{i1} \ldots S_{nm}\) are the structure numbers, a comma “,” is used to separate the structures numbers in the same group, and two commas “,,” is used to separate different groups. Coefficients of structures should be given in Global control ($CTRL), similar to FIXC. The ratio of VB structures within the same group will be fixed, as introduced in FIXC. The coefficients of VB structures in different groups will not be fixed and shall be optimized by solving secular equation. Following is an example:

$CTRL
NSTR=3
GROUP=1„2,3
$END
$STR
1 2 1.0 # S1
1 1 0.5 # S2
2 2 0.5 # S3
$END

The above example devide 3 VB structures into 2 groups:

  • Group 1. \(G_1 = S_1\)

  • Group 2. \(G_2 = 0.5(S_2 + S_3)\)

Hence a 3 structure problem becomes a 2 “structure” problem:

\[\Psi = C_1G_1 + C_2G_2\]

where \(C_1\) and \(C_2\) are coefficients of \(G_1\) and \(G_2\) obtained by solving secular equation. The finalwave function can be expressed as

\[\Psi = C_1S_1 + \frac{C_2}{2}S_2 + \frac{C_2}{2}S_3\]

NSTATE=n

Energy, coefficients and weights of structures for the \(n^\textrm{th}\) excited state, rather than for the ground state, will be calculated and printed out. The values of n can be:

  • 0: The ground state.(Default)

  • n: The \(n^\textrm{th}\) excited state.

Note

  1. VB orbitals are optimized by minimizing the energy of required state. When the \(n^\textrm{th}\) excited state is requested, the \((n+1)^\textrm{th}\) root will be chosen as the \(n^\textrm{th}\) excited state when solving the secular equation. Thus, n must be smaller than the number of structures.

  2. For VBCI calculaitons, NSTATE can be only 0 or 1.

IPRINT=n

Printing levels for XMVB. The available levels are:

  • 1: Initial guess, energy, coefficients, weights, and orbitals will be printed. This is the default printing level.

  • 2: All contents in IPRINT=1, Hamiltonian and overlap matrices in terms of VB structures, and population analysis will be printed.

  • 3: All contents in IPRINT=2, density matrix and orbital overlap matrix will be printed.

SORT

Sort the VB structures in descending order according to coefficients.

CTOL=tol

Set the Coefficient TOLerance when printing coefficients and weights of VB structures.

Only the coefficients and weights of VB structures whose absolute values of coefficients are not smaller than tolerance tol will be printed. The default tolerance is 0, which means all structures will be printed.

Note

The tolerance tol is a real parameter. For instance,

CTOL=0.01

means that only structures whose absolute values of coefficients larger than or equal to 0.01 will be printed. For VBCI this keyword is not functioning

CICUT=n

Set cut threshold to \(10^{-n}\) for CI configurations. The contribution of a CI configuration is estimated by perturbation theory. If the contribution is less than the threshold, the configuration will be discarded. This will reduce the computational effort for CI calculations. Recommended values are 5 or 6. Default value is 0 (no cut).

NCOR=m

In VBCI or VBPT2 calculations, the first m orbitals (2m electrons) will be frozen in the VBCI or VBPT2 calculation. In BOVB caluclations, the first m orbitals will be kept as VBSCF orbitals. The default value is 0, which means all orbitals will be counted in VBCI, VBPT2 or BOVB.

GUESS=option

This keyword describes the way to generate or read the initial guess for a VB computation.

Valid options can be:

  • AUTO: The program automatically provides guess orbitals by diagonalizing a fragmant-localized Fock matrix. This is the default option.

  • UNIT: The first basis function of an orbital in $ORB is set to be the guess for the orbital.

  • NBO: Initial guess will be obtained from NBOs.

  • READ: Guess orbitals are read from external file, which should be provided by user. MO: Initial guess of VB orbitals will be obtained directly from molecular orbitals.

  • RDCI: Initial guess in VBCI type will be given by users.

Note

GUESS=MO cannot be used with BPREP. GUESS=NBO cannot be used with BPREP and needs an extra preparation by NBOPREP. GUESS=AUTO cannot be used when some orbitals contain only one basis function (see Orbital description ($ORB) section).

WFNTYP=option

Options for the way to expand the many-electron wave functions of system.

  • STR: VB structures are used. (Default)

  • DET: VB determinants are used for state functions, instead of VB structures.

VBFTYP=option

Options for the way to expand VB structures.

  • PPD: paired-permanent-determinant algorithm is used.

  • DET: Slater determinant algorithm is used.

By default, the program will decide which one to use according to the system, method, or algorithm the users choose.

Note

  1. PPD expansion can be used only with ISCF=1 or ISCF=3.

  2. ISCF=5, VBPT2, VBCI, DFVB, solvation VB methods, DEN, and IPRINT \(\ge\) 2 will use DET expansion automatically.

  3. All systems with multiplicity larger than 2 will be calculated with DET expansion.

  4. Systems with electrons in VB calculation larger than 14 will be calculated with DET expansion.

ORBTYP=option

Specify the type of VB orbitals. Valid options are:

  • HAO: Hybrid Atomic Orbitals are used.

  • BDO: Bond Distorted Orbitals are used.

  • OEO: Overlap Enhanced Orbitals are used.

  • GEN: VB orbitals are defined by users. (Default)

Note

  1. Fragments definition ($FRAG) is needed if ORBTYP=HAO is specified. The Fragments definition ($FRAG) section will specify the fragments based on atoms or basis functions and orbitals will be assigned in Orbital description ($ORB) section based on the fragment definitions in Fragments definition ($FRAG).

  2. ORBTYP=OEO does not need Fragments definition ($FRAG) and Orbital description ($ORB) sections since the OEOs are delocalized in the whole system.

  3. ORBTYP=GEN does not need Fragments definition ($FRAG) section, and orbitals will be described in terms of VB basis functions explicitly in Orbital description ($ORB) section.

  4. ORBTYP=HAO cannot be used with BPREP.

  5. ORBTYP=BDO can be used with other orbital types, such as ORBTYP=HAO,BDO. ORBTYP=BDO is equivalent to ORBTYP=GEN,BDO.

FRGTYP=option

Specify the type of fragments when ORBTYP=HAO.

  • ATOM: The fragments of system will be defined with atoms. This is the default.

  • SAO: The fragments of system will be defined with symmetrized atomic orbitals.

Note

Fragments definition ($FRAG) is required for FRGTYP=SAO. For FRGTYP=ATOM, each atom is considered as a fragment if no FRAG section appears in the input file.

Keywords for Computational Methods and Algorithms

HF/RHF/UHF/ROHF

A Hartree-Fock calculation will be proceeded. RHF/UHF/ROHF represent the restricted, unrestricted and restricted open-shell Hartree-Fock calculations respectively. When only “HF” is assigned, RHF will be proceeded when system is singlet and UHF for other cases.

Density Functional Theory

A DFT calculation will be proceeded. Currently supported keywords and corresponding functionals are listed below:

  1. LDA Functionals
    1. Slater Slater exchange functional

    2. VWN/VWN5 Vosko-Wilk-Nusair correlation functional

    3. VWN1 Another Vosko-Wilk-Nusair correlation functional

    4. SVWN/SVWN5 Slater + VWN5 XC functional

    5. SVWN1 Slater + VWN1 XC functional

  2. GGA Functionals
    1. B88 Beck88 exchange fuctional

    2. LYP Lee-Yang-Parr correlation functional

    3. BLYP Becke88 + Lee-Yang-Parr XC functional

  3. Hybrid Functionals
    1. BHHLYP 0.5 B88 + 0.5 HFX + LYP hybrid functional

    2. B3LYP Becke’s 3 parameter hybrid functional, with VWN1 involved

    3. B3LYP5 Becke’s 3 parameter hybrid functional, with VWN5 involved

The users may use “R”, “U”, and “RO” ahead of the name of functional to specify restricted, unrestricted or restricted open-shell calculations, the same as HF method. For example, “RB3LYP” will run the restricted B3LYP calculation. If only the name of functional is specified, restricted calculation will be run for singlet and unrestricted for others.

VBSCF

A VB Self-Consistent Field computation is requested. This is the default method for the XMVB program.

BOVB

Ask for a Breathing Orbital VB (BOVB) calculation.

Note

BOVB method cannot be used with VBCI.

BOVB method is usually more difficult to converge than VBSCF. Thus, it is recommended to run a BOVB job with a good initial guess. It is recommended to run a VBSCF calculation first, followed by the BOVB calculation with optimized VBSCF orbitals as the initial guess.

ABOVB

Ask for an Approximate Breathing Orbital VB (A-BOVB) calculation.

BLW

Block Localized Wavefunction (BLW) method is requested. With this keyword specified, Global control ($CTRL) will not be read and the structure will be generated automatically. The users only need specify the type of VB orbitals (see FRGTYP=option and ORBTYP=option above).

Note

The implementation of the BLW method in the program is not optimized. Users are recom mended to run GAMESS-BLW for a BLW calculation.

VBCIS:

Ask for a VBCIS calculation.

VBCISD

Ask for a VBCISD calculation.

VBCIDS

Ask for a VBCIDS calculation.

VBPT2

A VBPT2 computation will be performed.

DFVB

Ask for a DFVB calculation.

SCC

Size-Consistent Correction in DFVB computations will be switched on.

VBEFP

Ask for a VBEFP calculation.

VBPCM

Ask for a VBPCM calculation.

VBEFPPCM

Ask for a VBEFP/PCM calculation.

TBVBSCF

Activate tensor-based VBSCF. Currently TBVBSCF is valid only when:

  1. ISCF=5, NAO=m and NAE=n are selected.

  2. Structures are generated automatically with STR=options.

  3. Number of active electrons should be at least 4, in which 2 for both \(\alpha\) and \(\beta\) parts.

VMAX=n

The maximum number of \(\sigma\) kept in Davidson diagonalization. The default value is 10. Only for TBVBSCF.

READCOEF

Read a file “coef” (see File with coefficients for the structures/determinants (.coeff)) with coefficients of the first n structures as the initial guess of Davidson diagonalization. The file may be obtained from a previous TBVBSCF. Only for TBVBSCF.

ISCF=n

ISCF specifies orbital optimization algorithm. The value n currently can be:

  • 1: Numerical gradients with forward-difference approximation are used with the DFP-BFS algorithm. This is the default option of XMVB.

  • 2: Analytical gradients in terms of basis functions with the L-BFGS algorithm. This algorithm involves only the first-order density matrix and is not suitable in cases displaying structures that are orthogonal to each other.

  • 3: Numerical gradients with central-difference approximation are used with the DFP-BFS algorithm.

  • 4: Optimization with Generalized Brillium Theory(GBT) is requested.

  • 5: Analytical gradients in terms of VB orbitals with the L-BFGS algorithm. This is the most efficient algorithm so far. This option needs NAO and NAE.

  • 6: VBSCF with full hessian matrix. NAO and NAE are needed for this option. This algorithm is potentially faster and more robust than ISCF=5, but it is still under development and thus is not recommended in the current version of the program.

EIGMTHD=option

Specify the way to solve the secular equation and get the energy and coefficients. The available options can be:

  • FULL: Solving secular equation in the traditional way.

  • ITER: An iterative algorithm will be used to solving secular equation. This will be helpful for VBCI or VBSCF with large number of structures.

WSTATE=EXP

Activate the state-average VBSCF calculation for ISCF=1-5. WSTATE may provide an array containing non-zero weights of the specific states. Following is the example for

\[E = 0.5E_3 + 0.3E_5 + 0.2E_8\]
$CTRL
NSTR=10 WSTATE(3)=0.5,0.0,0.3,0.0,0.0,0.2
$END

Keywords for Integrals

INT=option

Read integrals from file or calculate them directly. The valid options can be:

  • READ: Read integrals from existing file “x1e.int” and “x2e.int”. This is the default option.

  • CALC: Calculate integrals directly. Section Geometry description ($GEO) is essential.

  • LIBCINT: Integrals are calculated directly by an external library LIBCINT. Section Geometry description ($GEO) is essential.

BASIS=basis_set

Assigning the basis set when INT=CALC is requested. Basis sets are expressed the same way as Gaussian, i.e. 6-31G*, aug-cc-pVTZ etc. The supported basis sets can be found in Preparing integrals: PREINT.

NCHARGE=n

Charge of the system in current XMVB calculation. Default is 0, which means the neutural system. Positive numbers denote a cation system and negative numbers mean the system is anion. This keyword will also specify the number of electrons in current calculation, NEL is not needed anymore in such case.

ERI=CD

This keyword activates the Cholesky decomposotion for ERIs. Only valid with ISCF=5 and INT=CALC.

CDTOL=float

The tolerance of Cholesky decomposition. Default is \(1 \times 10^{-10}\). Float may be expressed like 1.d-6, 0.001 etc.

Keywords for Wave Function Analysis

BOYS

Boys localization is requested for the final VB orbitals.

Note

It is strongly recommended to use this keyword for VBSCF. This makes VB orbitals easier to be interpreted and more physically meaningful.

Boys localization is available only for VBSCF method.

Boys localization can be only used in cases in which orbitals are separated into blocks, and there is no common basis function between blocks.

DEN

First-order density matrix is requested. The result will be written to a file with extended name “den”.

OUTPUT=AIM

WFN file for AIM2000 program will be printed. This is available only in module distribu- tion. A $AIM with WFN filename is relevant for this keyword. Without $AIM, the content of WFN file will be stored in “.dat” file of GAMESS-US.

Keywords for Symmetry

SYMM=option

Options for the point group used in VB computation. Currently only Abelian groups are supported. More details are shown in the table.

Note

The main axis of the molecule should be put along the Z-axis when \(C_\textrm{2}\), \(C_\textrm{2v}\), \(C_\textrm{2h}\), \(D_\textrm{2}\)and \(D_\textrm{2h}\) are applied.

This keyword cannot be used together with OEO type of VB orbitals(see keyword ORBTYP=option) and MO type of initial guess.

IRRP=option

Options for the irreducible representation used in VB computation. Valid options are shown in the table.

Supported point groups and irreducible representations, and corresponding options for keywords

SYMM Option

Point Group

IRRP Option

Irreducible Representation

CS

\(C_\textrm{s}\)

AP, APP

\(A'\), \(A''\)

CI

\(C_\textrm{i}\)

AG, AU

\(A_\textrm{g}\), \(A_\textrm{u}\)

C2

\(C_\textrm{2}\)

A, B

\(A\), \(B\)

C2V

\(C_\textrm{2v}\)

A1, A2, B1, B2

\(A_\textrm{1}\), \(A_\textrm{2}\), \(B_\textrm{1}\), \(B_\textrm{2}\)

C2H

\(C_\textrm{2h}\)

AG, AU, BG, BU

\(A_\textrm{g}\), \(A_\textrm{u}\), \(B_\textrm{g}\), \(B_\textrm{u}\)

D2

\(D_\textrm{2}\)

A1, A2, B1, B2

\(A_\textrm{1}\), \(A_\textrm{2}\), \(B_\textrm{1}\), \(B_\textrm{2}\)

D2H

\(D_\textrm{2h}\)

AG, AU, B1G, B2G, B3G, B1U, B2U, B3U

\(A_\textrm{g}\), \(A_\textrm{u}\), \(B_\textrm{1g}\), \(B_\textrm{2g}\), \(B_\textrm{3g}\), \(B_\textrm{1u}\), \(B_\textrm{2u}\), \(B_\textrm{3u}\)

Keywords for Previous Version

The following keywords appear in the previous version and are not available since version 2.0. This part is important only for those who are used to the previous version.

CIG

This keyword has been modified as GUESS=RDCI.

DET

This keyword has been replaced by WFNTYP=DET.

EXC

This keyword has been replaced by NSTATE=1.

IOPT=n

This keyword has been replaced by keyword ISCF=n.

IOUT=n

NODIIS

VBXM=n

This keyword has been replaced by keywords WFNTYP=option and VBFTYP=option.

Required for BPREP($BFI)

The BFI section specifies how to transform primitive basis function to VB basis functions.The primitive basis functions are those used in GAMESS, Gaussian or PREINT and VB basis functions are used in XMVB. The Syntax of $BFI section is:

$BFI
NFROZ NBAS
List of frozen MOs
List of basis functions
$END

Here NFROZ is the number of frozen MOs and NBAS is the number of VB basis functions used in XMVB. Then frozen MOs and basis functions will be listed respectively. If there is no MO to be frozen, place a blank line there. The VB basis functions may be reordered according to how users list them. This new order will be used in $ORB section for the orbital description VB structure.

Following are two examples for the BFI section. The first example comes from the HF molecule with 6-31G basis set, where basis functions are not hybridized:

$BFI
3 6
1 4 5
1 2 4 7 8 11
$END

In this example, three MOs 1, 4 and 5 are frozen and 6 VB basis functions are kept for the XMVB calculation. Primitive basis functions 3, 5, 6, 9 and 10 are removed from the list as the corresponding MOs are frozen. Note that the fourth VB basis function is the primitive basis function 7 according to the list, not primitive basis function 4 anymore. The second example comes from the CH4 molecule with 6-31G basis set, showing the orbital freezing and the hybridization of basis functions:

$BFI
3 8
1 3 4
1 1 1 1 1 1 3 3
1.0 1
1.0 2
1.0 4
1.0 7
1.0 8
1.0 11
0.5 12 0.5 14 0.5 16
0.5 13 0.5 15 0.5 17
$END

Here MOs 1, 3 and 4 are frozen and 8 hybrid VB basis functions are used in XMVB calculation. Line “1 1 1 1 1 1 3 3” specifies the number of primitive basis function in each VB basis function. Following lines specifies how the VB basis functions are hybridized. In this example,the 7-th VB basis function is a hybrid basis function composed of 3 primitive basis functions 12, 14 and 16

description ($STR)

The $STR section describes the information of VB structures or VB determinants if DET of $CTRL section is specified. For VB structures, paired electrons, which may be lone pairs or covalent bonds, should be written first followed by unpaired electrons. The number of unpaired electrons depends on the spin multiplicity. For example: For a structure with three lone pairs (orbitals 1, 2, and 3), one covalent bond (orbitals 4 and 5), and one unpaired electron (orbital 6), the structure is expressed as,

1 1 2 2 3 3 4 5 6

For determinants, all alpha orbitals are listed first, followed by beta orbitals. For example: A determinant of alpha orbtials 1, 2, 3, 4, and 6 and beta orbtials 1, 2, 3, and 5 is expressed as

1 2 3 4 6 1 2 3 5

Note that it is strongly recommended to write the most important structure as the first one.

This can avoid potential problems in VBCI.

If BOVB is specified in $CTRL section, the program will try to convert the VB orbitals into breathing orbitals. It uses automatically different orbitals for different structures. For example: If the initial VB structures are:

1 1 2 3
1 1 2 4
1 1 3 5

The program will convert them to:

1 1 2 3
6 6 7 4
8 8 9 5

Note that the VB structures should be independent. VB structures are recommended to be written in the following orders:

Inactive Active

where “Inactive” stands for the inactive orbitals which keep doubly occupied in all structures; “active” stands for the active orbitals whose occupation varies in the structures. The singly occupied orbitals in high-spin systems should always be put in the tail of the structures.

Following are the examples of typical bonding patterns and their corresponding manual/input:VB structure description ($STR) and Global control ($CTRL) sections, in which only active orbitals are labeled:

  1. System of 2-electrons on 2-centers

    ../_images/sect_str_fig_A.jpg
    $CTRL
    nstr=3 nmul=1
    $END
    $STR
    1 2 ; S1
    1 1 ; S2
    2 2 ; S3
    $END
    
  2. System of 3-electrons on 2-centers

    ../_images/sect_str_fig_B.jpg
    $CTRL
    nstr=2 nmul=2
    $END
    $STR
    1 1 2 ; S1
    2 2 1 ; S2
    $END
    
  3. System of 3-electrons on 3-centers

    ../_images/sect_str_fig_C.jpg
    $CTRL
    nstr=8 nmul=2
    $END
    $STR
    1 2 3 ; S1
    2 3 1 ; S2
    1 1 3 ; S3
    3 3 1 ; S4
    2 2 3 ; S5
    2 2 1 ; S6
    1 1 2 ; S7
    3 3 2 ; S8
    $END
    
  4. System of 4-electrons and 3-centers

    6 VB structures (3 VB orbitals with 4 electrons, singlet)

    ../_images/sect_str_fig_D.jpg
    $CTRL
    nstr=6 nmul=1
    $END
    $STR
    1 1 2 3 ; S1
    1 1 2 2 ; S2
    1 1 3 3 ; S3
    1 2 3 3 ; S4
    2 2 3 3 ; S5
    2 2 1 3 ; S6
    $END
    

Fragments definition ($FRAG)

Generally, the $FRAG section is required if ORBTYP=HAO. In this section, fragments in which VB orbitals are localized will be defined and the orbitals will be generated with the basis functions specified in the fragments.

The syntax of $FRAG is:

$FRAG
nf(1), nf(2), . . . nf(N)
[basis function description(1)] lf(1,1), lf(2,1), . . . lf(nf(1),1)
[basis function description(2)] lf(1,2), lf(2,2), . . . lf(nf(2),2)
. . .
[basis function description(N)] lff(1,N), lf(2,N), . . . lf(nf(N),N)
$END

Here the system is separated into N fragments. nf(i) means the number of atoms or basis functions in the \(i^\textrm{th}\) fragment, and lf(j,i) is the atom or basis function j in the \(i^\textrm{th}\) fragment. Basis function description is needed only when FRGTYP=SAO is chosen. Following is an example of H2 molecule with FRGTYP=ATOM:

$CTRL
NSTR=3 ORBTYP=HAO
FRGTYP=ATOM
$END
$STR
1 2
1 1
2 2
$END
$FRAG
1 1
1
2
$END
$ORB
1 1
1
2
$END

The above $FRAG specifies two fragments, where one atom is in each fragment. Fragment 1 includes the first H atom and fragment 2 includes the second H atom. With this definition, users only need to specify fragment in which an orbital is located in Orbital description ($ORB) section. With FRGTYP=SAO, the fragments are specified by the type of basis functions. Following is an example of HF molecule with 6-31G basis set:

$CTRL
NSTR=3 VBFTYP=DET DEN
ISCF=5 NAO=2 NAE=2
ORBTYP=HAO FRGTYP=SAO
$END
$STR
1:4 5 6
1:4 5 5
1:4 6 6
$END
$FRAG
1 1 1 1
S 1
SPZ 2
PX 2
PY 2
$END
$ORB
1 1 1 1 1 1
2
2
3
4
2
1
$END

For the second fragment, “1” in the first line of $FRAG means that the block contains basis functions located on one atom; “SPZ 2” means that the fragment includes the \(s\) and \(p_z\) basis functions in the second atom. The basis functions are described by groups of \(s\), \(p\), \(d\), \(f\), etc. For example, a fragment including \(s\), \(p_z\), \(d_{xx}\), \(d_{yy}\), \(d_{zz}\), \(f_{zzz}\), \(f_{xxz}\) and \(f_{yyz}\) basis functions in atoms 1 and 2 should be described as

$FRAG
2
spzdxxyyzzfzzzxxzyyz 1 2
$END

or

$FRAG
2
spzdxxdyydzzfzzzfxxzfyyz 1 2
$END

Here “s” means basis function \(s\), “pz” means basis function \(p_z\), “dxxyyzz” means \(d_{xx}\), \(d_{yy}\) and \(d_{zz}\), and “fzzzxxzyyz” means \(f_{zzz}\), \(f_{xxz}\) and \(f_{yyz}\). The ordering of basis functions are not compulsively defined, but the basis functions with the same type of \(s\), \(p\), \(d\) and \(f\) should be written together. For example, the above description can be written equivalently as

$FRAG
2
spzfzzzfxxzfyyzdxxdyydzz 1 2
$END

or

$FRAG
2
spzfxxzfyyzfzzzdxxdyydzz 1 2
$END

as users like.

Orbital description ($ORB)

Required When ORBTYP=HAO or ORBTYP=GEN.

The first line describes the number of basis functions (or fragments) that are used for VB orbitals. For instance, max(i) means that the \(i^\textrm{th}\) orbital is expanded as max(i) functions (fragments), which are specified in the following lines. If the value of max(i) is 1, it means that the corresponding orbital will not optimized. From the second line, the indices of basis functions are listed, where one orbital begins with one new line. Following is example:

4 4 2
3 4 5 6 ; orbital 1 is expanded with 4 basis functions (fragments)
4 3 5 6 ; orbital 2 is expanded with 4 basis functions (fragments)
1 2 ; orbital 3 is expanded with 2 basis functions (fragments)

Note

  1. It is important to emphasize again that the \(n^\textrm{th}\) VB basis function in $ORB section is NOT necessarily the \(n^\textrm{th}\) primitive basis function, but the \(n^\textrm{th}\) VB basis function specified in the BFI section.

  2. It is suggested to write the most important basis function as the first one, as the program takes the first function as the “parent” function for the orbital if GUESS=UNIT. This can avoid potential problems in convergence.

  3. If ORBTYP=OEO is chosen, the $ORB is not needed. All the orbitals will be delocalized in the whole system, which means orbitals will use all basis functions.

  4. If the users want to freeze (not optimize) some orbitals in the calculation, simply assigning the number of basis functions (fragments) of the corresponding orbital to “0”. For example, “0*5 2 2” means that there are totally 7 VB orbitals and the first 5 will be frozen during SCF iterations. In this case, an initial guess should be provided either by GUESS=READ or GUESS=MO.

AIM Section($AIM)

This section is relevant if OUTPUT=AIM is specified. The content of this section is an optional file name specified by users. This file name will be used as the WFN file name. By default, the content of WFN file will be stored in ".wfn" file with the same name as input for standalone distribution and in ".dat" file for module distribution.

Initial guess description ($GUS)

Required when GUESS=MO or GUESS=READ or GUESS=RDCI.

When GUESS=MO is required in manual/input:VB structure description ($STR) section, $GUS describes how VB orbital guess comes from MOs. An example of $GUS from H2 calculation is shown below:

$GUS
1 1
2 1
$END

The example shows that both VB orbitals 1 and 2 will get the initial guess from MO 1. All orbitals should be specified in this section.

If GUESS=READ or GUESS=RDCI is required, orbitals from previous computation will be read from $GUS section. Thus, this section now contains the orbitals provided as the initial guess. The content is the same as the ORB file of the previous computation. See File with optimized VB orbitals (.orb) and orbital guess (.gus) for details of the content.

Required when SCF=n ($SCF)

The section contains n columns of structure coefficients, each denotes a state. Following is the example for SCF=2 with 2 structures:

$SCF
1.0 1.0
2.0 -2.0
$END

Thus the result of \(\langle S_1+2S_2|\hat{H}|S_1-2S_2\rangle\)will be calculated, where \(\ S_1\)and \(\ S_2\)denote the 2 structures.

Geometry description ($GEO)

Required when INT=CALC or INT=LIBCINT.

section contains the geometry of the system in cartesian coordinates, and the unit is Angstrom. Both Gaussian and GAMESS-US format are supported. Here both examples of the same geometry are given:

Gaussian Format:

$GEO
F 0.0 0.0 -0.7
F 0.0 0.0 0.7
$END

GAMESS-US Format:

$GEO
F 9.0 0.0 0.0 -0.7
F 9.0 0.0 0.0 0.7
$END

The users may choose their favorite.