Dumping DPD simulation with hybrid pair_style

While trying to simulate phase separation, using DPD particles.

My input configuration is as follows:

units lj

timestep 0.001

dimension 2
boundary p p p
atom_style atomic
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no

lattice hex 0.5
region simbox block 0 50 0 25 -0.1 0.1
create_box 2 simbox

lattice hex 0.5
create_atoms 1 region simbox

lattice hex 0.5 origin 0.5 0.5 0
create_atoms 2 region simbox

mass 1 1
mass 2 1

comm_modify vel yes
velocity all create ${temp} 123456 dist gaussian
pair_style hybrid dpd 1 2.5 123456 soft 0.5

pair_coeff 1 1 dpd 0.7 2.5 12345
pair_coeff 2 2 dpd 0.7 2.5 12346
pair_coeff 1 2 soft 0.5

fix 1 all nvt temp 0.7 0.7 0.1

dump 1 all atom 5000 out/dump.lammpstrj
write_data dpd_data.all
thermo 500
run 5000000

But when I run the above I get the following error:

LAMMPS (2 Aug 2018)
Lattice spacing in x,y,z = 1.51967 2.63215 1.51967
Created orthogonal box = (0 0 -0.151967) to (75.9836 65.8037 0.151967)
  1 by 1 by 1 MPI processor grid
Lattice spacing in x,y,z = 1.51967 2.63215 1.51967
Created 2500 atoms
  Time spent = 0.000518799 secs
Lattice spacing in x,y,z = 1.51967 2.63215 1.51967
Created 2500 atoms
  Time spent = 0.00031805 secs
System init for write_data ...
Neighbor list info ...
  update every 20 steps, delay 0 steps, check no
  max neighbors/atom: 2000, page size: 100000
  master list distance cutoff = 8.28239e+06
  ghost atom cutoff = 8.28239e+06
  binsize = 4.14119e+06, bins = 1 1 1
  3 neighbor lists, perpetual/occasional/extra = 3 0 0
  (1) pair dpd, perpetual, skip from (3)
      attributes: half, newton on
      pair build: skip
      stencil: none
      bin: none
  (2) pair soft, perpetual, skip from (3)
      attributes: half, newton on
      pair build: skip
      stencil: none
      bin: none
  (3) neighbor class addition, perpetual
      attributes: half, newton on
      pair build: half/bin/atomonly/newton
      stencil: half/bin/2d/newton
      bin: standard
ERROR on proc 0: Cannot open dump file (../dump.cpp:603)
Last command: write_data dpd_data.all

What am I missing?

Hi Johana,
Did you create the out folder where the dump can be written to?
You must create it manually first by yourself.
Dezhao

Hello Dezhao, and thank you.

I did create it, I am sorry I pasted the wrong output: all I can see is the following, it doesn’t do anything.

LAMMPS (2 Aug 2018)
Lattice spacing in x,y,z = 1.51967 2.63215 1.51967
Created orthogonal box = (0 0 -0.151967) to (75.9836 65.8037 0.151967)
  1 by 1 by 1 MPI processor grid
Lattice spacing in x,y,z = 1.51967 2.63215 1.51967
Created 2500 atoms
  Time spent = 0.00096488 secs
Lattice spacing in x,y,z = 1.51967 2.63215 1.51967
Created 2500 atoms
  Time spent = 0.000313997 secs
System init for write_data ...
Neighbor list info ...
  update every 20 steps, delay 0 steps, check no
  max neighbors/atom: 2000, page size: 100000
  master list distance cutoff = 8.28239e+06
  ghost atom cutoff = 8.28239e+06
  binsize = 4.14119e+06, bins = 1 1 1
  3 neighbor lists, perpetual/occasional/extra = 3 0 0
  (1) pair dpd, perpetual, skip from (3)
      attributes: half, newton on
      pair build: skip
      stencil: none
      bin: none
  (2) pair soft, perpetual, skip from (3)
      attributes: half, newton on
      pair build: skip
      stencil: none
      bin: none
  (3) neighbor class addition, perpetual
      attributes: half, newton on
      pair build: half/bin/atomonly/newton
      stencil: half/bin/2d/newton
      bin: standard

The third argument in pair_coeff for dpd is an interaction cutoff. Setting it to such a ridiculously high value cannot end well. :slight_smile:

Michał

But here https://lammps.sandia.gov/doc/pair_dpd.html it says:


pair_style dpd T cutoff seed

Why does this get stuck?

The doc says pair_style dpd Temp Cutoff seed

comm_modify vel yes
velocity all create ${temp} 123456 dist gaussian
pair_style hybrid dpd 1 2.5 123456 soft 0.5

pair_coeff 1 1 dpd 0.7 2.5 12345
pair_coeff 2 2 dpd 0.7 2.5 12346

Michal flagged the issue, which is in your pair_coeff command, not
the pair_style command. The latter takes a RN seed. But
pair_coeff does not. The last (optional) arg is a cutoff
which you set to an extemelly large value (b/c you specified
a large RN). So the code is trying to setup up
a zillion ghost atoms, which you perceive as “doing nothing”,
i.e. it hangs.

Steve