forked from lijiext/lammps
183 lines
7.7 KiB
Plaintext
183 lines
7.7 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
:line
|
|
|
|
fix qtb command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID qtb keyword value ... :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
qtb = style name of this fix :l
|
|
zero or more keyword/value pairs may be appended :l
|
|
keyword = {temp} or {damp} or {seed} or {f_max} or {N_f} :l
|
|
{temp} value = target quantum temperature (temperature units)
|
|
{damp} value = damping parameter (time units) inverse of friction <i>&gamma</i>;
|
|
{seed} value = random number seed (positive integer)
|
|
{f_max} value = upper cutoff frequency of the vibration spectrum (1/time units)
|
|
{N_f} value = number of frequency bins (positive integer) :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
fix 1 all nve
|
|
fix 1 all qtb temp 110 damp 200 seed 35082 f_max 0.3 N_f 100 (liquid methane modeled with the REAX force field, real units)
|
|
fix 2 all nph iso 1.01325 1.01325 1
|
|
fix 2 all qtb temp 300 damp 1 seed 47508 f_max 120.0 N_f 100 (quartz modeled with the BKS force field, metal units) :pre
|
|
|
|
[Description:]
|
|
|
|
This command performs the quantum thermal bath scheme proposed by
|
|
"(Dammak)"_#Dammak to include self-consistent quantum nuclear effects,
|
|
when used in conjunction with the "fix nve"_fix_nve.html or "fix
|
|
nph"_fix_nh.html commands.
|
|
|
|
Classical molecular dynamics simulation does not include any quantum
|
|
nuclear effect. Quantum treatment of the vibrational modes will
|
|
introduce zero point energy into the system, alter the energy power
|
|
spectrum and bias the heat capacity from the classical limit. Missing
|
|
all the quantum nuclear effects, classical MD cannot model systems at
|
|
temperatures lower than their classical limits. This effect is
|
|
especially important for materials with a large population of hydrogen
|
|
atoms and thus higher classical limits.
|
|
|
|
The equation of motion implemented by this command follows a Langevin
|
|
form:
|
|
|
|
<center><font size="4"><i> m<sub>i</sub>a<sub>i</sub> = f<sub>i</sub>
|
|
+ R<sub>i</sub> -
|
|
m<sub>i</sub>γv<sub>i</sub>. </i></font></center>
|
|
|
|
Here <i>m<sub>i</sub></i>, <i>a<sub>i</sub></i>, <i>f<sub>i</sub>
|
|
</i>, <i>R<sub>i</sub></i>, <i>γ</i> and <i>v<sub>i</sub> </i>
|
|
represent mass, acceleration, force exerted by all other atoms, random
|
|
force, frictional coefficient (the inverse of damping parameter damp),
|
|
and velocity. The random force <i>R<sub>i</sub></i> is "colored" so
|
|
that any vibrational mode with frequency <i>ω</i> will have a
|
|
temperature-sensitive energy <i>θ</i>(<i>ω,T</i>) which
|
|
resembles the energy expectation for a quantum harmonic oscillator
|
|
with the same natural frequency:
|
|
|
|
<center><font size="4"> <i>θ</i>(<i>ω,T</i>) =
|
|
ℏω/2 +
|
|
ℏω[</i>exp(<i>ℏω/k</i><sub>B</sub><i>T</i>)<i>-1</i>]<i><sup>-1</sup></i>
|
|
</font></center>
|
|
|
|
To efficiently generate the random forces, we employ the method
|
|
of "(Barrat)"_#Barrat, that circumvents the need to generate all
|
|
random forces for all times before the simulation. The memory
|
|
requirement of this approach is less demanding and independent
|
|
of the simulation duration. Since the total random force <i>R</i><sub>tot</sub>
|
|
does not necessarily vanish for a finite number of atoms,
|
|
<i>R<sub>i</sub></i> is replaced by <i>R<sub>i</sub></i> - <i>R</i><sub>tot</sub>/<i>N</i><sub>tot</sub>
|
|
to avoid collective motion of the system.
|
|
|
|
The {temp} parameter sets the target quantum temperature. LAMMPS will
|
|
still have an output temperature in its thermo style. That is the
|
|
instantaneous classical temperature <i>T</i><sup>cl</sup> derived from
|
|
the atom velocities at thermal equilibrium. A non-zero
|
|
<i>T</i><sup>cl</sup> will be present even when the quantum
|
|
temperature approaches zero. This is associated with zero-point energy
|
|
at low temperatures.
|
|
|
|
<center><font size="4"> <i>T</i><sup>cl</sup> = ∑
|
|
<i>m<sub>i</sub>v<sub>i</sub><sup>2</sup>/3Nk</i><sub>B</sub>
|
|
</font></center>
|
|
|
|
The {damp} parameter is specified in time units, and it equals the
|
|
inverse of the frictional coefficient <i>γ</i>. <i>γ</i>
|
|
should be as small as possible but slightly larger than the timescale
|
|
of anharmonic coupling in the system which is about 10 ps to 100
|
|
ps. When <i>γ</i> is too large, it gives an energy spectrum that
|
|
differs from the desired Bose-Einstein spectrum. When <i>γ</i>
|
|
is too small, the quantum thermal bath coupling to the system will be
|
|
less significant than anharmonic effects, reducing to a classical
|
|
limit. We find that setting <i>γ</i> between 5 THz and 1 THz
|
|
could be appropriate depending on the system.
|
|
|
|
The random number {seed} is a positive integer used to initiate a
|
|
Marsaglia random number generator. Each processor uses the input seed
|
|
to generate its own unique seed and its own stream of random
|
|
numbers. Thus the dynamics of the system will not be identical on two
|
|
runs on different numbers of processors.
|
|
|
|
The {f_max} parameter truncate the noise frequency domain so that
|
|
vibrational modes with frequencies higher than {f_max} will not be
|
|
modulated. If we denote Δ<i>t</i> as the time interval for the
|
|
MD integration, {f_max} is always reset by the code to make
|
|
<i>α</i> = (int)(2{f_max}Δ<i>t</i>)<sup><i>-1</i></sup> a
|
|
positive integer and print out relative information. An appropriate
|
|
value for the cutoff frequency {f_max} would be around 2~3
|
|
<i>f</i><sub>D</sub>, where <i>f</i><sub>D</sub> is the Debye
|
|
frequency.
|
|
|
|
The {N_f} parameter is the frequency grid size, the number of points
|
|
from 0 to {f_max} in the frequency domain that will be
|
|
sampled. <i>3×2</i> {N_f} per-atom random numbers are required
|
|
in the random force generation and there could be as many atoms as in
|
|
the whole simulation that can migrate into every individual
|
|
processor. A larger {N_f} provides a more accurate sampling of the
|
|
spectrum while consumes more memory. With fixed {f_max} and
|
|
<i>γ</i>, {N_f} should be big enough to converge the classical
|
|
temperature <i>T</i><sup>cl</sup> as a function of target quantum bath
|
|
temperature. Memory usage per processor could be from 10 to 100
|
|
Mbytes.
|
|
|
|
NOTE: Unlike the "fix nvt"_fix_nh.html command which performs
|
|
Nose/Hoover thermostatting AND time integration, this fix does NOT
|
|
perform time integration. It only modifies forces to a colored
|
|
thermostat. Thus you must use a separate time integration fix, like
|
|
"fix nve"_fix_nve.html or "fix nph"_fix_nh.html to actually update the
|
|
velocities and positions of atoms (as shown in the
|
|
examples). Likewise, this fix should not normally be used with other
|
|
fixes or commands that also specify system temperatures , e.g. "fix
|
|
nvt"_fix_nh.html and "fix temp/rescale"_fix_temp_rescale.html.
|
|
|
|
:line
|
|
|
|
[Restart, fix_modify, output, run start/stop, minimizie info:]
|
|
|
|
No information about this fix is written to "binary restart
|
|
files"_restart.html. Because the state of the random number generator
|
|
is not saved in restart files, this means you cannot do "exact"
|
|
restarts with this fix. However, in a statistical sense, a restarted
|
|
simulation should produce similar behaviors of the system.
|
|
|
|
This fix is not invoked during "energy minimization"_minimize.html.
|
|
|
|
:line
|
|
|
|
[Restrictions:]
|
|
|
|
This fix style is part of the USER-QTB package. It is only enabled if
|
|
LAMMPS was built with that package. See the "Making
|
|
LAMMPS"_Section_start.html#start_3 section for more info.
|
|
|
|
:line
|
|
|
|
[Related commands:]
|
|
|
|
"fix nve"_fix_nve.html, "fix nph"_fix_nh.html, "fix
|
|
langevin"_fix_langevin.html, "fix qbmsst"_fix_qbmsst.html
|
|
|
|
:line
|
|
|
|
[Default:]
|
|
|
|
The keyword defaults are temp = 300, damp = 1, seed = 880302,
|
|
f_max=200.0 and N_f = 100.
|
|
|
|
:line
|
|
|
|
:link(Dammak)
|
|
[(Dammak)] Dammak, Chalopin, Laroche, Hayoun, and Greffet, Phys Rev
|
|
Lett, 103, 190601 (2009).
|
|
|
|
:link(Barrat)
|
|
[(Barrat)] Barrat and Rodney, J. Stat. Phys, 144, 679 (2011).
|