Différences entre les versions de « VBTutorial1 »

De Workshops
Aller à la navigation Aller à la recherche
 
(24 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[VB_workshop_tutorials_program|<< Return to the program]]
+
[[VB_tutorial|<<< VB tutorials main page]]
 
 
 
 
<font color=red> '''How to modify this page''' : </font>
 
* first : '''<font color=blue>log in</font>''' (top right of this page) ;
 
* click on '''[<font color=blue>edit</font>]''' (far right) to edit a section of the page ;
 
* write your text directly in the wiki page, and click on the "Save page" button (bottom left) to save your modifications
 
Pictures : [[Insert a picture| how to insert a picture]] in your text
 
 
 
See also [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet this page] for an introduction to the basics of the wiki syntax
 
  
  
Ligne 14 : Ligne 5 :
 
= '''Basics of VB theory and XMVB program''' =
 
= '''Basics of VB theory and XMVB program''' =
  
 +
== Exercise 1 : HF molecule weights ==
  
 +
The Gamess and XMVB input files for the HF molecule are provided in the ''Exercise'' folder on the tutorial machines. These are VBSCF calculations with the 6-31G(d,p) basis set, with the fragment specification in terms of symmetry-adapted orbitals (''frgtyp=sao''). Then these input files could serve you as templates for the next exercises.
  
{| class="collapsible collapsed wikitable"
+
# Just inspect these inputs, run the gamess-xmvb program (using : ''vbrun hf-scf''), and analyze the outputs. Which structure(s) should be kept in further BOVB calculations ?
|-
 
!<big><big><big>'''Main exercises'''</big></big></big>
 
|-
 
|
 
== Exercise 1 : Starting up with the H<math>{}_2</math> molecule ==
 
 
 
The Gamess and XMVB input files for the H<math>{}_2</math> molecule are provided in the ''Exercise'' folder on the tutorial machines. These are VBSCF calculations with the 6-31G(d,p) basis set, and the fragment specification in terms of symmetry-adapted orbitals (''frgtyp=sao'').
 
 
 
Just inspect these inputs, run the gamess-xmvb program (using : ''vbrun h2''), and analyze the outputs.
 
 
 
Then these input files could serve you as templates for the next exercises.
 
 
 
== Exercise 2 : HF molecule weights ==
 
 
 
# Compute a VBSCF three structure wave function for the HF molecule, using the ''frgtyp=sao'' specification, automatic guess (''guess=auto''), and ''boys'' keyword in the ''$tctrl'' section. Which structure(s) should be kept in further BOVB calculations ?
 
 
# Using VBSCF orbitals as guess orbitals :
 
# Using VBSCF orbitals as guess orbitals :
 
## Compute a L-BOVB wave function on a selected subset of structures ;  
 
## Compute a L-BOVB wave function on a selected subset of structures ;  
Ligne 42 : Ligne 20 :
 
|-
 
|-
 
|
 
|
* To go from L-VBSCF to L-BOVB level, starting from the input of the VBSCF input file as a template, you should simply make the following changes :
+
* To go from L-VBSCF to L-BOVB level, starting from the input of the VBSCF input file (.xmi) as a template, you should simply make the following changes in it :
**# add the ''bovb'' keyword in "$ctrl" section ;
+
*# add the ''bovb'' keyword in "$ctrl" section ;
**# change ''iscf=5'' by ''iscf=2'' ;
+
*# change ''iscf=5'' by ''iscf=2'' ;
**# suppress structures with minor weights at the VBSCF level from the '$str'' section  
+
*# suppress structures with minor weights at the VBSCF level (e.g 1% or less) from the '$str'' section  
**# use "guess=read" option and previous converged VBSCF orbitals as ''input.gus'' guess file
+
*# use "guess=read" option to read previous converged VBSCF orbitals
 +
* Then to use L-VBSCF orbitals as guess orbitals, copy the file: ''file_name-l-vbscf.orb'' which was created in the VBSCF step, to a new file : ''file_name-l-bovb.gus''.
 
* To go from L-VBSCF to the VBCI wave functions, starting from the input of the VBSCF input file as a template, you should simply make the following changes :
 
* To go from L-VBSCF to the VBCI wave functions, starting from the input of the VBSCF input file as a template, you should simply make the following changes :
**# add the corresponding VBCI keyword in the ''$ctrl'' section (''VBCISD'' here) ;
+
*# add the corresponding VBCI keyword in the ''$ctrl'' section (''VBCISD'' here) ;
**# use "guess=read" option and previous converged VBSCF orbitals as ''input.gus'' guess file
+
*# use "guess=read" option and previous converged VBSCF orbitals as ''input.gus'' guess file
 
 
 
|}
 
