Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vibrational_scf_programs [2024/11/13 11:44] rauhutvibrational_scf_programs [2025/05/22 10:35] (current) rauhut
Line 21: Line 21:
   * **''INFO''=//n//** ''INFO=1'' provides a list of the values of all relevant program parameters (options).   * **''INFO''=//n//** ''INFO=1'' provides a list of the values of all relevant program parameters (options).
   * **''MAXITER''=//n//** (=999 default) This key sets the maximum number of iterations to be performed in the VSCF program.   * **''MAXITER''=//n//** (=999 default) This key sets the maximum number of iterations to be performed in the VSCF program.
-  * **''MUPLOT''=//n//** (=0 default) plots all $\mu$-tensor surfaces up to //n//D and a corresponding Gnuplot script in a separate subdirectory (''plots''). This option works only in combination with ''POT=POLY''. The ''VAM'' option has to be set accordingly.+  * **''MUPLOT''=//n//** (=0 default) plots all $\mu$-tensor surfaces up to //n//D and a corresponding Gnuplot script in a separate subdirectory (''plots''). This option works only in combination with ''POT=POLY''. The ''VAM'' option has to be set accordingly, i.e. you must at least use ''VAM=4''.
   * **''NBAS''=//n//** The number of basis functions (distributed Gaussians or harmonic oscillator functions) to be used for solving the VSCF equations can be controlled by ''NBAS''=//n//. The default is ''NBAS=18'' for a basis of distributed Gaussians, while its is ''NBAS=16'' for a harmonic oscillator basis. This option is only active once an analytical representation of the potential has been chosen, see the option ''POT'' and the ''POLY'' program.   * **''NBAS''=//n//** The number of basis functions (distributed Gaussians or harmonic oscillator functions) to be used for solving the VSCF equations can be controlled by ''NBAS''=//n//. The default is ''NBAS=18'' for a basis of distributed Gaussians, while its is ''NBAS=16'' for a harmonic oscillator basis. This option is only active once an analytical representation of the potential has been chosen, see the option ''POT'' and the ''POLY'' program.
   * **''NDIM''=//n//** (=3 default) The expansion order of the potential in the ''VSCF'' calculation can differ from the expansion order in the ''XSURF'' calculation. However, only values less or equal to the one used in the surface calculation can be used.   * **''NDIM''=//n//** (=3 default) The expansion order of the potential in the ''VSCF'' calculation can differ from the expansion order in the ''XSURF'' calculation. However, only values less or equal to the one used in the surface calculation can be used.
   * **''NDIMDIP''=//n//** Term after which the $n$-body expansions of the dipole surfaces shall be truncated. The default is set to 3. Note that ''NDIMDIP'' has to be lower or equal to ''NDIM''.   * **''NDIMDIP''=//n//** Term after which the $n$-body expansions of the dipole surfaces shall be truncated. The default is set to 3. Note that ''NDIMDIP'' has to be lower or equal to ''NDIM''.
   * **''NDIMPOL''=//n//** Term after which the $n$-body expansions of the polarizability tensor surfaces are truncated. The default is set to 0. Note that ''NDIMPOL'' has to be lower or equal to ''NDIM''.   * **''NDIMPOL''=//n//** Term after which the $n$-body expansions of the polarizability tensor surfaces are truncated. The default is set to 0. Note that ''NDIMPOL'' has to be lower or equal to ''NDIM''.
 +  * **''NDIMQUAD''=//n//** Term after which the $n$-body expansions of the quadrupole tensor surfaces are truncated. The default is set to 0. Note that ''NDIMQUAD'' has to be lower or equal to ''NDIM''.
   * **''ORTHO''=//n//** Determines the type of orthogonalization within the VSCF program. ''ORTHO=1'' invokes a symmetrical orthogonalization, ''ORTHO=2'' a canonical one and ''ORTHO=3'' uses a canonical one together with an elimination of linear dependencies (see also keyword ''THRLINDEP''. The default is ''ORTHO=1''.   * **''ORTHO''=//n//** Determines the type of orthogonalization within the VSCF program. ''ORTHO=1'' invokes a symmetrical orthogonalization, ''ORTHO=2'' a canonical one and ''ORTHO=3'' uses a canonical one together with an elimination of linear dependencies (see also keyword ''THRLINDEP''. The default is ''ORTHO=1''.
   * **''POT''=//variable//** (=''GRID'' default) VSCF solutions can be obtained using a potential in grid representation, i.e. ''POT=GRID'', or in an analytical representation, ''POT=POLY'', ''POT=BSPLINE'', ''POT=GAUSS''. In the latter cases the ''POLY'' program needs to be called prior to the ''VSCF'' program in order to transform the potential.   * **''POT''=//variable//** (=''GRID'' default) VSCF solutions can be obtained using a potential in grid representation, i.e. ''POT=GRID'', or in an analytical representation, ''POT=POLY'', ''POT=BSPLINE'', ''POT=GAUSS''. In the latter cases the ''POLY'' program needs to be called prior to the ''VSCF'' program in order to transform the potential.
   * **''PRINT''=//n//** (=0 default) This option provides an extended output. ''PRINT=1'' prints the vibrationally averaged rotational constants for all computed states and the associated vibration-rotation constants $\alpha$. Moreover, the temperature dependence of bond lengths will also be printed, when the potential is represented by a linear combination of basis functions. ''PRINT=2'' prints the effective 1D polynomials in case that the potential is represented in terms of polynomials, see the option ''POT=POLY'' and the ''POLY'' program. In addition the generalized VSCF property integrals, i.e. $\left < VSCF \left | q_i^r \right | VSCF \right >$ are printed. These integrals allow for the calculation of arbitrary vibrationally averaged properties once the property surfaces are available. Default: ''PRINT=0''.   * **''PRINT''=//n//** (=0 default) This option provides an extended output. ''PRINT=1'' prints the vibrationally averaged rotational constants for all computed states and the associated vibration-rotation constants $\alpha$. Moreover, the temperature dependence of bond lengths will also be printed, when the potential is represented by a linear combination of basis functions. ''PRINT=2'' prints the effective 1D polynomials in case that the potential is represented in terms of polynomials, see the option ''POT=POLY'' and the ''POLY'' program. In addition the generalized VSCF property integrals, i.e. $\left < VSCF \left | q_i^r \right | VSCF \right >$ are printed. These integrals allow for the calculation of arbitrary vibrationally averaged properties once the property surfaces are available. Default: ''PRINT=0''.
