Making Silicon a rigid body

Hey,

I dont know if this fits your case, but there was some previous posts on the forum about the same error in which the problem was related to setting up particles as something other than point particles in the input script: apparently the computation of temperature of LAMMPS is by default on point-particles, so this poses a problem.
For more, see ERROR: Temperature compute degrees of freedom < 0 - #2 by akohlmey. Maybe it has to do with your problem.

By the way, I think that using the “setforce” command to lead to a 0 force at each iteration in your silicon phase (whose atoms already have velocity = 0) + setting it up as a rigid body with a specific thermostat acting on it may not make a lot of sense.

Maybe in your case, you could keep the “velocity silicon set 0 0 0” and do a “fix 33 silicon_rigid rigid single” without assigning equations of motion to your silicon phase. You can even turn off the non-bonded and bonded interactions on it to save some computational time (see neigh_modify command — LAMMPS documentation and delete_bonds command — LAMMPS documentation for more).
How are you setting up the dynamics of the hydrogen atoms?

In case you keep the setforce strategy, you should also be careful because using this “setforce” to set a 0 force over the atoms can lead to some bogus pressure calculation. Although I think that you should be able to surpass that by turning off the silicon-silicon bonded and non-bonded interactions.

1 Like