Hi, dear LAMMPS users.
My simulation involves numerous calculations of the vacancy migration energy using NEB in a lattice with some other defect present (like dislocations, grain boundaries). The script I created works fine and gives reasonable results. At the present time all the atoms in a simulation volume are used to perform the NEB optimization. This, unfortunately, makes the process very lengthy for using it repeatedly.
My next idea, to save computational time, was to make a small group of atoms in a cubic region around the jumping vacancy and to try calculating forces just for that small group. Reading the documentaion I explored the follwing options.
-
fix setforce freezes the requird atoms, but does not save time since the specified forces are applied after the regular forces are calculated based on the current forcefield.
-
neigh_modify exclude for the atoms outside of the vacancy surroundings. This does save the time but at the same time seems to discard forces between the atoms inside the vacancy surroundings and outside of that. This leads to the group of atoms around the vacancy optimizing their positions independently of the rest of the atoms. Which breaks the local atomic configuration if it contains a dislocation.
-
Then I started searching for an option that would allow me to calculate forces for the group atoms around the vacancy at every step of the relaxation, and the forces on the other atoms much less frequently, probably just once at the start of a simulation. I mean not just updating neighbors list but actually skip calculating forces. I have not found any such options.
Any suggestions to solve this problem?