'ialloy' parameter in MEAM

Hi Wenting,

unless I'm being blind, this paper doesn't even mention what code they used, which makes reproducing it exactly even harder.

From the Rose EOS (erose_form=1), it's probably LAMMPS, as I haven't seen rep/R in other major codes.
But their Eq (10) is missing the -3/5Sum(...) term that has always been present in LAMMPS.

If in doubt, try with standard averaging first, if that doesn't reproduce a test quantity try alternative, if that also doesn't work something else is missing. I have yet to find one where "no averaging" is the correct answer...

@Steve, Axel: didn't we have a properly cited reference for the averaging methods at some point? The Valone paper mentions a different form of averaging than Gullet&Wagner did, but doesn't specify which one it is.

Best,

Sebastian

@Steve, Axel: didn’t we have a properly cited reference for the averaging methods at some point? The
Valone paper mentions a different form of averaging than Gullet&Wagner did, but doesn’t specify
which one it is.

i would look through the source code. in meam_setup_done.cpp i see a reference to:

// Equation numbers below refer to:
// I. Huang et.al., Modelling simul. Mater. Sci. Eng. 3:615

that seems relevant. otherwise, i cannot comment on the details of the MEAM model or its LAMMPS implementation. perhaps contacting Greg Wagner might help. if i remember correctly, he left SNL some time ago, so you may have to track him down.

axel.

Hi Sebastian and Axel,

Thanks for your reply. I read the code of meam_setup_done.F. The influence of ‘ialloy’ depends on lattice structure. I’ll use SiO2 as an example, the lattice is ‘dim’.

ialloy = 2: The original t parameters are used (code: t11av = t11).

ialloy = 0/1: t parameters of Si and O are swapped. (code: t11av = t12). When calculating the average weighting factors of atom i, ti(k) = sum of neighbors t_0j(k) *(…). All neighbors are opposite element, t/Si = sum of t_0j/Oxygen(k)……… . So t parameters should be swapped.

Thanks,
Wenting

Sebastian or Xu - Greg Wagner (original author) has moved on to non-MD topics in his
research. If either of you want to update the meam doc page with a paragraph/citation
on this topic, please do.

Steve

Hi Wenting,

Steve, Axel: thanks, I didn't expect you to know anything about the internals, just asked if maybe something rang a bell from a PR review or something. I'll add that to my growing pile of small changes :wink:

ialloy = 2: The original t parameters are used (code: t11av = t11).

IMHO, this only makes sense for very similar elements, to save extra computation if the result is already obvious.

ialloy = 0/1: t parameters of Si and O are swapped. (code: t11av = t12). When calculating the average weighting factors of atom i, ti(k) = sum of neighbors t_0j(k) *(…). All neighbors are opposite element, t/Si = sum of t_0j/Oxygen(k)…….. . So t parameters should be swapped.

That part is just for the few reference structures, where one can find an analytical solution to the general polynomial.

It's not the original definition, but in (Valone 2006) eq. (3) we find that the t for atom i are the beta-weighted average of the t of atoms j (that is, "average of the surroundings except self"), which is where the "swap" comes from. That expression should be ialloy=0, ialloy=1 looks like RMS to me?
Some special casing for the derivatives makes things more complicated, as usual...

Best,

Sebastian