Dear LAMMPS developers,
I am attempting to relax a two-dimensional system consisting of approximately 500 atoms using the minimize
command with the min_style hftn
. In this process, I am adding externally calculated per-atom forces and potential energy iteratively using the fix addforce
command (in addition to the forces arising from a pairwise potential ‘rebo’ being used). After each iteration, I allow the minimization step to proceed, during which the atoms adjust their positions in response to the forces acting on them, with the total energy being minimized over several iterations.
Recently, I discovered a conceptual error in my theory, which led me to double the magnitude of the forces and potential energy I had been using for the same system. My expectation was that by doubling the magnitude of these quantities, the atoms would move more significantly than in the previous case, and the minimization would be achieved in fewer iterations. However, I observed that even after adding the doubled forces, the atoms did not move as expected.
I would appreciate your insights into why this might be the case. I am using LAMMPS version 2 Aug 2023 with the Python interface. Below is the LAMMPS input I am using.
Note: For each iteration, I update the forces to be added based on the information in the dump file created in each iteration.
for run in range(200):
units metal dimension 3 boundary p p p atom_style full read_data structure.mol newton on pair_style hybrid rebo zero 5.0 full pair_coeff * * rebo CH.rebo C C pair_coeff 1 2 zero neighbor 2 bin neigh_modify every 1 delay 0 check yes timestep 0.1 variable zero atom 0.0 dump 1 all custom 1 dump1.minimization id type x y z fx fy fz #🔎 to be consistent with the BLBLNew.mol file format # Below: The v_nFx v_nFy v_nFz are the peratom forces read as variables # The v_naPE is the peratom potential energy read as a variable fix 3 all addforce v_nFx v_nFy v_nFz every 1 energy v_naPE fix_modify 3 energy yes min_style hftn minimize 1e-5 1e-5 1 10000