|}
  
Ligne 56 : Ligne 34 :
 
<big>[[General_guidelines_for_BOVB_calculations| >> general guidelines for BOVB calculations]]</big>
 
<big>[[General_guidelines_for_BOVB_calculations| >> general guidelines for BOVB calculations]]</big>
  
 +
== Exercise 2 : F<math>{}_2</math> molecule and bond energy ==
  
== Exercise 3 : F<math>{}_2</math> molecule and bond energy ==
+
To answer the first two questions below, we strongly recommend you to comment your input files as extensively as what was done in the input files of the previous exercise. This will allow you to clearly see if you understand all components of an XMVB input.
 +
 
 +
For the first question below, you can use the ''hf-scf.xmi'' input file from the previous exercise as a template.
  
 
# Compute a L-VBSCF wave function for the F<math>{}_2</math> molecule (all inactive orbitals localized on the fluorine atoms), using:
 
# Compute a L-VBSCF wave function for the F<math>{}_2</math> molecule (all inactive orbitals localized on the fluorine atoms), using:
#* the cc-pvtz basis set ; 
+
#* the ''frgtyp=sao'' specification ;  
#* the ''frgtyp=sao'' specification, without using the f basis functions in the definition of the fragment orbitals for simplicity ;  
 
 
#* the ''boys'' keyword in the ''$ctrl'' section ;  
 
#* the ''boys'' keyword in the ''$ctrl'' section ;  
 
#* automatic guess (''guess=auto'' option) ;
 
#* automatic guess (''guess=auto'' option) ;
# Recompute the same L-VBSCF wave-function, this time specifying converged RHF MOs as guess orbitals, through the ''guess=mo'' option in the $ctrl section together with an extra ''$gus'' section in the input (see ''hints'' below, and [[file:|XMVB manual]]) ;
 
 
# BOVB level :
 
# BOVB level :
 
## First, compute a π-D-VBSCF wave function using previous VBSCF orbitals as guess orbitals. To do that, you should allow the π inactive orbitals of fluorine to delocalize onto the two atoms, while keeping all <math>\sigma</math> (active and inactive) orbitals localized (see also : [[General_guidelines_for_BOVB_calculations#High_symmetry_case:| >> see "high symmetry case" in the "general guidelines for BOVB calculations"]])
 
## First, compute a π-D-VBSCF wave function using previous VBSCF orbitals as guess orbitals. To do that, you should allow the π inactive orbitals of fluorine to delocalize onto the two atoms, while keeping all <math>\sigma</math> (active and inactive) orbitals localized (see also : [[General_guidelines_for_BOVB_calculations#High_symmetry_case:| >> see "high symmetry case" in the "general guidelines for BOVB calculations"]])
 
## Compute then a π-D-BOVB solution for the F<math>{}_2</math> molecule, starting from previous orbitals as guess.
 
## Compute then a π-D-BOVB solution for the F<math>{}_2</math> molecule, starting from previous orbitals as guess.
# Compute F<math>{}_2</math> bond energies at the π-D-BOVB level
+
# VBCI : compute a VBCI(D,S) wave function (''vbcids'' keyword in the ''$ctrl'' section, see pp. 11 and 44 of [http://wiki.lct.jussieu.fr/workshop/images/7/71/XMVB_Manual_V20.pdf XMVB Manual]), freezing the core orbitals of fluorine in the calculation.
 +
# Deduce F<math>{}_2</math> bond energies at both the π-D-BOVB and VBCI(D,S) levels.
 +
