Temperature is not increasing based on the Nose-Hoover thermostat


Could you please put any comments on attached files
config.data (2.7 MB)
config2.in (2.0 KB)
why temperature is not fixed based on the Nose-Hoover thermostat?
Is there any mistake on applying this theermostat?

There are two issues at hand:

  • temperature always fluctuates it is constant (“fixed”) only in the limit of an infinitely large system
  • the “Temp” column in the thermo output represents the temperature of the entire system (group all), but you are thermalizing only a subset (group water_molec) so you need to monitor the temperature of that group to see if your thermostat is reaching the desired temperature (it does, just add c_NVT_temp to your custom thermo style).

BTW: Your immobile atoms contribute very large forces and potential energy (and thus also stress) to your system. While you cancel the forces with fix setforce, this does not eliminate the energies and stress contributions. That makes it difficult to see how the mobile parts are behaving and may also taint any stress/pressure computations, so I suggest to exclude computing those interactions from the neighbor list or the pair style settings.

Thanks for your comment.
As I understood, you suggested to exclude computing carbon atoms interactions into the system. But, it lets the water molecules pass the carbon sheet, if I turn off the carbon- water molecules in pair_style setting! By this way, I’m interesting in how you exclude computing these interactions.

Only those interactions of immobile atoms with immobile atoms, i.e. carbon (type 3) with itself.

a) you can set the epsilon value in the pair_coeff for C-C (i.e. type 3 with type 3) to 0.0. That will still compute the interaction, but it will not contribute forces or potential energy or stress.
b) you can use neigh_modify exclude to remove pairs where both atoms are of type 3 from the neighbor list (and thus also save time computing them). the pair_coeff value would then be irrelevant.

1 Like