Selecting an Appropriate Thermostat for Velocity Rescaling in Temperature Ramping from 100K to 600K
Moderators: Global Moderator, Moderator
-
- Newbie
- Posts: 19
- Joined: Sat Nov 25, 2023 12:29 pm
Selecting an Appropriate Thermostat for Velocity Rescaling in Temperature Ramping from 100K to 600K
What would be a suitable thermostat choice for implementing velocity rescaling to heat a system gradually from 100K to 600K? Considering that NVT maintains constant temperature and NVE ensures constant energy, is velocity rescaling typically associated with the NVE ensemble?
-
- Full Member
- Posts: 212
- Joined: Tue Jan 19, 2021 12:01 am
Re: Selecting an Appropriate Thermostat for Velocity Rescaling in Temperature Ramping from 100K to 600K
Hi,
do you want to thermalize the structure to a new temperature or model the heating of the system?
Generally you can use any thermostat and any ensemble that takes T as an external parameter, i.e., NVT and NpT. In practice, people use NpT and slowly turn up the temperature.
The "constant T" one often hears when referring to NpT or NVT is a bit confusing in this context. It rather means that the temperature is set to the value from the input via a thermostat. The input takes a starting temperature TEBEG and a final temperature TEEND. Hence, the temperature imposed by the thermostat varies over the simulation time. There is an important caveat: The temperature observes fluctuations because it is regulated by a thermostat and not strictly imposed like the volume in NVT. Thus, you need to average the value over a few time steps. If your system is well-thermalized and TEBEG=TEEND, there should be no drift in the temperature over the simulation.
TEBEG not equal to TEEND allows for temperature ramping up or cooling down over the course of a simulation. For thermalization this can be done quite fast. To simulate actual heating or cooling you need very long simulation times such that the system basically thermalizes at each intermediate temperature step. In other words, if you want to extract physical properties from the system, you need to ensure the MD run corresponds to a proper statistical ensemble.
Finally a caveat regarding NpT for ab-initio MD in VASP. It is best practice to chop the total MD run into smaller MD runs. This is because when the volume/cell shape changes also the PAW basis should be reinitialized otherwise the system experiences unphysical stress.
Does this answer your question?
Best regards,
Marie-Therese
do you want to thermalize the structure to a new temperature or model the heating of the system?
Generally you can use any thermostat and any ensemble that takes T as an external parameter, i.e., NVT and NpT. In practice, people use NpT and slowly turn up the temperature.
The "constant T" one often hears when referring to NpT or NVT is a bit confusing in this context. It rather means that the temperature is set to the value from the input via a thermostat. The input takes a starting temperature TEBEG and a final temperature TEEND. Hence, the temperature imposed by the thermostat varies over the simulation time. There is an important caveat: The temperature observes fluctuations because it is regulated by a thermostat and not strictly imposed like the volume in NVT. Thus, you need to average the value over a few time steps. If your system is well-thermalized and TEBEG=TEEND, there should be no drift in the temperature over the simulation.
TEBEG not equal to TEEND allows for temperature ramping up or cooling down over the course of a simulation. For thermalization this can be done quite fast. To simulate actual heating or cooling you need very long simulation times such that the system basically thermalizes at each intermediate temperature step. In other words, if you want to extract physical properties from the system, you need to ensure the MD run corresponds to a proper statistical ensemble.
Finally a caveat regarding NpT for ab-initio MD in VASP. It is best practice to chop the total MD run into smaller MD runs. This is because when the volume/cell shape changes also the PAW basis should be reinitialized otherwise the system experiences unphysical stress.
Does this answer your question?
Best regards,
Marie-Therese
-
- Newbie
- Posts: 19
- Joined: Sat Nov 25, 2023 12:29 pm
Re: Selecting an Appropriate Thermostat for Velocity Rescaling in Temperature Ramping from 100K to 600K
Hi Marie,
Thank you for replying.
I wanted to model the heating of the system. I am implementing velocity rescaling via the following INCAR settings. I have not chosen any thermostat. These settings result in the gradual increase of system temperature with each step. By default, these settings lead to NVE ensemble. Is this method appropriate?
#General
ISPIN = 2
PREC = Med
ISTART = 0
ENCUT = 500
NPAR = 2
KPAR = 1
ISMEAR = 1
SIGMA = 0.2
ALGO = Fast
EDIFF = 1E-07
#Molecuar Dynamics
ISYM = 0 # Turn off Symmetry
IBRION = 0
NSW = 1000 # Number of Ionic Steps
POTIM = 1 # Time Step 1.0 fs
NBLOCK = 1 # Velocity Rescaled in every NBLOCK Step
TEBEG = 100 # Initial Temperature
TEEND = 600 # Final Temperature
#Writing Flag
NWRITE = 1 # Make OUTCAR small
LWAVE = .FALSE. # WAVECAR are not needed
LCHARG = .FALSE # CHGCAR are not needed
Thank you for replying.
I wanted to model the heating of the system. I am implementing velocity rescaling via the following INCAR settings. I have not chosen any thermostat. These settings result in the gradual increase of system temperature with each step. By default, these settings lead to NVE ensemble. Is this method appropriate?
#General
ISPIN = 2
PREC = Med
ISTART = 0
ENCUT = 500
NPAR = 2
KPAR = 1
ISMEAR = 1
SIGMA = 0.2
ALGO = Fast
EDIFF = 1E-07
#Molecuar Dynamics
ISYM = 0 # Turn off Symmetry
IBRION = 0
NSW = 1000 # Number of Ionic Steps
POTIM = 1 # Time Step 1.0 fs
NBLOCK = 1 # Velocity Rescaled in every NBLOCK Step
TEBEG = 100 # Initial Temperature
TEEND = 600 # Final Temperature
#Writing Flag
NWRITE = 1 # Make OUTCAR small
LWAVE = .FALSE. # WAVECAR are not needed
LCHARG = .FALSE # CHGCAR are not needed
-
- Full Member
- Posts: 212
- Joined: Tue Jan 19, 2021 12:01 am
Re: Selecting an Appropriate Thermostat for Velocity Rescaling in Temperature Ramping from 100K to 600K
In order to apply a certain temperature, you need an ensemble that sets the temperature via a thermostat. In VASP, you can choose between the NVT ensemble or the NpT ensemble. Please have a look at the linked description.
In order to heat the system, the temperature at the end of the simulation TEEND needs to be higher than at the beginning TEBEG. Make sure that NSW is large and POTIM small, so the system is gradually heated. Setting those parameters inappropriately can make the calculation unstable.
For NpT ensemble you need to divide the calculation in chunks, as I mentioned before.
Is this more helpful?
Best regards,
MArie-Therese
In order to heat the system, the temperature at the end of the simulation TEEND needs to be higher than at the beginning TEBEG. Make sure that NSW is large and POTIM small, so the system is gradually heated. Setting those parameters inappropriately can make the calculation unstable.
For NpT ensemble you need to divide the calculation in chunks, as I mentioned before.
Is this more helpful?
Best regards,
MArie-Therese