diff --git a/doc/Section_commands.html b/doc/Section_commands.html index 107bfe1a60..ff9a0aa91f 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -382,7 +382,7 @@ package.
| addtorque | atc | colvars | imd | langevin/eff | meso |
| meso/stationary | nph/eff | npt/eff | nve/eff | nvt/eff | nvt/sllod/eff |
| qeq/reax | reax/c/bonds | smd | temp/rescale/eff + | ||
| phonon | qeq/reax | reax/c/bonds | smd | temp/rescale/eff |
These are accelerated fix styles, which can be used if LAMMPS is diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt index 7aa4be5208..33e724d38f 100644 --- a/doc/Section_commands.txt +++ b/doc/Section_commands.txt @@ -535,6 +535,7 @@ package"_Section_start.html#start_3. "nve/eff"_fix_nve_eff.html, "nvt/eff"_fix_nh_eff.html, "nvt/sllod/eff"_fix_nvt_sllod_eff.html, +"phonon"_fix_phonon.html, "qeq/reax"_fix_qeq_reax.html, "reax/c/bonds"_fix_reax_bonds.html, "smd"_fix_smd.html, diff --git a/doc/Section_tools.html b/doc/Section_tools.html index 991a536ad3..c72e929b82 100644 --- a/doc/Section_tools.html +++ b/doc/Section_tools.html @@ -62,6 +62,7 @@ own sub-directories with their own Makefiles.
The phonon sub-directory contains a post-processing tool useful for +analyzing the output of the fix phonon command in +the USER-PHONON package. +
+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. +
+The pymol_asphere sub-directory contains a tool for converting a diff --git a/doc/Section_tools.txt b/doc/Section_tools.txt index ff9e807613..0e05ccc010 100644 --- a/doc/Section_tools.txt +++ b/doc/Section_tools.txt @@ -58,6 +58,7 @@ own sub-directories with their own Makefiles. "micelle2d"_#micelle "moltemplate"_#moltemplate "msi2lmp"_#msi +"phonon"_#phonon "pymol_asphere"_#pymol "python"_#pythontools "reax"_#reax @@ -336,6 +337,20 @@ experiment with it yourself. :line +phonon tool :h4,link(phonon) + +The phonon sub-directory contains a post-processing tool useful for +analyzing the output of the "fix phonon"_fix_phonon.html command in +the USER-PHONON package. + +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. + +:line + pymol_asphere tool :h4,link(pymol) The pymol_asphere sub-directory contains a tool for converting a diff --git a/doc/fix_phonon.html b/doc/fix_phonon.html new file mode 100644 index 0000000000..a97aa93c9f --- /dev/null +++ b/doc/fix_phonon.html @@ -0,0 +1,210 @@ + +
Syntax: +
+fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ... ++
sysdim value = d + d = dimension of the system, usually is the same as the MD dimension. + nasr value = n + n = number of iterations to enforce the acoustic sum rule. ++ +
Examples: +
+fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1 +fix 1 all phonon 20 5000 200000 map.in EAM3D ++
Description: +
+To measure 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 += (l1,l2,l3) where li +are integers. Each unit cell is defined by three linearly independent +vectors a1, a2, a3 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ñá , Kong) +
where G is the Green's functions coefficients given by +
+where <...> denotes the enssemble average and +
is the α component of the atomic displacement for the kth 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, +
+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. +
+Once the force constant matrix is known, the dynamical matrix D +could then be obtained by +
+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 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. +
+A detailed description of this method can be found in (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 nasr keyword is optional. An iterative procedure is employed to +enforce the acoustic sum rule on Φ at Γ, and the number +provided by keyword nasr gives the total number of iterations. For +system whose unit cell has only one atom, nasr = 1 is sufficient; +while for other systems, nasr = 10 should be enough. +
+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 +code, 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. The coordinates for q points +in the log file is in unit 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. +
+The fix_modify 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. +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 parameter of this fix can be used with the start/stop keywords +of the run command. +
+This fix is not invoked during energy minimization. +
+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. +
+Related commands: +
+ +fix gfc +
+Note: Compiling of this fix along with LAMMPS requires that the +FFT3d wrappers of kspace of LAMMPS is included +while compiling. +
+Default: +
+The option defaults are sysdim = domain->dimension, nasr = 20. +
+(Campañá) C. Campañá and +M. H. Müser, Practical Green's function approach to the +simulation of elastic semi-infinite solids, Phys. Rev. B 74, +075420 (2006) +
+ + +(Kong) L.T. Kong, G. Bartels, C. Campañá, +C. Denniston, and Martin H. Müser, Implementation of Green's +function molecular dynamics: An extension to LAMMPS, Computer +Physics Communications 180(6):1004-1010 +(2009). +
+L.T. Kong, C. Denniston, and Martin H. Müser, +An improved version of the Green's function molecular dynamics +method, Computer Physics Communications 182(2):540-541 +(2011). +
+ + +(Kong2011) L.T. Kong, Phonon dispersion measured directly from +molecular dynamics simulations, Computer Physics Communications +182(10):2201-2207, +(2011). +
+ diff --git a/doc/fix_phonon.txt b/doc/fix_phonon.txt new file mode 100644 index 0000000000..14e9bac029 --- /dev/null +++ b/doc/fix_phonon.txt @@ -0,0 +1,192 @@ +"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 phonon command :h3 + +[Syntax:] + +fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +phonon = style name of this fix command :l +N = measure the Green's function every this many timesteps :l +Noutput = output the dynamical matrix every this many measurements :l +Nwait = wait this many timesteps before measuring :l +map_file = file containing the mapping info between atom ID and the lattice indices :l +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. + {nasr} value = n + n = number of iterations to enforce the acoustic sum rule. :pre +:ule + +[Examples:] + +fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1 +fix 1 all phonon 20 5000 200000 map.in EAM3D :pre + +[Description:] + +To measure 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 += (l1,l2,l3)} where {li} +are integers. Each unit cell is defined by three linearly independent +vectors [a]1, [a]2, [a]3 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ñá"_#campana , "Kong"_#kong) +