Interatomic potential and user-defined potential for nanoparticle simulation

Hi everyone,

I’m planning to run a molecular dynamics (MD) simulation of an AX nanoparticle with a specific facet (111) in a box, containing A+ and X- ions in the gas phase. I want to see the growth of nanoparticle. I need to set everything up using real/metal units.

I have two main questions:

  1. What interatomic potential would be most suitable for simulating this system? Can I find a template LAMMPS input script?
  2. How can I incorporate a user-defined potential for the AA, AX, and XX interactions if I already have the potential energy curves/data?

Any guidance or suggestions would be greatly appreciated.
Thanks in advance!
TP

That is a topic for a careful search of the published literature, regardless of what your elements A and X are.

Not in the LAMMPS distribution.

See pair style table. You will have to generate the force through numerical differentiation, though.

For, this “pair_style”, I would require a table of x, V(x), F(x) for user-defined tabulated potential

I have a table where the potential energy V(x) for each given point x. Is there any lammps script to compute force from numerical differentiation if no force function is provided?

LAMMPS does not do this, you need to create a suitable table with some external tool. Some examples for how to write such a tool for creating tables are given in the tools/tabulate/ folder.

Many thanks. Got it.
So this differentiation needs to be done by Central Difference Method.

No.

Then?
The central difference method is generally more accurate than forward or backward differences.
And it can be done by a writing a py script.

You can choose whatever method you prefer. Of course, different methods have differently noisy output. I usually choose a Savitzky-Golay filter to compute a polynomial for each data point based on 2N+1 surrounding data point and then use the first derivative of that polynomial (typically with N=10 and a 4th order polynomial).

It is straightforward to test the accuracy of your chosen method by comparing to the implemented analytical potentials, e.g. lj/cut or morse and use pair_write to get a table of their energy and force for a given set of parameters.