Is it possible to couple MD and DPD in lammps?

Dear all,
Is it possible to couple Molecular dynamics(MD) and dissipative particle dynamics(DPD) in Lammps? Has anyone tried that before? Any suggestions will be appreciated.

Best regards,
Wenjing Zhou

There is a pair_style dpd in LAMMPS. I don't
know what it means to "couple" MD + DPD.

Steve

Thanks, Steve. Here “couple” means multiscale MD-DPD simulation, one part of the domain is solved by MD and the other by DPD. So in lammps is it possible to implement these two methods at the same time?

Best regards,
Wenjing Zhou

If you mean run one set of particles with a MD potential (e.g. LJ),
and another set with a DPD potential, then yes, LAMMPS
will do that with pair_style hybrid. They are both "MD" in
the sense that DPD is just MD with a DPD potential.

However that is not what some people would call "coupling".

Steve

Sorry, I didn’t explain my question clearly. What I want to do is to use MD in one part of my simulation region, and DPD in the rest part of the region. However, there is only one kind of particle and there is an interface between the MD and DPD regions, if the particles in MD region cross the interface, they will become DPD particles, and vice versa.

Wenjing Zhou

Pair hybrid, which I advocated, can work on 2 different particle
types. So all you would need to add to LAMMPS would be
a fix that checked the position of particles and flipped their
type when they cross the interface. Would be a pretty simple
fix to write.

Steve

Here is a conceptual question. A fix
can easily change the type of an atom
depending on what region it is in. This
is no problem if you are using a single
pair style. But with pair hybrid that
means you would need to rebuild the
neighbor lists if you want it take effect
immediately. That would be inefficient.

So in your model, can you allow the
type changes to take place periodically,
e.g. only when neighbor lists are rebuilt?

This would be like a fuzzy interface between
2 materials, with a thin region where particles
could be either type.

Steve

Thank you so much for your detailed explanation, Steve.
I still have 3 questions:

  1. In my opinion, using fixes like “fix deposit” and “fix evaporate”, I can easily add or remove atoms and rebuild the neighbor list at the same time, right?

  2. In my simulation, I would like to use different time steps for MD region and DPD region, is it possible?

  3. The purpose of using multiscale methods is to save computational time, suppose I use 128 processes in my simulation, and the MD region is half of the whole computational region, then there are 64 processes used for MD simulation; if MD region is a quater of the whole region, then there are 32 processes used for MD simulation… It seems the computational time is always the same no matter how many percentage MD region account for (the time consumed by MD region is dominant). Thus it’s not effecient at all. Therefore I wonder if it is possible to use two serial Lammps programs, one for MD simulation, the other for DPD simulation. For example, after 128 processes are used for MD region for 1000 time steps, they are then used for DPD region for 100 time steps (suppose 10 MD time steps equals 1 DPD time step).

Best regards,
Wenjing Zhou