Allen J. Hall

Materials Science & Engineering, Productivity, and Life

Finally- Qspace mapping success!

I have no idea why this took so long, but I finally have the code to import and output various graphs of the reciprocal space maps (RLM or Q-space) taken using the Xpert Xray diffraction system. One of the difficulties in outputting the older data has been solved by our new line-scan detector system. The data is now taken in the more simple Omega-2Theta space instead of Omega-Omega2Theta space. With the help of Mauro Sardela, the fantastic research scientist who runs the XRD lab at the Materials Research Laboratory (FS-MRL), I’ve properly translated the data into Q-space using the same equations the Xpert Epitaxy software uses.

Having the data in MATLAB allows a number of things to be done to the data, in particular, output the data in a form much more appropriate for journal publications. The Xpert Epitaxy software outputs the data in a fairly crude form, and doesn’t give a colorized image for the Qspace plots (it does only for the Omega-2Theta plots).

The code I use utilizes the excellent XRDMLread.m function (available at this link) and then uses the meshgrid and regrid functions to translate the data into a standard gridded data in reciprocal space. Since I’m regridding the data, there is the unavoidable need to interpolate data to find representative signal levels at new coordinate points. So, it’s important to remember this with my code. Likely the Xpert Epitaxy software also does this when it reports contour lines at various levels.

There is more work to be done with my code, however. In particular, I’m stepping the meshgrid by “1″ degree, which may not be an appropriate data-density depending on the full scale of your scan. [i.e., it might be too much, or too little.] So, I need to run a simple set of code to run a fixed number of data points per scan-range, allowing the data-density to stay the same irregardless of the data-range. I also need to improve the 3D image plotting, as MATLAB does some strange z-axis scaling while plotting in 3D. I suspect the aspect command will solve the problem for me and allow camera moves without re-scaling the axes. Worst case scenario, I’ll take the data into OpenDX (DXHDF5) and use rubber-sheet and camera commands to get a better three-dimensional image than MATLAB can provide.

So, for now, because of the data-density problem, and not having the code in a form to release (properly commented and code-snippets referenced), I’m going to ask that you contact me via the contact page for a copy of the current set of m-files for the RLM scans if you need them. I’ll happily send them off with some caveats about their short-comings.

Here are some example plots capable with the simple m-files. Note that the data below is plotted with Log(Intensity) scale to show low-intensity nuances in the data.

I guess I should explain the above a little bit. If you need more info on how x-ray diffraction works, check here: [Xray Diffraction (XRD)] In my present work, I work with bicrystalline GaAs and epitaxially grown copper indium diselenide. In the xrd micrographs above, there are two primary diffraction spots. The first, which is fairly sharp and localized (high intensity) is the GaAs substrate peak. The second, the more diffuse, is my thin-film CIGS peak. The distance between them, as well as the projections of the distance in both Qx and Qy give us information regarding d-spacing difference and in-plane and out-of-plane strains. The spreads of peaks give us information regarding crystal quality, or rather, local crystal variations (which may be due to numerous reasons including stoichiometric changes). For those of you a bit familiar with XRD, for some of the pictures above, a rocking curve would give you the side-to-side breadth of the peak and the omega-2theta scans would give you your standard broad film peak along with the sharp lorentzian like reflection of the substrate peak. However, doing simple 2d line scans, you miss a lot of information regarding the peak shape in reciprocal space, which may be important to how your film is grown and what residual stresses or variations of crystal structure exist in your film.

One Comment

  1. Riad
    Posted May 2, 2013 at 7:20 am | Permalink

    Hi Allen,
    We are trying to use your Matlab code to plot our 2-Axis measurements RSM performed on X’Pert Pro system. Unfortunately, we failed and the error message was as following :

    Error using contourc
    Contour level values must be finite.

    Error in example2 (line 21)
    C = contourc( d.Theta2(1,:) , d.Omega(:,1)-d.Theta2(:,1)/2 ,

    Could you please let us know if you have already solved such problem.
    Thank you in advance for your answer.

Post a Comment

Your email is never shared. Required fields are marked *


A Quick Introduction...

I'm a graduate student (PhD Candidate) at the University of Illinois at Urbana-Champaign.

I've studied and researched in two fields of Materials Science and Engineering (Polymers and Semiconductors). My interests are as diverse as my musical tastes and I usually have my hand in some crazy project during my free time.

I'm available for consulting and have access to a world-renown materials research user-facility supported by the D.O.E. If you would like to know more, please contact me.

Popular Tags

Amazon Associate Link Apple Support AppStore Bug CIGS CIS CLI Conferences Cross Platform Data Mining data visualization dual-driver headphones failure Friend Geek Tool Great Scientists HAM Radio Hardware Tips How To Humanitarian IEM IM In-Ear Monitors iPod Touch LaTeX Linux Mac OsX Materials Science and Engineering Matlab Obituary Open Source problem Productivity reciprocal space return Silent Key Software Software Review Support This Blog Thesis Writing Tip UIUC VOIP Windows xrd

Support This Blog

You can support this blog by shopping on Amazon through my Affiliate Store.