====== Region ====== The ''REGION'' program allows a correlated method to be applied to a target region within a molecule, where it is restricted to a subset of spatially localised orbitals, and the rest of the valence electrons left uncorrelated and only treated at the mean-field level. The correlated region can be embedded within an SCF environment (that of the reference wave function), or within a lower level correlated method using a simple subtractive approach (see section [[region#Multi-layer embedding|Multi-layer embedding]]). Multi-layer embedding can also be achieved using the same subtractive approach. Firstly, molecular orbitals are localised using the intrinsic bonding orbital (IBO) method, described in chapter [[intrinsic basis bonding analysis (IAO/IBO)]]. Occupied orbitals to be embedded are either chosen directly by the user, or the user chooses a set of atoms, and the orbitals sat on these atoms are embedded (see section [[region#selecting the Embedded Orbitals|selecting the Embedded Orbitals]]). The occupied orbitals are reordered putting the embedded orbitals at the top, followed by the other valence orbitals which are placed into the core. The embedded and active/open orbital spaces are then made pseudo-canonical. The virtual orbital space can also be reduced and localised to the embedding region (see section [[region#truncating the virtual space|truncating the virtual space]]). This can only be utilised by the ''FCI'' program within Molpro (and some third-party programs interfaced to Molpro), because the number of molecular orbitals no longer equals the number of basis functions. However, regional local coupled cluster can still be performed by the ''LCC'' program, using its own ''REGION'' directive (see section [[PAO-based local correlation treatments#correlating subsets of electrons (REGION)|correlating subsets of electrons (REGION)]] for details). ===== Defining the Orbital Spaces ===== The molecular orbitals are controlled using the directives: ''START'',//$<$record.file$>$// ''SAVE'',//$<$record.file$>$// Molecular orbitals are read from the dump record given after ''START'', and saved to the dump record given after ''SAVE'' The initial occupancies of each orbital space are controlled using the usual directives: ''CORE'',//$<$integer$>$// ''CLOSED'',//$<$integer$>$// ''OCC'',//$<$integer$>$// ''WF'',//charge=$<$integer$>$,sym=$<$integer$>$,spin=$<$integer$>$// The correct number of core orbitals must be known to the ''REGION'' program (either through inheriting it from the previous calculation, or through explicit declaration by the user). The core orbitals are kept separate from the inactive orbital space when performing the IBO localisation. If the definition of the core is changed, these two spaces will mix, leading to a slightly different set of embedded IBOs. ===== Selecting the Embedded Orbitals ===== The IBOs to be embedded can be specified directly with the ''ORBITALS'' option, either using their index, or as a range of indices e.g., {REGION,ORBITALS=[10-15,17,21]} Alternatively, the orbitals can be found automatically by choosing a set of target atoms with the ''ATOMS'' option. Orbitals exerting an IBO partial charge of at least ''THRESH_REGION'' (default=0.2 a.u.) on //any// of the target atoms, are included in the embedding region. Atoms may be specified using their names in the geometry specification, index, or using ranges of indices e.g. {REGION,ATOMS=[H10-H15,C17,N21]} or {REGION,ATOMS=[H,17,N2]} Further control of the ''ATOMS'' option is achieved using the ''ORB_SELECT'' option, which controls how strictly the target atoms inherit their orbitals. When ''ORB_SELECT=INCLUSIVE'' (the default), an orbital is embedded if //any// of the atoms it sits on are included in the target atoms. When ''ORB_SELECT=EXCLUSIVE'', an orbital is only embedded if //all// the atoms it sits on are included in the target atoms. For example, in the following molecule: H H \ / C1=C2 / \ H H The command {REGION,ATOMS=[C1,C2],ORB_SELECT=EXCLUSIVE} selects only the carbon-carbon sigma and pi bonds, whereas the command {REGION,ATOMS=[C1,C2],ORB_SELECT=INCLUSIVE} selects all the bonds. For both the ''ORBTIALS'' and ''ATOMS'' options, the active orbital space (in a CASSCF wave function) or the open orbitals (in a single-reference wave function) are always included in the embedding region. Therefore using an empty ''ORBITALS'' or ''ATOMS'' option will embed only the active orbitals e.g. {REGION,ORBTIALS=[]} {REGION,ATOMS=[]} Core orbitals (as defined by the ''CORE'' variable) are exuded from the embedding region. Finally the embedded orbital space is made pseudo-canonical by diagonalising the embedded-embedded block of the Fock matrix, and similarly the active/open orbitals. This can be disabled by setting the ''SEMI_CAN=false''. ===== Truncating the virtual space ===== The ''FCI'' program, and some third-party programs interfaced to Molpro, can handle a reduction in the number of virtual orbitals. This procedure is called the //deleted virtual approximation//, and can significantly reduce the cost of correlated calculations. When the option ''FULL_VIRT=false'', a truncated virtual space localized to the embedding region is constructed from projected atomic orbitals (PAOs). By default ''FULL_VIRT=true'' and the full canonical virtual space from the previous SCF calculation is retained. PAOs located on a set of ‘host atoms’ are transformed by means of a singular value decomposition of their overlap matrix. Virtual functions with an eigenvalue below ''THRESH_REDUN'' (default=$1.0\times10^{-8}$) are considered redundant and deleted. PAOs on the other, environment, atoms are also discarded. Host atoms are those sat ‘underneath’ the embedded occupied orbitals. When the embedded orbitals exert an IBO partial charge of at least ''THRESH_REGION'' (default 0.2 a.u.) on an atom, then it is classified as a host atom. Further host atoms may be manually included by using the ''HOST_ATOMS'' option. This allows the virtual domain to be extended. The truncated virtual space is made pseudo-canonical by diagonalising the virtual-virtual block of the Fock matrix. This can be disabled by setting the ''SEMI_CAN=false''. ===== Multi-layer embedding ===== Treating the environment with a second correlated method (that is usually less expensive) is done with a simple subtractive embedding procedure, defined as $$E = E_{low}(A+B) - E^{reg}_{low}(A) + E^{reg}_{high}(A).$$ The argument $A$ denotes the central target region, and $B$ the environment, and the subscripts denote the accuracy (and cost) of the correlated methods. $E^{reg}_{low}(A)$ is an energy calculation performed using the ''REGION'' program, with a lower level correlated method on the target region, for example MP2. Similarly $E^{reg}_{high}(A)$ is performed with a higher level correlated method on the //same// target region, for example CISD. Multiple embedding layers can be achieved through repeatedly applying the above equation. ===== Summary of all options ===== * ''OBRITALS=''//$<$string$>$// Example: ‘[6,7,8,9-12]’. Indices of IBOs to be embedded. * ''ATOMS=''//$<$string$>$// Example: ‘[C1,C2,H3,H4-H6]’. Orbitals exerting an IBO partial charge of at least ''THRESH_REGION'' on these atoms are embedded. * ''ORB_SELECT=''//$<$string$>$// Either ‘INCLUSIVE’ or ‘EXCLUSIVE’. Controls how strictly embedded orbitals are selected, when using the ''ATOMS'' option. Default=INCLUSIVE. * ''HOST_ATOMS=''//$<$string$>$// Example: ‘[C4,C5,H6-H10]’. List of extra host atoms, added to those chosen automatically. Only relevant when ''FULL_VIRT=false''. * ''THRESH_REGION=''//$<$double$>$// IBO partial charge threshold. Determines which orbitals are sat on those atoms specified with the ''ATOMS'' option, as well as host atoms underneath embedded orbitals. Default=0.2 atomic units. * ''THRESH_REDUN=''//$<$double$>$// Eigenvalue threshold. Determines redundant virtual functions when ''FULL_VIRT=false''. Default=$1.0\times10^{-8}$. * ''SEMI_CAN=''//$<$logical$>$// Control pseudo-canonicalisation of the embedded orbital spaces. Default=true. * ''FULL_VIRT=''//$<$logical$>$// When true, the full canonical virtual space from the previous SCF calculation is retained. When false, a truncated virtual space is constructed. Default=true. * ''IBO_AO_TYPE=''//$<$string$>$// Minimal basis set used by the IBO program. Default is that of the IBO program (MINAO-PP). * ''PLOT_PAOS=''//$<$logical$>$// Writes the PAOs to the dump record, so they can be visualized by an orbital viewing program. Default=false. * ''PRINT_MAP=''//$<$logical$>$// Prints a mapping of the rearranged IBO indices to the original IBO indices. Default=true. * ''REGION_TYPE=''//$<$integer$>$// When set to 0, the atomic core and environment valence orbitals are totally deleted. This allows the user to plot the embedded orbitals only, though cannot be used for viable calculations. When set to 1, the atomic core and environment orbitals are placed into the core. These orbitals must be used for actual calculations. Default=1. ===== Examples ===== This is an example of embedding MRCI inside CASPT2 for Butane. memory,100,M gprint,orbitals,civector nosym;noextra ANGSTROM Geometry={ C1 ,, 0.0000 ,0.7647+y ,0.0000 C2 ,, 0.0000 ,-0.7647-y, 0.0000 C3 ,, -1.4029, 1.3695+y,0.0000 C4 ,, 1.4029 ,-1.3695-y, 0.0000 H5 ,, 0.5526 ,1.1231+y ,0.8740 H6 ,, 0.5526 ,1.1231+y ,-0.8740 H7 ,, -0.5526, -1.1231-y,0.8740 H8 ,, -0.5526, -1.1231-y,-0.8740 H9 ,, -1.3684, 2.4598+y,0.0000 H10,, 1.3684 ,-2.4598-y,0.0000 H11,, -1.9674, 1.0558+y,-0.8807 H12,, -1.9674, 1.0558+y,0.8807 H13,, 1.9674 ,-1.0558-y,-0.8807 H14,, 1.9674 ,-1.0558-y,0.8807} y=1.0 basis=vdz {multi;closed,16;occ,18;wf,charge=0,sym=1,spin=0} {rs2c} e1=energy {region,orbitals='[7-10]'; core,4;closed,16;occ,18;save,2200.2;wf,charge=0,sym=1,spin=0} {put,molden,p1.molden;nosort} {rs2c;orbital,2200.2} e2=energy {ci;orbital,2200.2} e3=energy e=e1-e2+e3