Hello All,
I have the following script which I am trying to implement. I keep on getting an error about invalid atom type in ‘fix gcmc’ command. I want to just implement MC moves and not perform any molecule insertions/deletions. Somehow, i’m unable to debug the script. I don’t require the mol option to be turned on. Can anyone help me out with this? I am using LAMMPS version of 7th Aug 2019.
clear
units si
dimension 3
boundary p p p
atom_style full
read_data xyz.data
include forcefield.xyz
group grp type 1 2
neighbor 2.0e-10 bin
neigh_modify delay 0 every 1 check yes one 7000
velocity ch create 500 36990 dist gaussian
fix 4 grp nvt temp 500 500 1.0e-13
fix 5 grp gcmc 100 0 100 1 54341 500.0 -2.1 0.5 full_energy
thermo 20
compute vir_p all pressure NULL virial
variable v_press1 equal c_vir_p[1]
variable v_press2 equal c_vir_p[2]
variable v_press3 equal c_vir_p[3]
variable v_press4 equal c_vir_p[4]
variable v_press5 equal c_vir_p[5]
variable v_press6 equal c_vir_p[6]
variable vir_press equal (v_v_press1+v_v_press2+v_v_press3+v_v_press4+v_v_press5+v_v_press6)
thermo_style custom step temp press v_vir_press vol density pxx pyy pzz pxy pxz pyz pe ke etotal epair ebond eangle edihed
thermo_modify lost warn norm no
timestep 1.0e-15
run 20000
write_data final.data
that error message is inconsistent with the input and i don’t get that error, if i copy your fix gcmc line to a system with two atom types and no molecules/bonds. this is with the currently latest LAMMPS version 5 May 2020.
axel.
Hello All,
Thanks for the clarification. I got a simulation working where there’s a system with two or more atom types and no molecules/bonds. If I want to go ahead with applying the same logic to a bulk system with a molecule having two atom types, therein arrises an issue in implementation of the fix gcmc command. I don’t need molecular exchanges, just MC moves on molecules as a whole. With different atom types it becomes difficult to parse a value for the mol option of the fix gcmc command. Is there a way around this? Or would it be better to program a MC code of my own and use in conjunction with LAMMPS? I have read such threads in the past where it was said that using a separate MC code is advisable but it was a long time ago and I was wondering if recent updates to the LAMMPS code have brought in additional support for hybrid MC-MD calculations.
if there were any updates with the kind of feature you are looking for, it would be announced at: https://lammps.sandia.gov/bug.html or (with more details) at: https://github.com/lammps/lammps/releases
however, I am not aware of anything, and - contrary to what you may believe - these kind of operations are inherently tricky and complex to do with the domain decomposition based distributed data parallel programming model employed by LAMMPS. it works and parallelizes very well with MD simulations, but not MC runs. Those are better parallelized in time (as there is no time axis) rather than in space.
Axel.
I don’t understand what you are asking. If you look at the LAMMPS gcmc examples, you will see examples for both H2O and CO2, both of which have 2 atom types.