-* 
 /*  * **''SADDLE''=//n//** By default, i.e. ''SADDLE=0'', the ''VSCF'' program assumes, that the reference point of the potential belongs to a local minimum. Once the PES calculation has been started from a transition state, this information must be provided to the ''VSCF'' program by using ''SADDLE=1''. Currently, the ''VSCF'' program can only handle symmetrical double-minimum potentials. */ /*  * **''SADDLE''=//n//** By default, i.e. ''SADDLE=0'', the ''VSCF'' program assumes, that the reference point of the potential belongs to a local minimum. Once the PES calculation has been started from a transition state, this information must be provided to the ''VSCF'' program by using ''SADDLE=1''. Currently, the ''VSCF'' program can only handle symmetrical double-minimum potentials. */
-* 
   * **''SOLVER''=//n//** For solving the one-dimensional Schrödinger equation within a grid representation two different algorithms can be used. The default, i.e. ''SOLVER=1'', calls the discrete variable representation (DVR) as proposed by Hamilton and Light. Alternatively, the collocation algorithm of Young and Peet can be used (''SOLVER=2'').   * **''SOLVER''=//n//** For solving the one-dimensional Schrödinger equation within a grid representation two different algorithms can be used. The default, i.e. ''SOLVER=1'', calls the discrete variable representation (DVR) as proposed by Hamilton and Light. Alternatively, the collocation algorithm of Young and Peet can be used (''SOLVER=2'').
   * **''THERMO''=//n//** ''THERMO=1'' allows for the improved calculation of thermodynamical quantities (compare the ''THERMO'' keyword in combination with a harmonic frequency calculation). However, the approach used here is an approximation: While the harmonic approximation is still retained in the equation for the partition functions, the actual values of the frequencies entering into these functions are the anharmonic values derived from the ''VSCF'' calculation. Default: ''THERMO=0''.   * **''THERMO''=//n//** ''THERMO=1'' allows for the improved calculation of thermodynamical quantities (compare the ''THERMO'' keyword in combination with a harmonic frequency calculation). However, the approach used here is an approximation: While the harmonic approximation is still retained in the equation for the partition functions, the actual values of the frequencies entering into these functions are the anharmonic values derived from the ''VSCF'' calculation. Default: ''THERMO=0''.
