git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@9640 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2013-03-11 21:36:58 +00:00
parent 5d5f0f2a61
commit dd6ff4ebce
4 changed files with 136 additions and 140 deletions

View File

@ -351,7 +351,8 @@ the USER-PHONON package.
library it needs. And see the examples/USER/phonon directory
for example problems that can be post-processed with this tool.
</P>
<P>This tool was written by Ling-Ti Kong.
<P>This tool was written by Ling-Ti Kong at Shanghai Jiao Tong
University.
</P>
<HR>

View File

@ -347,7 +347,8 @@ See the README file for instruction on building the tool and what
library it needs. And see the examples/USER/phonon directory
for example problems that can be post-processed with this tool.
This tool was written by Ling-Ti Kong.
This tool was written by Ling-Ti Kong at Shanghai Jiao Tong
University.
:line

View File

@ -34,9 +34,9 @@
<LI>keyword = <I>sysdim</I> or <I>nasr</I>
<PRE> <I>sysdim</I> value = d
d = dimension of the system, usually is the same as the MD dimension.
d = dimension of the system, usually the same as the MD model dimension
<I>nasr</I> value = n
n = number of iterations to enforce the acoustic sum rule.
n = number of iterations to enforce the acoustic sum rule
</PRE>
</UL>
@ -47,7 +47,7 @@ fix 1 all phonon 20 5000 200000 map.in EAM3D
</PRE>
<P><B>Description:</B>
</P>
<P>To measure the dynamical matrix from molecular dynamics simulations
<P>Calculate the dynamical matrix from molecular dynamics simulations
based on fluctuation-dissipation theory for a group of atoms.
</P>
<P>Consider a crystal with <I>N</I> unit cells in three dimensions labelled <I>l
@ -56,9 +56,9 @@ are integers. Each unit cell is defined by three linearly independent
vectors <B>a</B><sub>1</sub>, <B>a</B><sub>2</sub>, <B>a</B><sub>3</sub> forming a
parallelipiped, containing <I>K</I> basis atoms labelled <I>k</I>.
</P>
<P>Based on fluctuation-dissipation theory, the force costant
coefficients of the system in the reciprocal space could be given by
(<A HREF = "#campana">Campa&ntilde;&aacute;</A> , <A HREF = "#kong">Kong</A>)
<P>Based on fluctuation-dissipation theory, the force constant
coefficients of the system in reciprocal space are given by
(<A HREF = "#Campana">Campa&ntilde;&aacute;</A> , <A HREF = "#Kong">Kong</A>)
<center><b>&Phi;</b><sub>k&alpha;,k'&beta;</sub>(<b>q</b>) =
k<sub>B</sub>T
<b>G</b><sup>-1</sup><sub>k&alpha;,k'&beta;</sub>(<b>q</b>),</center>
@ -68,14 +68,14 @@ k<sub>B</sub>T
<center><b>G</b><sub>k&alpha;,k'&beta;</sub>(<b>q</b>) =
<<b>u</b><sub>k&alpha;</sub>(<b>q</b>)&#149;<b>u</b><sub>k'&beta;</sub><sup>*</sup>(<b>q</b>)>,</center>
<P>where <...> denotes the enssemble average and
<P>where <...> denotes the ensemble average, and
<center><B>u</B><sub>k&alpha;</sub>(<b>q</b>) = &sum;<sub>l</sub>
<b>u</b><sub>lk&alpha;</sub> exp(i<B>qr</B><sub>l</sub>)</center>
</P>
<P>is the &alpha; component of the atomic displacement for the <I>k</I>th atom
in the unit cell in the reciprocal space at <B>q</B>. In practice, the
Green's functions coefficients can also be measured according to the
following formula,
in the unit cell in reciprocal space at <B>q</B>. In practice, the Green's
functions coefficients can also be measured according to the following
formula,
</P>
<center><b>G</b><sub>k&alpha;,k'&beta;</sub>(<b>q</b>) =
<<b>R</b><sub>k&alpha;</sub>(<b>q</b>)&#149;<b>R</b><sup>*</sup><sub>k'&beta;</sub>(<b>q</b>)>
@ -83,76 +83,70 @@ following formula,
</center>
<P>where <B>R</B> is the instantaneous positions of atoms, and <<B>R</B>> is the
averaged atomic positions. It gives essentially the same
results as the displacement method and is easier to implement into an MD code.
averaged atomic positions. It gives essentially the same results as
the displacement method and is easier to implement in an MD code.
</P>
<P>Once the force constant matrix is known, the dynamical matrix <B>D</B>
could then be obtained by
<P>Once the force constant matrix is known, the dynamical matrix <B>D</B> can
then be obtained by
</P>
<center><b>D</b><sub>k&alpha;, k'&beta;</sub>(<b>q</b>) = (m<sub>k</sub>m<sub>k'</sub>)<sup>-1/2</sup> <b>&Phi;</b><sub>k&alpha;,k'&beta;</sub>(<b>q</b>)</center>
<P>whose eigenvalues are exactly the phonon frequencies at <B>q</B>.
</P>
<P>This fix observes the positions of atoms in the corresponding group
and the two-point correlations. To achieve this the positions of the
atoms are examined every Nevery steps and are Fourier-transformed
(with <A HREF = "kspace_style.html">FFT3d wrapper</A> from kspace package of LAMMPS)
into reciprocal space, in which the averaging process and correlation
computation is then done. After every Noutput measurements, the matrix
<B>G</B>(<B>q</B>) is calculated and inverted to get the elastic stiffness
coefficients. The dynamical matrices are then constructed and written
to file "prefix".bin."timestep" in binary format and to file
"prefix".log for each wavevector <B>q</B>.
<P>This fix uses positions of atoms in the specified group and calculates
two-point correlations. To achieve this. the positions of the atoms
are examined every <I>Nevery</I> steps and are Fourier-transformed into
reciprocal space, where the averaging process and correlation
computation is then done. After every <I>Noutput</I> measurements, the
matrix <B>G</B>(<B>q</B>) is calculated and inverted to obtain the elastic
stiffness coefficients. The dynamical matrices are then constructed
and written to <I>prefix</I>.bin.timestep files in binary format and to the
file <I>prefix</I>.log for each wavevector <B>q</B>.
</P>
<P>A detailed description of this method can be found in (<A HREF = "#kong2011">Kong2011</A>).
<P>A detailed description of this method can be found in
(<A HREF = "#Kong2011">Kong2011</A>).
</P>
<P>The <I>sysdim</I> keyword is optional, if specified and its value is
smaller than the dimensionality of the molecular dynamics simulation,
its value will be taken as the dimensionality of the system under
study. For example, in LAMMPS, one can simulate a 2D or 3D system,
while if one wants to study the phonon dispersion of a 1D atomic
chain, one can set the <I>sysdim</I> keyword to be <I>1</I> and the code will
assume a 1D system is studied.
<P>The <I>sysdim</I> keyword is optional. If specified with a value smaller
than the dimensionality of the LAMMPS simulation, its value is used
for the dynamical matrix calculation. For example, using LAMMPS ot
model a 2D or 3D system, the phonon dispersion of a 1D atomic chain
can be computed using <I>sysdim</I> = 1.
</P>
<P>The <I>nasr</I> keyword is optional. An iterative procedure is employed to
<P>The <I>nasr</I> keyword is optional. An iterative procedure is employed to
enforce the acoustic sum rule on &Phi; at &Gamma;, and the number
provided by keyword <I>nasr</I> gives the total number of iterations. For
provided by keyword <I>nasr</I> gives the total number of iterations. For a
system whose unit cell has only one atom, <I>nasr</I> = 1 is sufficient;
while for other systems, <I>nasr</I> = 10 should be enough.
for other systems, <I>nasr</I> = 10 is typically sufficient.
</P>
<P>The <I>map_file</I> contains the mapping information between the lattice
indices and the atom IDs, which simply tells the code which atom sits
at which lattice point; the lattice indices start from 0. An auxiliary
indices and the atom IDs, which tells the code which atom sits at
which lattice point; the lattice indices start from 0. An auxiliary
code, <A HREF = "http://code.google.com/p/latgen">latgen</A>, can be employed to
generate the compatible map file for various crystals.
</P>
<P>The unit of the measured dynamical matrix is
<A HREF = "units.html">energy/distance^2/mass</A>. The coordinates for <I>q</I> points
in the log file is in unit of the basis vectors of the corresponding
reciprocal lattice.
<P>The calculated dynamical matrix elements are written out in
<A HREF = "units.html">energy/distance^2/mass</A> units. The coordinates for <I>q</I>
points in the log file is in the units of the basis vectors of the
corresponding reciprocal lattice.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option
is supported by this fix. You can use it to change the
temperature compute from thermo_temp to the one that reflects the true
temperature of atoms in the group.
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this
fix. You can use it to change the temperature compute from thermo_temp
to the one that reflects the true temperature of atoms in the group.
</P>
<P>No global scalar or vector or per-atom
quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>.
Instead, this fix outputs the initialization information (in which the
mapping information can be found) and the calculated
dynamical matrices into file "prefix".log, where "prefix" will be
replaced by the prefix given; besides, the
dynamical matrices will also be written to file
"prefix".bin."timestep" in binary format, which could be
used by a postprocessing code <I>phana</I> to get the phonon density of states
and/or phonon dispersion curves.
At the end of run, these information will also be written.
<P>No global scalar or vector or per-atom quantities are stored by this
fix for access by various <A HREF = "Section_howto.html#4_15">output commands</A>.
</P>
<P>Instead, this fix outputs its initialization information (including
mapping information) and the calculated dynamical matrices to the file
<I>prefix</I>.log, with the specified <I>prefix</I>. The dynamical matrices are
also written to files <I>prefix</I>.bin.timestep in binary format. These
can be read by the post-processing tool in tools/phonon to compute the
phonon density of states and/or phonon dispersion curves.
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords
of the <A HREF = "run.html">run</A> command.
@ -161,33 +155,36 @@ of the <A HREF = "run.html">run</A> command.
</P>
<P><B>Restrictions:</B>
</P>
<P>This fix assumes a crystalline system with periodical lattice. The temperature
of the system should not exceed the melting temperature to keep in solid state.
<P>This fix assumes a crystalline system with periodical lattice. The
temperature of the system should not exceed the melting temperature to
keep the system in its solid state.
</P>
<P>This fix is part of the USER-PHONON 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>
<P>This fix requires LAMMPS be built with an FFT library. See the
<A HREF = "Section_start.html#start_2">Making LAMMPS</A> section for more info.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "compute_msd.html">compute msd</A>
</P>
<P><A HREF = "http://code.google.com/p/fix-gfmd">fix gfc</A>
</P>
<P><B>Note:</B> Compiling of this fix along with LAMMPS requires that the
<A HREF = "kspace_style.html">FFT3d wrappers of kspace</A> of LAMMPS is included
while compiling.
</P>
<P><B>Default:</B>
</P>
<P>The option defaults are <I>sysdim</I> = domain->dimension, <I>nasr</I> = 20.
<P>The option defaults are sysdim = the same dimemsion as specified by
the <A HREF = "dimension">dimension</A> command, and nasr = 20.
</P>
<HR>
<A NAME = "campana"></A>
<A NAME = "Campana"></A>
<P><B>(Campa&ntilde;&aacute;)</B> C. Campa&ntilde;&aacute; and
M. H. M&uuml;ser, <I>Practical Green's function approach to the
simulation of elastic semi-infinite solids</I>, <A HREF = "http://dx.doi.org/10.1103/PhysRevB.74.075420">Phys. Rev. B <B>74</B>,
075420 (2006)</A>
</P>
<A NAME = "kong"></A>
<A NAME = "Kong"></A>
<P><B>(Kong)</B> L.T. Kong, G. Bartels, C. Campa&ntilde;&aacute;,
C. Denniston, and Martin H. M&uuml;ser, <I>Implementation of Green's
@ -200,7 +197,7 @@ Physics Communications <B>180</B>(6):1004-1010
method</I>, <A HREF = "http://dx.doi.org/10.1016/j.cpc.2010.10.006">Computer Physics Communications <B>182</B>(2):540-541
(2011).</A>
</P>
<A NAME = "kong2011"></A>
<A NAME = "Kong2011"></A>
<P><B>(Kong2011)</B> L.T. Kong, <I>Phonon dispersion measured directly from
molecular dynamics simulations</I>, <A HREF = "http://dx.doi.org/10.1016/j.cpc.2011.04.019">Computer Physics Communications

