As shown in the figure, the velocity update formula should be:ervel[i] += dtfm * erforce[i] / mefactor,but it is missing the +. In other words, the ervel is equal to at but not v0+at.
@zzh thanks for the report. This looks like a genuine bug to me.
While I have very limited knowledge of the EFF package as such, I have tried to update “fix_nh_eff.cpp” to use the same updates for Atom::ervel[] and Atom::eradius[] as they are used in “fix_nve_eff.cpp”
I have reached out to the author of the EFF package for comment on this change.
It might help if you would try to apply the change, make tests, and report if it improves the situation.