Improved dimer method

- curvature along the dimer axis is computed using finite diferences. The initial dimer direction must be provided by user (see below).
- dimer is rotated such as its axis is parallel with the direction of the maximal negative curvature
- optimization step is taken, potential energy is maximized along the unstable direction (i.e. dimer axis) while it is minimized in all other directions

The method is invoked by setting `IBRION`=44 (see Sec. 6.22).

Furthermore, user must specify direction of the unstable mode. Corresponding 3N dimensional vector is defined in the POSCAR file after the lines with atomic coordinates and a separating blank line. Note that the dimer direction is automatically normalized, i.e. the norm of the dimer axis defined by user is irrelevant. Example of POSCAR file for simulation with dimer method:

ammonia flipping 1. 6. 0. 0. 0. 7. 0. 0. 0. 8. H N 3 1 cart -0.872954 0.000000 -0.504000 ! coordinates for atom 1 0.000000 0.000000 1.008000 0.872954 0.000000 -0.504000 0.000000 0.000000 0.000000 ! coordinates for atom N ! here we define trial unstable direction: 0.000001 0.522103 -0.000009 ! components for atom 1 -0.000006 0.530068 0.000000 -0.000005 0.522067 -0.000007 0.000001 -0.111442 0.000001 ! components for atom N

As in the other structural optimization algorithms in VASP, convergence is controlled through
the `EDIFFG` tag.

Experienced users can affect the performance of the dimer method by modifying the numerical values of the following parameters:

`FINDIFF`= 1 2

Use a forward (1) or central (2) difference formula for the numerical differentiation to compute the curvature along the dimer direction

Default:

`FINDIFF`=1`DIMER_DIST`=[real] the step size for a numerical differentiation (Å)

Default:

`DIMER_DIST`=0.01`MINROT`=[real] dimer is rotated only if the predicted rotation angle is greater than MINROT (rad.)

Default:

`MINROT`=0.01`STEP_SIZE`=[real] trial step size for optimization step (Å)

Default:

`STEP_SIZE`=0.01`STEP_MAX`=[real] trust radius (upper limit) the optimization step (Å)

Default:

`STEP_MAX`=0.1

Important information about the progress of optimization is written
in the file OUTCAR after the expression 'DIMER METHOD'.
In particular, it is useful to check the curvature along the dimer direction,
which should be a negative number (long sequence of positive numbers usually indicates
that the algorithm fails to converge to the correct transition state).

IMPORTANT NOTE: The current implementation does not support lattice optimizations (`ISIF`2) and can be used only for the relaxation of atomic positions.