View File

@ -22,9 +22,9 @@ prefix = prefix for output files :l
one or none keyword/value pairs may be appended :l
keyword = {sysdim} or {nasr} :l
{sysdim} value = d
d = dimension of the system, usually is the same as the MD dimension.
d = dimension of the system, usually the same as the MD model dimension
{nasr} value = n
n = number of iterations to enforce the acoustic sum rule. :pre
n = number of iterations to enforce the acoustic sum rule :pre
:ule
[Examples:]
@ -34,7 +34,7 @@ fix 1 all phonon 20 5000 200000 map.in EAM3D :pre
[Description:]
To measure the dynamical matrix from molecular dynamics simulations
Calculate the dynamical matrix from molecular dynamics simulations
based on fluctuation-dissipation theory for a group of atoms.
Consider a crystal with {N} unit cells in three dimensions labelled {l
@ -43,9 +43,9 @@ are integers. Each unit cell is defined by three linearly independent
vectors [a]<sub>1</sub>, [a]<sub>2</sub>, [a]<sub>3</sub> forming a
parallelipiped, containing {K} basis atoms labelled {k}.
Based on fluctuation-dissipation theory, the force costant
coefficients of the system in the reciprocal space could be given by
("Campa&ntilde;&aacute;"_#campana , "Kong"_#kong)
Based on fluctuation-dissipation theory, the force constant
coefficients of the system in reciprocal space are given by
("Campa&ntilde;&aacute;"_#Campana , "Kong"_#Kong)
<center><b>&Phi;</b><sub>k&alpha;,k'&beta;</sub>(<b>q</b>) =
k<sub>B</sub>T
<b>G</b><sup>-1</sup><sub>k&alpha;,k'&beta;</sub>(<b>q</b>),</center>
@ -55,14 +55,14 @@ where [G] is the Green's functions coefficients given by
<center><b>G</b><sub>k&alpha;,k'&beta;</sub>(<b>q</b>) =
<<b>u</b><sub>k&alpha;</sub>(<b>q</b>)&#149;<b>u</b><sub>k'&beta;</sub><sup>*</sup>(<b>q</b>)>,</center>
where <...> denotes the enssemble average and
where <...> denotes the ensemble average, and
<center>[u]<sub>k&alpha;</sub>(<b>q</b>) = &sum;<sub>l</sub>
<b>u</b><sub>lk&alpha;</sub> exp(i[qr]<sub>l</sub>)</center>
is the &alpha; component of the atomic displacement for the {k}th atom
in the unit cell in the reciprocal space at [q]. In practice, the
Green's functions coefficients can also be measured according to the
following formula,
in the unit cell in reciprocal space at [q]. In practice, the Green's
functions coefficients can also be measured according to the following
formula,
<center><b>G</b><sub>k&alpha;,k'&beta;</sub>(<b>q</b>) =
<<b>R</b><sub>k&alpha;</sub>(<b>q</b>)&#149;<b>R</b><sup>*</sup><sub>k'&beta;</sub>(<b>q</b>)>
@ -70,76 +70,70 @@ following formula,
</center>
where [R] is the instantaneous positions of atoms, and <[R]> is the
averaged atomic positions. It gives essentially the same
results as the displacement method and is easier to implement into an MD code.
averaged atomic positions. It gives essentially the same results as
the displacement method and is easier to implement in an MD code.
Once the force constant matrix is known, the dynamical matrix [D]
could then be obtained by
Once the force constant matrix is known, the dynamical matrix [D] can
then be obtained by
<center><b>D</b><sub>k&alpha;, k'&beta;</sub>(<b>q</b>) = (m<sub>k</sub>m<sub>k'</sub>)<sup>-1/2</sup> <b>&Phi;</b><sub>k&alpha;,k'&beta;</sub>(<b>q</b>)</center>
whose eigenvalues are exactly the phonon frequencies at [q].
This fix observes the positions of atoms in the corresponding group
and the two-point correlations. To achieve this the positions of the
atoms are examined every Nevery steps and are Fourier-transformed
(with "FFT3d wrapper"_kspace_style.html from kspace package of LAMMPS)
into reciprocal space, in which the averaging process and correlation
computation is then done. After every Noutput measurements, the matrix
[G]([q]) is calculated and inverted to get the elastic stiffness
coefficients. The dynamical matrices are then constructed and written
to file "prefix".bin."timestep" in binary format and to file
"prefix".log for each wavevector [q].
This fix uses positions of atoms in the specified group and calculates
two-point correlations. To achieve this. the positions of the atoms
are examined every {Nevery} steps and are Fourier-transformed into
reciprocal space, where the averaging process and correlation
computation is then done. After every {Noutput} measurements, the
matrix [G]([q]) is calculated and inverted to obtain the elastic
stiffness coefficients. The dynamical matrices are then constructed
and written to {prefix}.bin.timestep files in binary format and to the
file {prefix}.log for each wavevector [q].
A detailed description of this method can be found in ("Kong2011"_#kong2011).
A detailed description of this method can be found in
("Kong2011"_#Kong2011).
The {sysdim} keyword is optional, if specified and its value is
smaller than the dimensionality of the molecular dynamics simulation,
its value will be taken as the dimensionality of the system under
study. For example, in LAMMPS, one can simulate a 2D or 3D system,
while if one wants to study the phonon dispersion of a 1D atomic
chain, one can set the {sysdim} keyword to be {1} and the code will
assume a 1D system is studied.
The {sysdim} keyword is optional. If specified with a value smaller
than the dimensionality of the LAMMPS simulation, its value is used
for the dynamical matrix calculation. For example, using LAMMPS ot
model a 2D or 3D system, the phonon dispersion of a 1D atomic chain
can be computed using {sysdim} = 1.
The {nasr} keyword is optional. An iterative procedure is employed to
The {nasr} keyword is optional. An iterative procedure is employed to
enforce the acoustic sum rule on &Phi; at &Gamma;, and the number
provided by keyword {nasr} gives the total number of iterations. For
provided by keyword {nasr} gives the total number of iterations. For a
system whose unit cell has only one atom, {nasr} = 1 is sufficient;
while for other systems, {nasr} = 10 should be enough.
for other systems, {nasr} = 10 is typically sufficient.
The {map_file} contains the mapping information between the lattice
indices and the atom IDs, which simply tells the code which atom sits
at which lattice point; the lattice indices start from 0. An auxiliary
indices and the atom IDs, which tells the code which atom sits at
which lattice point; the lattice indices start from 0. An auxiliary
code, "latgen"_http://code.google.com/p/latgen, can be employed to
generate the compatible map file for various crystals.
The unit of the measured dynamical matrix is
"energy/distance^2/mass"_units.html. The coordinates for {q} points
in the log file is in unit of the basis vectors of the corresponding
reciprocal lattice.
The calculated dynamical matrix elements are written out in
"energy/distance^2/mass"_units.html units. The coordinates for {q}
points in the log file is in the units of the basis vectors of the
corresponding reciprocal lattice.
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
files"_restart.html.
The "fix_modify"_fix_modify.html {temp} option
is supported by this fix. You can use it to change the
temperature compute from thermo_temp to the one that reflects the true
temperature of atoms in the group.
The "fix_modify"_fix_modify.html {temp} option is supported by this
fix. You can use it to change the temperature compute from thermo_temp
to the one that reflects the true temperature of atoms in the group.
No global scalar or vector or per-atom
quantities are stored by this fix for access by various "output
commands"_Section_howto.html#4_15.
Instead, this fix outputs the initialization information (in which the
mapping information can be found) and the calculated
dynamical matrices into file "prefix".log, where "prefix" will be
replaced by the prefix given; besides, the
dynamical matrices will also be written to file
"prefix".bin."timestep" in binary format, which could be
used by a postprocessing code {phana} to get the phonon density of states
and/or phonon dispersion curves.
At the end of run, these information will also be written.
No global scalar or vector or per-atom quantities are stored by this
fix for access by various "output commands"_Section_howto.html#4_15.
Instead, this fix outputs its initialization information (including
mapping information) and the calculated dynamical matrices to the file
{prefix}.log, with the specified {prefix}. The dynamical matrices are
also written to files {prefix}.bin.timestep in binary format. These
can be read by the post-processing tool in tools/phonon to compute the
phonon density of states and/or phonon dispersion curves.
No parameter of this fix can be used with the {start/stop} keywords
of the "run"_run.html command.
@ -148,32 +142,35 @@ This fix is not invoked during "energy minimization"_minimize.html.
[Restrictions:]
This fix assumes a crystalline system with periodical lattice. The temperature
of the system should not exceed the melting temperature to keep in solid state.
This fix assumes a crystalline system with periodical lattice. The
temperature of the system should not exceed the melting temperature to
keep the system in its solid state.
This fix is part of the USER-PHONON 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.
This fix requires LAMMPS be built with an FFT library. See the
"Making LAMMPS"_Section_start.html#start_2 section for more info.
[Related commands:]
"compute msd"_compute_msd.html
"fix gfc"_http://code.google.com/p/fix-gfmd
[Note:] Compiling of this fix along with LAMMPS requires that the
"FFT3d wrappers of kspace"_kspace_style.html of LAMMPS is included
while compiling.
[Default:]
The option defaults are {sysdim} = domain->dimension, {nasr} = 20.
The option defaults are sysdim = the same dimemsion as specified by
the "dimension"_dimension command, and nasr = 20.
:line
:link(campana)
:link(Campana)
[(Campa&ntilde;&aacute;)] C. Campa&ntilde;&aacute; and
M. H. M&uuml;ser, {Practical Green's function approach to the
simulation of elastic semi-infinite solids}, "Phys. Rev. B [74],
075420 (2006)"_http://dx.doi.org/10.1103/PhysRevB.74.075420
:link(kong)
:link(Kong)
[(Kong)] L.T. Kong, G. Bartels, C. Campa&ntilde;&aacute;,
C. Denniston, and Martin H. M&uuml;ser, {Implementation of Green's
function molecular dynamics: An extension to LAMMPS}, "Computer
@ -185,7 +182,7 @@ L.T. Kong, C. Denniston, and Martin H. M&uuml;ser,
method}, "Computer Physics Communications [182](2):540-541
(2011)."_http://dx.doi.org/10.1016/j.cpc.2010.10.006
:link(kong2011)
:link(Kong2011)
[(Kong2011)] L.T. Kong, {Phonon dispersion measured directly from
molecular dynamics simulations}, "Computer Physics Communications
[182](10):2201-2207,