Hello
I recently tried Abinit's MD engine (v6.4.2, ionmov 8) to test the Nose-Hoover thermostat. However, the code does not seem to print the temperature at each time step. Is there an input variable to activate this which I may have overlooked? Thank you for your time.
best,
Steve
monitor temperature during molecular dynamics
Moderator: bguster
-
- Posts: 3
- Joined: Mon Jan 10, 2011 4:46 pm
-
- Posts: 3
- Joined: Mon Jan 10, 2011 4:46 pm
Re: monitor temperature during molecular dynamics
To partly answer my own question: First, a correction: I did test ionmov 13
because, according to the documentation, only for this case are Nose-Hoover
chains implemented (I'd like to do NPT-MD according to MTTK [1] anyway):
ionmov 13
optcell 2
dtion 20
nnos 3
# defaults
qmass 10 10 10
bmass 10
mditemp 300
mdftemp 300
Entering some write statements in 95_drive/moldyn.F90, I found that the
temperature (ktemp/kb_HaK) is actually constant at 300.0 from the first time
step on (with different qmass = 10 .. 50). This puzzles me a bit because I
expected the temperature to fluctuate around its mean value. Maybe I'm missing
something very obvious regarding the MTTK method. If I read the code right, the
atomic velocities are updated at each time step to produce the target
temperature, yes?
I do not want a temperature ramp from mditemp to mdftemp over nstep steps, but
thermostat the system from the beginning. Is setting mditemp==mdftemp correct
here for that purpose?
And: What exactly are the units of qmass and bmass, i.e. are they the Q and W
parameters from [1]?
Thank you very much.
best,
Steve
[1] Mol. Phys. 87(5), pp 1117, 1996
because, according to the documentation, only for this case are Nose-Hoover
chains implemented (I'd like to do NPT-MD according to MTTK [1] anyway):
ionmov 13
optcell 2
dtion 20
nnos 3
# defaults
qmass 10 10 10
bmass 10
mditemp 300
mdftemp 300
Entering some write statements in 95_drive/moldyn.F90, I found that the
temperature (ktemp/kb_HaK) is actually constant at 300.0 from the first time
step on (with different qmass = 10 .. 50). This puzzles me a bit because I
expected the temperature to fluctuate around its mean value. Maybe I'm missing
something very obvious regarding the MTTK method. If I read the code right, the
atomic velocities are updated at each time step to produce the target
temperature, yes?
I do not want a temperature ramp from mditemp to mdftemp over nstep steps, but
thermostat the system from the beginning. Is setting mditemp==mdftemp correct
here for that purpose?
And: What exactly are the units of qmass and bmass, i.e. are they the Q and W
parameters from [1]?
Thank you very much.
best,
Steve
[1] Mol. Phys. 87(5), pp 1117, 1996
Re: monitor temperature during molecular dynamics
sschmerler wrote:To partly answer my own question: First, a correction: I did test ionmov 13
because, according to the documentation, only for this case are Nose-Hoover
chains implemented (I'd like to do NPT-MD according to MTTK [1] anyway):
ionmov 13
optcell 2
dtion 20
nnos 3
# defaults
qmass 10 10 10
bmass 10
mditemp 300
mdftemp 300
Entering some write statements in 95_drive/moldyn.F90, I found that the
temperature (ktemp/kb_HaK) is actually constant at 300.0 from the first time
step on (with different qmass = 10 .. 50). This puzzles me a bit because I
expected the temperature to fluctuate around its mean value. Maybe I'm missing
something very obvious regarding the MTTK method. If I read the code right, the
atomic velocities are updated at each time step to produce the target
temperature, yes?
if T=const it sounds more like the velocities are being rescaled, instead of a thermostat being used, which I agree should give fluctuations around the mean value. Have you checked the subroutine to make sure a NH thermostat is being used?
I do not want a temperature ramp from mditemp to mdftemp over nstep steps, but
thermostat the system from the beginning. Is setting mditemp==mdftemp correct
here for that purpose?
yes, this should be correct
Normally the masses and notations should be those of your ref:
[1] Mol. Phys. 87(5), pp 1117, 1996
Matthieu
Matthieu Verstraete
University of Liege, Belgium
University of Liege, Belgium
-
- Posts: 3
- Joined: Mon Jan 10, 2011 4:46 pm
Re: monitor temperature during molecular dynamics
Thanks for answering.
I checked again and yes, a thermostat is beeing used. Rescaling is done only at
time step 0 to bring the atoms to the requested start temperature. For each MD
step, I calculated the temperature from the atomic velocities ("KIN+POT.En." -
etot or "vel") and it fluctuates as expected. However the mean is always
somewhat (50 --100 K) higher than the target temp, which may be due to
non-optimal thermostat masses.
Thanks again.
best,
Steve
if T=const it sounds more like the velocities are being rescaled, instead of a thermostat being used, which I agree should give fluctuations around the mean value. Have you checked the subroutine to make sure a NH thermostat is being used?
I checked again and yes, a thermostat is beeing used. Rescaling is done only at
time step 0 to bring the atoms to the requested start temperature. For each MD
step, I calculated the temperature from the atomic velocities ("KIN+POT.En." -
etot or "vel") and it fluctuates as expected. However the mean is always
somewhat (50 --100 K) higher than the target temp, which may be due to
non-optimal thermostat masses.
Thanks again.
best,
Steve
Re: monitor temperature during molecular dynamics
Dear All,
The temperature is usually several hundrads higher than the target temperature, when using ionmov=13 optcell=2.
For example, when I set 1000 K, it finally give the average value of 1400K.
Usually, how to solve this problem?
Thank you very much.
Best regards.
Riping Wang
2018.10.24
The temperature is usually several hundrads higher than the target temperature, when using ionmov=13 optcell=2.
For example, when I set 1000 K, it finally give the average value of 1400K.
Usually, how to solve this problem?
Thank you very much.
Best regards.
Riping Wang
2018.10.24