Commit 1501e9ba authored by julient31's avatar julient31
Browse files

Commit3 JT 040819

- README and interpolate.c for in examples/SPIN/gneb/interpolate/
parent 57247142
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -8,3 +8,6 @@ Run those examples as:
mpirun -np 3 lmp_mpi -in in.gneb.iron -partition 3x1

You should be able to use any number of replicas >= 3.

In the interpolate/ directory, a c routine is provided to
interpolate the MEP. 
+25 −1
Original line number Diff line number Diff line
Interpolate.x tries to perform a cubic polynomial interpolation
of the MEP found 
of the MEP.  

Compile the program with:
gcc interpolate.c -o interpolate.x -lm -lgsl

and then run it as:
./interpolate.x

Enter N-1 (with N the number of replica).
The program reads the "neb_init.dat", in which you need to
replace the current values by your GNEB outputs.

Each line corresponds to a replica, and has to respectively
contain:

Reac. coords /tab/ pot. energy /tab/ fm dot tangent /tab/
geodesic dist to next replica

All those information can be provided by the verbose output of
a neb/spin calculation

The progam outputs the interpolation result, and the
interpolated MEP in "interpolation_result.dat". 

This code is a courtesy of Aleksei Ivanov, University of
Iceland.
For more explanation about this calculation, see Appendix D 
of the following reference:
Bessarab, P. F., Uzdin, V. M., & Jónsson, H. (2015). 
Computer Physics Communications, 196, 335-347. 
+1 −2
Original line number Diff line number Diff line
@@ -67,8 +67,7 @@ int main() {
  
  // reading input file

  if((data=fopen("reac_coords_iron_verbose.dat","r")) == NULL) {
  //if((data=fopen("neb_init.dat","r")) == NULL) {
  if((data=fopen("neb_init.dat","r")) == NULL) {
    printf("Incorrect input file name.");
    return 0;
  }