Step function behavior of the tabulation error for lj/cut/coul/long when varying the tabinner parameter.

I have been studying the behavior of the amount of error produced by using tabulation of potentials in lammps as part of a research project I am working on, and I have obtained some results that I do not know how to explain. One parameter that you may set in lammps when using a tabulated potential is the tabinner parameter. This parameter defines an inner cutoff radius beyond which the tabulated value of the potential is used and within which the potential is directly calculated. I set up tests in which I compared a simulation without tables to a simulation using tables with various tabinner values in order to see how this parameter would affect the amount of error induced by using tabulated potentials. I expected that larger tabinner values would yield smaller error while smaller tabinner values would yield larger error (since larger tabinner values mean you are using tables to find fewer values and are doing more direct calculation). I also expected that there would be some smooth relationship between the tabinner value and the amount of error.

This is not what I found to be the case, however. I found that varying the tabinner parameter generates a step function type behavior in the amount of error (as you can see in the attached results, the Coulomb_tabinner.xlsx). I have pondered over this for a while and can come up with no good explanation for this strange behavior. Any ideas what may be causing it?

I ran the tests using the attached input script ( which calculates and prints the rms error and relative rms error. The simulation that I ran used the lj/cut/coul/long pair style for a single time step in a hexane system for which the restart file is attached. The system is already equilibrated. The version of lammps that I used for these tests was the 16Oct12 version.

Thank you very much for your input.
Wayne Mitchell (3.93 MB) (1.53 KB)

Coulomb_tabinner.xlsx (60.2 KB)

I think you are referring to the table option of long-range Coulombic
not to pair_style table. Paul can likely address your Q.


The behavior you're seeing is due to the way LAMMPS uses a bit-mapping technique to index the tabulated values. I'd recommend you read the following reference for more details:

Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999).

And if you haven't already read the paragraphs in the docs about tabulation in LAMMPS, that would also be recommended:

If the behavior you're seeing still seems odd, even after reviewing these references, please feel free to bring up your questions on the list again.