forked from lijiext/lammps
195 lines
8.3 KiB
HTML
195 lines
8.3 KiB
HTML
<HTML>
|
|
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
|
</CENTER>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<HR>
|
|
|
|
<H3>fix qtb command
|
|
</H3>
|
|
<P><B>Syntax:</B>
|
|
</P>
|
|
<PRE>fix ID group-ID qtb keyword value ...
|
|
</PRE>
|
|
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
|
|
|
|
<LI>qtb = style name of this fix
|
|
|
|
<LI>zero or more keyword/value pairs may be appended
|
|
|
|
<LI>keyword = <I>temp</I> or <I>damp</I> or <I>seed</I> or <I>f_max</I> or <I>N_f</I>
|
|
|
|
<PRE> <I>temp</I> value = target quantum temperature (temperature units)
|
|
<I>damp</I> value = damping parameter (time units) inverse of friction <i>&gamma</i>;
|
|
<I>seed</I> value = random number seed (positive integer)
|
|
<I>f_max</I> value = upper cutoff frequency of the vibration spectrum (1/time units)
|
|
<I>N_f</I> value = number of frequency bins (positive integer)
|
|
</PRE>
|
|
|
|
</UL>
|
|
<P><B>Examples:</B>
|
|
</P>
|
|
<PRE>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>
|
|
<P><B>Description:</B>
|
|
</P>
|
|
<P>This command performs the quantum thermal bath scheme proposed by
|
|
<A HREF = "#Dammak">(Dammak)</A> to include self-consistent quantum nuclear effects,
|
|
when used in conjunction with the <A HREF = "fix_nve.html">fix nve</A> or <A HREF = "fix_nh.html">fix
|
|
nph</A> commands.
|
|
</P>
|
|
<P>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.
|
|
</P>
|
|
<P>The equation of motion implemented by this command follows a Langevin
|
|
form:
|
|
</P>
|
|
<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>
|
|
|
|
<P>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:
|
|
</P>
|
|
<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>
|
|
|
|
<P>To efficiently generate the random forces, we employ the method
|
|
of <A HREF = "#Barrat">(Barrat)</A>, 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.
|
|
</P>
|
|
<P>The <I>temp</I> 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.
|
|
</P>
|
|
<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>
|
|
|
|
<P>The <I>damp</I> 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.
|
|
</P>
|
|
<P>The random number <I>seed</I> 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.
|
|
</P>
|
|
<P>The <I>f_max</I> parameter truncate the noise frequency domain so that
|
|
vibrational modes with frequencies higher than <I>f_max</I> will not be
|
|
modulated. If we denote Δ<i>t</i> as the time interval for the
|
|
MD integration, <I>f_max</I> is always reset by the code to make
|
|
<i>α</i> = (int)(2<I>f_max</I>Δ<i>t</i>)<sup><i>-1</i></sup> a
|
|
positive integer and print out relative information. An appropriate
|
|
value for the cutoff frequency <I>f_max</I> would be around 2~3
|
|
<i>f</i><sub>D</sub>, where <i>f</i><sub>D</sub> is the Debye
|
|
frequency.
|
|
</P>
|
|
<P>The <I>N_f</I> parameter is the frequency grid size, the number of points
|
|
from 0 to <I>f_max</I> in the frequency domain that will be
|
|
sampled. <i>3×2</i> <I>N_f</I> 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 <I>N_f</I> provides a more accurate sampling of the
|
|
spectrum while consumes more memory. With fixed <I>f_max</I> and
|
|
<i>γ</i>, <I>N_f</I> 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.
|
|
</P>
|
|
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_nh.html">fix nvt</A> 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 <A HREF = "fix_nve.html">fix nve</A> or <A HREF = "fix_nh.html">fix nph</A> 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. <A HREF = "fix_nh.html">fix
|
|
nvt</A> and <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>.
|
|
</P>
|
|
<HR>
|
|
|
|
<P><B>Restart, fix_modify, output, run start/stop, minimizie info:</B>
|
|
</P>
|
|
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
|
|
files</A>. 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.
|
|
</P>
|
|
<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
|
|
</P>
|
|
<HR>
|
|
|
|
<P><B>Restrictions:</B>
|
|
</P>
|
|
<P>This fix style is part of the USER-QTB package. It is only enabled if
|
|
LAMMPS was built with that package. See the <A HREF = "Section_start.html#start_3">Making
|
|
LAMMPS</A> section for more info.
|
|
</P>
|
|
<HR>
|
|
|
|
<P><B>Related commands:</B>
|
|
</P>
|
|
<P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nh.html">fix nph</A>, <A HREF = "fix_langevin.html">fix
|
|
langevin</A>, <A HREF = "fix_qbmsst.html">fix qbmsst</A>
|
|
</P>
|
|
<HR>
|
|
|
|
<P><B>Default:</B>
|
|
</P>
|
|
<P>The keyword defaults are temp = 300, damp = 1, seed = 880302,
|
|
f_max=200.0 and N_f = 100.
|
|
</P>
|
|
<HR>
|
|
|
|
<A NAME = "Dammak"></A>
|
|
|
|
<P><B>(Dammak)</B> Dammak, Chalopin, Laroche, Hayoun, and Greffet, Phys Rev
|
|
Lett, 103, 190601 (2009).
|
|
</P>
|
|
<A NAME = "Barrat"></A>
|
|
|
|
<P><B>(Barrat)</B> Barrat and Rodney, J. Stat. Phys, 144, 679 (2011).
|
|
</P>
|
|
</HTML>
|