Hi,
I am working with LAMMPS to simulate the ion bombardement of Silicon(target) with one Argon particle(projectile). My first calculations have used lennard-jones-potential to describe the interaction of Argon with Silicon. So my part of the input-file, which sets the force-fields looks like:
However, the calculated sputtering yields are to high(I have 16, literature says 1-2). To describe the interaction of Argon with Silicon in a more realistic way, I want to use the zbl-potential, which seems to be predestinated for my problem.
My problem is that the LAMMPS-zbl-instruction says that one have to define atomic numbers Z for all atom pairs I,J. On the other hand the instruction says that Z can not be defined for two different atom types. Therefore the lists of atom types I and atom types J must match.
My state of things concerning the pair_coeff command is that I need to say LAMMPS that atom_type 1(silicon) have to interact with atom 2(argon) via the zbl-potenzial, so in my case I would write:
I agree that this is a little confusing. The documentation currently says:
"Although Z must be defined for all atom type pairs I,J, it is only
stored for individual atom types, i.e. when I = J."
Perhaps a better way to say it would be:
"Although every pair of I, J types must be initialized with a
pair_coeff command, the value of Z is only stored for individual atom
types, i.e. when I = J. This is easily accomplished using 'pair_coeff
* * zbl 0.0' followed by ntypes pair_coeff commands for the individual
atom types."
My state of things is that LAMMPS work in a overwriting sense, so I have understood the Documentation-3.commands-3.1.LAMMPS-input-script. But as Aidan have told one could think, LAMMPS work in an additional way. So, how does LAMMPS works ??
and get the desired behavior. Note that now two coefficients are
required and all pairs that are not specified have no ZBL interaction.
For a stand-alone ZBL potential (no hybrid/overlay) the mixing rule
applies as before, so only I==I pair_coeff commands are needed.
many thanks for the new zbl-code. There was a little bug in function init_style, I think that "neighbor->request(this,instance_me);" should be
neighbor->request(this); ??
After compiling LAMMPS, I started 169 ion-bombardemt-simulations (with different impact points) and until now LAMMPS seems to do what I want.
Thank you Aidan for doing my work, this will guarantee you an entry in my PHD-acknowlegdement in a few years