Документ взят из кэша поисковой машины. Адрес оригинального документа : http://classic.chem.msu.su/gran/gamess/Locating_Conical_Intersections_and_Interstate_Crossings_with_Firefly.html
Дата изменения: Wed Sep 5 13:58:24 2012
Дата индексирования: Mon Oct 1 20:37:09 2012
Кодировка:
Firefly documentation - Conical Intersections and Interstate Crossings

Locating Conical Intersections (CIs) and Interstate Crossings (ISCs) with Firefly

 

               Conical Intersections (CIs) and Interstate Crossings (ISCs) are the specific manifolds on the Potential Energy Surfaces (PESs) of two different electronic states where, at the same geometry, the energies of these states are strictly equal each other and thus two states are exactly degenerate. The difference between CIs and ISCs is that ISCs are always formed by the states of different spatial or spin symmetry. As a result these states belong to the different blocks of the Hamiltonian matrix expressed in a block-diagonal form using symmetry-adapted (i.e. adapted according to the different possible irreducible representations) basis set. Let us consider small perturbations of the Hamiltonian matrix caused by the various deformations of the selected molecular geometry that preserve the initial molecular symmetry and hence the symmetry of the Hamiltonian. Evidently, there is no any "interaction" possible between the two states of interest, even exactly at their crossing points, as any "interaction" which could be caused by such perturbations is vanished due to symmetry reasons. As the result, the dimension of the ISC manifold is equal to the dimension of the original PES minus one, as there is in fact only one constraint (i.e. Ei = Ej) to be satisfied.

               By contract, CIs are formed by the states of exactly the same symmetry so that they are allowed to "interact". Mathematically, the second constraint arises: "interactions" of that kind must vanish at the CI manifold as otherwise the states cannot be exactly degenerate. The dimension of CI manifold is thus equal to the dimension of the original PES minus two, and the local topology on a two-dimension slice over the crossing manifold is the same as for two crossing cones with a single point in common, hence the "Conical Intersection" name. One could argue there is still only one constraint, namely: Ei = Ej at any CI point. While this is formally true, for CIs the equality Ei = Ej is in fact of the type: x+∙x + y+∙y = 0. The latter, being a single equality, implies both x = 0 and y = 0!

               Usually, there is no need to locate all the geometries belonging to ISC or CI manifolds. Quite often, one is interested in locating just the Minimum Energy Crossing Point (MECP or MECI). These are specific ISC or CI points having the minimum possible energy. Unlike CIs and ISCs, MECP and MECI are not the multidimensional manifolds of complex structure but rather are just the single point on PES. MECPs and MECIs are typically exactly what the most people calls ISCs and CIs.

               With Firefly versions prior to Firefly v. 8.0.0, it was possible to locate MECIs and MECPs only at the state-averaged MCSCF level of theory, using an efficient procedure developed for calculation of semi-numerical state-specific gradients for SA-MCSCF, which is documented elsewhere. In addition, only two intersecting states were allowed to be averaged, naturally with the equal weights, in the SA-MCSCF procedure. With Firefly v. 8.0.0, the MECIs/MECPs location code was extended to optionally use numerical gradients, thus allowing XMCQDPT2, MCQDPT2, and any configuration interaction procedure to be used for location of MECIs and MECPs - in addition to plain SA-MCSCF. Moreover, an arbitrary averaging of states can now be used for the purpose of location of MECIs and MECPs at the SA-MCSCF level provided the weights of two crossing states are equal. However, the energies of both intersecting states must be obtained as a result of a single computation (e.g. a single SA-MCSCF or XMCQDPT2 procedure). The primary reason for this is to avoid an unbalanced description of two different states of interest which could arise from the use of different computational schemes for different states.

               There are two very different ways the MECIs/MECPs can be located with Firefly. The first one is based on the use of penalty functions, the second one is based on the use of the Lagrange multiplier technique. Both of them can be used with Cartesian and internal coordinates (including DLCs), and can handle additional geometry constraints like frozen coordinates etc.

               The penalty function based methods programmed in Firefly are based on the minimization of the following expression (where ΔE = Ej-Ei):

               F(Ei, Ej) = alpha*Ei + (1-alpha)*Ej + Penalty(ΔE) = min                                                                    (1)

