Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
quickstart [2020/06/11 18:17] – external edit 127.0.0.1 | quickstart [2024/10/30 11:48] (current) – [Convergence thresholds] doll | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Quickstart ====== | ||
+ | |||
+ | The intention of this // | ||
+ | |||
+ | ===== How an ab initio calculation works ===== | ||
+ | |||
+ | The electronic structure of molecules can be treated only by quantum mechanics, since the electrons are very quickly moving particles. Of course, this manual cannot teach you the underlying theory, and it is assumed that you are familiar with it. We just want to remind you of some basic approximations, | ||
+ | |||
+ | Firstly, the Born-Oppenheimer approximation is applied, which means that the nuclear and electronic motions are decoupled and treated separately (in some cases, non-adiabatic couplings are taken into account at a later stage). Thus, each electronic structure calculation is performed for a fixed nuclear configuration, | ||
+ | |||
+ | Secondly, the electronic Schrödinger equation cannot be solved exactly, except for very simple systems like the hydrogen atom. Therefore, the electronic wavefunction is represented in certain finite basis sets, and the Schrödinger equation is transformed into an algebraic equation which can be solved using numerical methods. There are two classes of approximations: | ||
+ | |||
+ | In most programs, and also in Molpro, Gaussian basis functions are used to approximate the molecular orbitals, since the required integrals can be computed very quickly in this basis. Many optimized basis sets are available in the Molpro //basis set library//, and in most cases the basis set can be selected using a simple keyword in the input. | ||
+ | |||
+ | The many-electron wavefunction for the molecule is represented as a linear combination of antisymmetrized products (Slater determinants) of the molecular orbitals. In a //full configuration interaction// | ||
+ | |||
+ | Once such approximations are introduced, it matters how the orbitals are determined. The simplest choice is to use a single Slater determinant and to optimize the orbitals variationally. This is the // | ||
+ | |||
+ | In the Hartree-Fock approximation each electron moves in an average potential of the remaining electrons, but has no knowledge of the positions of these. Thus, even though the Coulomb interaction between the electrons is taken into account in an averaged way, the electrons with opposite spin are unable to avoid each other when they come close, and therefore the electron repulsion is overestimated in Hartree-Fock. The purpose of post-Hartree-Fock //electron correlation// | ||
+ | |||
+ | One point of warning should be noticed here: electron correlation treatments require much larger one-electron basis sets than Hartree-Fock or DFT to yield converged results. Such calculations can therefore be expensive. For a fixed basis set, a correlation calculation is usually much more expensive than a HF calculation, | ||
+ | |||
+ | Finally, it should also be noted that the HF approximation, | ||
+ | |||
+ | As you will see, it is quite easy to run an electronic structure calculation using Molpro, and probably you will have done your first successful run within the next 10 minutes. However, the art is to know which basis set and method to use for a particular problem in order to obtain an accurate result for a minimum possible cost. This is something which needs a lot of experience and which we cannot teach you here. We can only encourage you not to use Molpro or any other popular electronic structure program simply as a black box without any understanding or critical assessment of the methods and results! | ||
+ | |||
+ | Literature: [[http:// | ||
+ | |||
+ | ===== How to run Molpro ===== | ||
+ | |||
+ | In order to run Molpro you have first to write an input file. This can be done in any directory of your choice. Input files can have any name, but it is best to avoid using a file name with extension '' | ||
+ | |||
+ | Simple examples for input files will be given in the following sections. Once the input file is ready, a Molpro calculation can be started using the '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | This will create an output file '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | would not save an existing output file but simply overwrite it. If you want to give your output a different name than the default one, you can use the '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | As well as producing the '' | ||
+ | |||
+ | There are many other options for the '' | ||
+ | |||
+ | - The amount of memory Molpro is allowed to use can be specified using the '' | ||
+ | - For running in parallel (assuming that the program has been suitably compiled), '' | ||
+ | - Optionally, but not by default, it is possible so specify one or more named files in the input, and these are used by the program to store intermediate parameters and results, that can be used to restart (see section [[quickstart# | ||
+ | |||
+ | ===== How to prepare an input file ===== | ||
+ | |||
+ | As explained in the introduction, | ||
+ | |||
+ | * Geometry specification. | ||
+ | * Specification of one-electron basis set (although there is a default). | ||
+ | * Specification of the method to compute the many-electron wavefunction. Several calculations of different type can follow each other. | ||
+ | |||
+ | We will consider these three in turn. | ||
+ | |||
+ | All input can be given in upper or lower case and in free format. Most input lines start with a keyword, which is followed by numbers or other specifications (options). The different entries on each line should be separated by commas (see next section for more explanation about this). | ||
+ | |||
+ | ==== Geometry specification ==== | ||
+ | |||
+ | The simplest way to specify the coordinates of the atoms is to use cartesian coordinates and the //XYZ// input format, which is standard in many programs. In this case the geometry input looks as follows (example for formaldehyde). | ||
+ | |||
+ | < | ||
+ | geometry={ | ||
+ | 4 | ||
+ | FORMALDEHYDE | ||
+ | C 0.0000000000 | ||
+ | O 0.0000000000 | ||
+ | H 0.0000000000 | ||
+ | H 0.0000000000 | ||
+ | } | ||
+ | </ | ||
+ | As seen in the example, the geometry is specified within the //geometry block//, enclosed by '' | ||
+ | |||
+ | Alternatively, | ||
+ | |||
+ | < | ||
+ | angstrom | ||
+ | geometry={ | ||
+ | C | ||
+ | O | ||
+ | H1 C 1.102 O 122.1789 | ||
+ | H2 C 1.102 O 122.1789 | ||
+ | } | ||
+ | </ | ||
+ | Here, 1.182 and 1.102 are the C-O and the C-H bond distances, respectively. 122.1789 is the H-O-C angle, and 180 is the angle between the H1-C-O and H2-C-O planes (dihedral angle). Note that by default the bond distances are in atomic units (bohr), but one can give the '' | ||
+ | |||
+ | As an alternative to the //xyz// input explained above, it is also possible to specify cartesian coordinates in a Z–matrix. In this case the form is | ||
+ | |||
+ | < | ||
+ | angstrom | ||
+ | geometry={ | ||
+ | C,, 0.0000000000 , | ||
+ | O,, 0.0000000000 , | ||
+ | H,, 0.0000000000 , -0.9325664988 , -1.1133424527 | ||
+ | H,, 0.0000000000 , | ||
+ | } | ||
+ | </ | ||
+ | Again, atomic units are the default, other than for the //xyz// input, where the coordinates need to be given in Ångstrøm. In order to use Ångstrøm, the '' | ||
+ | |||
+ | Instead of constant numbers it is also possible to use variables in the Z–matrix input. For instance, the input for formaldehyde can be written as | ||
+ | |||
+ | < | ||
+ | geometry={ | ||
+ | C | ||
+ | O , C , rco | ||
+ | H1 , C , rch , O , hco | ||
+ | H2 , C , rch , O , hco , H1 , 180 | ||
+ | } | ||
+ | |||
+ | rco=1.182 Ang | ||
+ | rch=1.102 Ang | ||
+ | hco=122.1789 Degree | ||
+ | </ | ||
+ | The values of the variables can be changed in the course of the calculations, | ||
+ | |||
+ | By default, the program repositions and rotates the molecule so that the coordinate axes have the centre of mass of the molecule as origin, and are aligned with the principal inertial axes. This behaviour is usually what is required, in order that the program can recognize and exploit point-group symmetry, but can be changed through parameters specified on the '' | ||
+ | |||
+ | ==== Basis set specification ==== | ||
+ | |||
+ | In many cases the one-electron basis set can be specified in the simple form | ||
+ | |||
+ | '' | ||
+ | |||
+ | where //name// refers to the basis set name in the library. You can find all possible basis sets on the Molpro Web page. Popular and often used for high-level calculations are the correlation-consistent polarized basis sets of Dunning and coworkers, denoted '' | ||
+ | |||
+ | Another popular choice are the Gaussian basis sets of Pople and coworkers, e.g. '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | has to be given before the basis set specification. | ||
+ | |||
+ | It also possible to use different basis sets for different atoms. In this case the simplest input reads for example | ||
+ | |||
+ | '' | ||
+ | |||
+ | Basis sets can also be specified manually (exponents and contraction coefficients). Refer to the Molpro reference manual for details. | ||
+ | |||
+ | If no basis set is specified at all, Molpro uses '' | ||
+ | |||
+ | ==== Method and wavefunction specification ==== | ||
+ | |||
+ | After defining the geometry and basis set (in any order) one has to specify the methods to be used. This is simply done by keywords, which are normally the same as the usual abbreviations for the methods ('' | ||
+ | |||
+ | < | ||
+ | geometry={...} | ||
+ | basis=... | ||
+ | hf !orbital optimization using HF | ||
+ | mp2 !MP2 calculation using the HF orbitals | ||
+ | mp4 !MP4 calculation using the HF orbitals | ||
+ | ccsd(t) | ||
+ | </ | ||
+ | Note, howeverm that MP2 is part of MP4 and CCSD, and therefore the mp2 calculation in the above input is redundant. | ||
+ | |||
+ | ==== Variables ==== | ||
+ | |||
+ | Molpro stores all important results in variables. For example, the Hartree-Fock program sets the variables '' | ||
+ | |||
+ | For example, it is possible to compute a reaction energy in one job. Let’s take CO + H$_2$ $\rightarrow$ H$_2$CO as a simple example. | ||
+ | |||
+ | < | ||
+ | ***,example for reaction energy | ||
+ | |||
+ | basis=avtz | ||
+ | |||
+ | geometry={c; | ||
+ | hf !do Hartree-Fock calculation | ||
+ | ccsd(t) | ||
+ | e_co=energy | ||
+ | |||
+ | geometry={h1; | ||
+ | hf !do Hartree-Fock calculation | ||
+ | ccsd(t) | ||
+ | e_h2=energy | ||
+ | |||
+ | geometry={ | ||
+ | C | ||
+ | O , C , rco | ||
+ | H1 , C , rch , O , hco | ||
+ | H2 , C , rch , O , hco , H1 , 180 | ||
+ | } | ||
+ | |||
+ | rco=1.182 Ang | ||
+ | rch=1.102 Ang | ||
+ | hco=122.1789 Degree | ||
+ | hf !do Hartree-Fock calculation | ||
+ | ccsd(t) | ||
+ | e_h2co=energy | ||
+ | |||
+ | de=(e_h2co-e_h2-e_co)*tokJ | ||
+ | </ | ||
+ | ===== Hartree-Fock ===== | ||
+ | |||
+ | ==== Closed-shell Hartree-Fock calculations ==== | ||
+ | |||
+ | The Hartree-Fock program is invoked by the command | ||
+ | |||
+ | '' | ||
+ | |||
+ | The program will then first compute the one-and two-electron integrals and store these on disk. Once this step is completed, the self-consistent field calculation, | ||
+ | |||
+ | Now you are ready to try your first Molpro calculation. The complete input for a HF calculation for formaldehyde is | ||
+ | |||
+ | < | ||
+ | ***, | ||
+ | print, | ||
+ | ! the occupied orbitals | ||
+ | geometry={ | ||
+ | C | ||
+ | O , C , rco | ||
+ | H1 , C , rch , O , hco | ||
+ | H2 , C , rch , O , hco , H1 , 180 | ||
+ | } | ||
+ | |||
+ | rco=1.182 Ang | ||
+ | rch=1.102 Ang | ||
+ | hco=122.1789 Degree | ||
+ | |||
+ | basis=vdz | ||
+ | hf ! Invoke Hartree-Fock program | ||
+ | --- | ||
+ | </ | ||
+ | The first line, starting with '' | ||
+ | |||
+ | If you inspect the output, you will find that Molpro detected that the molecule has $C_{2v}$ symmetry, and that there are 5 orbitals belonging to the irreducible representation $a_1$, one belonging to $b_1$, and two to $b_2$. In Molpro the irreducible representations are numbered, and in the $C_{2v}$ group the numbering is 1–4 for $a_1$, $b_1$, $b_2$, and $a_2$, respectively. The third orbital in symmetry $a_1$ is denoted 3.1, the second orbital in symmetry $b_2$ is denoted 2.3. Please take a little time to study the output in order to understand these conventions. | ||
+ | |||
+ | In the current case, Molpro has worked out the number of occupied orbitals in each symmetry automatically according to the Aufbau principle. This works in most but not all cases. You can specify the number of occupied orbitals in each symmetry using the '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | and the meaning of this should be quite obvious from the above. | ||
+ | |||
+ | If special directives are given for a command, like above '' | ||
+ | |||
+ | < | ||
+ | {hf ! Invoke Hartree-Fock program | ||
+ | occ, | ||
+ | </ | ||
+ | This is called a command block. The curly brackets are needed to avoid ambiguities, | ||
+ | |||
+ | Each command or directive can either begin on a new line, or be separated by semicolons. For instance | ||
+ | |||
+ | < | ||
+ | {hf; | ||
+ | </ | ||
+ | is equivalent to the previous example. | ||
+ | |||
+ | ==== Open-shell Hartree-Fock calculations ==== | ||
+ | |||
+ | In the above example all orbitals are doubly occupied, and therefore the total symmetry of the ground state wavefunction, | ||
+ | |||
+ | Even though most stable molecules in the electronic ground states are closed-shell singlet states, this is not always the case. Open-shell treatments are necessary for radicals or ions. As a first simple example we consider the positive ion of formaldehyde, | ||
+ | |||
+ | '' | ||
+ | |||
+ | The first entry on a '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | where now the total charge of the molecule instead of the number of electrons is given. In this case the number of electrons is computed automatcially from the nuclear and total charges. | ||
+ | |||
+ | In summary, the input for H$_2$CO$^+$ is | ||
+ | |||
+ | < | ||
+ | |||
+ | {geometry specification} | ||
+ | {basis specification} | ||
+ | |||
+ | {hf !invoke spin restricted Hartree-Fock program (rhf can also be used) | ||
+ | occ, | ||
+ | wf, | ||
+ | --- | ||
+ | </ | ||
+ | Note the curly brackets, which are required and enclose the command block '' | ||
+ | |||
+ | As a second example we consider the ground state of O$_2$, which is $^3\Sigma^-_g$. The geometry specification is simply | ||
+ | |||
+ | < | ||
+ | geometry={ | ||
+ | o1 | ||
+ | o2,o1,r | ||
+ | } | ||
+ | |||
+ | r=2.2 bohr !bond distance | ||
+ | </ | ||
+ | Molpro is unable to use non-abelian point groups, and can therefore only use $D_{2h}$ in the present case. The axis of a linear molecule is placed on the $z$–axis of the coordinate system. Then the symmetries of the $\sigma_g$, $\pi_{u, | ||
+ | |||
+ | The electron configuration of the electronic ground state of O$_2$ is | ||
+ | |||
+ | $1\sigma_g^2 1\sigma_u^2 2\sigma_g^2 2\sigma_u^2 3\sigma_g^2 1\pi_{u, | ||
+ | |||
+ | Thus, the number of occupied orbitals in the 8 different irreducible representations of the $D_{2h}$ point group are specified as | ||
+ | |||
+ | '' | ||
+ | |||
+ | The product symmetry of the singly occupied orbitals 1.6 ($xz$) and 1.7 ($yz$) is 4 ($xy$), and therefore the symmetry of the total wavefunction is 4 (please refer to the Molpro reference manual for a more complete account of symmetry groups and the numbering of irreducible representations). Thus, the '' | ||
+ | |||
+ | < | ||
+ | wf, | ||
+ | </ | ||
+ | This is still not unambiguous, | ||
+ | |||
+ | '' | ||
+ | |||
+ | This now defines the wavefunction uniquely. In summary, the input for O$_2$ reads | ||
+ | |||
+ | < | ||
+ | ***,O2 | ||
+ | print, | ||
+ | geometry={ | ||
+ | o1 | ||
+ | o2,o1,r | ||
+ | } | ||
+ | |||
+ | r=2.2 bohr !bond distance | ||
+ | |||
+ | basis=vtz | ||
+ | |||
+ | {hf !invoke RHF program | ||
+ | wf, | ||
+ | occ, | ||
+ | open, | ||
+ | </ | ||
+ | In fact, the last 2 lines are not necessary in the present case, since the correct configuration can be automatically determined using the Aufbau principle, but this might not always be true. | ||
+ | |||
+ | ===== Single-reference electron correlation treatments ===== | ||
+ | |||
+ | Once the Hartree-Fock calculation is done, electron correlation effects can be taken into account using various methods. Each available method in Molpro is specified by a different keyword. | ||
+ | |||
+ | ==== Closed-shell correlation methods ==== | ||
+ | |||
+ | For closed-shell calculations the following methods/ | ||
+ | |||
+ | < | ||
+ | mp2 | ||
+ | lmp2 !second-order local Moeller-Plesset perturbation theory | ||
+ | mp3 | ||
+ | mp4 | ||
+ | ci !singles and doubles configuration interaction (using MRCI program) | ||
+ | cisd !singles and doubles configuration interaction (using CCSD program) | ||
+ | cepa(1) !Coupled electron pair approximation, | ||
+ | cepa(2) !Coupled electron pair approximation, | ||
+ | cepa(3) !Coupled electron pair approximation, | ||
+ | acpf !Averaged couplec pair functional | ||
+ | ccsd !Coupled cluster with singles and doubles | ||
+ | ccsd(t) !Coupled cluster with singles and doubles and perturbative | ||
+ | !treatment of triples | ||
+ | bccd !Brueckner coupled cluster with doubles | ||
+ | bccd(t) !Brueckner coupled cluster with doubles and perturbative | ||
+ | !treatment of triples | ||
+ | qcisd | ||
+ | qcisd(t)!Quadratic configuration interaction with perturbative | ||
+ | !treatment of triples | ||
+ | </ | ||
+ | There are also explicitly correlated and local variants of many of these methods, see sections [[quickstart# | ||
+ | |||
+ | One or more of these commands should be given after the Hartree-Fock input. Note that some methods include others as a by-product; for example, it is wasteful to ask for '' | ||
+ | |||
+ | By default, only the valence electrons are correlated. To modify the space of uncorrelated inner-shell (core) orbitals, the '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | without any further arguments (all entries zero). This card must follow the directive for the method, e.g., | ||
+ | |||
+ | < | ||
+ | {MP2 | ||
+ | core} !correlate all electrons | ||
+ | </ | ||
+ | Note, however, that special basis sets are needed for correlating inner shells, and it does make not much sense to do such calculations with the standard basis sets described above. The correlation-consistent core-valence basis sets (cc-pCV$x$Z where $x$ is D, T, Q, $5,\dots$) are available for this purpose. | ||
+ | |||
+ | < | ||
+ | {MP2 | ||
+ | core, | ||
+ | </ | ||
+ | The number of occupied orbitals is automatically remembered from the preceding HF calculation. If necessary for special purposes, it can be specified using '' | ||
+ | |||
+ | Example for a complete CCSD(T) calculation for formaldehyde: | ||
+ | |||
+ | < | ||
+ | ***, | ||
+ | print, | ||
+ | angstrom | ||
+ | geometry={ | ||
+ | C | ||
+ | O , C , rco | ||
+ | H1 , C , rch , O , hco | ||
+ | H2 , C , rch , O , hco , H1 , 180 | ||
+ | } | ||
+ | |||
+ | rco=1.182 Ang | ||
+ | rch=1.102 Ang | ||
+ | hco=122.1789 Degree | ||
+ | |||
+ | basis=vdz | ||
+ | hf | ||
+ | ccsd(t) | ||
+ | </ | ||
+ | ==== Open-shell correlation methods ==== | ||
+ | |||
+ | For open shell the following single-reference methods are implemented in Molpro: | ||
+ | |||
+ | < | ||
+ | ump2 !second-order Moeller-Plesset perturbation theory with UHF reference | ||
+ | rmp2 !second-order Moeller-Plesset perturbation theory with RHF reference. | ||
+ | ci !singles and doubles configuration interaction (using the MRCI program) | ||
+ | rcisd | ||
+ | ucisd | ||
+ | rccsd | ||
+ | rccsd(t)!partially spin adapted coupled cluster with perturbative | ||
+ | !treatment of triples | ||
+ | uccsd | ||
+ | uccsd(t)!spin-unrestricted coupled cluster with perturbative | ||
+ | !treatment of triples | ||
+ | </ | ||
+ | Again, there are also explicitly correlated and local variants of many of these methods, see sections [[quickstart# | ||
+ | |||
+ | Note that all methods except '' | ||
+ | |||
+ | Core orbitals can be specified as for the closed-shell methods. The number of electrons and occupations as well as the orbitals are taken from the most recent RHF calculation. It is possible to modify these defaults using '' | ||
+ | |||
+ | The following is an example of a complete CCSD(T) calculation for O$_2$. | ||
+ | |||
+ | < | ||
+ | ***,O2 | ||
+ | print, | ||
+ | geometry={ | ||
+ | o1 | ||
+ | o2,o1,r | ||
+ | } | ||
+ | |||
+ | r=2.2 bohr !bond distance | ||
+ | |||
+ | basis=vtz | ||
+ | |||
+ | {hf !invoke RHF program | ||
+ | wf, | ||
+ | occ, | ||
+ | open, | ||
+ | |||
+ | rccsd(t) | ||
+ | </ | ||
+ | ===== MCSCF and CASSCF calculations ===== | ||
+ | |||
+ | In the MCSCF method a multiconfiguration wavefunction is variationally optimized with respect to simultaneous variations of the orbitals and configuration coefficients. As explained in section [[quickstart# | ||
+ | |||
+ | ==== Complete Active Space Self-Consistent Field, CASSCF ==== | ||
+ | |||
+ | In a CASSCF wavefunction the occupied orbital space is divided into a set of // | ||
+ | |||
+ | The CASSCF program is invoked using the | ||
+ | |||
+ | '' | ||
+ | |||
+ | Aliases for this command are '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | where $n_i$ is the number of doubly occupied (inactive) orbitals in irreducible representation $i$. The total number of occupied orbitals is specified using the '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | where $m_i \ge n_i$. The number of active orbitals in irreducible representations $i$ is then $m_i - n_i$. Note that the inactive orbitals are always the first in each symmetry, i.e., inactive and active spaces cannot be mixed. The number of electrons, as well as the symmetry of the wavefunction and the total spin is specified using the '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | where $isym$ is the symmetry of the total wavefunction (the direct product of the symmetries of all occupied spin orbitals), and $ms2=2S$ defines the spin (0=singlet, 1=doublet, 2=triplet etc). | ||
+ | |||
+ | From the above it follows that the number of active electrons is | ||
+ | |||
+ | $$N_{act} = N_{el} - 2 \sum_i^{m_{\text{closed}}} n_i$$ | ||
+ | |||
+ | By default, the inactive space consists of all inner-shell orbitals, and the active space of all valence orbitals which are obtained from the atomic valence orbitals (full valence active space). The default number of electrons equals the sum of nuclear charges, the default wavefunction symmetry is 1 and singlet. The default starting guess for the orbitals is taken from the most recent orbital optimization, | ||
+ | |||
+ | < | ||
+ | ***, | ||
+ | print, | ||
+ | !and the CI vector | ||
+ | !by default, only coefficients larger than 0.05 | ||
+ | !are printed. | ||
+ | angstrom | ||
+ | geometry={ | ||
+ | C | ||
+ | O , C , rco | ||
+ | H1 , C , rch , O , hco | ||
+ | H2 , C , rch , O , hco , H1 , 180 | ||
+ | } | ||
+ | |||
+ | rco=1.182 Ang | ||
+ | rch=1.102 Ang | ||
+ | hco=122.1789 Degree | ||
+ | |||
+ | basis=vdz | ||
+ | hf | ||
+ | casscf | ||
+ | | ||
+ | </ | ||
+ | In this case, the carbon and oxygen $1s$ orbitals are inactive, and the carbon and oxygen $2s$, $2p$ as well as the hydrogen $1s$ orbitals are active. This corresponds to the following input, which could be given after the '' | ||
+ | |||
+ | < | ||
+ | {casscf | ||
+ | closed, | ||
+ | occ, | ||
+ | wf, | ||
+ | </ | ||
+ | Thus, there are five $a_1$, two $b_1$, and three $b_2$ active orbitals. This yields 3644 CSFs or 11148 Slater determinants. //Note that the '' | ||
+ | |||
+ | < | ||
+ | {casscf | ||
+ | closed, | ||
+ | occ, | ||
+ | wf, | ||
+ | </ | ||
+ | and now only 1408 CSFs or 4036 Slater determinants are generated. | ||
+ | |||
+ | ==== Restricted Active Space self-consistent field, RASSCF ==== | ||
+ | |||
+ | Since the number of CSFs or Slater determinants and thus the computational cost quickly increases with the number of active orbitals, it may be desirable to use a smaller set of CSFs. One way to make a selection is to restrict the number of electrons in certain subspaces. One could for instance allow only single and double excitations from some strongly-occupied subset of active orbitals, or restrict the number of electrons to at most 2 in another subset of active orbitals. In general, such restrictions can be defined using the '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | where //min// and //max// are the minimum and maximum number of electrons in the given orbital subspace, as specified in the //orbital list//. Each orbital is given in the form // | ||
+ | |||
+ | < | ||
+ | {casscf | ||
+ | closed, | ||
+ | occ, | ||
+ | wf, | ||
+ | restrict, | ||
+ | </ | ||
+ | One could further allow only double excitations from the orbitals 3.1, 4.1, but in this case this has no effect since no other excitations are possible anyway. In order to demonstrate such a case, we increase the number of occupied orbitals in symmetry 1 to 8, and remove the restriction for orbital 6.1. | ||
+ | |||
+ | < | ||
+ | {casscf | ||
+ | closed, | ||
+ | occ, | ||
+ | wf, | ||
+ | restrict, | ||
+ | restrict, | ||
+ | !given orbitals | ||
+ | </ | ||
+ | It is found that this calculation is not convergent. The reason is that some orbital rotations are almost redundant with single excitations, | ||
+ | |||
+ | < | ||
+ | {casscf | ||
+ | closed, | ||
+ | occ, | ||
+ | wf, | ||
+ | restrict, | ||
+ | restrict, | ||
+ | !allowed (no singles) | ||
+ | restrict, | ||
+ | !given orbitals | ||
+ | restrict, | ||
+ | !allowed (no singles) | ||
+ | </ | ||
+ | and now the calculation converges smoothly. | ||
+ | |||
+ | Converging MCSCF calculations can sometimes be tricky and difficult. Generally, CASSCF calculations are easier to converge than restricted calculations, | ||
+ | |||
+ | The reasons for slow or no convergence could be one or more of the following. | ||
+ | |||
+ | * Near redundancies between orbital and CI coefficient changes as shown above.\\ | ||
+ | Remedy: eliminate single excitations | ||
+ | * Two or more weakly occupied orbitals have almost the same effect on the energy, but the active space allows the inclusion of only one of them.\\ | ||
+ | Remedy: increase or reduce active space ('' | ||
+ | * An active orbital has an occupation number very close to two. The program may have difficulties to decide which orbital is inactive.\\ | ||
+ | Remedy: increase inactive space | ||
+ | * Correlation of an active orbital gives a smaller energy lowering than would be obtained by correlating an inactive orbital. The program tries to swap active and inactive orbitals.\\ | ||
+ | Remedy: reduce (or possibly increase) active space. | ||
+ | * Another state of the same symmetry is energetically very close (nearly degenerate). The program might oscillate between the states (root flipping).\\ | ||
+ | Remedy: include all nearly degenerate states into the calculation, | ||
+ | |||
+ | As a rule of thumb, it can be said that if a CASSCF calculation does not converge or converges very slowly, the active or inactive space is not chosen well. | ||
+ | |||
+ | ==== State-averaged MCSCF ==== | ||
+ | |||
+ | In order to compute excited states it is usually best to optimize the energy average for all states under consideration. This avoids root-flipping problems during the optimization process and yields a single set of compromise orbitals for all states. | ||
+ | |||
+ | The number of states to be optimized in a given symmetry is specified on a '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | It is also possible to optimize states of different symmetries together. In this case several '' | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | |||
+ | etc. Optionally also the weights for each state can be specified, e.g. | ||
+ | |||
+ | < | ||
+ | wf, | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | By default, the weights of all states are identical, which is normally the most sensible choice. The following example shows a state-averaged calculation for $\rm O_2$, in which the valence states ($^3\Sigma_g^-$, | ||
+ | |||
+ | < | ||
+ | ***,O2 | ||
+ | print, | ||
+ | geometry={ | ||
+ | o1 | ||
+ | o2,o1,r | ||
+ | } | ||
+ | |||
+ | r=2.2 bohr !bond distance | ||
+ | |||
+ | basis=vtz | ||
+ | |||
+ | {hf !invoke RHF program | ||
+ | wf, | ||
+ | occ, | ||
+ | open, | ||
+ | |||
+ | {casscf | ||
+ | wf, | ||
+ | wf, | ||
+ | wf, | ||
+ | </ | ||
+ | Note that averaging of states with different spin-multiplicity, | ||
+ | |||
+ | ==== MCSCF with selected configurations ==== | ||
+ | |||
+ | MCSCF with arbitrary selected configuration spaces can also be performed. The only restriction is that always all CSFs with different spin couplings arising from the same orbital occupancy are included. There are two ways to select configurations. Either, they are selected from a previous calculation with a threshold, or they are defined explicitly in the input. Here we only describe the latter case; for more details please refer to the reference manual. | ||
+ | |||
+ | The configuration input starts with the '' | ||
+ | |||
+ | < | ||
+ | ***, | ||
+ | angstrom | ||
+ | geometry={ | ||
+ | C | ||
+ | O , C , rco | ||
+ | H1 , C , rch , O , hco | ||
+ | H2 , C , rch , O , hco , H1 , 180 | ||
+ | } | ||
+ | |||
+ | rco=1.182 Ang | ||
+ | rch=1.102 Ang | ||
+ | hco=122.1789 Degree | ||
+ | |||
+ | basis=vdz | ||
+ | hf | ||
+ | {mcscf | ||
+ | closed, | ||
+ | occ, | ||
+ | wf, | ||
+ | select | ||
+ | con, 3.1, | ||
+ | con, 3.1, | ||
+ | con, 3.1, | ||
+ | con, 3.1, | ||
+ | con, 3.1, | ||
+ | con, 4.1, | ||
+ | </ | ||
+ | This calculation includes all CSFs of the CASSCF with coefficients larger than 0.04. | ||
+ | |||
+ | ===== Multireference electron correlation methods ===== | ||
+ | |||
+ | MCSCF or CASSCF calculations usually account only for a small percentage of the dynamical correlation energy. Therefore, in order to obtain accurate results, subsequent correlation treatments are possible. This can either be done by multireference configuration interaction (MRCI) or by multireference perturbation theory (MRPT). The latter is simpler and much cheaper, but also less reliable than MRCI. | ||
+ | |||
+ | ==== Multireference configuration interaction (MRCI) ==== | ||
+ | |||
+ | MRCI calculations are invoked using the | ||
+ | |||
+ | '' | ||
+ | |||
+ | or | ||
+ | |||
+ | '' | ||
+ | |||
+ | directive. '' | ||
+ | |||
+ | By default, the same occupied and closed-shell spaces as in the preceding MCSCF (CASSCF) calculation are used, and the inner-shell //core// orbitals are not correlated (i.e., the $1s$ orbitals of carbon or oxygen, or the $1s$, $2s$, and $2p$ orbitals in chlorine). The number of uncorrelated core orbitals can be modified using the '' | ||
+ | |||
+ | By default, the orbitals are taken from the most recent orbital optimization calculation (HF or MCSCF/ | ||
+ | |||
+ | The following is an example of a CASSCF/MRCI calculations for $\rm O_2$. | ||
+ | |||
+ | < | ||
+ | ***,O2 | ||
+ | print, | ||
+ | geometry={ | ||
+ | o1 | ||
+ | o2,o1,r | ||
+ | } | ||
+ | |||
+ | r=2.2 bohr !bond distance | ||
+ | |||
+ | basis=vtz | ||
+ | |||
+ | {hf | ||
+ | wf, | ||
+ | symmetry 4, | ||
+ | | ||
+ | occ, | ||
+ | open, | ||
+ | |||
+ | casscf | ||
+ | mrci !mrci using full valence casscf reference function | ||
+ | {mrci !mrci with only 2p orbitals active, 2s closed | ||
+ | !in reference | ||
+ | closed, | ||
+ | </ | ||
+ | ==== Multireference perturbation theory, CASPT2, CASPT3 ==== | ||
+ | |||
+ | The input for MRPT/CASPT2 is similar to MRCI, but the following commands are used. | ||
+ | |||
+ | < | ||
+ | rs2 !second-order multireference perturbation theory | ||
+ | rs3 !third-order multireference perturbation theory | ||
+ | rs2c | ||
+ | !with a more contracted configuration space. | ||
+ | </ | ||
+ | In case of '' | ||
+ | |||
+ | In the '' | ||
+ | |||
+ | Note that the RS2 and RS2c methods yield slightly different results. In both cases the results also slightly differ from those obtained with the method of of Roos et al. ([[https:// | ||
+ | |||
+ | Restricted active space (RASPT2) or general MRPT2 calculations can be performed using the '' | ||
+ | |||
+ | MRPT2 and CASPT2 calculations often suffer from so-called intruder state problems, leading to a blow-up of the wavefunction and no convergence. This problem can often be avoided by using //level shifts//. These shifts can be specified on the '' | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | |||
+ | The energy is approximately corrected for the shift as proposed by Roos and Andersson. ([[https:// | ||
+ | |||
+ | Alternatively (or in addition, the IPEA shift proposed by G. Ghigo, B. O. Roos, and P.A. Malmqvist, [[https:// | ||
+ | |||
+ | '' | ||
+ | |||
+ | It is also possible to use modified zeroth-order Hamiltonians; | ||
+ | |||
+ | Energy gradients are available for '' | ||
+ | |||
+ | ==== Multi-state CASPT2 | ||
+ | |||
+ | Multi-state caspt2 calculations are only possible with the '' | ||
+ | |||
+ | There are various possibilities how to choose the zeroth-order Hamiltonian and the configuration basis. Here we describe only the recommended method; for more details see manual. | ||
+ | |||
+ | Three options are relevant: | ||
+ | |||
+ | '' | ||
+ | |||
+ | where | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **// | ||
+ | * **// | ||
+ | |||
+ | Example: | ||
+ | |||
+ | <code - examples/ | ||
+ | ***, | ||
+ | basis=vdz | ||
+ | geometry={O | ||
+ | H1,O,R; | ||
+ | H2, | ||
+ | R=2.4 | ||
+ | Theta=98 | ||
+ | |||
+ | |||
+ | hf | ||
+ | {multi; | ||
+ | wf, | ||
+ | wf, | ||
+ | wf, | ||
+ | canonical, | ||
+ | |||
+ | {rs2, | ||
+ | !select the second state for gradients | ||
+ | wf, | ||
+ | state, | ||
+ | |||
+ | optg !optimize the geometry | ||
+ | </ | ||
+ | ===== Density functional calculations ===== | ||
+ | |||
+ | Molpro is able to carry out standard Kohn-Sham DFT calculations using either the spin-restricted ('' | ||
+ | |||
+ | < | ||
+ | ***, | ||
+ | geometry={ | ||
+ | C | ||
+ | O , C , rco | ||
+ | H1 , C , rch , O , hco | ||
+ | H2 , C , rch , O , hco , H1 , 180 | ||
+ | } | ||
+ | |||
+ | rco=1.182 Ang | ||
+ | rch=1.102 Ang | ||
+ | hco=122.1789 Degree | ||
+ | |||
+ | rks | ||
+ | </ | ||
+ | The exchange-correlation functional, and associated potential, are integrated numerically, | ||
+ | |||
+ | Many different exchange and correlation functionals are contained in the program. They are implemented in a modular fashion, with both computer code and documentation being built directly from their mathematical definition. This means that you can always find the precise definition of a functional in the user manual. Each functional has a keyword which is used to identify it in the input file. The functionals to be used are given one after each other as options to the '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | Another commonly used combination (in fact, the default) is '' | ||
+ | |||
+ | Other options, such as the closed- and open-shell orbitals and the wavefunction symmetry can be defined as explained in section [[quickstart# | ||
+ | |||
+ | ===== Geometry optimization ===== | ||
+ | |||
+ | Geometry optimizations are invoked by the '' | ||
+ | |||
+ | < | ||
+ | ***, | ||
+ | print, | ||
+ | | ||
+ | angstrom | ||
+ | geometry={ | ||
+ | C | ||
+ | O , C , rco | ||
+ | H1 , C , rch , O , hco | ||
+ | H2 , C , rch , O , hco , H1 , 180 | ||
+ | } | ||
+ | |||
+ | rco=1.182 Ang | ||
+ | rch=1.102 Ang | ||
+ | hco=122.1789 Degree | ||
+ | |||
+ | basis=vdz | ||
+ | hf | ||
+ | mp2 !Perform MP2 calculation | ||
+ | optg | ||
+ | </ | ||
+ | Optimizations use analytical energy gradients if available; otherwise the gradients are computed by finite differences. Presently, analytical energy gradients are available for the following methods. | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | |||
+ | Most gradient methods are also available with density fitting, see section [[quickstart# | ||
+ | |||
+ | Various options are available for modifying the convergence thresholds and the optimization method. For details see the reference manual. | ||
+ | |||
+ | ===== Frequency calculations ===== | ||
+ | |||
+ | Harmonic vibrational frequencies can be computed automatically using the '' | ||
+ | |||
+ | < | ||
+ | hf | ||
+ | mp2 !Perform MP2 calculation | ||
+ | optg | ||
+ | frequencies, | ||
+ | </ | ||
+ | The second energy derivatives are computed by finite differences using analytical energy gradients when available (see section [[quickstart# | ||
+ | |||
+ | In the following cases the second derivatives can be computed analytically: | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | |||
+ | In these cases the input is | ||
+ | |||
+ | < | ||
+ | frequencies, | ||
+ | </ | ||
+ | ===== Relativistic effects and pseudopotentials ===== | ||
+ | |||
+ | ==== Scalar relativistic effects ==== | ||
+ | |||
+ | Scalar-relativistic effects can be included explicitly, either by means of the Pauli, the Douglas-Kroll-Hess, | ||
+ | |||
+ | '' | ||
+ | |||
+ | at the beginning of the input. The relativistic contributions are stored by the program within the variable '' | ||
+ | |||
+ | < | ||
+ | ***,Cu ground state | ||
+ | |||
+ | ! Pauli Hamiltonian | ||
+ | |||
+ | gexpec, | ||
+ | geometry={cu} | ||
+ | basis=vtz | ||
+ | hf | ||
+ | e_rhf=energy+erel | ||
+ | </ | ||
+ | To use the 2nd-order Douglas-Kroll-Hess Hamiltonian, | ||
+ | |||
+ | '' | ||
+ | |||
+ | at the beginning of the input (note that the order can range from 2 to 99). The relativistic contributions are then included as part of the total energies. In this case the example reads | ||
+ | |||
+ | < | ||
+ | ***,Cu ground state | ||
+ | |||
+ | ! Douglas-Kroll-Hess Hamiltonian | ||
+ | |||
+ | dkho=2 | ||
+ | geometry={cu} | ||
+ | basis=vtz-dk | ||
+ | hf | ||
+ | e_rhf=energy | ||
+ | </ | ||
+ | To use the eXact-2-Component (X2C) Hamiltonian, | ||
+ | |||
+ | '' | ||
+ | |||
+ | In this case the DK contracted basis sets can also be used, but special X2C contracted basis sets are prefered, e.g., vtz-x2c. These will be available soon. | ||
+ | |||
+ | ==== Relativistic pseudopotentials ==== | ||
+ | |||
+ | An implicit treatment of scalar-relativistic effects is possible with pseudopotentials (ECPs). In that case, one has to specify ECP parameters and basis sets within basis blocks: | ||
+ | |||
+ | '' | ||
+ | \\ | ||
+ | |||
+ | |||
+ | Often, it is even sufficient to specify a ECP basis-set keyword like | ||
+ | |||
+ | '' | ||
+ | |||
+ | and this will automatically select the given basis set and the associated pseudopotential. In this case the input for the copper atom calculation could be | ||
+ | |||
+ | < | ||
+ | ***,Cu ground state | ||
+ | |||
+ | ! ECP | ||
+ | |||
+ | geometry={cu} | ||
+ | basis=vtz-pp | ||
+ | hf !HF | ||
+ | e_rhf=energy | ||
+ | !orbitals that are included in the ECP. | ||
+ | </ | ||
+ | For a list of available ECPs, ECP basis sets, and corresponding keywords, see\\ | ||
+ | |||
+ | |||
+ | ==== Spin-orbit coupling ==== | ||
+ | |||
+ | Spin-orbit splittings can be calculated by setting up (and diagonalizing) spin-orbit matrices between scalar-relativistic states. The latter have to be calculated and stored within CI calculations: | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | In all-electron calculations, | ||
+ | |||
+ | '' | ||
+ | |||
+ | (For ECP calculation, | ||
+ | |||
+ | Generating and processing of SO matrices is done with | ||
+ | |||
+ | '' | ||
+ | |||
+ | where // | ||
+ | |||
+ | An example input with ECPs is | ||
+ | |||
+ | < | ||
+ | ***,Br | ||
+ | geometry={br} | ||
+ | basis=vtz-pp | ||
+ | {rhf; | ||
+ | {multi; | ||
+ | {ci; | ||
+ | {ci; | ||
+ | {ci; | ||
+ | {ci; | ||
+ | </ | ||
+ | The corresponding input for an all-electron calculation is | ||
+ | |||
+ | < | ||
+ | ***,Br | ||
+ | dkroll=1 | ||
+ | geometry={br} | ||
+ | basis=vtz-dk | ||
+ | {rhf; | ||
+ | {multi; | ||
+ | {lsint} | ||
+ | {ci; | ||
+ | {ci; | ||
+ | {ci; | ||
+ | {ci; | ||
+ | </ | ||
+ | ===== Core correlation ===== | ||
+ | |||
+ | By default, Molpro only correlates the valence electrons. Inner-shell correlation can be activated using the '' | ||
+ | |||
+ | < | ||
+ | {ccsd(t); | ||
+ | </ | ||
+ | Normally, it is sufficient to correlate in the electrons in the $n-1$ shell. Note that it makes no sense at all to activate core correlation without using appropriate basis sets. Whenever available, we recommend to use the cc-pwCV$x$Z or aug-cc-pwCV$x$Z basis sets. | ||
+ | |||
+ | ===== Integral-direct calculations ===== | ||
+ | |||
+ | With the exception of perturbative triples corrections, | ||
+ | |||
+ | < | ||
+ | ***, | ||
+ | print, | ||
+ | | ||
+ | angstrom | ||
+ | geometry={ | ||
+ | C | ||
+ | O , C , rco | ||
+ | H1 , C , rch , O , hco | ||
+ | H2 , C , rch , O , hco , H1 , 180 | ||
+ | } | ||
+ | |||
+ | rco=1.182 Ang | ||
+ | rch=1.102 Ang | ||
+ | hco=122.1789 Degree | ||
+ | |||
+ | gdirect | ||
+ | basis=vdz | ||
+ | hf | ||
+ | mp2 !Perform MP2 calculation | ||
+ | </ | ||
+ | ===== Density fitting approximations ===== | ||
+ | |||
+ | Density fitting can be used to approximate the integrals in spin restricted Hartree-Fock ('' | ||
+ | |||
+ | These methods are either direct or semi-direct, | ||
+ | |||
+ | Density fitting is invoked by adding the prefix '' | ||
+ | |||
+ | By default, a fitting basis set will be chosen automatically that corresponds to the current orbital basis set and is appropriate for the method. For instance, if the orbital basis set is '' | ||
+ | |||
+ | < | ||
+ | BASIS=VTZ | ||
+ | DF-HF, | ||
+ | DF-MP2, | ||
+ | </ | ||
+ | The program then chooses automatically the set which is appropriate for the method. Optionally, the basis type can be appended to the basis name and then this supercedes the default, e.g. | ||
+ | |||
+ | < | ||
+ | BASIS=VTZ | ||
+ | DF-HF, | ||
+ | DF-MP2, | ||
+ | </ | ||
+ | is equivalent to the previous example. | ||
+ | |||
+ | If default fitting basis sets are not available for a given orbital basis and atom, it is recommended to use the TZVPP or QZVPP basis sets (they are identical). These are the def2 sets from Turbomole, which are available for most atoms. | ||
+ | |||
+ | In density fitted local coupled cluster methods [DF-LCCSD(T)] (see section [[quickstart# | ||
+ | |||
+ | < | ||
+ | BASIS=VTZ | ||
+ | DF-HF !use VTZ/JKFIT default fitting basis | ||
+ | DF-LCCSD(T), | ||
+ | !and VQZ/MP2FIT basis for 4-external integrals | ||
+ | </ | ||
+ | If accurate absolute values of the correlation energies are needed, the cardinal number of '' | ||
+ | |||
+ | Special basis set definitions may also be needed in explicitly correlated calculations, | ||
+ | |||
+ | There are many other options affecting, e.g. screening and other details, but the default values should normally be appropriate. A full description can be found in the Molpro users manual. | ||
+ | |||
+ | ===== Local correlation treatments ===== | ||
+ | |||
+ | ==== Introduction ==== | ||
+ | |||
+ | The purpose of local correlation methods is to reduce the scaling of the computational effort as function of the molecular size and to make it possible to perform accurate calculations for larger molecules. In Molpro, local correlation methods are based on the Ansatz by Pulay ([[https:// | ||
+ | |||
+ | A very important recent improvement of the local correlation methods is the inclusion of explicitly correlated terms. These not only istrongly reduce the basis set errors, but also errors due to the domain approximations. See [[https:// | ||
+ | |||
+ | The local correlation program of Molpro can currently perform closed-shell LMP2, LMP3, LMP4(SDTQ), LCISD, LQCISD(T), and LCCSD(T) calculations. For large molecules, all methods scale linearly with molecular size, provided very distant pairs are neglected, and the integral-direct algorithms are used. | ||
+ | |||
+ | Much higher efficiency is achieved by using density fitting (DF) approximations (see section [[quickstart# | ||
+ | |||
+ | Energy gradients are available for LMP2, DF-LMP2, DF-SCS-LMP2, | ||
+ | |||
+ | Naturally, the local approximation can introduce some errors, and therefore the user has to be more careful than with standard black box methods. This problem is very much reduced, however, in the explicitly correlated methods. On the other hand, the low-order scaling makes it possible to treat much larger systems at high levels of theory than it was possible so far. Before using these methods, it is strongly recommended to read the literature in order to understand the basic concepts and approximations. | ||
+ | |||
+ | References: | ||
+ | |||
+ | $[1]$ C. Hampel and H.-J. Werner, //Local Treatment of electron correlation in coupled cluster (CCSD) theory//, [[https:// | ||
+ | $[2]$ H.-J. Werner and M. Schütz, //An efficient local coupled-cluster method for accurate thermochemistry of large systems//, [[https:// | ||
+ | $[3]$ T. B. Adler and H.-J. Werner, //An explicitly correlated local coupled-cluster method for calculations of large molecules close to the basis set limit//, [[https:// | ||
+ | |||
+ | Further references can be found therein. | ||
+ | |||
+ | ==== Invoking local correlation methods ==== | ||
+ | |||
+ | The currently most accurate and recommended local correlation methods are PNO-LMP2, PNO-LCCSD, PNO-LCCSD(T), | ||
+ | |||
+ | The older PAO-based local correlation treatments are switched on by preceding the command name by an '' | ||
+ | |||
+ | The '' | ||
+ | |||
+ | The general input for local MP2 or coupled cluster calculations with density fitting (recommended) is: | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | |||
+ | The explicitly correlated counterparts are | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | |||
+ | There are many options and directives to control the local approximations (e.g., domains and pair classes). Here we only described the most important ones. For a full description please read the Molpro users manual. | ||
+ | |||
+ | ==== Orbital localization ==== | ||
+ | |||
+ | By default, the orbitals are localized using the method of Pipek and Mezey (PM). Alternatively, | ||
+ | |||
+ | ==== Choice of domains ==== | ||
+ | |||
+ | The following applies to the PAO-LMP2 and PAO-LCCSD methods. In case of the new OSV-LMP2 and OSV-LCCSD(T) methods the standard domains only affect the pair approximations. See section [[quickstart# | ||
+ | |||
+ | ==== Standard domains ==== | ||
+ | |||
+ | Standard domains are always determined first. They are used to define strong, close, weak, and distant pairs. More accurate results can be obtained with extended domains (see section [[quickstart# | ||
+ | |||
+ | The domains can be determined either by the method of Boughton and Pulay (BP) [J. Comp. Chem. **14**, 736 (1993)] or using natural population analysis (NPA) as described in [[https:// | ||
+ | |||
+ | This BP method is somewhat basis set dependent and therefore the default value of '' | ||
+ | |||
+ | ==== Extended domains ==== | ||
+ | |||
+ | In order to increase the accuracy various options can be used to extend the domains (for details see Molpro manual). But note that the computational effort increases with the fourth power of the domain sizes and can therefore increase quite dramatically when extending domains. This does not affect the linear scaling behaviour in the asymptotic limit. | ||
+ | |||
+ | ==== OSV calculations ==== | ||
+ | |||
+ | Orbital specific virtuals are used if the option '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | ==== Choice of pair classes ==== | ||
+ | |||
+ | The //strong//, //close//, //weak// and //distant// pairs are selected using distance or connectivity criteria as described in more detail in section [[quickstart# | ||
+ | |||
+ | Pair approximations only affect the LCCSD calculations (LMP2 is only affected by '' | ||
+ | |||
+ | ==== Options for selection of pair classes ==== | ||
+ | |||
+ | There are two alternative modes for defining the pair classes: either //distance criteria// '' | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | |||
+ | Setting a distance criterion to zero means that all pairs up to the corresponding class are treated as strong pairs. For instance, '' | ||
+ | |||
+ | ==== Doing it right ==== | ||
+ | |||
+ | Here we summarize only a few important aspects. Further information and hints can be found in the Molpro users manual. | ||
+ | |||
+ | ==== Basis sets ==== | ||
+ | |||
+ | For local calculations we recommend the use of generally contracted basis sets, e.g., the correlation consistent cc-pVnZ sets of Dunning and coworkers. For these basis sets the core basis functions are uniquely defined, and will always be eliminated if the defaults are used. | ||
+ | |||
+ | The correlation consistent basis sets are also recommended for all density fitting and explicitly correlated calculations, | ||
+ | |||
+ | ==== Symmetry and Orientation ==== | ||
+ | |||
+ | In local calculation, | ||
+ | |||
+ | < | ||
+ | symmetry, | ||
+ | geometry={ | ||
+ | O1 | ||
+ | H1,O1,roh | ||
+ | H2, | ||
+ | } | ||
+ | </ | ||
+ | ==== Localization ==== | ||
+ | |||
+ | By default, Pipek-Mezey (PM) localization is used and performed automatically in the beginning of a local correlation calculation. As mentioned in section [[quickstart# | ||
+ | |||
+ | Poor localization is sometimes an intrinsic problem, in particular for strongly conjugated systems or when diffuse basis sets are used. This is caused by localization tails due to the overlapping diffuse functions. The NLMO method is less susceptible to such problems than the PM method. With PM localization problems are particularly frequent in calculations of systems with short bonds, e.g., aromatic molecules. Often such problems can be avoided using the option '' | ||
+ | |||
+ | ==== Orbital domains ==== | ||
+ | |||
+ | In most cases, the domain selection (cf. section [[quickstart# | ||
+ | |||
+ | < | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | 3 H2 | ||
+ | | ||
+ | | ||
+ | | ||
+ | 2 H1 | ||
+ | </ | ||
+ | This tells you that the domains for orbitals 2.1 and 5.1 comprise the basis functions of the oxygen atom and and one hydrogen atom, while the domains for orbitals 3.1 and 4.1 consist of the basis function on oxygen only. The latter ones correspond to the oxygen lone pairs, the former to the two OH bonds, and so this is exactly what one would expect. For each domain of AOs, corresponding projected atomic orbitals (PAOs) are generated, which span subspaces of the virtual space and into which excitations are made. Options which affect the domain selection are described in section [[quickstart# | ||
+ | |||
+ | The choice of domains usually has only a weak effect on near-equilibrium properties like equilibrium geometries and harmonic vibrational frequencies. More critical are energy differences like reaction energies or barrier heights. In cases where the electronic structure strongly changes, e.g., when the number of double bonds changes, it is recommended to compare DF-LMP2 and DF-MP2 results before performing expensive LCCSD(T) calculations. | ||
+ | |||
+ | The effect of domain approximations is strongly reduced in explicitly correlated calculations [e.g., DF-LCCSD(T)-F12] and the use of these methods (see below) is therefore strongy recommended (but the F12 option is not available for OSV methods). | ||
+ | |||
+ | ===== Explicitly correlated methods ===== | ||
+ | |||
+ | Explicitly correlated calculations provide a dramatic improvement of the basis set convergence of MP2 and CCSD correlation energies. Such calculations can be performed using the commands of the form | ||
+ | |||
+ | // | ||
+ | |||
+ | where //command// can be one of the following: | ||
+ | |||
+ | * **MP2-F12** Closed-shell canonical MP2-F12. The F12-corrections is computed using density fitting, and then added to the MP2 correlation energy obtained without density fitting. By default, ansatz 3C(FIX) is used. Other ansaätze, as fully described in [[https:// | ||
+ | * **DF-MP2-F12** As MP2-F12, but the DF-MP2 correlation energy is used. This is less expensive than MP2-F12 since the standard two-electron integrals and the non-density fitted MP2 energy need not to be computed. | ||
+ | * **DF-RMP2-F12** Spin-restricted open-shell DF-RMP2-F12 as described in [[https:// | ||
+ | * **CCSD-F12** Closed-shell CCSD-F12 approximations as described in [[https:// | ||
+ | * **CCSD(T)-F12** Same as CCSD-F12, but perturbative triples are added. | ||
+ | * **UCCSD-F12** Open-shell unrestricted UCCSD-F12 approximations as described in [[https:// | ||
+ | * **UCCSD(T)-F12** Same as UCCSD-F12, but perturbative triples are added. | ||
+ | * **DF-LMP2-F12** Closed-shell DF-MP2-F12/ | ||
+ | * **DF-LCCSD(T)-F12** Closed-shell DF-LCCSD(T)-F12/ | ||
+ | |||
+ | Note that in the local methods only ansatz 3*A should be used (default), and F12 is not available for OSV methods. | ||
+ | |||
+ | ==== Options ==== | ||
+ | |||
+ | There are many options available for explicitly correlated methods, but sensible defaults are used for all of them. For details see the Molpro reference manual. The most important options are: | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | |||
+ | In the following, we briefly summarize the meaning of these options and of the approximations that can be used. For more details and further references to related work of other authors see H.-J. Werner, T. B. Adler, and F. R. Manby, //General orbital invarient MP2-F12 theory//, [[https:// | ||
+ | |||
+ | ==== Reference functions ==== | ||
+ | |||
+ | The MP2-F12, CCSD-F12, and UCCSD-F12 methods must use conventional (non-density fitted) spin-restricted Hartree-Fock reference functions (HF or RHF). DF-HF cannot be used for these methods. This restriction is necessary to ensure that the Fock matrix is diagonal and consistent with the integrals used in these methods. For DF-MP2-F12, DF-LMP2-F12, | ||
+ | |||
+ | ==== Wave function Ansätze ==== | ||
+ | |||
+ | The so called ”ansatz” determines the definition of the explicitly correlated wave function. This is to be distinguished from the various approximations that can be used to approximate the Hamiltonian matrix elements. For details see [[https:// | ||
+ | |||
+ | ==== The general ansatz (ansatz=3C(FULL)) | ||
+ | |||
+ | The conventional external pair functions are augmented by terms of the form $$|u_{ijp}^{\rm F12}\rangle = \sum_{p=\pm 1} \sum_{kl} T^{ijp}_{kl} \hat Q_{12} \hat F_{12} |kl\rangle \label{quickeq: | ||
+ | |||
+ | ==== The diagonal ansatz (ansatz=3C(D) ==== | ||
+ | |||
+ | The sum over $kl$ in equation ([[quickstart# | ||
+ | |||
+ | ==== The fixed amplitude ansatz (ansatz=3C(FIX) ==== | ||
+ | |||
+ | The wave function has the same form as for the diagonal ansatz, but the amplitudes are determined from the cusp conditions and fixed, i.e., $T^{ij, | ||
+ | |||
+ | ==== The correlation factor F12 ==== | ||
+ | |||
+ | In the F12 methods, the correlation factor $\hat F_{12}$ is approximated by a frozen expansion of Gaussian type geminals that are functions of the interelectronic distance $r_{12}$. In principle, this can be any function, but normally a Slater function $$F_{12}(r_{12})=-\beta^{-1}\exp(-\beta r_{12})$$ is used. By default this function is approximated by an expansion of six Gaussian functions, and the exponents and coefficients are optimized to obtain the best least squares fit, using a suitable weight function. The exponent $\beta$ can be chosen using the option '' | ||
+ | |||
+ | It is also possible to use geminals with different exponents for core-core and core-valence calculation [see [[https:// | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | |||
+ | The smallest $\beta$ value is used for valence correlation, | ||
+ | |||
+ | In addition, also linear R12-methods ($F_{12}=r_{12}$) are available (DF-MP2-R12 and DF-LMP2-R12). However, these are no longer recommended since the non-linear correlation factor yields much better accuracy, numerical stability and convergence with respect to the AO, DF and RI basis sets. | ||
+ | |||
+ | ==== Basis sets ==== | ||
+ | |||
+ | In MOLPRO the F12 integrals can only be computed using density fitting (DF) approximations. The many electron integrals are approximated by resolutions of the identity (RI) expansions. Thus, F12 calculations require three different basis sets: the orbital (AO) basis, the DF basis, and the RI basis. | ||
+ | |||
+ | We recommend as AO basis sets the augmented correlation consistent basis sets (denoted AVnZ) or the specially optimized correlation consistent F12 basis sets (denoted VnZ-F12, cf. K.A. Peterson, T.B. Adler, and H.-J. Werner, [[https:// | ||
+ | |||
+ | The following example shows a ccsd(t)-f12 calculation using the VTZ-F12 basis of Peterson et al., [[https:// | ||
+ | |||
+ | < | ||
+ | ***, | ||
+ | geometry={ | ||
+ | C | ||
+ | O , C , rco | ||
+ | H1 , C , rch , O , hco | ||
+ | H2 , C , rch , O , hco , H1 , 180 | ||
+ | } | ||
+ | |||
+ | rco=1.182 Ang | ||
+ | rch=1.102 Ang | ||
+ | hco=122.1789 Degree | ||
+ | |||
+ | basis=vtz-f12 | ||
+ | hf | ||
+ | ccsd(t)-f12, | ||
+ | e_F12a=energy(1) | ||
+ | e_F12b=energy(2) | ||
+ | </ | ||
+ | The given RI and DF basis sets would also be used by default. With the AVTZ orbital basis the input would read | ||
+ | |||
+ | < | ||
+ | basis=avtz | ||
+ | hf | ||
+ | ccsd(t)-f12, | ||
+ | </ | ||
+ | In this case the default would be (for historical reasons and backward compatibility) | ||
+ | |||
+ | < | ||
+ | basis=avtz | ||
+ | hf | ||
+ | ccsd(t)-f12, | ||
+ | </ | ||
+ | ==== Symmetry ==== | ||
+ | |||
+ | Symmetry cannot be used in the local DF-LMP2-F12 and DF-LCCSD(T)-F12 calculations. However, in canonical MP2-F12, DF-MP2-F12, DF-RMP2-F12, | ||
+ | |||
+ | ==== CABS Singles correction ==== | ||
+ | |||
+ | By default, the perturbative CABS singles correction as described in [[https:// | ||
+ | |||
+ | The singles correction can be turned off by option '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | The contribution of core orbitals to the singles energy is not included by default, but can be turned on by option '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | ==== CCSD(T)-F12 ==== | ||
+ | |||
+ | The CCSD-F12 and UCCSD-F12 programs first do DF-MP2-F12/ | ||
+ | |||
+ | It should be noted that these methods involve approximations and do not yield the exact CCSD-F12 energies. Extensive benchmarks have shown that the CCSD-F12a method slightly overestimates the correlation energies, while CCSD-F12b underestimates them. For AVDZ or AVTZ basis sets, CCSD-F12a usually gives very good results, but for larger basis sets it may overestimate the basis set limit and converge from below to the limit. Thus, convergence may not be monotonic, and extrapolation of the correlation energies should not be attempted. CCSD-F12b usually converges monotonically from below to the limit and gives best results for AVQZ and larger basis sets. Thus, we currently recommend CCSD-F12a for AVDZ and AVTZ basis sets, and CCSD-F12b for larger basis sets (rarely needed). | ||
+ | |||
+ | The perturbative triples correction can be invoked by using CCSD(T)-F12 or UCCSD(T)-F12. There is no direct F12 correction to the triples, and therefore the basis set error of the triples is not affected by the F12 (small changes of the triples energy arise from the fact that the doubles amplitudes are affected by the F12 terms). In many cases, a simple and pragmatic improvement of the triples energy can be obtained by scaling the triples energy contribution as $$\Delta E_{(T*)} = \Delta E_{(T)}*E_{corr}^{MP2-F12}/ | ||
+ | |||
+ | '' | ||
+ | |||
+ | ===== Advanced features of Molpro ===== | ||
+ | |||
+ | In the following sections, examples for some more special capabilities of Molpro are given. This description is not exhaustive. For more complete information, | ||
+ | |||
+ | ==== Memory control ==== | ||
+ | |||
+ | Molpro stores all internal data in a single big working area, which is allocated dynamically in the beginning of the calculation. The default amount of memory is 8 MW (64 Mb). For big calculations more memory may be needed, and the default can then be modified using the '' | ||
+ | |||
+ | < | ||
+ | ***,title | ||
+ | memory, | ||
+ | geometry={...} | ||
+ | basis=vdz | ||
+ | hf | ||
+ | ccsd(t) | ||
+ | </ | ||
+ | The amount of memory needed depends on the size of the molecule, the basis set, the symmetry of the molecule, and the methods used, and therefore it is difficult to predict it in advance. Most calculation run with 16 MW or less, but in big cases with low symmetry more may be required. A rather safe choice is to specify 64 MW, but of course this requires that your machine has sufficient memory (in this case more than 512 MB). The memory can also be given using the '' | ||
+ | |||
+ | ==== Restarting calculations ==== | ||
+ | |||
+ | By default, and in all examples shown so far, scratch files are used to store all intermediate data Molpro needs, and the user will normally not see these files at all. However, it is possible to save computed data as orbitals and energies in named (permanent) files and use these for restarting a calculation at a later stage. Molpro uses a number of different files, but only one or two of them are needed for a restart. File 1 holds the one- and two electron integrals and related information, | ||
+ | |||
+ | The use of named files can be requested using the '' | ||
+ | |||
+ | < | ||
+ | ***,title | ||
+ | memory, | ||
+ | file, | ||
+ | file, | ||
+ | geometry={...} | ||
+ | basis=vdz | ||
+ | hf | ||
+ | ccsd(t) | ||
+ | </ | ||
+ | If the same files are used in a subsequent calculation, | ||
+ | |||
+ | < | ||
+ | ***,title | ||
+ | memory, | ||
+ | file, | ||
+ | file, | ||
+ | casscf | ||
+ | mrci !mrci using casscf reference wavefunction | ||
+ | </ | ||
+ | If only file 2 is defined in the input, the integrals will automatically be recomputed, as in the following input. Note that in most cases, file 1 can be very large (it contains the two-electron integrals), and the cost of recomputing the integrals can be a small fraction of the overall time; it is therefore usually sensible in this way to avoid declaring the file as permanent. | ||
+ | |||
+ | < | ||
+ | ***,title | ||
+ | memory, | ||
+ | file, | ||
+ | casscf | ||
+ | mrci !mrci using casscf reference wavefunction | ||
+ | </ | ||
+ | The automatic restart mechanism can be disabled by specifying '' | ||
+ | |||
+ | < | ||
+ | ***,title | ||
+ | memory, | ||
+ | file, | ||
+ | !If the file exists, overwrite it. | ||
+ | hf | ||
+ | casscf | ||
+ | </ | ||
+ | Note that if permanent files are used, it is important to take care that two simultaneous jobs do not attempt to use the same file! | ||
+ | |||
+ | ==== Variables ==== | ||
+ | |||
+ | Results and other values can be stored in variables for use at a later stage of the calculations. Variables can simply be set in the input as | ||
+ | |||
+ | '' | ||
+ | |||
+ | Variables can also be one-dimensional arrays, in which case the format is | ||
+ | |||
+ | '' | ||
+ | |||
+ | The current dimension of such an array is '' | ||
+ | |||
+ | Molpro stores certain results in variables with predefined names. The most important ones are | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | (set only in the CCSD/QCI program). | ||
+ | * **'' | ||
+ | (set only in '' | ||
+ | * **'' | ||
+ | (set only in '' | ||
+ | * **'' | ||
+ | (set only in '' | ||
+ | * **'' | ||
+ | (set only in '' | ||
+ | * **'' | ||
+ | (set only in '' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | |||
+ | Variables in CCSD(T)-F12 and LCCSD(T)-F12 calculations: | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | |||
+ | Variables for unit conversions. Multiplying a variable in atomic units by these variables yields: | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | |||
+ | See reference manual for further variables. | ||
+ | |||
+ | ==== Print options ==== | ||
+ | |||
+ | Molpro has very many print options as described in detail in the reference manual for the various methods, but in practice only a few of them are needed. In general, there are two kinds of print options: either global ones, specified with the '' | ||
+ | |||
+ | < | ||
+ | gprint, | ||
+ | !are printed | ||
+ | hf | ||
+ | casscf | ||
+ | </ | ||
+ | < | ||
+ | {hf | ||
+ | print, | ||
+ | |||
+ | casscf | ||
+ | </ | ||
+ | To avoid confusion and unexpected results, we recommend to use global print options only, except for special debugging purposes. The most important global print options are | ||
+ | |||
+ | < | ||
+ | gprint, | ||
+ | gprint, | ||
+ | gprint, | ||
+ | !in each symmetry | ||
+ | gprint, | ||
+ | </ | ||
+ | Note that by default only CI coefficients larger than 0.05 are printed. See section [[quickstart# | ||
+ | |||
+ | Several print options can be given on one '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | ==== Convergence thresholds ==== | ||
+ | |||
+ | As for the print options, there are global and local thresholds, specified using the '' | ||
+ | |||
+ | < | ||
+ | gthresh, | ||
+ | !This affects all iterative methods | ||
+ | !In HF, the value is further divided by 100 to achieve good enough | ||
+ | | ||
+ | gthresh, | ||
+ | !This affects scf only | ||
+ | gthresh, | ||
+ | !This affects mcscf only | ||
+ | gthresh, | ||
+ | | ||
+ | gthresh, | ||
+ | gthresh, | ||
+ | gthresh, | ||
+ | gthresh, | ||
+ | gthresh, | ||
+ | gthresh, | ||
+ | gthresh, | ||
+ | </ | ||
+ | Note that the energy threshold also affects the defaults for some other thresholds such as '' | ||
+ | |||
+ | Any number of thresholds can be specified on a single '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | ==== Program control using do loops, if blocks and goto commands ==== | ||
+ | |||
+ | Molpro also allows the writing of simple input programs, which check for conditions or perform loops over certain parts of the input. '' | ||
+ | |||
+ | One line '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | If more than one command depends on the condition, '' | ||
+ | |||
+ | < | ||
+ | IF (condition) THEN | ||
+ | | ||
+ | END IF | ||
+ | </ | ||
+ | or | ||
+ | |||
+ | < | ||
+ | IF (condition) THEN | ||
+ | | ||
+ | ELSE | ||
+ | | ||
+ | END IF | ||
+ | </ | ||
+ | Also the structure of '' | ||
+ | |||
+ | < | ||
+ | DO ivar=istart, | ||
+ | | ||
+ | ENDDO | ||
+ | </ | ||
+ | '' | ||
+ | |||
+ | Examples: | ||
+ | |||
+ | Loop over several geometries (potential curve for HCl): | ||
+ | |||
+ | < | ||
+ | ***,HCl | ||
+ | geometry={ | ||
+ | h | ||
+ | cl,h,r | ||
+ | } | ||
+ | |||
+ | r=1.5 | ||
+ | hf !Hartree-Fock for start geometry | ||
+ | |||
+ | do i=1, | ||
+ | |||
+ | casscf; | ||
+ | ecas(i)=energy | ||
+ | mrci !perform mrci | ||
+ | rhcl(i)=r | ||
+ | emrci(i)=energy | ||
+ | emrda(i)=energd | ||
+ | |||
+ | r=r+0.2 | ||
+ | end do | ||
+ | </ | ||
+ | Alternatively, | ||
+ | |||
+ | < | ||
+ | ***,HCl | ||
+ | |||
+ | rhcl=[1.6, | ||
+ | |||
+ | geometry={ | ||
+ | h | ||
+ | cl,h,r | ||
+ | } | ||
+ | |||
+ | do i=1,# | ||
+ | r=rhcl(i) | ||
+ | |||
+ | if(i.eq.1) then !in first calculation, | ||
+ | hf !Hartree-Fock for start geometry | ||
+ | end if | ||
+ | |||
+ | casscf; | ||
+ | ecas(i)=energy | ||
+ | mrci !perform mrci | ||
+ | rhcl(i)=r | ||
+ | emrci(i)=energy | ||
+ | emrda(i)=energd | ||
+ | end do | ||
+ | </ | ||
+ | One can skip to some command later in the input using '' | ||
+ | |||
+ | < | ||
+ | if(orbital.ne.0) goto casscf | ||
+ | hf | ||
+ | casscf; | ||
+ | </ | ||
+ | ==== Tables and Plotting ==== | ||
+ | |||
+ | The results of the previous calculation can be printed in form of a table and plotted using the freely available plotting program '' | ||
+ | |||
+ | < | ||
+ | {table, | ||
+ | plot, | ||
+ | Title, | ||
+ | </ | ||
+ | prints the following table | ||
+ | |||
+ | < | ||
+ | | ||
+ | |||
+ | | ||
+ | 1.6 | ||
+ | 1.8 | ||
+ | 2.0 | ||
+ | 2.2 | ||
+ | 2.3 | ||
+ | 2.4 | ||
+ | 2.5 | ||
+ | 2.7 | ||
+ | 3.0 | ||
+ | 3.5 | ||
+ | 4.0 | ||
+ | 5.0 | ||
+ | 6.0 | ||
+ | 7.0 | ||
+ | </ | ||
+ | Subsequent execution of | ||
+ | |||
+ | '' | ||
+ | |||
+ | yields the following plot | ||
+ | |||
+ | {{hcl.svg? | ||
+ | |||
+ | ==== Basis set extrapolation ==== | ||
+ | |||
+ | Basis set extrapolation can be carried out for correlation consistent basis sets using | ||
+ | |||
+ | '' | ||
+ | |||
+ | where basislist is a list of at least two basis sets separated by colons, e.g. AVTZ: | ||
+ | |||
+ | The simplest way to perform extraplations for standard methods like MP2 or CCSD(T) is to use, e.g. | ||
+ | |||
+ | < | ||
+ | ***,H2O | ||
+ | memory,32,m | ||
+ | gthresh, | ||
+ | |||
+ | r = | ||
+ | geometry={O; | ||
+ | H1,O,r; | ||
+ | H2, | ||
+ | |||
+ | basis=avtz | ||
+ | hf | ||
+ | ccsd(t) | ||
+ | extrapolate, | ||
+ | |||
+ | table, | ||
+ | head, | ||
+ | </ | ||
+ | This will perform the first calculation with AVTZ basis, and then compute the estimated basis set limit using the AVQZ and AV5Z basis sets. The correlation energy obtained in the calculation that is performed immediately before the extrapolate command will be extrapolated (in this case the CCSD(T) energy), and the necessary sequence of calculations [here HF;CCSD(T)] will be automatically carried out. Unless otherwise specified (see below), the Hartree-Fock energy is taken from the largest basis set and not extrapolated. | ||
+ | |||
+ | The resulting energies are returned in variables ENERGR (reference energies), ENERGY (total energies), and ENERGD (Davidson corrected energy if available); the corresponding basis sets are returned in variable BASISSETS. The results can be printed, e.g., in a table as shown above, or used otherwise. The above input produces the table | ||
+ | |||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | The extrapolated total energy is also returned in variable ECBS (ECBSD for Davidson corrected energy if available). | ||
+ | |||
+ | In order to extrapolate the HF energy as well (for example using Karton-Martin extrapolation), | ||
+ | |||
+ | '' | ||
+ | |||
+ | This yields | ||
+ | |||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | Alternatively, | ||
+ | |||
+ | For example:\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | |||
+ | |||
+ | < | ||
+ | ***,H2O | ||
+ | memory,32,m | ||
+ | gthresh, | ||
+ | |||
+ | r = | ||
+ | geometry={O; | ||
+ | H1,O,r; | ||
+ | H2, | ||
+ | |||
+ | basis=vqz | ||
+ | hf | ||
+ | ccsd(t) | ||
+ | eref(1)=energr | ||
+ | etot(1)=energy | ||
+ | |||
+ | basis=v5z | ||
+ | hf | ||
+ | ccsd(t) | ||
+ | eref(2)=energr | ||
+ | etot(2)=energy | ||
+ | |||
+ | text, | ||
+ | extrapolate, | ||
+ | |||
+ | text, | ||
+ | extrapolate, | ||
+ | |||
+ | text, | ||
+ | extrapolate, | ||
+ | </ | ||
+ | This yields | ||
+ | |||
+ | For extrapolation of the total energy: | ||
+ | |||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | For extrapolation of the correlation energy only: | ||
+ | |||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | For separate extrapolation of reference and correlation energies: | ||
+ | |||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | ==== Interface to MOLDEN ==== | ||
+ | |||
+ | The geometries and orbitals can be saved for visualization using '' | ||
+ | |||
+ | < | ||
+ | ***,H2O | ||
+ | angstrom | ||
+ | geometry={ | ||
+ | o | ||
+ | h,o,roh | ||
+ | h, | ||
+ | } | ||
+ | |||
+ | roh=1.0 | ||
+ | theta=104.0 | ||
+ | |||
+ | hf !do hartree-fock | ||
+ | optg !optimize geometry at hf level | ||
+ | frequencies | ||
+ | put, | ||
+ | </ | ||
+ | The file h2o.molden can be used directly as input to //MOLDEN//. | ||
+ | |||
+ | ==== molproView ==== | ||
+ | |||
+ | // | ||
+ | |||
+ | molproView can be tried using either your own output files, or simple given examples, at https:// | ||
+ | |||
+ | === Modes of use === | ||
+ | |||
+ | * **Via a web browser:** The URL should point to the place where the // | ||
+ | * **Via a shell script:** If installed on your workstation, | ||
+ | * **Direct production of html:** Any Molpro output file with suffix '' | ||
+ | |||
+ | === Features === | ||
+ | |||
+ | The following, when found in the Molpro output, are recognized and marked up. | ||
+ | |||
+ | * All results (energies, properties). | ||
+ | * The input data for the job. | ||
+ | * Geometries, displayed using a configurable 3-dimensional model. | ||
+ | * 3-dimensional isosurface plots of molecular orbitals and electron densities, where these have ben calculated by Molpro’s CUBE facility. | ||
+ | * Intermediate points in geometry optimizations, | ||
+ | * Generation of restart input files using the geometry at any chosen point in a geometry optimization within the job. | ||
+ | * Normal modes and frequencies, | ||
+ | * Tables, including optional presentation as 2-dimensional plots using Google Chart. | ||