how to calculate electrostatic potential at certain atom coordinates in LAMMPS

Dear all,

I implemented a fix to realize charge update, and now I got a new set of charges in the system. How could I calculate electrostatic potential at these charges coordinates? I found a discussion in the mailing list explaining how to use rerun to realize it: http://lammps.sandia.gov/threads/msg33302.html, and I tried rerun, but the potential explodes.

I was thinking to change atom charges in pairs, and then get a series of energies, by subtracting them I may get the result, but it feels complex.

Looking forward to your ideas.

yours sincerely,
Andrew

Dear all,

I implemented a fix to realize charge update, and now I got a new set of
charges in the system. How could I calculate electrostatic potential at
these charges coordinates? I found a discussion in the mailing list
explaining how to use rerun to realize it:
http://lammps.sandia.gov/threads/msg33302.html, and I tried rerun, but the
potential explodes.

I was thinking to change atom charges in pairs, and then get a series of
energies, by subtracting them I may get the result, but it feels complex.

no. that cannot work. also the suggestion of using code similar to
what is in pppm.cpp is not the whole solution, since this uses a
damped (and thus smoother) charge distribution.

if you want the potential at the position of a given atom, you
basically need to recompute the coulomb component of the force on this
atom. that includes real- and kspace.
so doing this for one atom at a time is quite expensive. explicitly
polarizable models thus either have to use an iterative SCF scheme or
use an extended Lagrangian scheme, where the charges become fictitious
degrees of freedom, similar to the car-parrinello MD scheme.

axel.