Différences entre les versions de « General guidelines for BOVB calculations »

De Workshops
Aller à la navigation Aller à la recherche
Ligne 42 : Ligne 42 :
 
|-
 
|-
 
|
 
|
 
=== What could be the source of instabilities ? ===
 
 
There is two type of instabilities which may occur :
 
# Because VBSCF and BOVB are methods involving active/inactive orbital separation, instabilities of orbital flipping type may show up during convergence, unless the inactive set of orbitals do not share any basis functions in common with the active set of orbitals (high symmetry cases, sigma/<math>pi</math> separation...). As when it is not the case, an orbital from the inactive space may always switch during wave function optimization with an orbital from the active space, if this leads to a lower energy solution, which may however not be the desired one. This problem is more acute with the BOVB method, as dynamical correlation is introduced mostly for the active electron pairs.
 
# A second type of instabilities comes from possible redundancies introduced in your VB wave function definition, for instance through delocalization of the active orbitals between two fragments (which is totally forbidden for the VBSCF and BOVB methods), or delocalized inactive orbitals (if they span the space of at least two active orbitals belonging to different fragments).
 
  
 
=== How can I know if my BOVB calculation went well ? ===
 
=== How can I know if my BOVB calculation went well ? ===
Ligne 57 : Ligne 51 :
 
* the orbital overlap (in the ".xdat" file) between active orbitals : corresponding active orbitals in different structures should have almost 1. overlap (~0.98/0.99x). When it is not the case : inspect the corresponding orbital  to check what it has become
 
* the orbital overlap (in the ".xdat" file) between active orbitals : corresponding active orbitals in different structures should have almost 1. overlap (~0.98/0.99x). When it is not the case : inspect the corresponding orbital  to check what it has become
  
=== What can I do if I encounter an instability ? ===
+
=== What can I do if I encounter an instability or convergence issue ? ===
 
==== Check the following points : ====
 
==== Check the following points : ====
* Did I use a non-redundant description, and in particular did I kept my active orbitals all localized onto molecular fragments ?
+
* Did I use a non-redundant description, and in particular did I kept my active orbitals all strictly localized onto molecular fragments ?
* Did I eliminate structures which have minor (<1%) weight at VBSCF level from my BOVB calculation ?
+
* Did I ask for boys localization at the initial VBSCF step ?
* Did I use a basis set with diffuse functions (this should not be used for BOVB calculations, except when you have a bare anion), or a basis set larger than triple-zeta (too large basis set in general could cause trouble) ?
+
* Did I start the different steps of BOVB calculations from orbital properly converged from the previous step ?
* Did I '''''precisely''''' follow the procedures described above to get my L/D-BOVB wave function ?
+
* Did I eliminate all structures which have shown to be negligible (<1% weight) at the VBSCF level in the subsequent BOVB calculation ?
 +
* Did I use a basis set with diffuse functions, or a basis set larger than triple-zeta (which could cause trouble) ?
 +
* Generally speaking : did I '''''precisely''''' follow the guidelines and procedure described above ?
 
==== How to cure the problem - if I haven't done any particular "mistake" : ====
 
==== How to cure the problem - if I haven't done any particular "mistake" : ====
* try to modify slightly the definition of the wave-function (for instance : having active orbital strictly localized on 1 atom instead of fragment orbitals, or the opposite) ;
+
* try, if possible, to work in a higher symmetry point group for your molecule ;
* try to start from the VBSCF level with another orbital guess ;
+
* try, if possible, to modify the definition for your orbital blocks (for instance, by localizing further the inactive orbitals) ;
 +
* try to restart from the VBSCF level with another orbital guess (localized MOs for instance) ;
 
* try to work in a different basis set.
 
* try to work in a different basis set.
  
 
|}
 
|}

Version du 30 juin 2012 à 02:10

How to perform a BOVB calculation

General advices

  • Do not use diffuse functions unless you deal with an anion, and do not use larger than triple-zeta basis sets
  • Impose a high molecular symmetry if possible (case of a distorted molecule which slightly departs from a higher symmetry point group) ;
  • Use orbtyp=hao together with fragtyp=sao as soon as you have some <math>\sigma</math>/<math>\pi</math> symmetry in your molecule,
  • In the $ctrl section of the XMVB input, you should use the "iscf=5" algorithm for VBSCF calculations, and change it to "iscf=2" for BOVB calculations.
  • Use the boys keyword at the VBSCF step, as it provides more physically meaningful orbitals for the subsequent BOVB calculations (this is particularly important if you want to go up to the S- or SD-BOVB levels)
  • Always use a set of converged orbitals from the preceding step, ex : use converged VBSCF orbitals to start a L-BOVB calculation, converged L-BOVB to start a S-BOVB or a D-BOVB calculation, and converged S-BOVB orbitals to start a SD-BOVB calculation.

Definition of the orbital blocks

The following rules define the orbital blocks of your orbitals, which will be used for the "L" levels (initial VBSCF and L-BOVB calculations) :

  • First, choose a set of active electron pairs, which in turns define a set of active orbitals ;
  • This set of active orbitals itself leads to a division of your molecule into fragments : each pair of active orbitals involved into a covalent coupling in one of the structure should belong to a different fragment ;
  • To each fragment is associated a localization space : the orbitals belonging to a specific localization space can only span the basis functions centered onto atoms belonging to this fragment ;
  • The different localization spaces may then be further divided according to the symmetry of the molecule (<math>\sigma</math>/<math>\pi</math> separation for instance), which provide the different orbital blocks.

Remarks :

  • following this definition, there is no common basis functions between orbital blocks ;
  • orbital blocks belonging to different localization spaces and containing only inactive orbitals can be grouped together (see example 2 below)

Exemples :

  1. for the F2 molecule, six blocks can be defined : <math>\sigma</math>(F1), <math>\pi_{x}</math>(F1), <math>\sigma_{y}</math>(F1), <math>\sigma</math>(F2), <math>\pi_{x}</math>(F2), <math>\sigma_{y}</math>(F2)
  2. However, if the <math>\sigma</math> bond is taken as the active electron pair, four blocks could be used from the beginning : <math>\sigma</math>(F1), <math>\sigma</math>(F2), <math>\pi_{x}</math>(F1-F2), <math>\pi_{y}</math>(F1-F2)
  3. for the (Me3)C-Cl molecule, where we choose the C-Cl bond to be the active electron pair, the inactive orbitals are defined on the (Me3)C and Cl fragments respectively
  4. for Cl-(Me3)C-Cl- SN2 transition state, the two Cl-C and C-Cl bonds are chosen as active pairs, which in turns define three fragments : Cl1 / (Me3)C / Cl2

Procedure

To perform a D-BOVB calculation :

  1. Perform a ("L") VBSCF calculation together with the keyword boys in the $orb section ;
  2. perform the L-BOVB calculation, always starting from converged VBSCF orbitals ;
  3. then perform the D-BOVB calculation : starting from the converged L-BOVB orbital as guess, freeze the active orbitals (put "0" as coefficient in first $orb line) and delocalize the inactive orbitals onto the whole molecule ;

Remark : In the particular case where all orbital blocks contain only either active or inactive orbitals, all blocks containing inactive orbitals could be grouped into a single one, and then one works at the "D" level from the start (D-VBSCF, then D-BOVB calculation). This is the case for instance when there is a <math>\sigma</math>/<math>\pi</math> separation in your molecule with all (and only) <math>\pi</math> pairs taken as active (see tutorial 2 exercises).

>> To perform a SD-BOVB calculation (advanced user)