rather than the minimization of the Ei itself, as it would be in the case of unconstrained energy optimization. With Firefly, the possible values of alpha are 1.0 and 0.5. 1.0 corresponds to the minimization of the energy of the first state of interest, 0.5 corresponds to the minimization of the average energy of two states. Evidently, at CI point this is exactly the same but differs when away from the CI geometry. The Penalty(ΔE) is the penalty function which depends on the energy splitting between two states.

               The well designed penalty function must obey some restrictions. It should be zero if ΔE is zero and should be (very) small if ΔE is small enough. At the same time, the penalty function and its gradient should become (very) large when ΔE increases. In addition, it is convenient if Penalty(ΔE) is smooth and differentiable function as all standard geometry optimization engines assume that PES is a smooth and differentiable function. By forcing Penalty(ΔE) be smooth enough it is possible to use any standard geometry optimization code for location of MECPs and MECIs.

               Strictly speaking, the minimum of F(Ei, Ej) does not exactly correspond to MECI or MECP point and Ei and Ej are not exactly equal at the corresponding geometry. However, for well designed penalty function this point is very close to true MECI/MECP.

               There are three different penalty functions presently available in Firefly. The choice of the penalty function is controlled by the penlty variable of the $mcaver input group. Each of three penalty functions is parameterized by two parameters which can be altered by the user. See the description of the $mcaver input group below for details.

               The method based on the Lagrange multiplier technique as implemented in Firefly is the original self-consistent variant of the Sequential Quadratic Programming approach. Basically, the energy of state i (i.e. Ei) is optimized subject to constraint Ei = Ej . The constraint is taken into account by constructing the proper Lagrange function:

               L(R) = Ei(R) + λ(R)*(Ej(R) - Ei(R))                                                                                                            (2)

where λ is the Lagrange multiplier for constraint Ei = Ej and (R) denotes the dependence of all quantities on the molecular geometry. The Lagrange function is then optimized. Its minimum is located exactly at the MECI/MECP geometry while the computed value of λ contains important information on the type of located MECI/MECP.

               More precisely, if λ is less than 1.0, gradients of two degenerated states at their MECI/MECP point are always oppositely directed. Otherwise, they are directed in the same direction.

               Naturally, one can consider another form of L:

               L'(R) = (Ei(R) + Ej(R))*0.5 + λ'(R)*(Ej(R) - Ei(R))                                                                                   (3)

