I am interested in using the “pair_style hybrid” command to model C (diamond) as an eam/alloy potential along with a three-body Stillinger-Weber pair potential.
I am curious if it is possible to include the embedding function, F(rho), and density, rho, in the eam/alloy setfl file while calling the S-W pair-potential externally using an additional “pair_coeff” command for “sw”? Essentially, I would like to call pair_sw.cpp to develop the S-W pair potential without having to reproduce this code in a setfl-generating script, if that is possible. If not, is there a better way to approach this problem in LAMMPS (i.e., without using “pair_style hybrid”)?
I am interested in using the "pair_style hybrid" command to model C (diamond) as an eam/alloy potential along with a three-body Stillinger-Weber pair potential.
I am curious if it is possible to include the embedding function, F(rho), and density, rho, in the eam/alloy setfl file while calling the S-W pair-potential externally using an additional “pair_coeff” command for “sw”? Essentially, I would like to call pair_sw.cpp to develop the S-W pair potential without having to reproduce this code in a setfl-generating script, if that is possible. If not, is there a better way to approach this problem in LAMMPS (i.e., without using “pair_style hybrid”)?
i don't think you can do this without C++ programming. you would have
to write a new pair style, that would be based on eam (eam/alloy
differs from eam only in how it reads the potential file) and then
augment its ::compute() method by including the code from the
corresponding S-W force routines instead of the pairwise interaction
from EAM.
What is it that you are trying to do? Combine EAM that already includes 3-body interactions in its embedding term with the 3-body term from SW? Or replace the SW 3-body with the EAM embedding function?
To clarify, I ultimately would like to model a metal carbide system in which the metal-metal interaction is modeled as an eam/alloy and the C-C interaction is a 3-body S-W potential. I found a reference for this metal carbide system in which the 3-body term in the Stillinger-Weber potential is ignored in the case of C-C interactions and is instead handled by EAM embedding. My preliminary calculations on just C (diamond) alone have shown this to lead to erratic results; whereas, the full 3-body S-W potential (without EAM) using the same two-body parameters describes the C (diamond) properties well (e.g., lattice constant, cohesive energy, etc.). My concern is on how to include the metal-metal, metal-C, and C-C interactions in the EAM setfl file when I want the C-C interaction to be modeled by a 3-body S-W potential. I realize now, however, that this approach may not make sense.
It is expected that this hybrid approach failed drastically for pure diamond as the EAM embedding term should not be adequate in describing the covalent bond nature as present in diamond. I am also very skeptical of this approach to successfully describe Fe/C systems. There are a couple of potentials already established for Fe/C systems: MEAM and ReaxFF. Why not start with one of the two?
I ultimately would like to model a metal carbide system in which the metal-metal interaction is modeled >as an eam/alloy and the C-C interaction is a 3-body S-W potential.
This part you can do with LAMMPS now, using pair hybrid (overlay not needed):
Something like:
pair_style hybrid eam/alloy sw
pair_coeff * * eam/alloy … Fe NULL
pair_coeff * * sw … NULL C
What you didn’t clarify is what you want the metal/C interaction to be.
You can’t do this, even with pair hybrid/overlay
pair_coeff * * eam/alloy … Fe C
b/c there will be no way to prevent the eam/alloy from including C/C interactions.
I ultimately would like to model a metal carbide system in which the
metal-metal interaction is modeled >as an eam/alloy and the C-C interaction
is a 3-body S-W potential.
This part you can do with LAMMPS now, using pair hybrid (overlay not
needed):
Something like:
pair_style hybrid eam/alloy sw
pair_coeff * * eam/alloy ... Fe NULL
pair_coeff * * sw ... NULL C
What you didn't clarify is what you want the metal/C interaction to be.
You can't do this, even with pair hybrid/overlay
pair_coeff * * eam/alloy ... Fe C
b/c there will be no way to prevent the eam/alloy from including C/C
interactions.
while this will work technically, there are conceptual issues: what
you are actually simulating is the following:
- a metal subsystem with holes (where the carbon atoms would be).
specifically, the embedding energy term will be off, since there are
no contributions to it from the carbon atoms.
- similarly, you have an undercoordinated carbon subsystem, where the
carbon atoms have empty valences, where the metal atoms would be .
- some pair-wise additive force, that would model the metal-carbon
interactions. however, this cannot compensate for how much the two
previous terms will be systematically off.
the story would be very different in the case of a metal droplet on
top of a diamond surface, for example. there the errors from the
mechanical coupling would be small, since each subsystem is mostly
isolated and thus mostly correct.
so going for MEAM or ReaxFF to model wholly contained systems is
already on the conceptual level a much improved approach.