[lammps-users] DPD as thermostat

Dear *,

I've been trying to figure out if/how one can use DPD to thermostat a "hard" system. It seems that a DPD thermostat has already been used in a custom version of LAMMPS [Tsige, Grest, JPC 120, 2989 (2004)].
At present, however, I see only the hard-coded original conservative force available through atom_style/pair_style dpd (apparently, this early hack did not make it to the C++ version).
I was just wondering if there was any specific reason for implementing DPD as a pair_style instead of a fix, say, "fix dpd", that adds dissipative and random forces similar to fix langevin.
I'll appreciate any comments on the subject.



Like you say, it is straightforward to just put the hooks into any pair style you want. I added something similar to the damping in pair_dpd into an LJ potential. The cut-and-paste might be ugly from a software engineering point of view, but it works. Just remember to set the atom type to "dpd" if you're doing MPI runs, otherwise ghost atoms have undefined velocities.


The advantage of doing it as a pair style is it's applied
pairwise. So if it were just a fix, you'd have to loop over
the neighbor list for all pairs (again). That said, we have
talked about having a separate fix that would just do
DPD thermostatting - just haven't done it yet.