[lammps-users] difference between "eam" and "eam/opt"

In the manual of LAMMPS, it says “Style eam/opt is an optimized version of style eam that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time).” I have tested results and find it right. But I have several questions:

  1. How does “eam/opt” speed up the running compared with “eam” ? Is it because of different algorithm in determine value from tabulated data in potential file?
  2. If style “eam/opt” has both accelerated speed and identical answer, why doesn’t LAMMPS use “eam/opt” by default instead of “eam”?
    Thanks for attention.


The pair_eam.cpp code is the original, more readable, potential.
The pair_eam_opt.h version is less readable, so LAMMPS keeps both.