Lennard-Jones potential between different atom types

Dear LAMMPS users,

In my script I want to implement Lennard-Jones interactions between all atoms within cutoff distance. There are multiple types of atoms present in my model, all with different values for the Lennard-Jones parameters. I would like to define the Lennard-Jones interactions between different atom types by using the “pair_modify mix” command.

For example, suppose that my model consists of 3 atom types. In that case I would implement the aforementioned as follows:

pair_style lj/cut 20

pair_coeff type1 type1 value1 value2 value3

pair_coeff type2 type2 value4 value5 value6

pair_coeff type3 type3 value7 value8 value9

pair_modify mix geometric

My question is whether this script also implements Lennard-Jones interactions between the different types, that is: type1-type2, type1-type3 and type2-type3? Or does this need to be implemented explicitly by writing it as follows?

pair_style lj/cut 20

pair_coeff * * valueX valueY valueZ

pair_coeff type1 type1 value1 value2 value3

pair_coeff type2 type2 value4 value5 value6

pair_coeff type3 type3 value7 value8 value9

pair_modify mix geometric

If this is indeed the case, how should I decide on the values of valueX, valueY and valueZ? Or can I just write down any number for these three parameters, since the “pair_modify mix” command takes care of this issue?

Kind regards,

Tim

Dear LAMMPS users,

In my script I want to implement Lennard-Jones interactions between all
atoms within cutoff distance. There are multiple types of atoms present in
my model, all with different values for the Lennard-Jones parameters. I
would like to define the Lennard-Jones interactions between different atom
types by using the “pair_modify mix” command.

For example, suppose that my model consists of 3 atom types. In that case I
would implement the aforementioned as follows:

pair_style lj/cut 20

pair_coeff type1 type1 value1 value2 value3

pair_coeff type2 type2 value4 value5 value6

pair_coeff type3 type3 value7 value8 value9

pair_modify mix geometric

My question is whether this script also implements Lennard-Jones
interactions between the different types, that is: type1-type2, type1-type3
and type2-type3? Or does this need to be implemented explicitly by writing
it as follows?

whether a pair style supports mixing or not is mentioned in the
documentation for each pair style (lj/cut does).
to confirm the mixed value, you can use the "write_coeff" to output
the individual pair_coeff settings that LAMMPS will use to a file.

pair_style lj/cut 20

pair_coeff * * valueX valueY valueZ

pair_coeff type1 type1 value1 value2 value3

pair_coeff type2 type2 value4 value5 value6

pair_coeff type3 type3 value7 value8 value9

pair_modify mix geometric

If this is indeed the case, how should I decide on the values of valueX,
valueY and valueZ? Or can I just write down any number for these three
parameters, since the “pair_modify mix” command takes care of this issue?

i don't see a difference between the two quoted input sections.

axel.

[...]

pair_style lj/cut 20

pair_coeff * * valueX valueY valueZ

pair_coeff type1 type1 value1 value2 value3

pair_coeff type2 type2 value4 value5 value6

pair_coeff type3 type3 value7 value8 value9

pair_modify mix geometric

If this is indeed the case, how should I decide on the values of valueX,
valueY and valueZ? Or can I just write down any number for these three
parameters, since the “pair_modify mix” command takes care of this issue?

i don't see a difference between the two quoted input sections.

sorry, i didn't see the elephant in the room. the use of pair_coeff *
* sets valueX valueY valueZ to all pairs of coefficients and then will
override them with the explicitly named pairs of types below. no
mixing will be applied (unlike in the previous case).

axel.

Note from the pair_modify doc page:

The mix keyword affects pair coefficients for interactions between atoms of type I and J, when I != J and the coefficients are not explicitly set in the input script.

So if you set everything directly via pair_coerr * *, then the mix option will do nothing.

Steve