Error: Illegal fix rigid/small command

Hello LAMMPS Community,

I am trying to model 3D crystal structure packed with liquid and dissolved gaseous molecules. To rigidify individual molecules, I have tried to use fix rigid/small together with fix nvt, however, it’s showed illegal fix error. I have also tried to use fix rigid/nvt/small but still error is same. Here is below my input script;

-------------------- Init Section ----------------------

units real
dimension 3
boundary p p p
atom_style full
pair_style reax/c NULL checkqeq no

-------------------- Atom Definition Section ------------



group C type 1


group dmso molecule 3
group salt molecule 5

Reactants for electrochemical reaction

group oxygen molecule 2
group Li molecule 4

Products from electrochemical reaction

group li2o2 type 2 7

#--------------------- Pair Coefficients ------------------------

pair_coeff * * ffield.reax_mfBV.LIS C O O S C H Li P F

-------------------- Settings Section -------------------

neighbor 1 bin
neigh_modify every 10 delay 0 check yes one 10000

timestep 0.1

velocity dmso create 300 4928459 dist gaussian
velocity salt create 300 4928459 dist gaussian
velocity oxygen create 300 4928459 dist gaussian
velocity Li create 300 4928459 dist gaussian

-------------------- Equiliberation Run------------------

fix 1 C rigid group 1 C reinit yes
fix C C setforce 0.0 0.0 0.0
fix D dmso rigid/small group 1 dmso
fix 5 dmso nvt temp 300 300 10
fix E salt rigid/small group 1 salt
fix 6 salt nvt temp 300 300 10
fix F oxygen rigid/small group 1 oxygen
fix 8 oxygen nvt temp 300 300 10
fix G Li rigid/small group 1 Li
fix 9 Li nvt temp 300 300 10

thermo_style custom step time temp etotal ke pe
run 100000

Anyone please, guide me how to resolve this issue.


Khizar Hayat

This is documented behavior. You cannot use fix rigid/small with groups. Please re-read the fix rigid documentation carefully.

There are several more issues. You are applying time integration to atoms multiple times, which is an error and it seems to me that the way you are using fix rigid is not correct and not going to do what you intend to do.