forked from lijiext/lammps
201 lines
7.9 KiB
Plaintext
201 lines
7.9 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Commands_all.html)
|
|
|
|
:line
|
|
|
|
compute xrd command :h3
|
|
|
|
[Syntax:]
|
|
|
|
compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ... :pre
|
|
|
|
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
|
xrd = style name of this compute command :l
|
|
lambda = wavelength of incident radiation (length units) :l
|
|
type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) :l
|
|
|
|
zero or more keyword/value pairs may be appended :l
|
|
keyword = {2Theta} or {c} or {LP} or {manual} or {echo} :l
|
|
{2Theta} values = Min2Theta Max2Theta
|
|
Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore
|
|
(radians or degrees)
|
|
{c} 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
|
|
{LP} value = switch to apply Lorentz-polarization factor
|
|
0/1 = off/on
|
|
{manual} = flag to use manual spacing of reciprocal lattice points
|
|
based on the values of the {c} parameters
|
|
{echo} = flag to provide extra output for debugging purposes :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo
|
|
compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual :pre
|
|
|
|
fix 1 all ave/histo/weight 1 1 1 0.087 0.87 250 c_1\[1\] c_1\[2\] mode vector file Rad2Theta.xrd
|
|
fix 2 all ave/histo/weight 1 1 1 10 100 250 c_2\[1\] c_2\[2\] mode vector file Deg2Theta.xrd :pre
|
|
|
|
[Description:]
|
|
|
|
Define a computation that calculates x-ray diffraction intensity as described
|
|
in "(Coleman)"_#xrd-Coleman on a mesh of reciprocal lattice nodes defined
|
|
by the entire simulation domain (or manually) using a simulated radiation
|
|
of wavelength lambda.
|
|
|
|
The x-ray diffraction intensity, I, at each reciprocal lattice point, k,
|
|
is computed from the structure factor, F, using the equations:
|
|
|
|
:c,image(Eqs/compute_xrd1.jpg)
|
|
:c,image(Eqs/compute_xrd2.jpg)
|
|
:c,image(Eqs/compute_xrd3.jpg)
|
|
:c,image(Eqs/compute_xrd4.jpg)
|
|
|
|
Here, K is the location of the reciprocal lattice node, rj is the
|
|
position of each atom, fj are atomic scattering factors, LP is the
|
|
Lorentz-polarization factor, and theta is the scattering angle of
|
|
diffraction. The Lorentz-polarization factor can be turned off using
|
|
the optional {LP} keyword.
|
|
|
|
Diffraction intensities are calculated on a three-dimensional mesh of
|
|
reciprocal lattice nodes. The mesh spacing is defined either (a)
|
|
by the entire simulation domain or (b) manually using selected values as
|
|
shown in the 2D diagram below.
|
|
|
|
:c,image(JPG/xrd_mesh_small.jpg,JPG/xrd_mesh.jpg)
|
|
|
|
|
|
For a mesh defined by the simulation domain, a rectilinear grid is
|
|
constructed with spacing {c}*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.
|
|
|
|
If the {manual} flag is included, the mesh of reciprocal lattice nodes
|
|
will defined using the {c} 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 (< 0.05
|
|
Angstrom^(-1)) are implemented. Meshes with manual spacing do not
|
|
require a periodic boundary.
|
|
|
|
The limits of the reciprocal lattice mesh are determined by range of
|
|
scattering angles explored. The {2Theta} parameters allows the user
|
|
to reduce the scattering angle range to only the region of interest
|
|
which reduces the cost of the computation.
|
|
|
|
The atomic scattering factors, fj, accounts for the reduction in
|
|
diffraction intensity due to Compton scattering. Compute xrd 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
|
|
"(Colliex)"_#Colliex:
|
|
|
|
:c,image(Eqs/compute_xrd5.jpg)
|
|
|
|
Coefficients parameterized by "(Peng)"_#Peng are assigned for each
|
|
atom type designating the chemical symbol and charge of each atom
|
|
type. Valid chemical symbols for compute xrd are:
|
|
|
|
H| He1-| He| Li| Li1+|
|
|
Be| Be2+| B| C| Cval|
|
|
N| O| O1-| F| F1-|
|
|
Ne| Na| Na1+| Mg| Mg2+|
|
|
Al| Al3+| Si| Sival| Si4+|
|
|
P| S| Cl| Cl1-| Ar|
|
|
K| Ca| Ca2+| Sc| Sc3+|
|
|
Ti| Ti2+| Ti3+| Ti4+| V|
|
|
V2+| V3+| V5+| Cr| Cr2+|
|
|
Cr3+| Mn| Mn2+| Mn3+| Mn4+|
|
|
Fe| Fe2+| Fe3+| Co| Co2+|
|
|
Co| Ni| Ni2+| Ni3+| Cu|
|
|
Cu1+| Cu2+| Zn| Zn2+| Ga|
|
|
Ga3+| Ge| Ge4+| As| Se|
|
|
Br| Br1-| Kr| Rb| Rb1+|
|
|
Sr| Sr2+| Y| Y3+| Zr|
|
|
Zr4+| Nb| Nb3+| Nb5+| Mo|
|
|
Mo3+| Mo5+| Mo6+| Tc| Ru|
|
|
Ru3+| Ru4+| Rh| Rh3+| Rh4+|
|
|
Pd| Pd2+| Pd4+| Ag| Ag1+|
|
|
Ag2+| Cd| Cd2+| In| In3+|
|
|
Sn| Sn2+| Sn4+| Sb| Sb3+|
|
|
Sb5+| Te| I| I1-| Xe|
|
|
Cs| Cs1+| Ba| Ba2+| La|
|
|
La3+| Ce| Ce3+| Ce4+| Pr|
|
|
Pr3+| Pr4+| Nd| Nd3+| Pm|
|
|
Pm3+| Sm| Sm3+| Eu| Eu2+|
|
|
Eu3+| Gd| Gd3+| Tb| Tb3+|
|
|
Dy| Dy3+| Ho| Ho3+| Er|
|
|
Er3+| Tm| Tm3+| Yb| Yb2+|
|
|
Yb3+| Lu| Lu3+| Hf| Hf4+|
|
|
Ta| Ta5+| W| W6+| Re|
|
|
Os| Os4+| Ir| Ir3+| Ir4+|
|
|
Pt| Pt2+| Pt4+| Au| Au1+|
|
|
Au3+| Hg| Hg1+| Hg2+| Tl|
|
|
Tl1+| Tl3+| Pb| Pb2+| Pb4+|
|
|
Bi| Bi3+| Bi5+| Po| At|
|
|
Rn| Fr| Ra| Ra2+| Ac|
|
|
Ac3+| Th| Th4+| Pa| U|
|
|
U3+| U4+| U6+| Np| Np3+|
|
|
Np4+| Np6+| Pu| Pu3+| Pu4+|
|
|
Pu6+| Am| Cm| Bk| Cf :tb(c=5,s=|)
|
|
|
|
If the {echo} keyword is specified, compute xrd will provide extra
|
|
reporting information to the screen.
|
|
|
|
[Output info:]
|
|
|
|
This compute calculates a global array. The number of rows in the
|
|
array is the number of reciprocal lattice nodes that are explored
|
|
which by the mesh. The global array has 2 columns.
|
|
|
|
The first column contains the diffraction angle in the units (radians
|
|
or degrees) provided with the {2Theta} values. The second column contains
|
|
the computed diffraction intensities as described above.
|
|
|
|
The array can be accessed by any command that uses global values from
|
|
a compute as input. See the "Howto output"_Howto_output.html doc page
|
|
for an overview of LAMMPS output options.
|
|
|
|
All array values calculated by this compute are "intensive".
|
|
|
|
[Restrictions:]
|
|
|
|
This compute is part of the USER-DIFFRACTION package. It is only
|
|
enabled if LAMMPS was built with that package. See the "Build
|
|
package"_Build_package.html doc page for more info.
|
|
|
|
The compute_xrd command does not work for triclinic cells.
|
|
|
|
[Related commands:]
|
|
|
|
"fix ave/histo"_fix_ave_histo.html,
|
|
"compute saed"_compute_saed.html
|
|
|
|
[Default:]
|
|
|
|
The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1,
|
|
no manual flag, no echo flag.
|
|
|
|
:line
|
|
|
|
:link(xrd-Coleman)
|
|
[(Coleman)] Coleman, Spearot, Capolungo, MSMSE, 21, 055020
|
|
(2013).
|
|
|
|
:link(Colliex)
|
|
[(Colliex)] Colliex et al. International Tables for Crystallography
|
|
Volume C: Mathematical and Chemical Tables, 249-429 (2004).
|
|
|
|
:link(Peng)
|
|
[(Peng)] Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76
|
|
(1996).
|