# Recompute the same L-VBSCF wave-function, this time specifying converged RHF MOs as guess orbitals, through the ''guess=mo'' option in the $ctrl section together with an extra ''$gus'' section in the input (see ''hints'' below, [http://wiki.lct.jussieu.fr/workshop/images/7/71/XMVB_Manual_V20.pdf XMVB Manual], and/or [http://wiki.lct.jussieu.fr/workshop/images/8/85/Practical_guide_for_VB_calculations.pdf Peifeng Su's lecture slides]). This option is not necessary for this exercise, but it will prove useful for Exercise 1 of tutorial 3, and in the general case.
  
 
{| class="collapsible collapsed wikitable"
 
{| class="collapsible collapsed wikitable"
Ligne 75 : Ligne 56 :
 
|-
 
|-
 
|
 
|
* To prepare a ''$gus'' section for reading RHF MOs as a guess (''guess=mo'' option)  :
+
To prepare a ''$gus'' section for reading RHF MOs as a guess (''guess=mo'' option)  :
** first compute gamess RHF solution only (take out : ''vbtyp=xmvb'' in the $control section of Gamess input)  
+
# first compute gamess RHF solution only (remove : ''vbtyp=xmvb'' in the $control section of Gamess input ''my_file.inp'')  
** read the RHF orbitals in Gamess and identify those who could be good guess orbitals for : 1s core of F, 2s lone pair, 2px lone pairs,... active orbitals
+
# read the RHF orbitals in Gamess output (''my_file.out'') and identify those who could be good guess orbitals for your different VB orbitals. For instance :  
** then build the ''$gus'' section in XMVB input accordingly, and start your calculation (don't forget to add again ''vbtyp=xmvb'' in the $control section of Gamess input)  
+
#* MO n°1 is a symmetry combination for 1s cores of the two Fluorine, so this same MO n°1 could be used as a guess orbital for the two localized VB orbitals corresponding to the fluorine cores (MO n°2 is the corresponding antisymmetric combination, so it bears the same information) ;
 +
#* MO n°3 (or alternatively MO n°4) could be used as guess orbital for the two VB orbitals describing the 2s lone pairs of the fluorine atoms ;
 +
#* MO n°5 and 7 (or alternatively 6 and 8) could be used as guess for the <math>\pi_x</math> and <math>\pi_y</math>  lone pairs ;
 +
#* last, MO n°8 describe the <math>\sigma</math> bond, and could be used as guess for the two active orbitals
 +
# Then build the ''$gus'' section in XMVB input accordingly, and start your calculation (don't forget to restore ''vbtyp=xmvb'' in the $control section of Gamess input)  
  
Note that using automatic guess works fine in a simple case like this one, using ''guess=mo'' simply accelerate convergence. However, for larger molecule, specifying a good orbital guess through ''guess=mo'' and an extra $gus section will often be useful.
+
Note that using automatic guess works fine in a simple case like this one, using ''guess=mo'' simply accelerates convergence. However, for larger molecules, specifying a good orbital guess through ''guess=mo'' and an extra $gus section will often be useful.
  
* To compute the bond energy at the BOVB level, you can simply use the ROHF energies computed with Gamess for the separate fragments (F atoms here), because the L- and D-BOVB wave functions (like the VBSCF one) dissociate to uncorrelated separate fragments. Note that to compute the bond energy at the VBCISD level, you would have to compute the separate fragments at this level of theory.
+
For VBCI(D,S) calculation on difluorine : don't forget to add ''NCOR=2'' and ''ctol=0.01'' options in the ''$Ctrl'' section.
* Note that a more accurate BOVB bond energy could be obtained by pushing to [[The_SD_BOVB_method|higher SD-BOVB level]]. A bond dissociation energy of 36.1 kcal/mol would be obtained for F<sub>2</sub> at the π-SD-BOVB, very close to the estimated exact value of 39.0 kcal/mol.
+
 
|}
+
To compute the bond energies :
 +
* at the BOVB level, you can simply use the ROHF energies computed with Gamess for the separate fragments (F atoms here), because the L- and D-BOVB wave functions (like the VBSCF one) dissociate to uncorrelated separate fragments
 +
* at the VBCI(D,S) level, you have to compute the separate fragments at this level of theory, and the ''Davidson corrected energy'' should be used. Don't forget to add ''nmul=2'' in the ''$Ctrl'' section to specify doublet spin state for the fluorine atom.
  
 +
Note that a more accurate BOVB bond energy could be obtained by pushing to [[The_SD_BOVB_method|higher SD-BOVB level]], and with VBCISD by using a larger basis set.
 
|}
 
|}
  
 
+
==Exercise 3 : '''The lone pairs of H<sub>2</sub>O'''==
{| class="collapsible collapsed wikitable"
 
|-
 
!<big><big><big>'''Optional exercises - homework'''</big></big></big>
 
|-
 
|
 
 
 
==Exercise 4 : '''The lone pairs of H<sub>2</sub>O'''==
 
  
 
(for further reading, see S. Shaik and P.C. Hiberty, '''"The Chemist's Guide to VB theory"''', Wiley, Hoboken, New Jersey, 2008, pp. 107-109)
 
(for further reading, see S. Shaik and P.C. Hiberty, '''"The Chemist's Guide to VB theory"''', Wiley, Hoboken, New Jersey, 2008, pp. 107-109)
Ligne 216 : Ligne 197 :
  
 
</big>
 
</big>
 
|}
 
 
  
 
|}
 
|}

Dernière version du 18 janvier 2013 à 15:56

<<< VB tutorials main page


Basics of VB theory and XMVB program

