Dear Lammps-users,
Recently I am trying to use fix gcmc to simulate Lithiation in amorphous Silicon bulk. However what I find is that the temperature I get from the thermal output is extremely high initially, much higher than what I assigned in fix gcmc command (300 K), and then falls close to 0 K. I have attached a log file of the same. I am using lammps version from August 10, 2015.
The changes I tried are:
i. Used fix nve/limit to impose a limit on the maximum distance an atom can move
ii. Tried both by using and not using fix nvt with GCMC
When I dont use fix NVT with gcmc, of course I achieve the desired temperature but I lose the included atoms immediately when I try NPT equilibration after this.
iii. Changed the valus of chemical potential
iv. changed the fix gcmc settings to change the speed at which atoms are inserted, i.e. run it more or less frequently
v. Tried with the latest Lammps version.
I know fix gcmc was designed to study distribution and diffusion of gases in porous media, but is it not possible to simulate the effect of Lithiation in bullk amorphous silicon. So should I be using fix deposit for the same. Any suggestion would be great.
I am using MEAM potential.
Here is the input script for nvt+gcmc
units metal
atom_style atomic
boundary p p p
atom_style atomic
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes
read_data amor.si_box
pair_style meam
pair_coeff * * library.meam Si Li LiSi.meam Si Li
compute_modify thermo_temp dynamic yes
group g_Si type 1
group g_Li type 2
region lireg block 0 30 0 30 12 30
group lithiation region lireg
variable chempot equal -2.14
compute tt all temp
compute_modify tt dynamic yes extra 0
dump 2 all atom 1000 inserttestmeamnpt
velocity all create 300 481516
timestep 0.001
variable nM loop 150
label loop
variable b equal v_chempot+0.14*v_nM
if “${nM} > 1” then “unfix f_npt”
fix flith all gcmc 500 20 20 2 29494 300.0 $b 0.01
thermo_style custom step atoms f_flith[1] f_flith[2] f_flith[3] f_flith[4] f_flith[5] &
f_flith[6] temp pe ke etotal press vol v_chempot
thermo 500
thermo_modify temp tt lost/bond ignore lost warn
#fix 7 all nve/limit 0.1
fix f_nvt all nvt temp 300 300 0.1
run 5000
next nM
unfix flith
unfix f_nvt
thermo_style custom step atoms temp pe ke etotal press vol
thermo 1000
thermo_modify temp tt lost/bond ignore lost warn
variable myP equal press
variable myT equal temp
fix f_npt all npt temp {myT} 300.0 0.1 iso {myP} 0.0 1
run 100000
jump gcmcex4 loop
log.lammps (2.26 KB)