I did a neb calculation to obtain the Peierls barrier for screw dislocaiton using ADP potential. But the results show double saddles, as shown below. The two saddles correspond to the two paths: initial position->final position and final position ā initial position. Iām confused why it has the second path: final->initial. I also tried to use the relaxing model for both initial and final structures, as well as changing spring and tolerances, but the results are the same.
Does anyone has the same problem? Could you please tell me the reasone? Thanks very much.
How did you define your initial and final states? Do they perform a translation by one unit cell?
It looks like your neb algorithm has found a metastable intermediate state. Maybe your screw dislocation is rotating? Have you analyzed the molecular configuration to understand what is happening?
Thanks very much for your reply.
The initial and final states are the neighbor easy cores of screw dislocation.
The configuration of dislcoation cores seems Okay for the first path (from initial position to final position). Please have a look on the animation and command file. The dislocation goes to final position from initial position and then return, which correspond to the two saddles in above figure. animation.zip (235.6 KB)
# simulation of Peierls potential for screw dislocation in pure iron
#---------------------basic setting---------------------
echo both
dimension 3
units metal
atom_style atomic
boundary s s p
timestep 0.001
neighbor 1.0 bin
neigh_modify every 1 delay 0 check yes
atom_modify map array sort 0 0.0
variable u uloop 9
variable datafile string Fe0.dat
#------------ potential and minimize energy--------
read_data ${datafile}
pair_style pinn_adp
pair_coeff * * fe_adp.adp Fe Fe Fe Fe
mass 1 55.845
mass 2 55.845
mass 3 55.845
mass 4 55.845
group workspace type 1 2 3
group fixed type 4
minimize 1.0e-6 1.0e-6 1000 10000
min_style quickmin
#----------------Peierls potential simulation------------------
reset_timestep 0
thermo 20
fix 1 fixed setforce 0.0 0.0 0.0
fix 2 workspace neb 2.0
min_style quickmin
neb 0.0 0.005 20000 20000 20 final Fe1_xyz.dat
dump 1 all atom 1 dump.neb.$u
run 0
I notice your input script does not have a fix neb command, even though the documentation says:
In a NEB calculation each replica is connected to other replicas by inter-replica nudging forces. These forces are imposed by the fix neb command, which must be used in conjunction with the neb command.
Also please use backticks (`)
```
like this
```
when posting an input script so that special characters do not mess up the formatting.
Thanks very much for your suggestion.
In the input file, I have used the fixe neb. Please have a look at the new one. Thanks again. fe_neb.zip (624 Bytes)
# simulation of Peierls potential for screw dislocation in pure iron
#---------------------basic setting---------------------
echo both
dimension 3
units metal
atom_style atomic
boundary s s p
timestep 0.001
neighbor 1.0 bin
neigh_modify every 1 delay 0 check yes
atom_modify map array sort 0 0.0
variable u uloop 9
variable datafile string Fe0.dat
#------------ potential and minimize energy--------
read_data ${datafile}
pair_style pinn_adp
pair_coeff * * fe_adp_potential_237_63e161.pinn Fe Fe Fe Fe
mass 1 55.845
mass 2 55.845
mass 3 55.845
mass 4 55.845
group workspace type 1 2 3
group fixed type 4
minimize 1.0e-6 1.0e-6 1000 10000
min_style quickmin
#----------------Peierls potential simulation------------------
reset_timestep 0
thermo 20
fix 1 fixed setforce 0.0 0.0 0.0
fix 2 workspace neb 2.0
min_style quickmin
neb 0.0 0.005 20000 20000 20 final Fe1_xyz.dat
dump 1 all atom 1 dump.neb.$u
run 0