Reg. GCMC + DPD thermostat

Hi all,

I am trying to simulate bulk lennard jones system with dpd thermostat and gcmc. The technique uses gcmc in local control volume (82020) and MD (404040) in the entire system. (Ref. to. Thompson et. al., J. Chem. Phys, 1998, 109(15),6406). The version of lammps used was 17-Nov-16.

The expected density in the bulk at T* = 0.75, activity = exp (-beta * mu) = 0.01 for Lennard Jones fluid with epsilon = 1.0, sigma = 1.0 , cutoff = 2.5 is density = 0.012 (approx) (Ref. to Johnson et. al., Mol. Phys., 1993,78(3),591).

The entire script is shown at the end. I have tried invoking gcmc every time step and every 2 time steps. I found that when I invoke gcmc every time step bulk density is lower than expected value while invoking every 2 or greater number of time steps results in better density. I would expect the reverse to be true.

Please let me know as to what I am missing.

INPUT SCRIPT

echo screen
units lj
atom_style atomic
boundary p p p
comm_modify vel yes
region box block 0 40 0 40 0 40
region gcmcregion block 0 8 0 20 0 20
create_box 1 box
mass 1 1.0
group sys type 1
group mdatoms dynamic sys every 1
pair_style hybrid/overlay lj/cut 2.5 dpd/tstat 0.75 0.75 2.5 156161
pair_modify shift yes
pair_coeff 1 1 lj/cut 1.0 1.0 2.5
pair_coeff 1 1 dpd/tstat 1.0 2.5
neighbor 0.3 bin
neigh_modify every 1 delay 0 check no
variable act equal 0.01
variable gcmctemp equal 0.75
variable hplanck equal 0.18292026
variable mucorr equal 3.0v_gcmctempln(v_hplanck/sqrt(2.0PIv_gcmctemp))
variable muconf equal v_gcmctemp*ln(v_act)
print “Configurational Chemical Potential = {muconf}" variable mu equal v_mucorr+v_gcmctemp*ln(v_act) print "Activity = {act}”
print "Chemical Potential = {mu}" variable vol equal 40*40*40 variable gcmcvol equal 8*20*20 variable ngcmcvol equal count(mdatoms,gcmcregion) variable gcmcdens equal v_ngcmcvol/v_gcmcvol variable dens equal atoms/v_vol timestep 0.001 compute_modify thermo_temp dynamic yes fix fixgcmc sys gcmc 1 100 100 1 123213 0.75 {mu} 0.1 region gcmcregion
#fix fixgcmc sys gcmc 2 100 100 1 123213 0.75 ${mu} 0.1 region gcmcregion

fix mdnve mdatoms nve
thermo_style custom step temp press pe ke atoms v_dens v_ngcmcvol v_gcmcdens v_mu
thermo_modify flush yes
thermo 4
dump m0 all movie 10000 test.mpg type type size 1280 720 zoom 1.5
restart 500000 restart.equib
run 20000000

Thanks & Regards

" I found that when I invoke gcmc every time step bulk density is lower than expected value while invoking every 2 or greater number of time steps results in better density. I would expect the reverse to be true."

This is a very vague question. If you are not getting the density you expect, possible reasons are :

  1. Incomplete equilibration
  2. Different potential (due to tail corrections, etc.)
  3. Different definition of mu

More specifically, if the density you get depends on how often you invoke gcmc, this would suggest incomplete equilibration, rather than item 2 or 3. But there could be other reasons too. Try removing dpd/tstat to see what happens.

Aidan