Problem with fix rigid

Dear All,

I am trying to relax a system including silver particle immersed in a water box. I have two problems when I use fix rigid command for nanoparticle. Firstly, the particle moves diagonally until it exits the simulation box and enters from the other edge during the simulation. Secondly, although the temperature of the whole systems is maintained at target temperature, temperature of the particle is fluctuating significantly. In case that I uncomment the rigid command, two mentioned problems are gone but the shape of the particle changes strangely and it is not sphere anymore after relaxation period. That is why I think I have to use rigid command anyway. I have tried this with different fix rigid commands such as rigid/nve, rigid/nvt and so on but no improvement observed.

Any advice and suggestions will be greatly appreciated.

The input script is as below and I am using the Jan 2016 version of LAMMPS.

variable T equal 300

variable dt equal 0.001

setup problem

dimension 3
boundary p p p
atom_style full
velocity all create $T 1016891 mom yes rot yes dist gaussian

region sph1 sphere 25 25 25 7.2 units box
delete_atoms region sph1 bond yes mol yes

Create Empty Sphere

region sph11 sphere 25 25 25 6.68 units box
lattice fcc 4.09
create_atoms 3 region sph11 units lattice
pair_style hybrid/overlay lj/cut/coul/long 9.8 9.8 eam lj/class2 9.8

kspace_style pppm 0.0001

1:Oxygen, 2:Hydrogen, 3:Silver

pair_coeff 1 1 lj/cut/coul/long 0.0067366153 3.166
pair_coeff * 2 lj/cut/coul/long 0.0000 0.0000
pair_coeff 2 3 lj/class2 0.0000 0.0000

pair_coeff 2 3 lj/class2 0.005617 2.52# Ag-H interaction (Piotr Zarzycki)
pair_coeff 1 3 lj/class2 0.033 3.0855# Ag-O interaction (Heinz for 9-6 LJ)#
pair_coeff 3 3 eam agu6

bond_style harmonic
angle_style harmonic
dihedral_style none
improper_style none

bond_coeff 1 1000 1.0
angle_coeff 1 100.0 109.47

special_bonds lj/coul 0.0 0.0 0.5
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes

Dear users,

It seems that my following email was missed. Any suggestion on that?

Thanks in advance,

Dear users,

It seems that my following email was missed. Any suggestion on that?

​no, it wasn't missed. it was just that nobody has responded.

​please understand, that posting to this mailing list does not entitle you
to get a response.
this mailing list is a voluntary effort, which means that people may choose
to not respond. possible reasons for that are:
- they don't have the time
- they don't understand what you are asking
- they don't know a good response
- they think, you should just follow the instructions in the manual or
search through the mailing list archive
- they think, you should try out what your can figure out yourself and then
report back with the details and errors, if any.
- they think, what you are asking for makes no sense
- they don't care

you increase your chances by making it more attractive to answer through
providing a more detailed description and showing that you did some
research as to why, what you are asking about, might happen. quite a bit of
what you are asking about has appeared in similar form in other discussions
(quite often, actually).

...and after giving you a lecture on mailing list etiquette i have the
following comments:​
- your input doesn't specify units, even though it looks like your input
was meant for "metal" units
- you build a starting geometry with an unrelaxed interface. that means
atoms at the interface will have very high potential energy -> deformation
   try doing a minimization before starting the MD. you even may have to
quench multiple times
- "temperature" is not well defined for a single particle. think of a
harmonic oscillator where the "temperature" will oscillate between 0 and 2x
the average.
- your starting conditions may also be responsible for the drift in your
system. this can be removed with the velocity command (or if it is
intrinsic in your setup using fix momentum. the former is preferred)
- while not likely a reason in your case, it is usually beneficial to make
a test with the latest LAMMPS version to verify if your observation is not
due to a bug that has already been fixed.


Dear Axel,

Thanks for your response.

I have applied your suggestions and was able to control the particle from moving. However, when I want to calculate thermal conductivity using Green-Kubo method, since I unfix all ensembles except NVE, I can see too much fluctuation in temperature of the particle (in order of 1000 K) and consequently high unreliable values for thermal conductivity.

Do you think it could be from lattice spacing or potential between silver atoms?
If I do not turn off the thermostats of the rigid particle, does it yield unreliable data? In other words, is it a MUST to unfix all ensembles except NVE while using Green-Kubo equation?

Best Regards,

Just a very quick observation that may not be relevant. (I confess I
did not read your email carefully.)

I assume that what you mean by "temperature" of a particle, you mean
it's kinetic energy. If that's the case, you should expect it to have
some vaguely Maxwell-Boltzmann like distribution ranging from 0kB*T to
several kB*T. 1000K is not unreasonable at all (assuming temperature
is around 300K)

The kinetic energy of a rigid body with N atoms is different than the
kinetic energy of N atoms. (There is less atom movement, you'd expect
it to be significantly lower on average.) The equations you use to
calculate its kinetic energy will be modified. You will have to dig
into the LAMMPS documentation to make sure that you are invoking the
lammps commands in the correct way so that LAMMPS is computing kinetic
energy of the system correctly (and hence its temperature).