Optimization of both L(R) and L'(R) result in the same MECI/MECP geometry, while the values of two Lagrange multipliers at this geometry differ by 0.5 (i.e. λ = λ' + 0.5). However, the number of steps required to converge optimization is generally different. The trajectories formed by the sequential points taken by the optimization procedure are different as well.

               With Firefly, both penalty function and Lagrange multiplier based code require only state specific energy gradients for both MECI and MECP location. None of the approaches requires computation of the so-called non-adiabatic coupling vector. This vector corresponds to the second direction (the first being the difference of gradients of two states) along which the CI manifold (i.e. the manifold of the exact degeneracy, which is also called seam) is destroyed under the small variations of molecular geometry. In another words, this vector describes the second constraint which is specific to CIs but not to ISCs.

               Taken together with gradients difference non-adiabatic coupling vector forms the so-called "branching plane".

               Because non-adiabatic coupling vector is not used nor it is computed by the Firefly's routines, both MECIs and MECPs are handled by the same code and are virtually identical from the point of view of MECI/MECP geometry optimizer. In Firefly, the MECI or MECP location is not implemented as a separate runtyp. The standard $contrl runtyp=optimize is used instead together with some additional keywords controlling the process of MECI/MECP optimization. In addition to runtyp=optimize, the runtyp=rsurface is also allowed. While the penalty function based approach can be used with any of the available Firefly's geometry optimization engines such as GDIIS, QA, or NR, the Lagrange multiplier-based approach requires the dedicated geometry optimizer which is called "conic" and should be explicitly requested as follows: $statpt method=conic

               The $mcaver input group is relevant for both penalty function and Lagrange multiplier based code. In addition, the Lagrange multiplier based approach is also controlled by the dedicated $conic input group. If MECI/MECP optimization is based on fully numerical gradients (e.g. optimization of MECI at XMCQDPT2 level), the istate, jstate, and ngrads keywords of the $numgrd input group should be properly set as described in the documentation on the numerical gradient code.

               Alternatively, if semi-numerical state-specific gradients for SA-MCSCF are used, the istate keyword of the $mcscf input group must be properly set, as well as other variables that are essential for computation of state-specific gradients for SA-MCSCF.

               Finally, when locating CIs/MECPs  at SA-MCSCF level of theory, the MCSCF state tracking can be of considerable help. The latter is controlled by the $track input group as described elsewhere.

The $mcaver input group

 

jstate                   Selects the state number jstate, the second state of interest. Normally should be equal to istate + 1 unless you are interested in search of the simultaneous crossing of several states. The default value is jstate=0 i.e. no second state.

multiw                 Logical variable. Should be set for runs computing semi-numerical SS gradients for SA-MCSCF for two states (i.e. states istate and jstate) and there are other states in averaging. If not set, these runs will abort after performing some preliminary setup. If there are only states # istate and # jstate in MCSCF averaging, this flag should not be used. The default value is .false.  i.e. to assume there are no other states in averaging. Internally, this flag directs Firefly to compute SS gradients for two states independently on each other. Otherwise, the SS gradient is computed only for state # istate then gradient for state # jstate is computed based on the averaged effective gradient and on the gradient of state # istate. The second approach is approximately 5/3 times faster but is only possible if there are no additional states in state averaging. 

shift                     The value of energy difference shift during location of MECIs/MECPs. Firefly always searches for geometries such that Ej(R) - Ei(R) = shift. The default value of shift is 0.0 i.e. to search for true MECIs/MECPs. This option only affects penalty function based code.

target                  Symbolic variable which can be set to either "mixed", "pure", or "pure2" (without quotes). Any other values are ignored. "Mixed" means to set alpha in eq. (1) to 0.5 i.e. to use half-sum of state energies. This also sets eq. (3) for computation of Lagrange function. "Pure" means to use pure energy of state # istate in eq. (1) and to use eq. (2). "Pure2" means to use pure energy of state # jstate in eq. (1) while still using eq. (2) for Lagrange multiplier based method. The default value is target=mixed.

penlty                  Integer variable. Valid values are 1, 2, or 3. Selects one of the three programmed penalty functions. The default value is penlty=1. Note these functions will only be used in MECP/MECI location runs which do not use Lagrange multiplier approach.

The first penalty function has the form:

Penalty(Δ) = B*ln(1.0 + (Δ/A)2), the so-called Ciminelli penalty function.

(Note with Firefly versions prior to Firefly v. 8.0.0, the A and B parameters must be exchanged for this penalty function).

The second has the form suggested by Levine, Coe, and Martinez:

Penalty(Δ) = B*(Δ2)/(Δ+A)

Finally, the third one is specific to Firefly:

Penalty(Δ) = B*((D2 + A2)1/2) - B*|A|

Here A and B are the parameters defining the penalty function (see below).

a                           The parameter A of the selected penalty function.

b                           The parameter B of the selected penalty function.

               The default values of A and B depend on the particular penalty function in use.

               For penlty=1 these are A=0.008, B=0.2,

               for penlty=2 these are A=0.02, B=3.5,

               for penlty=2 these are A=0.01, B=3.5.

