Skip to content
Julien Steffen edited this page Oct 4, 2021 · 48 revisions

Introduction

This program generates and optimizes the parameters of EVB coupling terms. The coupling smoothly connects two QMDFFs, therefore these need to be present (generated with qmdffgen) when an EVB coupling term is optimized. In addition, some reference data describing the reaction must be present, serving as the training set for the optimization routine. The xyz-coordinates of the structures and the respective reference energies in a linewise format must be present. Usually, a reaction path, generated from a NEB or IRC calculation, would be used for this. For the RP-EVB and the related TREQ method, a reaction path is mandatory.

dE-EVB

Folder: evbopt/dE-EVB

The simplest EVB coupling version is the energy-gap (dE)-EVB coupling. Here, the off-diagonal coupling term depends only on the energetic distances of both QMDFFs at the current coordinates . A bunch of different functions depending on can be used, the easiest are the constant coupling with no -dependence at all and the 1g coupling with a Gaussian shape.

The main input file is the \texttt{evbopt_de_1g.key} file, where all essentially all control parameters are listed:

pes de_evb
qmdffnames  min1.qmdff  min2.qmdff
eshift    -272.22659664700754     -272.16798367875066
energies_ref ref.dat
coords_ref struc.xyz
shift_manual

de_evb{
   coupling sp
}

The first keyword is always needed and specifies the used class of PES functions. Here, we want to use the dE-EVB coupling (de_evb). Other options (for evbopt) are dQ-EVB (dq_evb) and DG-EVB (dg_evb), see below.

The keywords qmdffnames and eshift specifiy the properties of the single QMDFFs, both their filenames and the energy shifts. These parameters are written automatically if qmdffgen is executed first (see section qmdffgen).

Both the energies_ref and coords_ref keywords are needed to provide the needed reference data for the reaction of interest that shall be described with EVB. Usually this would be a one-dimensional reaction path, but higher dimensional sampling data could be used as well.

The optimization is invoked by typing:

evbopt.x evbopt.key

A multi-start local-search Levenberg-Marquardt optimization is executed with the objective to minimize the error sum between the EVB-QMDFF energies and the reference energies listed in ref.dat, an usual output is:

...
Used off-diagonal-Term:
a*exp(-b*deltaE^2)+c*deltaE*exp(-d*deltaE^2)   (sp)
After Multi-Start-Local-Search step:           1
Local optimization finished, new best fitness:   8.3897511547073188E-004
After Multi-Start-Local-Search step:          15
Local optimization finished, new best fitness:   8.3877256721804922E-004
After Multi-Start-Local-Search step:          35
Local optimization finished, new best fitness:   8.3632257233213895E-004
.. .----. -- -.. --- -. . 
Multi start local optimization finished!
The best fitness-value is:   8.3632257233213895E-004
Look into evbopt.log for further details.
...

The total fitness is the central indicator of how good the reference reaction path is reproduced with the EVB-QMDFF model, however, in order to gain more detailed knowledge of the quality, one can look at the additional output, namely:

  • energies.qmdff: The EVB-QMDFF energies of all reference structures
  • single_qmdff.dat: The energies of both QMDFFs of all reference structure

Plotting the files together with the reference energies in \texttt{ref.dat} results in the figure shown in fig. 1:

drawing
Clone this wiki locally