git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12789 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -423,8 +423,9 @@ package</A>.
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_adapt_fep.html">adapt/fep</A></TD><TD ><A HREF = "fix_addtorque.html">addtorque</A></TD><TD ><A HREF = "fix_atc.html">atc</A></TD><TD ><A HREF = "fix_ave_spatial_sphere.html">ave/spatial/sphere</A></TD><TD ><A HREF = "fix_colvars.html">colvars</A></TD><TD ><A HREF = "fix_gle.html">gle</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_imd.html">imd</A></TD><TD ><A HREF = "fix_ipi.html">ipi</A></TD><TD ><A HREF = "fix_langevin_eff.html">langevin/eff</A></TD><TD ><A HREF = "fix_lb_fluid.html">lb/fluid</A></TD><TD ><A HREF = "fix_lb_momentum.html">lb/momentum</A></TD><TD ><A HREF = "fix_lb_pc.html">lb/pc</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_lb_rigid_pc_sphere.html">lb/rigid/pc/sphere</A></TD><TD ><A HREF = "fix_lb_viscous.html">lb/viscous</A></TD><TD ><A HREF = "fix_meso.html">meso</A></TD><TD ><A HREF = "fix_meso_stationary.html">meso/stationary</A></TD><TD ><A HREF = "fix_nh_eff.html">nph/eff</A></TD><TD ><A HREF = "fix_nh_eff.html">npt/eff</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nve_eff.html">nve/eff</A></TD><TD ><A HREF = "fix_nh_eff.html">nvt/eff</A></TD><TD ><A HREF = "fix_nvt_sllod_eff.html">nvt/sllod/eff</A></TD><TD ><A HREF = "fix_phonon.html">phonon</A></TD><TD ><A HREF = "fix_qeq_reax.html">qeq/reax</A></TD><TD ><A HREF = "fix_qmmm.html">qmmm</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_reax_bonds.html">reax/c/bonds</A></TD><TD ><A HREF = "fix_reaxc_species.html">reax/c/species</A></TD><TD ><A HREF = "fix_smd.html">smd</A></TD><TD ><A HREF = "fix_temp_rescale_eff.html">temp/rescale/eff</A></TD><TD ><A HREF = "fix_ti_rs.html">ti/rs</A></TD><TD ><A HREF = "fix_ti_spring.html">ti/spring</A>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_nve_eff.html">nve/eff</A></TD><TD ><A HREF = "fix_nh_eff.html">nvt/eff</A></TD><TD ><A HREF = "fix_nvt_sllod_eff.html">nvt/sllod/eff</A></TD><TD ><A HREF = "fix_phonon.html">phonon</A></TD><TD ><A HREF = "fix_pimd.html">pimd</A></TD><TD ><A HREF = "fix_qeq_reax.html">qeq/reax</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_qmmm.html">qmmm</A></TD><TD ><A HREF = "fix_reax_bonds.html">reax/c/bonds</A></TD><TD ><A HREF = "fix_reaxc_species.html">reax/c/species</A></TD><TD ><A HREF = "fix_smd.html">smd</A></TD><TD ><A HREF = "fix_temp_rescale_eff.html">temp/rescale/eff</A></TD><TD ><A HREF = "fix_ti_rs.html">ti/rs</A></TD></TR>
|
||||
<TR ALIGN="center"><TD ><A HREF = "fix_ti_spring.html">ti/spring</A>
|
||||
</TD></TR></TABLE></DIV>
|
||||
|
||||
<HR>
|
||||
|
||||
@ -600,6 +600,7 @@ package"_Section_start.html#start_3.
|
||||
"nvt/eff"_fix_nh_eff.html,
|
||||
"nvt/sllod/eff"_fix_nvt_sllod_eff.html,
|
||||
"phonon"_fix_phonon.html,
|
||||
"pimd"_fix_pimd.html,
|
||||
"qeq/reax"_fix_qeq_reax.html,
|
||||
"qmmm"_fix_qmmm.html,
|
||||
"reax/c/bonds"_fix_reax_bonds.html,
|
||||
|
||||
123
doc/fix_pimd.html
Normal file
123
doc/fix_pimd.html
Normal file
@ -0,0 +1,123 @@
|
||||
<HTML>
|
||||
<P>fix quantum
|
||||
Syntax:
|
||||
fix ID group-ID quantum keyword values
|
||||
ID, group-ID are documented in fix command
|
||||
poems = style name of this fix command
|
||||
keyword = group or file or molecule
|
||||
method values = pimd or nmpimd or cmd
|
||||
fmass values = real number for scaling factor of mass
|
||||
sp values = real number for scaling factor of plank constant
|
||||
temp values = real number for temperature in unit K
|
||||
nhc values = N number of chains in Nose-Hoover chain thermostat
|
||||
Examples:
|
||||
fix 1 all quantum method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4
|
||||
Description:
|
||||
</P>
|
||||
<P>This command conducts quantum molecular dynamics simulations based on
|
||||
the Feynman path integral to include effects of tunneling and
|
||||
zero-point motion. In this formalism, the isomorphism of the quantum
|
||||
partition function of the original system and a classical partition
|
||||
function of a ring-polymer system is exploited to efficiently sample
|
||||
configurations from the canonical ensemble. <B>Ref. 1, Chapter 7</B>
|
||||
</P>
|
||||
<P>The interested user is referred to any of the numerous references on
|
||||
this methodology, but briefly, each quantum particle in a path
|
||||
integral simulation is represented by a ring-polymer of P quasi-beads,
|
||||
labeled from 1 to P. During the simulation, each quasi-bead interacts
|
||||
with beads on the other ring-polymers with the same imaginary time
|
||||
index (the second part of the effective potential above). The
|
||||
quasi-beads also interact with the two neighboring quasi-beads through
|
||||
the spring potential in imaginary-time space (first term in effective
|
||||
potential). To sample the canonical ensemble, the Nose-Hoover massive
|
||||
chain thermostat is applied. <B>Ref. 2</B> With this massive chain
|
||||
algorithm, a chain of NH thermostats is coupled to each degree of
|
||||
freedom for each quasi-bead. The keyword temp sets the target
|
||||
temperature for the system and the keyword nhc sets the number of
|
||||
thermostats in each chain. For example, if one simulated a system of N
|
||||
particles with P beads in each ring-polymer, the total number of NH
|
||||
thermostats equals 3 x N x P x nhc.
|
||||
</P>
|
||||
<P>The selection of the bead’s mass (referred to as the fictitious mass)
|
||||
is arbitrary according to the formula. A common choice is to use mi =
|
||||
m/P, which results in the mass of the ring-polymer being equal to the
|
||||
real quantum particle. It can be difficult to efficiently integrate
|
||||
the equations of motion for the stiff harmonic interactions in the
|
||||
ring polymers. A useful approach to resolve this is integrating the
|
||||
equations of motion in a normal mode representation, which here is
|
||||
referred to as Normal Mode Path-Integral Molecular Dynamics
|
||||
(NMPIMD). <B>Ref. 3</B> In NMPIMD, the NH chains are attached to each
|
||||
normal mode of the ring-polymer and the fictitious mass of each mode
|
||||
is chosen to be mk =, where is the eigen-value the k-th normal mode
|
||||
for k>0. The mode of k=0, referred to as the zero-frequency mode or
|
||||
centroid, corresponds to overall translation of the ring-polymer and
|
||||
is assigned the mass of the real particle. Motion of the centroid can
|
||||
be effectively uncoupled from the other normal modes by scaling the
|
||||
fictitious masses to achieve a partial adiabatic separation. In this
|
||||
Centroid Molecular Dynamics (CMD) approximation <B>Ref. 4</B>, the
|
||||
time-evolution (and resulting dynamics) of the quantum particles can
|
||||
be used to obtain centroid time correlation functions, which can be
|
||||
further used to obtain the true quantum correlation function for the
|
||||
original system. The keyword method is used to indicate the approach
|
||||
PIMD, NMPIMD or CMD. The CMD method also uses normal modes to evolve
|
||||
the system except only the k>0 modes are thermostatted, not the
|
||||
centroid degrees of freedom. The keyword fmass is used as a further
|
||||
scaling factor for the fictitious masses of beads, which can be used
|
||||
for the Partial Adiabatic CMD <B>Ref. 5</B>, or to be set as P, which
|
||||
results in the fictitious masses to be equal to the real particle
|
||||
masses. The last keyword sp is a scaling factor for Plank’s constant,
|
||||
which can be useful for debugging or other purposes. The default value
|
||||
of 1.0 is appropriate for most situations. The PIMD algorithm in
|
||||
LAMMPS is implemented as a hyper-parallel scheme <B>Ref. 6</B> and use of
|
||||
this fix command requires use of the multi-partition feature in
|
||||
LAMMPS, where each quasi-particle system is calculated on a separate
|
||||
partition of processors. For a quantum system that is discretized into
|
||||
32 imaginary time slices (32 beads in a ring-polymer), 32 partitions
|
||||
are required to run the simulation. Below is an example of running a
|
||||
PIMD simulation with M quasi-beads in each ring polymer using N
|
||||
MPI-tasks for the domain-decomposition on each partition. mpirun –np
|
||||
P lmp_mpi –partition MxN –in script where, P = M x N.
|
||||
</P>
|
||||
<P>In the LAMMPS input script, it is very useful to define a uloop type
|
||||
variable such as, variable ibead uloop M pad where M is the number of
|
||||
quasi-beads (partitions) used in the calculation. The uloop variable
|
||||
can then be used to manage I/O related tasks for each of the
|
||||
partitions, such as read_data system_$<I>ibead</I>.restart dump dcd all dcd
|
||||
10 system_$<I>ibead</I>.dcd restart 10 system_$<I>ibead</I>.restart1
|
||||
system_$<I>ibead</I>.restart2
|
||||
</P>
|
||||
<P>Restrictions:
|
||||
</P>
|
||||
<P>To run PIMD simulations users must install the package
|
||||
USER-QUANTUM. Users must use the multi-partition feature of LAMMPS and
|
||||
the number of partitions needs to be consistent with the uloop
|
||||
variable defined for the ring-polymer model. Meanwhile, USER-QUANTUM
|
||||
is not compatible with any other modules that use the multi-partition
|
||||
feature. The “quantum” fix-object already contains a complete
|
||||
velocity-verlet integrator combined with NH massive chain thermostat,
|
||||
so users shouldn’t use any other integration fix. The PIMD simulation
|
||||
can be started with a single DATA file through the command
|
||||
“read_data”, however, all the quasi-beads would then have identical
|
||||
positions and velocities, resulting in identical trajectories for all
|
||||
quasi-beads. To avoid this, users can simply initial a new set of
|
||||
velocities with random number seeds defined by the uloop variable.
|
||||
velocity all create 300.0 1234$<I>ibead</I> rot yes dist gaussian
|
||||
</P>
|
||||
<P>The keyword defaults are method=pimd, fmass=1.0, sp=1.0, temp=300.0,
|
||||
nhc=2.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>1. Feynman, R. P. and Hibbs, A. R. (1965). Quantum Mechanics and Path Integrals. New York: McGraw-Hill. (PIMD)
|
||||
</P>
|
||||
<P>2. Tuckerman, M. E., Berne, B. J., J. Chem. Phys. 99, 2796. (Nose-Hoove)
|
||||
</P>
|
||||
<P>3. Cao, J, Berne, B. J., J. Chem. Phys. 99, 2902 (NMPIMD)
|
||||
</P>
|
||||
<P>4. Cao, J.; Voth, G. A. , J. Chem. Phys. 100, 5093 (CMD)
|
||||
</P>
|
||||
<P>5. Hone T. D., Rossky P. J., Voth G. A.., J. Chem. Phys. , 124, 154103. (PACMD)
|
||||
</P>
|
||||
<P>6. Calhoun, A., Pavese, M., Voth, G. A., Chem. Phys. Let., 262, 415
|
||||
</P>
|
||||
</HTML>
|
||||
121
doc/fix_pimd.txt
Normal file
121
doc/fix_pimd.txt
Normal file
@ -0,0 +1,121 @@
|
||||
fix quantum
|
||||
Syntax:
|
||||
fix ID group-ID quantum keyword values
|
||||
ID, group-ID are documented in fix command
|
||||
poems = style name of this fix command
|
||||
keyword = group or file or molecule
|
||||
method values = pimd or nmpimd or cmd
|
||||
fmass values = real number for scaling factor of mass
|
||||
sp values = real number for scaling factor of plank constant
|
||||
temp values = real number for temperature in unit K
|
||||
nhc values = N number of chains in Nose-Hoover chain thermostat
|
||||
Examples:
|
||||
fix 1 all quantum method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4
|
||||
Description:
|
||||
|
||||
This command conducts quantum molecular dynamics simulations based on
|
||||
the Feynman path integral to include effects of tunneling and
|
||||
zero-point motion. In this formalism, the isomorphism of the quantum
|
||||
partition function of the original system and a classical partition
|
||||
function of a ring-polymer system is exploited to efficiently sample
|
||||
configurations from the canonical ensemble. [Ref. 1, Chapter 7]
|
||||
|
||||
The interested user is referred to any of the numerous references on
|
||||
this methodology, but briefly, each quantum particle in a path
|
||||
integral simulation is represented by a ring-polymer of P quasi-beads,
|
||||
labeled from 1 to P. During the simulation, each quasi-bead interacts
|
||||
with beads on the other ring-polymers with the same imaginary time
|
||||
index (the second part of the effective potential above). The
|
||||
quasi-beads also interact with the two neighboring quasi-beads through
|
||||
the spring potential in imaginary-time space (first term in effective
|
||||
potential). To sample the canonical ensemble, the Nose-Hoover massive
|
||||
chain thermostat is applied. [Ref. 2] With this massive chain
|
||||
algorithm, a chain of NH thermostats is coupled to each degree of
|
||||
freedom for each quasi-bead. The keyword temp sets the target
|
||||
temperature for the system and the keyword nhc sets the number of
|
||||
thermostats in each chain. For example, if one simulated a system of N
|
||||
particles with P beads in each ring-polymer, the total number of NH
|
||||
thermostats equals 3 x N x P x nhc.
|
||||
|
||||
The selection of the bead’s mass (referred to as the fictitious mass)
|
||||
is arbitrary according to the formula. A common choice is to use mi =
|
||||
m/P, which results in the mass of the ring-polymer being equal to the
|
||||
real quantum particle. It can be difficult to efficiently integrate
|
||||
the equations of motion for the stiff harmonic interactions in the
|
||||
ring polymers. A useful approach to resolve this is integrating the
|
||||
equations of motion in a normal mode representation, which here is
|
||||
referred to as Normal Mode Path-Integral Molecular Dynamics
|
||||
(NMPIMD). [Ref. 3] In NMPIMD, the NH chains are attached to each
|
||||
normal mode of the ring-polymer and the fictitious mass of each mode
|
||||
is chosen to be mk =, where is the eigen-value the k-th normal mode
|
||||
for k>0. The mode of k=0, referred to as the zero-frequency mode or
|
||||
centroid, corresponds to overall translation of the ring-polymer and
|
||||
is assigned the mass of the real particle. Motion of the centroid can
|
||||
be effectively uncoupled from the other normal modes by scaling the
|
||||
fictitious masses to achieve a partial adiabatic separation. In this
|
||||
Centroid Molecular Dynamics (CMD) approximation [Ref. 4], the
|
||||
time-evolution (and resulting dynamics) of the quantum particles can
|
||||
be used to obtain centroid time correlation functions, which can be
|
||||
further used to obtain the true quantum correlation function for the
|
||||
original system. The keyword method is used to indicate the approach
|
||||
PIMD, NMPIMD or CMD. The CMD method also uses normal modes to evolve
|
||||
the system except only the k>0 modes are thermostatted, not the
|
||||
centroid degrees of freedom. The keyword fmass is used as a further
|
||||
scaling factor for the fictitious masses of beads, which can be used
|
||||
for the Partial Adiabatic CMD [Ref. 5], or to be set as P, which
|
||||
results in the fictitious masses to be equal to the real particle
|
||||
masses. The last keyword sp is a scaling factor for Plank’s constant,
|
||||
which can be useful for debugging or other purposes. The default value
|
||||
of 1.0 is appropriate for most situations. The PIMD algorithm in
|
||||
LAMMPS is implemented as a hyper-parallel scheme [Ref. 6] and use of
|
||||
this fix command requires use of the multi-partition feature in
|
||||
LAMMPS, where each quasi-particle system is calculated on a separate
|
||||
partition of processors. For a quantum system that is discretized into
|
||||
32 imaginary time slices (32 beads in a ring-polymer), 32 partitions
|
||||
are required to run the simulation. Below is an example of running a
|
||||
PIMD simulation with M quasi-beads in each ring polymer using N
|
||||
MPI-tasks for the domain-decomposition on each partition. mpirun –np
|
||||
P lmp_mpi –partition MxN –in script where, P = M x N.
|
||||
|
||||
In the LAMMPS input script, it is very useful to define a uloop type
|
||||
variable such as, variable ibead uloop M pad where M is the number of
|
||||
quasi-beads (partitions) used in the calculation. The uloop variable
|
||||
can then be used to manage I/O related tasks for each of the
|
||||
partitions, such as read_data system_${ibead}.restart dump dcd all dcd
|
||||
10 system_${ibead}.dcd restart 10 system_${ibead}.restart1
|
||||
system_${ibead}.restart2
|
||||
|
||||
Restrictions:
|
||||
|
||||
To run PIMD simulations users must install the package
|
||||
USER-QUANTUM. Users must use the multi-partition feature of LAMMPS and
|
||||
the number of partitions needs to be consistent with the uloop
|
||||
variable defined for the ring-polymer model. Meanwhile, USER-QUANTUM
|
||||
is not compatible with any other modules that use the multi-partition
|
||||
feature. The “quantum” fix-object already contains a complete
|
||||
velocity-verlet integrator combined with NH massive chain thermostat,
|
||||
so users shouldn’t use any other integration fix. The PIMD simulation
|
||||
can be started with a single DATA file through the command
|
||||
“read_data”, however, all the quasi-beads would then have identical
|
||||
positions and velocities, resulting in identical trajectories for all
|
||||
quasi-beads. To avoid this, users can simply initial a new set of
|
||||
velocities with random number seeds defined by the uloop variable.
|
||||
velocity all create 300.0 1234${ibead} rot yes dist gaussian
|
||||
|
||||
The keyword defaults are method=pimd, fmass=1.0, sp=1.0, temp=300.0,
|
||||
nhc=2.
|
||||
|
||||
:line
|
||||
|
||||
1. Feynman, R. P. and Hibbs, A. R. (1965). Quantum Mechanics and Path Integrals. New York: McGraw-Hill. (PIMD)
|
||||
|
||||
2. Tuckerman, M. E., Berne, B. J., J. Chem. Phys. 99, 2796. (Nose-Hoove)
|
||||
|
||||
3. Cao, J, Berne, B. J., J. Chem. Phys. 99, 2902 (NMPIMD)
|
||||
|
||||
4. Cao, J.; Voth, G. A. , J. Chem. Phys. 100, 5093 (CMD)
|
||||
|
||||
5. Hone T. D., Rossky P. J., Voth G. A.., J. Chem. Phys. , 124, 154103. (PACMD)
|
||||
|
||||
6. Calhoun, A., Pavese, M., Voth, G. A., Chem. Phys. Let., 262, 415
|
||||
|
||||
Reference in New Issue
Block a user