welcome: please sign in
location: Diff for "bdfopt"
Differences between revisions 56 and 79 (spanning 23 versions)
Revision 56 as of 2021-04-27 11:17:42
Size: 7250
Editor: leiyibo
Comment:
Revision 79 as of 2022-11-15 06:59:28
Size: 12936
Editor: wzou
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
Geometry optimiser of BDF package. This BDFOPT module can be used to find minimal points, saddle points and also conical intersection points. For details of the interface, see '''bdfopt/''', '''module/bdfopt_mod.F90,dlfind_module.F90''', '''sys_util/bdf_dlfind_util.F90''' for interface. 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.
Line 31: Line 31:
3. TD-DFT optimize Conical intersection and intersystem crossing points.

''' This preliminary version has several limitations:'''

1. Change of symmetry during optimization is not correctly handled for excited state optimization, because the correct input file needs to be prepared.
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.
Line 45: Line 46:

4. [[Intersystem crossing]]

5. [[Transition state]]
Line 51: Line 56:
=0, DLFIND; =1, BDF optimizer =0, DL-FIND; =1, BDF optimizer
Line 56: Line 61:
=== TOLGRAD ===
Convergence criterium for RMS gradient.
Line 62: Line 64:

=== TOLGRAD ===
Convergence criterium for RMS gradient for solver=1 and Max gradient for solver=0.
Line 63: Line 69:
Convergence criterium for RMS step (only supported for solver=1). 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.
Line 67: Line 80:
3: search for minima using RFO step
10: search for saddle points using P-RFO step
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
Line 100: Line 113:
multi-state optimization for conical intersection (CI) and intersystem crossing(ISC). Multi-state optimization for conical intersection (CI) and intersystem crossing(ISC).
Line 106: Line 119:
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.
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!).
Line 149: Line 173:
=== 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.
Line 150: Line 177:
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; can acquire or lose degeneracy 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! 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.
Line 155: Line 185:
=== 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.
Line 160: Line 193:

=== 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.

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.

bdfopt (last edited 2022-11-15 06:59:28 by wzou)