Hi all, Just a quick heads-up, there are some minor errors in the perfectpattern code with respect to the convergence criteria. Also I have made some improvements and added a “counting statistics”-like Poisson error to more closely approach real data. These updates have now been posted on the software page.
…well, his famous SAXS analysis method. This documentGuinier_short, copyright Brian Pauw gives a short description and review of the applicability of the Guinier method to polydisperse systems. It also shows, through analysis of simulated data, what q-range should be measured for the Guinier method to be valid. In short, the rule of qmax=1.3/Rg still holds, but Rg in polydisperse systems is the volume-squared weighted Rg of the distribution. This then implies that the Guinier method for polydisperse systems quickly becomes unusable as the required qmax cannot be reached with anything but USAXS systems for polydisperse samples. This text (the linked PDF) is released under copyright (copyright by Brian R. Pauw, 2011) as I may want to include some of this in a later publication. I hope you understand…
Do not fret, for I have more software (with documentation!) lined up for presentation on this website soon, but I am still working on the documentation. Please bear with me as I shamelessly promote another publication of mine that came out just days ago. The paper is available here: http://dx.doi.org/10.1016/j.polymer.2010.07.045 It concerns curious observations of oscillations in the scattering pattern from looped single filaments of aramid filaments. As an aside, loading the 12-micron filaments into the microchannel devices is for young eyes only, and even then may be accompanied by expletives. Nevertheless, I am very happy that this is published.
I have written some small, simple bits of Matlab software that can generate scattering patterns in the range you request for polydisperse, dilute spheres or ellipsoids. While nothing new per se, this implementation is guaranteed to produce correct scattering patterns irrespective of the width of the distribution. Allow me to quickly explain. The normal way of calculating these patterns in fitting functions and the likes, is to choose an upper size limit (perhaps related to the width and mean of the distribution), and divide the size range between zero and this upper limit into perhaps 100 different sizes. Then the scattering pattern of each of these contributions is calculated, multiplied with their probability (obtained from the probability (or size) distribution function), multiplied with the square of the particle volume for that size, and then summed. In all, then, this is a numeric integration over the volume-square weighted size distribution. The problem lies in the determination of the upper limit and the number of divisions required. In the past, I have tried using the cumulative distribution function to select “smart” divisions, or adjusting the width and mean to compensate for the volume-square weighting, but this often resulted in the appearance of oscillatory behaviour in the scattering patterns. An alternative solution was therefore required. These functions are not necessarily fast enough for fitting purposes, but they can be used for checking the applicability of your fitting procedures. You should get out of your fitting functions what you put into these simulated patterns. These functions work by random generation of a number of spheres or ellipsoids. A scattering pattern is calculated from an initial number of spheres or ellipsoids. Then, the scattering pattern is calculated of the original block with the addition of a new set of shapes. This is repeated until the effect of adding a new block on the scattering pattern no longer exceeds a certain threshold. Included are the programs for generating scattering patterns using polydisperse distributions of spheres or ellipsoids. All distributions supported by the “statistics library”‘s RANDOM function are available. For ellipsoids, an additional distribution can be used for the aspect ratio. If the use is not clear, let me know and I will write some more extensive documentation. The programs are: perfectpattern_spheres and perfectpattern_ellipsoids. Have fun!