Documentation for module neb_utils

Module with utility for Nudged Elastic Band Calculation

source: neb_utils.F
Loading...

public Subroutines/Functions:

Constructs or Read the coordinates for all replica
FUNCTION
LOGICAL
check_convergence (neb_env, dcoords, forces)
Checks for convergence criteria during a NEB run
Driver to compute energy and forces within a NEB, Based on the use of the replica_env
Reorient iteratively all images of the NEB chain in order to have always the smaller RMSD between two following images
Reparametrization of the replica for String Method with splines

SUBROUTINEbuild_replica_coords(neb_section, particle_set, coords, vels, neb_env, iw, globenv, para_env)

Constructs or Read the coordinates for all replica

Arguments:
POINTER
:: neb_section ...
POINTER
:: particle_set(:) ...
POINTER
:: coords ...
POINTER
:: vels ...
TYPE(neb_type),
POINTER
:: neb_env ...
INTEGER,
INTENT(in)
:: iw ...
POINTER
:: globenv ...
POINTER
:: para_env ...

FUNCTIONcheck_convergence(neb_env, dcoords, forces)

Checks for convergence criteria during a NEB run

Return Value ::
LOGICAL
Arguments:
TYPE(neb_type),
POINTER
:: neb_env ...
POINTER
:: dcoords ...
POINTER
:: forces ...

SUBROUTINEneb_calc_energy_forces(rep_env, neb_env, coords, energies, forces, particle_set, output_unit)

Driver to compute energy and forces within a NEB, Based on the use of the replica_env

Arguments:
POINTER
:: rep_env ...
TYPE(neb_type),
OPTIONAL, POINTER
:: neb_env ...
POINTER
:: coords ...
REAL(dp),
INTENT(out)
:: energies(:) ...
POINTER
:: forces ...
POINTER
:: particle_set(:) ...
INTEGER,
INTENT(in)
:: output_unit ...

SUBROUTINEreorient_images(rotate_frames, particle_set, coords, vels, iw, distances, number_of_replica)

Reorient iteratively all images of the NEB chain in order to have always the smaller RMSD between two following images

Arguments:
LOGICAL,
INTENT(in)
:: rotate_frames ...
OPTIONAL, POINTER
:: particle_set(:) ...
POINTER
:: coords ...
POINTER
:: vels ...
INTEGER,
INTENT(in)
:: iw ...
REAL(dp),
OPTIONAL
:: distances(:) ...
INTEGER,
INTENT(in)
:: number_of_replica ...

SUBROUTINEreparametrize_images(reparametrize_frames, spline_order, smoothing, coords, sline, distances)

Reparametrization of the replica for String Method with splines

Arguments:
LOGICAL,
INTENT(in)
:: reparametrize_frames ...
INTEGER,
INTENT(in)
:: spline_order ...
REAL(dp),
INTENT(in)
:: smoothing ...
REAL(dp),
POINTER
:: coords(:,:) ...
REAL(dp),
POINTER
:: sline(:,:) ...
REAL(dp)
:: distances(:) ...