Dear Lammps users,

I encountered a problem using pair_colloid. It appeared while using particles of diameter 0.02µm (only on pair) at a distance of 1µm – it gives the error large/large overlapping. Looking for the reason I found out, that pair_colloid is using:

d1_one = force->numeric(FLERR,arg[4]

d2_one = force->numeric(FLERR,arg[5]

which gives a diameter of 1µm in my case.

both are equivalent “diameters”

Is that correct? If yes, what is the reason?

from the documentation:

D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0 and d2 > 0, then the pair interacts via the colloid-colloid formula above. If d1 = 0 and d2 = 0, then the pair interacts via the solvent-solvent formula. I.e. a d value of 0 is a Lennard-Jones particle of size sigma. If either d1 = 0 or d2 = 0 and the other is larger, then the pair interacts via the colloid-solvent formula.

thus pair style colloid does not require (and in fact ignores) the extended properties from atom style sphere.

thus the radius of particles is coupled to the atom type. thus a generalized polydisperse system is not possible.

I would expect it to use the real particle diameters, like

*radius = atom->radius

(see pair_dmt.cpp)

there is no pair_dmt.cpp file in the LAMMPS distribution.

Can I just change the radii like pair_dmt.cpp – or will I get trouble when doing this?

as pointed out above. you must set the radius via pair_coeff and it is coupled to the atom type. if you modify the source, you would need to make significant changes. Just think about the different computation of the prefactors, that depend on the radii. but that is up to you to figure out. when you hack the source, you are on your own.

but then again, if you would be successful, i would expect, that there might be other LAMMPS users that would be happy to have such a colloid/sphere pair style in the LAMMPS distribution. so we would appreciate if this would be contributed to the LAMMPS distribution.

axel.