# Differences

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

 general_program_structure [2020/07/13 11:15]qianli [Summary of keywords known to the controlling program] general_program_structure [2020/10/13 10:03] (current)werner 2020/10/13 10:03 werner 2020/10/13 09:59 werner 2020/09/17 06:00 werner [Defining orbital subspaces (OCC,CLOSED,CORE)] 2020/09/17 05:59 werner [Defining orbital subspaces] 2020/09/17 05:58 werner [Defining the wavefunction] 2020/07/13 11:15 qianli [Summary of keywords known to the controlling program] 2020/07/13 10:18 may remove trailing spaces2020/07/13 08:40 qianli [Summary of keywords known to the controlling program] 2020/07/13 06:55 werner 2020/06/15 13:01 may help example2020/06/15 08:15 werner [Defining orbital subspaces] 2020/06/12 13:44 qianli [Symmetry] Fix tables2020/06/11 18:17 external edit 2020/10/13 10:03 werner 2020/10/13 09:59 werner 2020/09/17 06:00 werner [Defining orbital subspaces (OCC,CLOSED,CORE)] 2020/09/17 05:59 werner [Defining orbital subspaces] 2020/09/17 05:58 werner [Defining the wavefunction] 2020/07/13 11:15 qianli [Summary of keywords known to the controlling program] 2020/07/13 10:18 may remove trailing spaces2020/07/13 08:40 qianli [Summary of keywords known to the controlling program] 2020/07/13 06:55 werner 2020/06/15 13:01 may help example2020/06/15 08:15 werner [Defining orbital subspaces] 2020/06/12 13:44 qianli [Symmetry] Fix tables2020/06/11 18:17 external edit Line 171: Line 171: |2    |  $A^{''}$  |   $z, xz, yz$   |  $B$   |  $x, y, xz, yz$  |  $A_u$  |     $x, y, z$     | |2    |  $A^{''}$  |   $z, xz, yz$   |  $B$   |  $x, y, xz, yz$  |  $A_u$  |     $x, y, z$     | - ===== Defining the wavefunction ===== + ===== Defining the wavefunction (WF) ===== In all program modules where such information is required, the total symmetry of the $N$-electron wavefunction is defined on ''WF'' (wavefunction) cards in the following way: In all program modules where such information is required, the total symmetry of the $N$-electron wavefunction is defined on ''WF'' (wavefunction) cards in the following way: Line 191: Line 191: If the ''WF'' directive is given outside an command input block, it is treated as global, i.e., the given values are used for all subsequent calculations. Setting the variables ''NELEC'', ''SPIN'', or ''SYMMETRY'', has the same effect giving these on a global ''WF'' directive. If the global ''WF'' directive is given after the variable definition, the values of the variables are replaced by the values given on the ''WF'' directive. Vice versa, if a variable definition follows a global ''WF'' directive, the new value of the variable is used in the following. Note that ''WF'' input cards in command blocks have preference over global ''WF'' directives or input variables. If the ''WF'' directive is given outside an command input block, it is treated as global, i.e., the given values are used for all subsequent calculations. Setting the variables ''NELEC'', ''SPIN'', or ''SYMMETRY'', has the same effect giving these on a global ''WF'' directive. If the global ''WF'' directive is given after the variable definition, the values of the variables are replaced by the values given on the ''WF'' directive. Vice versa, if a variable definition follows a global ''WF'' directive, the new value of the variable is used in the following. Note that ''WF'' input cards in command blocks have preference over global ''WF'' directives or input variables. - ===== Defining orbital subspaces ===== + ===== Defining orbital subspaces (OCC,CLOSED,CORE,FROZEN) ===== In the SCF, MCSCF, and CI programs it may be necessary to specify how many orbitals in each symmetry are //occupied// (or //internal// in CI), and which of these are //core// or //closed shell// (doubly occupied in all CSFs). This information is provided on the ''OCC'', ''CORE'', and ''CLOSED'' cards in the following way: In the SCF, MCSCF, and CI programs it may be necessary to specify how many orbitals in each symmetry are //occupied// (or //internal// in CI), and which of these are //core// or //closed shell// (doubly occupied in all CSFs). This information is provided on the ''OCC'', ''CORE'', and ''CLOSED'' cards in the following way: Line 213: Line 213: ''LARGE'' means that no inner shells are correlated (default). In transition metals the outermost d-shell and in f-elements the outermost f-shell are treated as valence and always correlated. ''LARGE'' means that no inner shells are correlated (default). In transition metals the outermost d-shell and in f-elements the outermost f-shell are treated as valence and always correlated. - The most general core definition is possible using the last possibility, where //SYM1, SYM2// etc are atomic symbols and //spdf// are the numbers of core orbitals at the given atom for each anular momentum. For example, for bromine ''%%CORE,Br=21%%'' is equivalent to ''%%CORE,SMALL%%'', ''%%CORE,Br=32%%'' is equivalent to ''%%CORE,MIXED%%'', and ''%%CORE,Br=321%%'' is equivalent to ''%%CORE,LARGE%%''. Trailing zeros are optional, i.e. Br=3200, 320, or 32 are equivalent. + The most general core definition is possible using the last possibility, where //SYM1, SYM2// etc are atomic symbols and //spdf// are the numbers of core orbitals at the given atom for each anular momentum. For example, for bromine ''%%CORE,Br=21%%'' is equivalent to ''%%CORE,SMALL%%'', ''%%CORE,Br=32%%'' is equivalent to ''%%CORE,MIXED%%'', and ''%%CORE,Br=321%%'' is equivalent to ''%%CORE,LARGE%%''. Trailing zeros are optional, i.e. Br=3200, 320, or 32 are equivalent. Atom-specific core specifications cannot exceed the number of large core orbitals for each angular momentum. Optionally, SMALL, MIXED, or LARGE can be followed by specifications for individual atoms. In this case these default apply to all atoms that are not explicitly specified. Optionally, SMALL, MIXED, or LARGE can be followed by specifications for individual atoms. In this case these default apply to all atoms that are not explicitly specified. - The program automatically checks if the orbitals with the lowest orbital energies correspond to the requested core orbitals, and if necessary orbitals are swapped as required (this check is not carried out for ''%%CORE,LARGE%%''). + The program automatically checks if the orbitals with the lowest orbital energies correspond to the requested core orbitals, and if necessary orbitals are swapped as required. Within the set of large core orbitals, this check can only be performed if ''SMALL'' or ''MIXED'' is given. If one specifies the absolute number of core orbitals the check is not possible since the program does not know which type the core orbitals should have. Note that the ''OCC'' and ''CLOSED'' cards have slightly different meanings in the SCF, MCSCF and CI or CCSD programs. In SCF and MCSCF, //occupied// orbitals are those which occur in any of the CSFs. In electron correlation methods (CI, MPn, CCSD etc), however, ''OCC'' denotes the orbitals which are occupied in any of the //reference// CSFs. In the MCSCF, ''FROZEN'' orbitals are doubly occupied in all CSFs and //frozen// (not optimized), while  //closed// denotes all doubly occupied orbitals (frozen plus optimized). In the CI and CCSD programs, //core// orbitals are those which are not correlated and //closed// orbitals are those which are doubly occupied in all reference CSFs. Note that the ''OCC'' and ''CLOSED'' cards have slightly different meanings in the SCF, MCSCF and CI or CCSD programs. In SCF and MCSCF, //occupied// orbitals are those which occur in any of the CSFs. In electron correlation methods (CI, MPn, CCSD etc), however, ''OCC'' denotes the orbitals which are occupied in any of the //reference// CSFs. In the MCSCF, ''FROZEN'' orbitals are doubly occupied in all CSFs and //frozen// (not optimized), while  //closed// denotes all doubly occupied orbitals (frozen plus optimized). In the CI and CCSD programs, //core// orbitals are those which are not correlated and //closed// orbitals are those which are doubly occupied in all reference CSFs. Line 223: Line 223: ''OCC'', ''CORE'' and ''CLOSED'' directives are generally required in each program module where they are relevant; however, the program remembers the most recently used values, and so the directives may be omitted if the orbital spaces are not to be changed from their previous values. Note that this information is also preserved across restarts. Note also, as with the ''WF'' information, sensible defaults are assumed for these orbital spaces. For full details, see the appropriate program description. ''OCC'', ''CORE'' and ''CLOSED'' directives are generally required in each program module where they are relevant; however, the program remembers the most recently used values, and so the directives may be omitted if the orbital spaces are not to be changed from their previous values. Note that this information is also preserved across restarts. Note also, as with the ''WF'' information, sensible defaults are assumed for these orbital spaces. For full details, see the appropriate program description. - The orbital spaces may also be defined outside command blocks, and then the directive is treated as global, i.e., it is used in all subsequent programs. Spaces specific to certain wavefunction types can be defined by specifiying the program name with a ''CONTEXT'' option, e.g., + The orbital spaces may also be defined outside command blocks, and then the directive is treated as global, i.e., it is used in all subsequent programs (note that core types can only specified inside command blocks). Spaces specific to certain wavefunction types can be defined by specifiying the program name with a ''CONTEXT'' option, e.g., ''%%OCC,4,2,1,CONTEXT=MULTI%%'' ''%%OCC,4,2,1,CONTEXT=MULTI%%''