Line 76: Line 75:
 vscf,pot=poly                            !(5) do a VSCF calculation vscf,pot=poly                            !(5) do a VSCF calculation
 </code> </code>
 +
 +<!--
 +==== Internal Coordinates ====
 +
 +!ONLY IN BETA!!!!!!! It is not advisable to use it that way, it is only the first draft(Also the code :D )!!!
 +''INTC'',//options//
 +The ''INTC'' directive allows the VSCF/VCI calculation in internal coordinates.
 +=== Options ===
 +   * **''DIAGVSCF''=//n//''** If $n=1$ (Default), only the diagonal G-Matrix will be used in the VSCF calculation
 +   * **''TDIAG''=//n//''** $n$ equals the dimension of the multimode expansion of the diagonal elements of the G-matrix
 +   * **''TOFFDIAG''=//n//''** $n$ equals the dimension of the multimode expansion of the off-diagonal elements of the G-matrix
 +   * **''DERIVG''=//n//''** $n$ equals the dimension of the multimode expansion of the derivative of the G-matrix
 +   * **''PSEUDOPOT''=//n//''** $n$ equals the dimension of the multimode expansion of the pseudopotential
 +   * **''LEVEX''=//n//''**, **''CITYPE''=//n//''**, **''CIMAX''=//n//''** compare to VCI, Cleanup necessary
 +   * **''EIGVAL''=//n//''** only computes the $n$ lowest eigenvalues of the VCI matrix, default is 20.
 +   * **''SYM''=//n//''** $n=0$: No symmetry at all, $n=1$: Sorts according to symmetry in VCI-Matrix and prints the full matrix (DEBUGGING, Only when all coordinates are symmetric), $n=2$: uses symmetry blocking of the VCI matrix (Only when all coordinates are symmetric)
 +   * **''CONT''=//n//''** If $n=0$, no VCI calculation will be done, with $n=1$(Default) a VCI calculation is done.
 +-->
  
  
Line 92: Line 109:
 ===== The VIBSTATE program (VIBSTATE) ===== ===== The VIBSTATE program (VIBSTATE) =====
  
-''VIBSTATE'',//options// [vibstate]+''VIBSTATE'',//options// 
  
 The ''VIBSTATE'' program allows to specify the vibrational states to be calculated in the following vibrational SCF and vibration correlation programs. Within the input stream, the ''VIBSTATE'' program needs to be called prior to the first call of the VSCF program. By default, the fundamental modes of the molecule are calculated only. In order to define the list of states to be calculated, the following keywords are available: The ''VIBSTATE'' program allows to specify the vibrational states to be calculated in the following vibrational SCF and vibration correlation programs. Within the input stream, the ''VIBSTATE'' program needs to be called prior to the first call of the VSCF program. By default, the fundamental modes of the molecule are calculated only. In order to define the list of states to be calculated, the following keywords are available:
  
-  * **''COMBI''=//n//** Choosing ''COMBI''=//n// allows for the calculation of the vibrational overtones and combination bands. The value of $n$ controls the excitation level, i.e.the number of states to be computed increases very rapidly for large values of =//n//. Therefore, by default the upper limit is set to 5000 cm$^{-1}$, but this cutoff can be changed by the option ''UBOUND''.+  * **''COMBI''=//n//** Choosing ''COMBI''=//n// allows for the calculation of the vibrational overtones and combination bands. The value of $n$ controls the excitation level, i.e. the number of states to be computed increases very rapidly for large values of //n//. Therefore, by default the upper limit is set to 5000 cm$^{-1}$, but this cutoff can be changed by the option ''UBOUND''. Note that, ''COMBI=1'' and ''COMBI=2'' generate the same vibrational states.
   * **''UBOUND''=//value//** The upper energy limit for the generated states is controlled by the keyword ''UBOUND'', i.e. states, for which the harmonic estimate is larger than //value//, will not be computed. The default is set to 5000 cm$^{-1}$.   * **''UBOUND''=//value//** The upper energy limit for the generated states is controlled by the keyword ''UBOUND'', i.e. states, for which the harmonic estimate is larger than //value//, will not be computed. The default is set to 5000 cm$^{-1}$.