Exercise 1 : HF molecule weights

The Gamess and XMVB input files for the HF molecule are provided in the Exercise folder on the tutorial machines. These are VBSCF calculations with the 6-31G(d,p) basis set, with the fragment specification in terms of symmetry-adapted orbitals (frgtyp=sao). Then these input files could serve you as templates for the next exercises.

  1. Just inspect these inputs, run the gamess-xmvb program (using : vbrun hf-scf), and analyze the outputs. Which structure(s) should be kept in further BOVB calculations ?
  2. Using VBSCF orbitals as guess orbitals :
    1. Compute a L-BOVB wave function on a selected subset of structures ;
    2. Compute a VBCISD wave function, freezing the 1s core orbital of fluorine in the VBCI calculation (NCOR=1 option), and printing only structures which have a coefficient superior to 0.01 (ctol=0.01 option) ;
    3. Compare structure weights at the VBSCF, L-BOVB and VBCI levels


>> general guidelines for BOVB calculations

Exercise 2 : F<math>{}_2</math> molecule and bond energy

To answer the first two questions below, we strongly recommend you to comment your input files as extensively as what was done in the input files of the previous exercise. This will allow you to clearly see if you understand all components of an XMVB input.

For the first question below, you can use the hf-scf.xmi input file from the previous exercise as a template.

  1. Compute a L-VBSCF wave function for the F<math>{}_2</math> molecule (all inactive orbitals localized on the fluorine atoms), using:
    • the frgtyp=sao specification ;
    • the boys keyword in the $ctrl section ;
    • automatic guess (guess=auto option) ;
  2. BOVB level :
    1. First, compute a π-D-VBSCF wave function using previous VBSCF orbitals as guess orbitals. To do that, you should allow the π inactive orbitals of fluorine to delocalize onto the two atoms, while keeping all <math>\sigma</math> (active and inactive) orbitals localized (see also : >> see "high symmetry case" in the "general guidelines for BOVB calculations")
    2. Compute then a π-D-BOVB solution for the F<math>{}_2</math> molecule, starting from previous orbitals as guess.
  3. VBCI : compute a VBCI(D,S) wave function (vbcids keyword in the $ctrl section, see pp. 11 and 44 of XMVB Manual), freezing the core orbitals of fluorine in the calculation.
  4. Deduce F<math>{}_2</math> bond energies at both the π-D-BOVB and VBCI(D,S) levels.
  5. Recompute the same L-VBSCF wave-function, this time specifying converged RHF MOs as guess orbitals, through the guess=mo option in the $ctrl section together with an extra $gus section in the input (see hints below, XMVB Manual, and/or Peifeng Su's lecture slides). This option is not necessary for this exercise, but it will prove useful for Exercise 1 of tutorial 3, and in the general case.

Exercise 3 : The lone pairs of H2O

(for further reading, see S. Shaik and P.C. Hiberty, "The Chemist's Guide to VB theory", Wiley, Hoboken, New Jersey, 2008, pp. 107-109)

This exercise aims at comparing two descriptions of the lone pairs of H<math>{}_2</math>O : (i) the MO description in terms of non-equivalent canonical MOs and (ii) the « rabbit-ear » VB description in terms of two equivalent hybrid orbitals.

H2o ex1.png
<math>\Psi_{\textrm{MO}}</math>   <math>\Psi_{\textrm{VB}}</math>


  1. Focusing on the lone pairs only, write the four-electron single-determinants <math>\Psi_{\textrm{MO}} </math> and <math>\Psi_{\textrm{VB}} </math> .
  2. Expand <math>\Psi_{\textrm{VB}} </math> into elementary determinants containing only <math>n</math> and <math>p</math> orbitals, eliminate determinants having two identical spinorbitals, and show the equivalence between <math>\Psi_{\textrm{VB}}</math> and <math>\Psi_{\textrm{MO}}</math>.
  3. We now remove one electron from H<math>{}_2</math>O. Write the two possible VB structures <math>\Phi_1</math> and <math>\Phi_2</math> in the VB framework. By convention, one may write the doubly occupied lone pair first, then the singly occupied one.
  4. The two ionized states are the symmetry-adapted combinations Ion-neg.png and Ion-pos.png. From the sign of the hamiltonian matrix element <math>\langle \Phi_1 \vert \hat{H} \vert \Phi_2 \rangle</math>, give the energy ordering of the two ionized states.
  5. By expanding the two ionized states into elementary determinants (dropping the normalization constants), show that they are equivalent, respectively, to the MO configurations <math>\vert nn\bar{p}\vert</math> and <math>\vert pp\bar{n}\vert</math>.