Can Bond Order Potentials be directly used in LAMMPS?

Hi, All,

I want to ask whether Bond Order Potentials (BOP) can be used directly in LAMMPS. I read several papers regarding to the BOP and found the expression of the energy in BOP is slightly different from EAM/FS potentials. Accordingly, the formula to calculate atomic forces should be different as well. If so, do I have to write my own subroutine to treat with BOP for metals/alloys? Thank you very much.

Best Regards

Zhengzheng

If you mean Pettifor's BOP potential, it is nothing like EAM.
There is an implementation of BOP for LAMMPS, but it hasn't
been released yet. I think the authors are waiting for a paper
or 2 to appear. You can contact them directly:

Don Ward: donward at sandia.gov
Xiaowang Zhou: xzhou at sandia.gov

If you mean BOP potentials generically, then there are
many of them in LAMMPS: Tersoff, REBO, ReaxFF, MEAM, etc.
Just look at the pair_style doc page. Again, none of these
are like EAM, which is a many-body potential, but not really
a bond-order potential.

Steve

Thank you very much, Steve. My understanding is that for each pair_style LAMMPS has a corresponding subroutine because the expressions for energy and force is unique. Therefore if I want to use Pettifor’s (or Vitekc’s) BOP, I should write my own subroutines to do the job. Am I correct?

Best Regards

Zhengzheng

Thank you very much, Steve. My understanding is that for each pair_style LAMMPS has a corresponding subroutine because the expressions for energy and force is unique. Therefore if I want to use Pettifor’s (or Vitekc’s) BOP, I should write my own subroutines to do the job. Am I correct?

yes and no. LAMMPS doesn’t use “subroutines” for this purpose,
but derived C++ classes. the basic procedure to extend LAMMPS
with additional functionality is described in detail in the manual here:
http://lammps.sandia.gov/doc/Section_modify.html

you may also want to check out this document:
http://lammps.sandia.gov/doc/Developer.pdf

in general, the recommended strategy is to look for an existing,
similar pair style and then implement your new class by renaming
and modifying this class. since manybody potentials can become
a bit tricky, it may be helpful to first start by implementing something
simpler in order to understand the process better. it is imperative
that you understand the data and parallelization model of LAMMPS
before you start implementing a complex class.

cheers,
axel.

Again, if you want Pettifor's BOP, it's already been implemented.
Just not released yet in LAMMPS. Contact the authors I gave
you and they will likely give you a copy.

Steve