I recently wrote a little jiffy program for calculating "general
scattering" images that could perhaps be useful for answering some of
the questions raised on this thread:
http://bl831.als.lbl.gov/~jamesh/nearBragg/nearBragg2D.c
Instructions for compiling and running are in this text file:
http://bl831.als.lbl.gov/~jamesh/nearBragg/example.com
No libraries are required! You give nearBragg2D a text file containing
one x y z "atom" position per line in Angstrom (and optionally some
camera parameters that have sensible defaults) and it writes out an
SMV-format image file of normalized intensity at the detector. Plus
some raw binary "float" files that contain the absolute structure factor
at the center of each pixel.
nearBragg2D makes no assumptions whatsoever about unit cells, FFTs,
acoustic vs optical or whatever diffuse scattering, or even Bragg's law
(and the far-field approximations he made). All it does is calculate
the distance from one or more source points to each "atom" and then from
the "atom" to the center of a detector pixel. Then it adds up the sin()
and cos() of all such paths through all listed atoms and squares the
result to get intensity. It is actually a very short program (~300
lines). The atoms are considered point scatterers with an intrinsic
structure factor of "1" in all directions. That is, they don't have
form factors or anything like that. It is up to you to make a list of
atoms at positions that you find interesting. I find it most
instructive to start with one atom at "0 0 0" and then start adding new
atoms to see what happens, as in the example.com file.
I have found this code to be highly informative, and originally wrote it
to try to understand exactly how different kinds of lattice disorder
affect scattering. It is also useful to explore when a "lattice
translocation defect" becomes twinning, and figure out when diffuse
scattering "tails" that are "under the spots" become "important". The
answer to the last question appears to be "never". The
"background"-subtracted spot intensities really are the square of the
Fourier transform of the AVERAGE electron density in a unit cell. Yes,
the arithmetic average. Does not matter where the background comes
from. This is another beer I owe Colin.
However, somehow I get the feeling that not everyone will agree with me
on this. So, I have provided the code so that interested parties can do
their own "experiments" and come to their own conclusions. nearBragg2D
might even be a useful teaching tool. I think it would be instructive
to the original poster and other BBers if interested parties can "prove
me wrong" by coming up with a constellation of points in space that
exemplify the point they are trying to make.
In keeping with my own request, I present the calculated general
scattering from a 101^3 lattice of points when the points are moved from
their ideal positions by a Gaussian-distributed displacement:
http://bl831.als.lbl.gov/~jamesh/nearBragg/diffuse_scatter_nearBragg.png
The error bars are the mean (and sigma) of intensity from 10,000 runs of
nearBragg using different random number seeds for the displacements
(with rmsd consistent with the indicated B factor), and the solid lines
are the result of multiplying the "perfect lattice" scattering by
exp(-B*s^2). I chose a spot (at 1.81 A) that was about to "wink out" to
demonstrate that the theoretical intensity using the B-factor is
actually "riding" on top of the diffuse scatter. For a completely
disordered group of atoms, the theoretical "diffuse scatter" in this
case is simply "1", since that is the scattering from one "atom" and for
this graph I am dividing the result printed out by nearBragg by the
number of atoms in the list. The point I am trying to make here is that
background subtraction really does give you the scattering from the
average unit cell electron density.
Happy scattering!
-James Holton
MAD Scientist
Richard Gillilan wrote:
David had developed an empirical theory to model the air, solvent,
Compton & acoustic contributions and correct the integrated data for
these, without background correction of course since the optic DS
background was ultimately to be our data!
...
Hi Ian, did David publish this theory somewhere? I'd love to get a
reference.
I'm genuinely confused by this because I thought the whole point of
modern focusing optics (or at least the confocal mirror design) is to
focus the beam onto (or close to) the sample, in which case
wouldn't the
photons diverge from the 'virtual source' (actually a real
image of the
real source) at the crystal, instead of from the real source? So then
Bragg spots (and therefore also the acoustic DS) should
diverge from the
position of this virtual source?
Cheers
-- Ian
This does seem confusing now. Here at CHESS, focus is either at the
collimator (just upstream of the sample), or, in the case of
capillaries, on the sample. In rare cases, on the detector. True, the
focal spot would be a virtual source and, if the spot is reflected by
an ideal crystal, that wouldn't change anything. But it is a very well
collimated source even though it is slightly divergent (by a few mrad
at most) ... this is in contrast to background scatter where photons
are emitted in the whole q range (assuming it is "that kind" of
scatter). So maybe it is more accurate to say Bragg reflections and
background scatter are two rather different kinds of sources located
at the crystal.
Pardon my ignorance, but how can lattice phonons be a significant
effect at low temperature? I presume the correlated displacements you
refer to must be phonon modes frozen in place to create static
disorder or something like that ... or perhaps stuff is moving more
than I think at 100 K.
Richard