Closed goodwilling closed 2 years ago
@goodwilling Thanks for your feedback. One simple solution is you add selective_dynamics to Poscar after you generated the NEB inputs. In NEB calculations, we need to ensure the mobile species (vacancy or interstitial) are in the same place for each image. An easy way to do this is by moving the hopping atoms to the beginning of structures(that is what our get_endpoints_from_index code did). However, when writing out the inputs, the same species will be put together in your POSCAR to avoid duplicate pseudopotential in POTCAR. Hope this could solve your issue. If not, pls feel free to send us your structures and we will take a look at it.
Dear Developers,
Thank you for your interesting work on pymatgen-diffusion.
In my testing, I use the following script to generate an initial path of NEB:
the_solver = IDPPSolver.from_endpoints(endpoints=[init_struct, final_struct], nimages=nimages, sort_tol=sort_tol) new_path = the_solver.run(maxiter=5000, tol=1e-5, gtol=1e-3, species=species)
This functionality is very convenient for me, however, it is found that the order of atoms in the generated path can be different from those in the given end points (initial_struct, final_struct). For example, the order in O, H will be changed into H, O using the IDPP solver. Since we need to fix some substrate layers in some NEB calculations and these "fix" flags have already been set for the initial/final_struct, it is desired that the generated path can use the same atomic order as given in the initial/final_struct.
Can I easily achieve this by some minor revisions of scripts? Thank you.