From dd6ff4ebce90893a30b4556efaeb80ab21fdcc69 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Mon, 11 Mar 2013 21:36:58 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@9640 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/Section_tools.html | 3 +- doc/Section_tools.txt | 3 +- doc/fix_phonon.html | 135 ++++++++++++++++++++--------------------- doc/fix_phonon.txt | 135 ++++++++++++++++++++--------------------- 4 files changed, 136 insertions(+), 140 deletions(-) diff --git a/doc/Section_tools.html b/doc/Section_tools.html index c72e929b82..ae6e82ec8d 100644 --- a/doc/Section_tools.html +++ b/doc/Section_tools.html @@ -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.

-

This tool was written by Ling-Ti Kong. +

This tool was written by Ling-Ti Kong at Shanghai Jiao Tong +University.


diff --git a/doc/Section_tools.txt b/doc/Section_tools.txt index 0e05ccc010..15a270c515 100644 --- a/doc/Section_tools.txt +++ b/doc/Section_tools.txt @@ -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 diff --git a/doc/fix_phonon.html b/doc/fix_phonon.html index a97aa93c9f..0c46909990 100644 --- a/doc/fix_phonon.html +++ b/doc/fix_phonon.html @@ -34,9 +34,9 @@
  • keyword = sysdim or nasr
      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. 
    +    n = number of iterations to enforce the acoustic sum rule 
     
    @@ -47,7 +47,7 @@ fix 1 all phonon 20 5000 200000 map.in EAM3D

    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 @@ -56,9 +56,9 @@ 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) +

    Based on fluctuation-dissipation theory, the force constant +coefficients of the system in reciprocal space are given by +(Campañá , Kong)

    Φkα,k'β(q) = kBT G-1kα,k'β(q),
    @@ -68,14 +68,14 @@ kBT
    Gkα,k'β(q) = <u(q)•uk'β*(q)>,
    -

    where <...> denotes the enssemble average and +

    where <...> denotes the ensemble average, and

    u(q) = ∑l ulkα exp(iqrl)

    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, +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,

    Gkα,k'β(q) = <R(q)•R*k'β(q)> @@ -83,76 +83,70 @@ 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. +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

    Dkα, k'β(q) = (mkmk')-1/2 Φkα,k'β(q)

    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. +

    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). +

    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 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 Φ at Γ, 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, 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. +

    The calculated dynamical matrix elements are written out in +energy/distance^2/mass 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.

    -

    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. +

    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 global scalar or vector or per-atom quantities are stored by this +fix for access by various output commands. +

    +

    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 command. @@ -161,33 +155,36 @@ of the run command.

    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 for more info. +

    +

    This fix requires LAMMPS be built with an FFT library. See the +Making LAMMPS section for more info.

    Related commands:

    compute msd

    -

    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. +

    The option defaults are sysdim = the same dimemsion as specified by +the dimension command, and 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 @@ -200,7 +197,7 @@ Physics Communications 180(6):1004-1010 method, Computer Physics Communications 182(2):540-541 (2011).

    - +

    (Kong2011) L.T. Kong, Phonon dispersion measured directly from molecular dynamics simulations, Computer Physics Communications diff --git a/doc/fix_phonon.txt b/doc/fix_phonon.txt index 14e9bac029..9590ded071 100644 --- a/doc/fix_phonon.txt +++ b/doc/fix_phonon.txt @@ -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]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) +Based on fluctuation-dissipation theory, the force constant +coefficients of the system in reciprocal space are given by +("Campañá"_#Campana , "Kong"_#Kong)

    Φkα,k'β(q) = kBT G-1kα,k'β(q),
    @@ -55,14 +55,14 @@ where [G] is the Green's functions coefficients given by
    Gkα,k'β(q) = <u(q)•uk'β*(q)>,
    -where <...> denotes the enssemble average and +where <...> denotes the ensemble average, and
    [u](q) = ∑l ulkα exp(i[qr]l)
    is the α 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,
    Gkα,k'β(q) = <R(q)•R*k'β(q)> @@ -70,76 +70,70 @@ 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. +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
    Dkα, k'β(q) = (mkmk')-1/2 Φkα,k'β(q)
    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 Φ at Γ, 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ñá)] 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)"_http://dx.doi.org/10.1103/PhysRevB.74.075420 -:link(kong) +:link(Kong) [(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 @@ -185,7 +182,7 @@ L.T. Kong, C. Denniston, and Martin H. Mü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,