forked from lijiext/lammps
196 lines
7.9 KiB
HTML
196 lines
7.9 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>compute saed command
|
|
</H3>
|
|
<P><B>Syntax:</B>
|
|
</P>
|
|
<PRE>compute ID group-ID saed lambda type1 type2 ... typeN keyword value ...
|
|
</PRE>
|
|
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
|
|
|
|
<LI>saed = style name of this compute command
|
|
|
|
<LI>lambda = wavelength of incident radiation (length units)
|
|
|
|
<LI>type1 type2 ... typeN = chemical symbol of each atom type (see valid options below)
|
|
|
|
<LI>zero or more keyword/value pairs may be appended
|
|
|
|
<LI>keyword = <I>Kmax</I> or <I>Zone</I> or <I>dR_Ewald</I> or <I>c</I> or <I>manual</I> or <I>echo</I>
|
|
|
|
<PRE> <I>Kmax</I> value = Maximum distance explored from reciprocal space origin
|
|
(inverse length units)
|
|
<I>Zone</I> values = z1 z2 z3
|
|
z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all
|
|
reciprocal space will be meshed up to <I>Kmax</I>
|
|
<I>dR_Ewald</I> value = Thickness of Ewald sphere slice intercepting
|
|
reciprocal space (inverse length units)
|
|
<I>c</I> values = c1 c2 c3
|
|
c1,c2,c3 = parameters to adjust the spacing of the reciprocal
|
|
lattice nodes in the h, k, and l directions respectively
|
|
<I>manual</I> = flag to use manual spacing of reciprocal lattice points
|
|
based on the values of the <I>c</I> parameters
|
|
<I>echo</I> = flag to provide extra output for debugging purposes
|
|
</PRE>
|
|
|
|
</UL>
|
|
<P><B>Examples:</B>
|
|
</P>
|
|
<PRE>compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5
|
|
compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo
|
|
</PRE>
|
|
<PRE>fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed
|
|
fix saed/vtk 1 1 1 c_2 file Ni_000.saed
|
|
</PRE>
|
|
<P><B>Description:</B>
|
|
</P>
|
|
<P>Define a computation that calculates electron diffraction intensity as
|
|
described in <A HREF = "#Coleman">(Coleman)</A> on a mesh of reciprocal lattice nodes
|
|
defined by the entire simulation domain (or manually) using simulated
|
|
radiation of wavelength lambda.
|
|
</P>
|
|
<P>The electron diffraction intensity I at each reciprocal lattice point
|
|
is computed from the structure factor F using the equations:
|
|
</P>
|
|
<CENTER><IMG SRC = "Eqs/compute_saed1.jpg">
|
|
</CENTER>
|
|
<CENTER><IMG SRC = "Eqs/compute_saed2.jpg">
|
|
</CENTER>
|
|
<P>Here, K is the location of the reciprocal lattice node, rj is the
|
|
position of each atom, fj are atomic scattering factors.
|
|
</P>
|
|
<P>Diffraction intensities are calculated on a three-dimensional mesh of
|
|
reciprocal lattice nodes. The mesh spacing is defined either (I) by
|
|
the entire simulation domain or (II) manually using selected values as
|
|
shown in the 2D diagram below.
|
|
</P>
|
|
<CENTER><A HREF = "saed_mesh.jpg"><IMG SRC = "JPG/saed_mesh_small.jpg"></A>
|
|
</CENTER>
|
|
<P>For a mesh defined by the simulation domain, a rectilinear grid is
|
|
constructed with spacing <I>c</I>*inv(A) along each reciprocal lattice
|
|
axis. Where A are the vectors corresponding to the edges of the
|
|
simulation cell. If one or two directions has non-periodic boundary
|
|
conditions, then the spacing in these directions is defined from the
|
|
average of the (inversed) box lengths with periodic boundary conditions.
|
|
Meshes defined by the simulation domain must contain at least one periodic
|
|
boundary.
|
|
</P>
|
|
<P>If the <I>manual</I> flag is included, the mesh of reciprocal lattice nodes
|
|
will defined using the <I>c</I> values for the spacing along each reciprocal
|
|
lattice axis. Note that manual mapping of the reciprocal space mesh is
|
|
good for comparing diffraction results from multiple simulations; however
|
|
it can reduce the likelihood that Bragg reflections will be satisfied
|
|
unless small spacing parameters <B><0.05 Angstrom^(-1)</B> are implemented.
|
|
Meshes with manual spacing do not require a periodic boundary.
|
|
</P>
|
|
<P>The limits of the reciprocal lattice mesh are determined by the use of
|
|
the <I>Kmax</I>, <I>Zone</I>, and <I>dR_Ewald</I> parameters. The rectilinear mesh
|
|
created about the origin of reciprocal space is terminated at the
|
|
boundary of a sphere of radius <I>Kmax</I> centered at the origin. If
|
|
<I>Zone</I> parameters z1=z2=z3=0 are used, diffraction intensities are
|
|
computed throughout the entire spherical volume - note this can greatly
|
|
increase the cost of computation. Otherwise, <I>Zone</I> parameters will
|
|
denote the z1=h, z2=k, and z3=l (in a global since) zone axis of an
|
|
intersecting Ewald sphere. Diffraction intensities will only be
|
|
computed at the intersection of the reciprocal lattice mesh and a
|
|
<I>dR_Ewald</I> thick surface of the Ewald sphere. See the example 3D
|
|
intestiety data and the intersection of a <B>010</B> zone axis in the below image.
|
|
</P>
|
|
<CENTER><A HREF = "saed_ewald_intersect.jpg"><IMG SRC = "JPG/saed_ewald_intersect_small.jpg"></A>
|
|
</CENTER>
|
|
<P>The atomic scattering factors, fj, accounts for the reduction in
|
|
diffraction intensity due to Compton scattering. Compute saed uses
|
|
analytical approximations of the atomic scattering factors that vary
|
|
for each atom type (type1 type2 ... typeN) and angle of diffraction.
|
|
The analytic approximation is computed using the formula
|
|
<A HREF = "#Brown">(Brown)</A>:
|
|
</P>
|
|
<CENTER><IMG SRC = "Eqs/compute_saed3.jpg">
|
|
</CENTER>
|
|
<P>Coefficients parameterized by <A HREF = "#Fox">(Fox)</A> are assigned for each
|
|
atom type designating the chemical symbol and charge of each atom
|
|
type. Valid chemical symbols for compute saed are:
|
|
</P>
|
|
<P> H: He: Li: Be: B:
|
|
C: N: O: F: Ne:
|
|
Na: Mg: Al: Si: P:
|
|
S: Cl: Ar: K: Ca:
|
|
Sc: Ti: V: Cr: Mn:
|
|
Fe: Co: Ni: Cu: Zn:
|
|
Ga: Ge: As: Se: Br:
|
|
Kr: Rb: Sr: Y: Zr:
|
|
Nb: Mo: Tc: Ru: Rh:
|
|
Pd: Ag: Cd: In: Sn:
|
|
Sb: Te: I: Xe: Cs:
|
|
Ba: La: Ce: Pr: Nd:
|
|
Pm: Sm: Eu: Gd: Tb:
|
|
Dy: Ho: Er: Tm: Yb:
|
|
Lu: Hf: Ta: W: Re:
|
|
Os: Ir: Pt: Au: Hg:
|
|
Tl: Pb: Bi: Po: At:
|
|
Rn: Fr: Ra: Ac: Th:
|
|
Pa: U: Np: Pu: Am:
|
|
Cm: Bk: Cf:
|
|
</P>
|
|
<P>If the <I>echo</I> keyword is specified, compute saed will provide extra
|
|
reporting information to the screen.
|
|
</P>
|
|
<P><B>Output info:</B>
|
|
</P>
|
|
<P>This compute calculates a global vector. The length of the vector is
|
|
the number of reciprocal lattice nodes that are explored by the mesh.
|
|
The entries of the global vector are the computed diffraction
|
|
intensities as described above.
|
|
</P>
|
|
<P>The vector can be accessed by any command that uses global values
|
|
from a compute as input. See <A HREF = "Section_howto.html#howto_15">this
|
|
section</A> for an overview of LAMMPS output
|
|
options.
|
|
</P>
|
|
<P>All array values calculated by this compute are "intensive".
|
|
</P>
|
|
<P><B>Restrictions:</B>
|
|
</P>
|
|
<P>This command is part of the USER-DIFFRACTION 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 command does not work for triclinic cells.
|
|
</P>
|
|
<P><B>Related commands:</B>
|
|
</P>
|
|
<P><A HREF = "fix_saed_vtk.html">fix saed_vtk</A>, <A HREF = "compute_xrd.html">compute xrd</A>
|
|
</P>
|
|
<P><B>Default:</B>
|
|
</P>
|
|
<P>The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald =
|
|
0.01.
|
|
</P>
|
|
<HR>
|
|
|
|
<A NAME = "Coleman"></A>
|
|
|
|
<P><B>(Coleman)</B> Coleman, Spearot, Capolungo, MSMSE, 21, 055020
|
|
(2013).
|
|
</P>
|
|
<A NAME = "Brown"></A>
|
|
|
|
<P><B>(Brown)</B> Brown et al. International Tables for Crystallography
|
|
Volume C: Mathematical and Chemical Tables, 554-95 (2004).
|
|
</P>
|
|
<A NAME = "Fox"></A>
|
|
|
|
<P><B>(Fox)</B> Fox, O'Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93
|
|
(1989).
|
|
</P>
|
|
</HTML>
|