ensemble (QTB)
The variants of the ensemble keyword described on this page implement the Quantum Thermal Bath (QTB) method [Dammak2009].
The QTB thermostat is a Langevin-type thermostat that uses colored noise with a quantum Bose-Einstein energy spectrum instead of classical white noise.
This allows approximate inclusion of nuclear quantum effects (zero-point energy and quantum heat capacity) in otherwise classical MD simulations.
The npt_qtb variant combines the QTB thermostat with the Parrinello-Rahman (MTTK) barostat [Martyna1994], equivalent to LAMMPS fix nph + fix qtb.
Syntax
nvt_qtb
Run an NVT simulation with the QTB thermostat:
ensemble nvt_qtb <T_1> <T_2> <T_coup> [f_max <value>] [N_f <value>]
<T_1>and<T_2>: Initial and final target temperature (K). The target temperature varies linearly during the run.<T_coup>: Thermostat coupling parameter (in units of timestep). Controls the friction coefficient: \(\gamma = 1 / (\text{T\_coup} \times dt)\).f_max: (Optional, default 200) Maximum frequency of the QTB filter in ps-1. Should be larger than the highest phonon frequency in the system.N_f: (Optional, default 100) Number of frequency points in the filter. The filter uses \(2 N_f\) points total.
npt_qtb
Run an NPT simulation with the QTB thermostat and Parrinello-Rahman (MTTK) barostat:
ensemble npt_qtb <direction> <p_1> <p_2> temp <T_1> <T_2> tperiod <tau_T> pperiod <tau_p> [f_max <value>] [N_f <value>]
Pressure control parameters:
<direction>: One or more ofiso,aniso,tri,x,y,z. Same syntax as npt_mttk.<p_1>and<p_2>: Initial and final target pressure (GPa).
Temperature and coupling parameters:
temp: Initial and final target temperature (K).tperiod: QTB thermostat coupling period (in units of timestep). Controls friction: \(\gamma = 1 / (\text{tperiod} \times dt)\).pperiod: Barostat coupling period (in units of timestep, must be \(\geq 200\)).
QTB-specific optional parameters (same as nvt_qtb):
f_max: Maximum frequency (ps-1, default 200).N_f: Number of frequency points (default 100).
Examples
NVT-QTB
ensemble nvt_qtb 300 300 100
Run at 300 K with QTB thermostat. The coupling parameter is 100 timesteps.
ensemble nvt_qtb 300 300 100 f_max 150 N_f 200
Same as above but with custom filter parameters.
NPT-QTB
ensemble npt_qtb iso 0 0 temp 300 300 tperiod 100 pperiod 1000
Run at 300 K and 0 GPa with isotropic pressure control.
ensemble npt_qtb aniso 0 0 temp 300 300 tperiod 100 pperiod 1000 f_max 200 N_f 100
Anisotropic pressure control with explicit QTB parameters.
ensemble npt_qtb x 5 5 y 0 0 z 0 0 temp 300 300 tperiod 100 pperiod 1000
Apply 5 GPa along x and 0 GPa along y and z.
Notes
The QTB method generates colored noise whose power spectrum matches the quantum energy distribution \(E(\omega) = \hbar\omega[\frac{1}{2} + n_{BE}(\omega, T)]\), where \(n_{BE}\) is the Bose-Einstein distribution.
The kinetic temperature reported in
thermo.outwill be higher than the target temperature due to zero-point energy contributions. This is expected behavior.For liquid water at 300 K, the kinetic temperature is typically around 1000-1100 K.
The
npt_qtbensemble uses the MTTK (Martyna-Tuckerman-Tobias-Klein) integrator for pressure control, which is the same as npt_mttk but with the Nosé-Hoover chain thermostat replaced by the QTB thermostat.The
f_maxparameter should be set larger than the highest phonon frequency in the system. For water, 200 ps-1 is sufficient.
References
- Dammak2009
Dammak, Y. Chalopin, M. Laroche, M. Hayoun, and J.-J. Greffet, Quantum Thermal Bath for Molecular Dynamics Simulation, Phys. Rev. Lett. 103, 190601 (2009).