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 ,
- 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