Fix GCMC for pure LJ bulk fluid

Dear Aidan,

Thanks for your helpful suggestion. I was able to figure out the issue with the chemical potential. Apparently , lammps uses total chemical potential while the equation of state described in Johnson et. al., Mol. Phys, 78(3),1993 uses only the configurational part , mu*_ex + T* log(rho*) so the difference was Tlog((lambda)^3).

I had question regarding temperature and pressure computation:

As I am trying Pure GCMC with LJ fluid ,

  1. The temperature should remain constant at target temperature of 0.75. I looked into compute_temp.cpp , it uses velocities to compute temperature but since its an MC simulation , there are no velocities. I am getting a temperature varying around the target temperature of 0.75 and non-zero kinetic energy as seen in my output below in first few steps itself.

Step Temp Press PotEng KinEng Atoms dens chempot
0 0 0 0 -0 0 0 -10
1 0.87940358 8.9568883e-05 0 1.261753 23 0.00010648148 -10
2 0.74761686 0.00017650749 -8.5715061e-06 1.0998594 52 0.00024074074 -10
3 0.7345238 0.00025483885 -0.00026531246 1.0872885 76 0.00035185185 -10

Please find below the input file.

echo screen
units lj
atom_style atomic
boundary p p p
region box block 0 60 0 60 0 60
create_box 1 box
mass 1 1.0
pair_style lj/cut 4.0
pair_modify shift yes
pair_coeff 1 1 1.0 1.0 4.0
neighbor 0.3 bin
neigh_modify every 1 delay 0 check no
variable vol equal 606060
variable dens equal atoms/v_vol
variable chempot equal -10.0
print "Chemical Potential = {chempot}" compute_modify thermo_temp dynamic yes fix fixgcmc all gcmc 1 50 100 1 123213 0.75 {chempot} 1
thermo_style custom step temp press pe ke atoms v_dens v_chempot
thermo_modify flush yes
thermo 1
dump m0 all movie 100 test.mpg type type size 1280 720 zoom 1.5
restart 50000 restart.equib
run 300000

I request you to kindly let me know as to how can I fix it.

Thanks & Regards
Ashutosh Rathi

The atom velocities are representing the ideal gas contribution to free energy and pressure. Since you are not running MD they have no effect on the atom positions. So it’s all fine.