For a while now I’ve been dying to share some of the new nanostructures I’ve discovered during ion-assisted vapor deposition of CI(G)S thin films. My paper was published in the Journal of Applied Physics last fall (sorry for the blog outage over the winter-break). The paper is titled: “Nanostructured light-absorbing crystalline CuIn(1–x)GaxSe2 thin films grown through high flux, low energy ion irradiation;” http://dx.doi.org/10.1063/1.4823987. There are a lot of unanswered questions about the work that leaves me dreaming up different solutions to how these films are growing. Read More
Author Archives: Allen
I had the pleasure of briefly meeting and listening to Dr. Gregg Zank (CTO- Dow Corning) this evening. Some very interesting work going on at Dow Corning! In particular, his discussion of a waterless powdered shampoo product for third world countries was quite amazing. It’s wonderful to imagine a waterless shampoo, let alone one that is distributed as a dry product in single use packets! Very interesting. It reminded me of another interesting humanitarian project that I’ve talked about before…
Read More »
I’ve made a few small gui programs (MATLAB) for finding all unique angles for vectors (or plane normals) in both the cubic and tetragonal crystal spaces. I thought I’d share them here, as I finally worked out a few kinks. Be aware that the little gui’s use the command window to output their results. Some of my other programs would output latex code so that they could be pasted directly into a thesis for tables etc., but this one just uses the standard out (ala the command window in Matlab).
Essentially you enter the vectors for the two planes of interest, then hit calculate, and all the unique angle solutions for the crystal space you chose (one gui for each crystal space right now- no interest in complicating it by combining at this time) gets output in the command window.
I populate some orientation matrices based upon the vectors you give. Then, from matrix calculations, using tetragonal and crystal symmetry operations, we determine all the symmetric orientations. Then, a simple subspace() command gives us the angles of greatest rise (dihedral angle) between the symmetric orientations. The calculations for these operations can be found in my Thesis (if it ever gets published), but can also be found in: V. Randle and O. Engler. Texture Analysis: Macrotexture, Microtexture & Orientation Mapping. CRC Press, 2000.
Please note- it’s your job to check if these are correct, I make no warranties about this stuff. It should work, but feel free to go in and edit everything to your liking. If you use my code, don’t worry too much about citing me (if you do, I appreciate it, but I often leave out others who have contributed also).
These are very simple, but hopefully they’ll help a bit for those working in cubic and tetragonal spaces.
Here’s the cubic symmetry angle calculator:
Vector Angle Calculator Cubic Symmetries
Here’s the tetragonal symmetry angle calculator:
Vector Angle Calculator Tetragonal Symmetries
I hope they work for you- please let me know if you have problems, if I have time I’ll try and help.
For Christmas, my awesome brother (Donnie) got me a decently sized LaCie Iamakey [Amazon] along with a few other awesome items. He remembered it from a year or two ago on an old list! Total surprise, and a great one. I’ve been eye-ing one for a while since I’m in need of multiple backups of my research work and thesis writing.
I do do manual backups, and in particular have a drive mirrored using rsync in osX so that it’s bootable (old computers and poor grad-students tend to make for older hard-drives). However, I wanted something a bit faster and easier to use. I wanted an automatic (or semiautomatic) backup of critical writings or data.
Read More »
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.
Read More »
I’ve fallen back in love with pencils, and here’s why…
Read More »
For years while Apple had proprietary system software, I was itching to get a Unix system underneath and have the ease of the windowing system. Well, after OsX was released, I was ecstatic. Why? Because of the ease of some tasks in Unix in comparison to other OS’s. This post is only one example of what you can do if you do a bit of research into how to use your Mac. For those who have un*x boxes, this will merely be a place-holder for a few AWK scripts for you.
Read More »
After some new scans, it appears the XRDMLread.m function I talked about is doing a pretty good job of getting the 2-axis scans into MATLAB. I was able to alter the code to accept the standard Epitaxy software’s translation to Q-space. (In Epitaxy the default is R = 0.5 I believe.) So, the following image was imported with XRDMLread.m the plotted with the standard 2-d example from the author’s website. The code was altered to output 10000xRLU units the same as Epitaxy (Panalytical). I haven’t checked all the numbers, but it’s looking ok so far. Unfortunately the color-scale looses it’s meaning as far as intensity is concerned, it appears at first glance.
Working a bit with my old q-space map code, I’m able to accomplish the following:
Note the strange love-handles the data gains. I suspect this might be due to the Gridfit function (see MATLAB files repository) I used for regridding the data. Gridfit.m uses an extrapolant method. My suspicion is it is trying to fill out the square of the data matrix and is accomplishing relatively correct values for near-by-data that is outside the scanned range. I’ll try it again with regrid or something similar in the future when I have time.
If anyone knows where the current site for XRDMLread.m is, I’d love to link to it. It appears the site may be down (graduated student I suspect). You can obtain the wonderful XRDMLread.m function and examples on the XRDMLread.m website. For now, I have to wait until I hear from the authors before I can share the file. I also don’t yet trust my icky 3D code, so I prefer not to release that until I have things hashed out. Sorry!
I’m extremely happy that Panalytical has published their XRDML file format and that the makers of XRDML.m have released their .m files for MATLAB. In the past, when Philips had the Xpert systems, the data was stuck for the most part in proprietary data formats. [You could slice the data and output in ascii- but making that work was a pain- which is why I never released that previous code.] I’m much closer to the 3d plotting now, and hope to finish it up before the thesis (my primary work which is not this plotting) is published.
Wishing you luck in you research!
Every once in a while a simple solution gracefully solves a problem that affects a large number of people. It doesn’t happen often, but when it does, it’s wonderful to see the results. This is the type of thing most scientist hope to experience at least once in their careers. I think most of us at one point in time have hoped: “please let me improve the world in some small way to make life easier for some people.”
I have to admit as a scientist I love to see graceful solutions to any problem. Prof. Josh Silver at the University of Oxford has come up with just such a brilliant simple solution that any scientist who understands index of refraction will say: “Ahhh… yes!” about. Prof. Silver has made plastic glasses with adaptive lenses for third world countries. In third world countries to get glasses right now you have to either already know (by magic) your prescription, or try and somehow happen across an optometrist (and you thought it was just about affording a roof over your head!). Unfortunately, optometrists don’t grow on trees in third world countries, and so you’re pretty much out of luck.
Enter the “dial a prescription” solution of Prof. Josh Silver’s. With his glasses you simply turn a few dials which push plungers in or out of a syringe attached to each lens. These syringes hold a fluid which has the same index of refraction as a polymer film which flexes under pressure (positive and negative pressure). This pressure of course will bow out or bow in the surface of the “lens” (which is fixed on the edges to a certain thickness). How to know your prescription? Simple- is it clearer or not? [Much like the old A or B, A or B, A or B, 1 or 2, 1 or 2 hassle we all go through at the optometrist's office- but cut out all that binary testing... just dial it in or out- bam, there's your prescription- in fact, it's fractions of diopters even- so it's much more analog than the current system.] Pure brilliance. Such a simple problem to a complex issue.
The impact to those who can’t see? Huge! I suggest it’s almost as huge as teaching someone how to farm. People are illiterate because they can’t see things clearly enough to learn how to read or write. Prof. Silver’s solution has the possibility of changing all of that.
So, my hat is off to him as a scientist- excellent work, and much needed work!!
Here are some links to the adaptive lenses:
- Guardian: Inventor’s 2020 vision: to help 1bn of the world’s poorest see better
- Prof. Josh Silver’s Organization: Center For Vision In The Developing World
And here are some talks that highlight these new adjustable lens glasses:
If you’ve been moved by this simple idea, consider sending a donation to them to help support vision for those around the developing world: Donate.
After finally installing Leopard (10.5) osX on my Powerbook G4 (Thesis writing computer), I noticed a strange behavior with MATLAB. MATLAB could no longer open more than one instance of itself. As well, it could no longer open a window once it had opened once in any login session. Strange behavior indeed.
Well, here’s the fix… it turns out that Leopard uses launchd to set the display. So, the old method of launching MATLAB was to set the display to 0.0, but this will fail after the first instance, hence the bug. What you can do is simply remove this line from the startup script in matlab (located within the startup application contents).
The line that was:
$SHELL -c 'bin/'$ARCH'/setsid bin/matlab -desktop -display :0.0 &'
should now be:
$SHELL -c 'bin/'$ARCH'/setsid bin/matlab -desktop &'
Once I changed that, everything started up fine!
ps- you will know you have this problem if you look at your console log immediately after launching MATLAB and it says something like:
6/29/10 9:03:34 AM [0x0-0x78078].StartMATLAB Warning: Unable to open display :0.0, MATLAB is starting without a display.