This is sort of a follow-up to my post from two years ago, so I'm
putting it in the same thread.
Previously we had worked out that you could use a massless site with
fix rigid, by modifying atom.cpp to comment out the lines which check
for the zero mass.
I am working with a 3 site N2 model, with the third site at the center
of mass which contains a partial charge.
The simulation runs and appears to be correct, so long as fix rigid is
used on the entire rigid body and the initial velocities are only set
for the non-massless sites.
My questions today are about the temperature compute.
1) Should the temperature compute be only on the non-massless sites,
or on the entire rigid body? I had presumed because doing it either
way gives the same kinetic energy it is ok either way. However the
temperature changes of course because of the change in degrees of
freedom. Checking the velocities, it appears that fix rigid assigns
velocities to all three sites in the rigid body, even though the
initial temperature was set to zero for the massless site. Should
this be the case? If initial velocites are set for the massless site
initially the simulation crashes, but runs with the massless site
initially at v=0. Since fix rigid is assigning velocites to the
massless site, I believe then that the temperature compute needs to be
on the entire rigid body, but might be wrong.
2) When using thermo_style one, setting the compute only on the
non-massless site gives a different temperature compared to using it
on the entire rigid body (although the kinetic energies are the same
as I mentioned). However, when using thermo_style multi, the
temperature is always the same no matter what I choose for the
temperature compute. Is this a bug? I wouldn't think changing the
thermo_style only would change the result.
I have placed example input and output here. Two examples are given.
Both are for the thermo_style one case (as I mentioned thermo_style
multi gives the same result). The thermo_style multi case agrees with
the case which includes the entire rigid body for thermo_style one.
One case uses only the N atoms
compute new nitrogen temp
thermo_modify temp new
while the other case uses both the N atoms and the massless site
compute new nitrogen_plus temp
thermo_modify temp new
Thanks in advance for any advice about the compute temperature you can give.