Commit3 JT 040819
- README and interpolate.c for in examples/SPIN/gneb/interpolate/
This commit is contained in:
@ -8,3 +8,6 @@ Run those examples as:
|
|||||||
mpirun -np 3 lmp_mpi -in in.gneb.iron -partition 3x1
|
mpirun -np 3 lmp_mpi -in in.gneb.iron -partition 3x1
|
||||||
|
|
||||||
You should be able to use any number of replicas >= 3.
|
You should be able to use any number of replicas >= 3.
|
||||||
|
|
||||||
|
In the interpolate/ directory, a c routine is provided to
|
||||||
|
interpolate the MEP.
|
||||||
|
|||||||
@ -1,7 +1,31 @@
|
|||||||
Interpolate.x tries to perform a cubic polynomial interpolation
|
Interpolate.x tries to perform a cubic polynomial interpolation
|
||||||
of the MEP found
|
of the MEP.
|
||||||
|
|
||||||
Compile the program with:
|
Compile the program with:
|
||||||
gcc interpolate.c -o interpolate.x -lm -lgsl
|
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.
|
||||||
|
|||||||
@ -67,8 +67,7 @@ int main() {
|
|||||||
|
|
||||||
// reading input file
|
// 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.");
|
printf("Incorrect input file name.");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user