Nose Hoover thermostat with chains of different mass

Dear All,
I would like to know if it is possible to assign different mass for each NH thermostat in a chain and if yes how. Or does it already work like that in an automated way? If not, I would like to add it myself in the code, if it makes sense, and I would appreciate if you can comment on any not-obvious dependencies that has to be taken care of.
emine kucukbenli, phd student, sissa, italy

You can see all the NH options that are exposed to the user on
the fix nph (or npt) doc page. Mass per chain is not one of them.
You can certainly code it in yourself, but I doubt that it is of
much utility to most LAMMPS users. Aidan may want to comment.


dear emine,

from looking at your long description, it might be that for your
specific type of system nose-hoover is not the best approach.

i would suggest to have a look at giovanni bussi's CSVR thermostat
algorithm which combines the good things in berendsen and langevin
thermostat. it shouldn't be too difficult to implement this in LAMMPS
and might be a big benefit, particularly if you look a bit further down
to the "colored noise" approach that can be helpful to accelerate
certain types of problems that people are dealing with in LAMMPS.


LAMMPS allows you to specify two damping parameters, one for the thermostats
and one for the barostats (and their thermostats, if any). These parameters
are the reciprocal of frequencies that are used to calculate the NH masses:

[from fix_nh.cpp]
  // Q_1 = L*k*T/t_freq^2
    eta_mass[0] = tdof * boltz * t_target / (t_freq*t_freq);

  // Q_k = k*T/t_freq^2, k > 1
    eta_mass[ich] = boltz * t_target / (t_freq*t_freq);

  // W = N*k*T/p_freq^2
    omega_mass[i] = nkt/(p_freq[i]*p_freq[i]);

If you want to use different formulas, or specify the masses directly, you
will have to code them up in fix_nh.cpp yourself.


Thanks all, and especially Axel for reading the whole thing :slight_smile:

Yes, I agree, the system is perhaps too harmonic for this thermostat…
And yes, indeed Bussi’s thermostat would be a good choice but I am experimenting now,
to get a feel of how things work (or don’t).
I will let you know in the case of further progress.
Again, thanks a lot,

emine kucukbenli, phd student, sissa, italy