##master-page:HelpTemplate ##master-date:Unknown-Date #format wiki #language en #Please change following line to BDF module name = bdfopt = <> == Introduction == Geometry optimiser of BDF package. This BDFOPT module can be used to find minimal points, transition state (TS)/first-order saddle points, conical intersection (CI) and intersystem crossing (ISC) points. For details of the interface, see '''bdfopt/''', '''module/bdfopt_mod.F90,dlfind_module.F90''', '''sys_util/bdf_dlfind_util.F90''' for interface. Two optimizers can be used by specifying the '''solver''' keyword: 1. [solver=1] Original optimizer in BDF developed by Dr. Yong Zhang using '''redundant internal coordinates''' (more efficient!). 2. [solver=0] Interface to the package - DL-FIND. For details, see: http://ccpforge.cse.rl.ac.uk/gf/project/dl-find/ "DL-FIND: An Open-Source Geometry Optimizer for Atomistic Simulations", Johannes Kästner, Joanne M. Carr, Thomas W. Keal, Walter Thiel, Adrian Wander and Paul Sherwood, J. Phys. Chem. A, 2009, 113 (43), 11856-11865. DOI: 10.1021/jp9028968 The optimization information is stored in filename.pes1 [ground state/excited state] or filename.pes2 [conical intersection]. '''Currently, the following methods are available:''' 1. HF/MCSCF with GRAD module 2. HF/DFT/TD-DFT with RESP modules 3. DFT/TD-DFT to find minima, transition state points (TS), conical intersections (CI) and minimum energy surface crossing (MECP) points. 4. CASSCF to find minima, transition state points (TS), conical intersections (CI) and minimum energy surface crossing (MECP) points. ''' This version has several limitations:''' 1. Change of symmetry during optimization is not correctly handled for excited state optimization, because the irrep of the desired state may change when the point group changes, and the correct input file needs to be prepared. == Examples == 1. [[Ground-state opt]] 2. [[Excited state opt]] 3. [[Conical intersection]] 4. [[Intersystem crossing]] 5. [[Transition state]] == General keywords == === IPRT === Print level. === SOLVER === =0, DL-FIND; =1, BDF optimizer === MAXCYCLE === Maximum number of iterations. === TOLENE === Convergence criterium for energy change (only supported for solver=0). === TOLGRAD === Convergence criterium for RMS gradient for solver=1 and Max gradient for solver=0. === TOLSTEP === Convergence criterium for RMS step for solver=1. === RMSGRAD === Obsolete. Convergence criterium for RMS gradient for solver=0 (only supported for solver=0), Default RMSGRAD = TOLGRAD/1.5. === RMSSTEP === Obsolete. Convergence criterium for RMS step for solver=0 (only supported for solver=0), Default RMSSTEP = TOLSTEP/1.5. === IOPT === {{{ 3: search for minima, CI and ISC using L-BFGS step (default) 10: search for transition state (first-order saddle points) using P-RFO step }}} Default: 3 === TRUST === Specify the initial trust radius (unit: Bohr). The trust radius will be dynamically updated (either increased, decreased, or left unchanged) by the program at each geometry optimization iteration. If a negative value r is specified, the initial trust radius is set as |r|, and the trust radius will remain no larger than |r| throughout the geometry optimization. This is useful when a very small trust radius is needed but the dynamic update scheme somehow does not realize this and keeps increasing the trust radius. Default: 0.3 === UPDATE === Algorithm for Hessian update. {{{ 0: calculate numerical Hessian at every step 1: Powell update for saddle points (solver=0 only) 2: Bofill update for saddle points 3: L-BFGS update (solver=0) or BFGS update (solver=1) 9: Bofill update for minima }}} If update is not 0, a molecular mechanics Hessian will be built at the first step of the geometry optimization. Default: 3 === ICOORD === {{{ 0: Cartesian coordinates (ignored if solver=1, since the BDF solver can only use redundant internal coordinates) 1: Redundant internal coordinates }}} === NONCOUPL === with this keyword,interstate coupling gradient calculation is not employed to ISC optimization. === IMULTI === Multi-state optimization for conical intersection (CI) and intersystem crossing(ISC). 0: no multi-state optimization (default) 1: Penalty function method optimize CI and ISC without neither nonadiabatic coupling and interstate coupling gradient calculations. 2: Gradient projection method optimize CI and ISC; CI optimization needs nonadiabatic coupling (default), ISC optimization require set keyword '''Noncoupl''' to skip interstate coupling gradient calculation. === MULTISTATE === Multi-state calculation. This keyword is different from '''IMULTI''', and may be implemented through either DL-FIND or BDF optimizer. * NONE: normal single-state calculation (default). 1SOC is a synonym for NONE. * 2SOC [chi]: spin-mixed state calculation using Truhlar's SO model Hamiltonian of two spin states. No analytic frequency at present. * 3SOC [chi]; 4SOC [chi]; ...; 9SOC [chi]: spin-mixed state calculation using the SO model Hamiltonian of three/four/.../nine spin states. No analytic frequency at present. * MECP: minimum energy crossing point (MECP) calculation. Not supported at present. * CI: conical intersection (CI) calculation. Not supported at present. chi is the empirical SOC constant (in cm-1), which is optional; if not provided, the default value 400 is used. Suggested values are 50-400 for 3d elements, 100-400 for 4d elements (or a little larger for unsaturated systems), and 2500 for 5d elements (saturated systems only!). === ILINE === 0: do not do line search (default for solver=0)<
> 1: do line search (default for solver=1) === CONSTRAIN === Invokes constrained optimization.<
> The first line after the keyword is the number of constraints, N. The 2nd to (N+1)th lines each consists of 2 to 4 integers, which are to be interpreted as atomic serial numbers.<
> If 2 integers are given, then the bond between the two atoms is frozen.<
> If 3 integers are given, then the angle between the three atoms is frozen.<
> If 4 integers are given, then the dihedral between the four atoms is frozen.<
> === HESS === Calculates numerical Hessian. The following line must be one of the following four keywords: {{{ only calculates the numerical Hessian without performing a geometry optimization. This also gives the vibrational frequencies, vibrational modes, and thermochemical functions such as ZPE, inner energy, enthalpy, entropy and Gibbs free energy. init calculates the numerical Hessian, then performs geometry optimization using the Hessian as the initial Hessian. This is useful for transition state optimizations, where the default molecular mechanics Hessian is of poor quality. The vibrational frequency and thermochemistry analyses are not performed. final does geometry optimization, and if the geometry optimization converges, calculates the numerical Hessian at the converged structure. The vibrational frequency and thermochemistry analyses are performed. init+final calculates the Hessian both before and after geometry optimization. The vibrational frequency and thermochemistry analyses are performed on the final Hessian, but not on the initial Hessian. }}} To save computational costs, Hessians whose only role is to aid geometry convergence are calculated using single-sided finite difference. Otherwise, two-sided finite difference is used, which provides better accuracy. The computed Hessian is stored in $BDFTASK.hess, where $BDFTASK is the name of the input file with the extension .inp stripped off. === NUMHESSSTEP === Step length used in the finite-difference numerical Hessian procedure (unit: Bohr). Default: 0.001. === RECALCHESS === The next line must be an integer, x. The numerical Hessian is recalculated every x geometry optimization steps. === RESTARTHESS === Resume an aborted numerical Hessian job. === READHESS === Read $BDFTASK.hess as the initial Hessian for geometry optimization. This is especially useful for transition state optimizations where the initial Hessian is intended to be computed at a lower level. === RMIMAG === Automatically remove all imaginary frequencies (for energy minimum optimizations), or all imaginary frequencies except the one with the largest magnitude (for transition state optimizations). Note that the algorithm is NOT guaranteed to succeed; as a result, the user must manually verify the number of imaginary frequencies after the calculation converges. === NDEG === Degree of degeneracy of the electronic wavefunction (used in computation of electronic entropy). Equals to 2S+1 for scalar states whose spatial parts belong to nondegenerate irreps; may take other values if non-Abelian point group symmetry or spin-orbit coupling are present. Default: 1. Note: NDEG must be given explicitly whenever it is not 1, even if its value is apparent from the rest of the input file! === NTEMP === The number of temperature values provided by the '''TEMP''' keyword. Default: 1. '''NTEMP''' must be provided before '''TEMP''', otherwise only one temperature value may be read in. === TEMP === Temperature used in themochemistry analysis (in Kelvin). Default: 298.15. === NPRESS === The number of pressure values provided by the '''PRESS''' keyword. Default: 1. '''NPRESS''' must be provided before '''PRESS''', otherwise only one pressure value may be read in. === PRESS === Pressure used in themochemistry analysis (in atm). Default: 1. === SCALE === Scale factor of harmonic frequencies. Default: 1.0. === Dimer === It triggers the transition state optimization by the Dimer method through DL-FIND, where the expensive Hessian calculation is not needed any more. To modify the default settings, use the '''Dimer-Block''' ... '''End Dimer''' keyword block instead. === Dimer-Block === It provides an alternative way to specify Dimer calculation, which may be ended by the keyword '''End Dimer'''. In this keyword block, the following keywords may be specified. ==== NoInterpolation ==== The gradient is recalculated after the dimer rotation step. Default: the gradient is interpolated. ==== Delta ==== Dimer distance in atomic units in the case of Cartesian coordinates. Default: 0.01. ==== Crude ==== Uses a much looser convergence criteria of 1/750 = 1.33D-3 for '''TolGrad'''. If only energy barrier at the transition state is concerned, or if the optimized geometry needs to be reoptimized using other methods, this keyword may be used. === NEB === It triggers the reaction path optimization by the CI-NEB method through DL-FIND, where the geometry at the maximum of energy corresponds to the transition state structure. To modify the default settings, use the '''NEB-Block''' ... '''End NEB''' keyword block instead. CI-NEB requires the geometries of two endpoints (e.g. reactant and product): one from Compass, whereas the other one from the '''Geometry2''' ... '''End Geometry2''' block (see below). The atomic orderings in the two sets of coordinates must be the same. === NEB-Block === It provides an alternative way to specify CI-NEB calculation, which may be ended by the keyword '''End NEB'''. In this keyword block, the following keywords may be specified. ==== NImage ==== The number of intermediate images in the chain. Default: 5. The total number of images is MImage = '''NImage''' + 3, i.e., two endpoints #1 and #MImage-1, '''NImage''' intermediate points (#2 ... #MImage-2), and the transition state point #MImage. ==== NEBk ==== Empirical force constant of elastic band. Default: 0.01. ==== NEBMode ==== Method to deal with the two endpoints of NEB, which can be 0 (freely optimized), 1 (optimized only in the perpendicular direction to the path), and 2 (frozen). Default: 2. ==== Crude ==== Uses a much looser convergence criteria of 1/750 = 1.33D-3 for '''TolGrad'''. If only qualitative results are concerned, this keyword may be used. === Nframe === Number of geometries in '''Geometry2''', which can be between 1 and '''NImage'''+1 for the CI-NEB calculation. It must be provided before '''Geometry2''', otherwise only one geometry may be read in. === Geometry2 === The Cartesian coordinates (in Angstrom) of the second endpoint in CI-NEB may be provided here with the ending keyword '''End Geometry2'''. For the coordinates in atomic unit, use '''Geometry2 Bohr''' instead. The atomic ordering in this block must be consistent with the one of the first endpoint, and therefore the atomic names may be omitted. If '''NImage'''>1, the geometries of intermediate images may also be provided here with the correct ordering, and the geometry of the second endpoint should be the last.