-  * **''LQUANT''=//n//** If the molecule of interest belongs to a non-Abelian point group, real linear combinations of complex basis functions can be used as startvectors for the VCI calculation by setting ''LQUANT''=$1$. For symmetric top molecules the default is ''LQUANT''=$1$ and ''LQUANT''=$0for asymmetric top molecules.  By using this option, also the mapping between real and complex coordinates will be given in the output.  +  * **''LQUANT''=//n//** (=0 default) If the molecule of interest belongs to a non-Abelian point group, real linear combinations of complex basis functions can be used as startvectors for the VCI calculation by setting ''LQUANT=1''. For symmetric top molecules the default is ''LQUANT=1'' and ''LQUANT=0'' for asymmetric top molecules.  By using this option, also the mapping between real and complex coordinates will be given in the output.  
-  * **''VSTATEONLY''= //n//** Once additional vibrational states have been defined by using the ''VSTATE'' directive, the VSCF program can be forced to compute just these states by the option ''VSTATEONLY''=$1$. Note that the vibrational ground state will always be computed and needs not to be specified explicitly.+  * **''VSTATEONLY''= //n//** (=0 default) Once additional vibrational states have been defined by using the ''VSTATE'' directive, the VSCF program can be forced to compute just these states by the option ''VSTATEONLY=1''. Note that the vibrational ground state will always be computed and needs not to be specified explicitly.
   * **''IRREP''=//string//** By setting ''IRREP''=//string//, only states defined by the keywords ''COMBI'', ''UBOUND'', ''LQUANT'' and userdefined states via the ''VSTATE'' directive with the chosen irreducible representation (irrep) are calculated. Depending on the point group of the molecule, the following irreps are available: A, A`, A``, A1, A1`, A1``, A2, A2`, A2``, Ag, A1g, A2g, Au, A1u, A2u, B, B1, B2, B3, Bg, B1g, B2g, B3g, Bu, B1u, B2u, B3u, E, E`, E``, E1, E1`, E1``, E2, E2`, E2``, Eg, E1g, E2g, Eu, E1u, E2u, T, T1, T2, Tg, T1g, T2g, Tu, T1u, T2u.    * **''IRREP''=//string//** By setting ''IRREP''=//string//, only states defined by the keywords ''COMBI'', ''UBOUND'', ''LQUANT'' and userdefined states via the ''VSTATE'' directive with the chosen irreducible representation (irrep) are calculated. Depending on the point group of the molecule, the following irreps are available: A, A`, A``, A1, A1`, A1``, A2, A2`, A2``, Ag, A1g, A2g, Au, A1u, A2u, B, B1, B2, B3, Bg, B1g, B2g, B3g, Bu, B1u, B2u, B3u, E, E`, E``, E1, E1`, E1``, E2, E2`, E2``, Eg, E1g, E2g, Eu, E1u, E2u, T, T1, T2, Tg, T1g, T2g, Tu, T1u, T2u. 
  
 ==== Definition of vibrational states ==== ==== Definition of vibrational states ====
  
-''VSTATE'',//options//\\ +''VSTATE'',//options// 
-By this directive, userdefined vibrational states can be defined. It specifies the occupation number vector of the vibrational state to be calculated. If only those vibrational states shall be computed, which are defined by the '' VSTATE'', ''VSTATEONLY''=$1in the ''VIBSTATE'' program has to be set. + 
 +By this directive, userdefined vibrational states can be defined. It specifies the occupation number vector of the vibrational state to be calculated. If only those vibrational states shall be computed, which are defined by the '' VSTATE'', ''VSTATEONLY=1'' in the ''VIBSTATE'' program has to be set.