I am wanting to spline a EAM potential for Al with the ZBL potential for Al.
I have the EAM potential file and it runs fine when simulating Al.
I know that I cannot just use hybrid/overlay as I want ZBL forces to be smoothly splined, not just added.
I see people in literature often say they spline EAM with ZBL. What realistic steps can I Take with just eam potential file to have it splined with ZBL? I suspect there is a fairly systematic way to do this, and would appreciate being pointed in the right direction.
Since EAM is two terms, and one of them is a pairwise
intereaction, I assume what people do is spline the ZBL
to the pairwise portion of EAM. For that the procedure
would be the same as for any other pairwise potential,
e.g. Buckingham, where people spline to ZBL to
avoid strong overlap at small separations. Mathematically
it means to truncate the too-soft potential at small r,
compute the slope at that point, then add ZBL for smaller
r, with the slope matched, and the ZBL shifted to the connection
point. If you tabulate that, you could just replace the
pairwise tabulation in the EAM file with EAMpair + ZBL and
it should work fine as a new EAM potential.
I don’t think the idea to replace the tabulation of EAM that Steve mentioned is a good method, though many people might have done EAM-ZBL hybrid in that way. My concern is that spline the pair potential actually can avoid overlap, but since the force is calculated by the derivative of potential and considering that the potential formulas of EAM and ZBL are different, the force calculated with the newly tabulated EAM would be different from the force calculated with ZBL by the same value of potential and also different from the real circumstance we expect.
To fit a new formula around the overlap point, and implement it in the source code of lammps seems more reasonable for me.
However, I’m also just new to the potential discipline, please correct me if there is anything wrong with me.
I don't think the idea to replace the tabulation of EAM that Steve mentioned
is a good method, though many people might have done EAM-ZBL hybrid in that
i disagree.
way. My concern is that spline the pair potential actually can avoid
overlap, but since the force is calculated by the derivative of potential
and considering that the potential formulas of EAM and ZBL are different,
the force calculated with the newly tabulated EAM would be different from
the force calculated with ZBL by the same value of potential and also
different from the real circumstance we expect.
To fit a new formula around the overlap point, and implement it in the
source code of lammps seems more reasonable for me.
However, I'm also just new to the potential discipline, please correct me if
there is anything wrong with me.
i don't know if there is anything wrong with you (i hope not), but
your concern is not valid.
when you tabulate a potential and then interpolate it with a spline
function, you will get a smooth interpolation that is a continuous
function with a continuous derivative function as well. this is by
construction. of course there can be artifacts if there is a
significant change in the potential at the transition point, but for
as long as you shift one of the potentials to have the same value as
the other (like steve mentioned), this will be minimal and should not
be a big concern. you should make an experiment and plot the resulting
function yourself. LAMMPS can help you to do that experiment without
having to write code yourself through using the pair_write command,
that writes out pairwise potentials, and the pair table style that
supports reading a tabulated potential and resplining them to
different grids.
One clarification which Axel alludes to. The way EAM works in LAMMPS (and other codes
which read the standard DYNAMO format EAM potential files), is
that the splining is done by LAMMPS itself. The EAM potential
file simply has a tabulation of several quantities versus distance.
One of those is the pair potential term, i.e. phi® versus r.
So what I was suggesting was to create a new EAM/ZBL potential
file, replacing phi® with a new “pair potential” which uses ZBL values
for small r, i.e. that has a harder core than the original EAM file.
If you do that with a reasonably continuous/smooth set of values, then I think
that the EAM coding within LAMMPS will simply create a set of valid
splines for the “pair potential” it reads, and everything will just work.
However, I have never done this, so others may wish to comment.
Also note that Bo makes a good point - that a proper EAM potential has all its terms fit
to various properties and the tabulated values in the file are not
independent. So just replacing the pair potential tabulation is
creating a new potential which may or may not affect the other
properties EAM was fit to.