xgrad                   Logical variable. Should be set to request the use of Lagrange multiplier based code. Default is .true. if $statpt method=conic. Otherwise it is .false.

xhess                   Logical variable. If set, requests the use of the special optimized form of the approximate hessian used by all quasi-Newton type geometry optimizers. This option is only supported for penlty=1 penalty function and does not have effect otherwise. The default value is xhess=.false.

ssgrad                 Logical variable. If set to .false., disables all features requesting Firefly's state-specific gradients for SA-MCSCF. The jobs depending on these features will then abort. This option is now obsolete and should not be used. The default value is ssgrad=.true.

Note this input group contains some additional keywords controlling SS gradients for SA-MCSCF. These keywords are described elsewhere.

The $conic input group

 

               This group controls the detailed behavior of the $statpt method=CONIC Lagrange multiplier based CIs/ISCs optimizer called CONIC. In addition to the parameters described below, CONIC is also controlled by the parameters of the $statpt group.

               shift                     The final target value of Δ = Ej - Ei The default value is 0.0001 Hartree. For true CIs, it is almost impossible to reliably converge calculations to values of Δ less than ca. 0.0001 Hartree. For ISCs, it is possible to use tighter convergence criteria, up to shift=1.0d-7 or 1.0d-8. The difference in convergence behavior between true CIs and ISCs is related to non-zero non-adiabatic coupling between quasi-degenerate states in the case of CIs and the absence of this coupling in the case of ISCs.

               shift0                   The intermediate target value of Δ = Ej - Ei The default value is 0.0001 Hartree. For CIs, the recommended value is 0.001 Hartree. For ISCs, the recommendation is to always set shift0 to the same value as shift. The CONIC optimizer first tries to converge CIs/ISCs to Δ values equal to or below of shift0 using loosened values of various convergence thresholds. During this process (which is internally called "phase 1"), the CONIC optimizer gathers information on the behavior of the particular system of interest. Upon achieving the initial convergence, the optimizer switches to the original values of various convergence thresholds and continue optimization trying to achieve tighter convergence with the value of Δ equal to or below of shift. This is internally called "phase 2". Here, the previously gathered information is used to achieve the final convergence. In particular, the first few optimization steps of phase 2 attempt to rapidly decrease Δ using directed steps along the "most significant" modes while the rest of the steps take care of the final relaxation of the "less significant" modes. 

               hdgss                   The value to put on the diagonal of the initial diagonal guess to the Hessian matrix of the Lagrange function. The default value is 1.0. It is ignored if internal coordinates are used for optimization. In the latter case, the standard Firefly's guess for Hessian in internal coordinates is used.

               tde                       The value of the delta energy convergence threshold. It defines the first of the five tests all of which needs to be positive for the optimization process to complete successfully. This first test is satisfied if |tde| is less than |Δ - shift|. The default value of tde is 1.0d-5

               tdxmax               The value of the maximum primitive coordinate displacement convergence threshold. It defines the second of the five convergence tests. The displacement along each primitive coordinate should be less than tdxmax. The default value is 20.0*opttol.

               tdxrms                 The value of the RMS coordinate displacement convergence threshold. It defines the third of the five convergence tests. The RMS displacement should be less than tdxrms. The default value is 15.0*opttol.

               tgmax                 The threshold value for the maximum primitive component of the gradient of Lagrange function. It defines the fourth of the five convergence tests. The component of gradient along each primitive coordinate should be less than tgmax. The default value is 5.0*opttol.

               tgrms                   The threshold value for the RMS gradient of Lagrange function. It defines the last of the five convergence tests. The RMS gradient should be less than tgrms. The default value is 3.0*opttol.

               stpsiz                    The maximum permissible RMS length of the geometry update step. The default is 0.05 Bohr.

               demax