We have developed computation and simulation tools that help the group interpret, fit, or understand data from nanostructured optoelectronic materials and devices, including X-ray and neutron scattering data, optical measurements, current-voltage data, incident photon to current efficiency data (ICPE or EQE), and capacitance-voltage data. These take the form of four separate programs. The first three focus on structural data and are discussed below. The "solar" code, which focuses on optolectronic and solar cell measurements, will be released in the near future.
When we started researching nanostructured thin film materials, there were no tools to correctly interpret grazing-incidence X-ray or neutron scattering (GISAXS and GISANS) data from periodic continuous nanostructured films, despite the fact that these are virtually the only techniques that allows one to dynamically probe the internal structure of a nanostructured film. As a result, we developed two simulation tools, NANOCELL and NANODIFT, both written in Mathematica. NANOCELL simulates the position of the GISAXS/GISANS peaks of an oriented periodic nanostructured thin film. It requires knowledge (or a guess) of the space group symmetry of the nanostructure and the orientation of the film. The code is used to determine if the observed GISAXS/GISANS pattern is commensurate with a given symmetry and orientation, and it can be used to numerically fit lattice constants to data. In addition, the code can be used to overlay the simulate and observed 2D data to determine if symmetry breaking occurs. The code accounts for multiple scattering and uses the distorted wave Born approximation (the typically used single scattering Born approximation fails miserably for the highly ordered films we have been able to synthesize).
The second code, NANODIFT, numerically simulates the 2D intensity distribution of X-ray or neutron scattering from an arbitrary 3D nanostructure in an X-ray or neutron beam. Similar to NANOCELL, it accounts for multiple scattering and employs the distorted wave Born approximation. It requires the user to input the values of the X-ray or neutron scattering contrast in a 3D matrix and numerically computes the inverse fouirer transform (inverse FFT) of the data within the context of the multiple scattering distorted wave Born approximation in order to calculate the scattering intensity. While "windowing" or finite-size effects can create artifacts in the data, apodization routines are used to minimize these artifacts and methods are in place to identify and distinguish the finite-size artifacts from true scattering data.
A Program to Simulate 2D SAXS and 2D GISAXS from Periodic Nanostructured Films
NANOCELL  is a program that simulates the 2D diffraction patterns from single crystals, samples with multiple
domains or phases, oriented polycrystalline samples with rotational freedom about one axis (planar disorder), and
samples that contain all orientations (powders). If details about the experimental setup are entered into NANOCELL,
the calculated diffraction spots may be overlaid onto the experimental data to match the diffraction pattern. This
enables clear determination of the nanostructure and its orientation, especially for cases where higher symmetries
are broken by film contraction or fiber extension. An example of such a nanostructure determination using NANOCELL
was shown by Tate .
In most self-assembled nanostructured thin films the number of observed diffraction spots is far too small to use
programs like DICVOL, ITO, or TREOR to solve for the lattice constants. Instead, the solution of the lattice constants
must be guided by the investigator by making educated guesses about the crystal system (cubic, hexagonal, etc) and the
identity of given peaks (110, 210, etc.). This is a tedious process and becomes increasingly difficult for non-cubic
systems, especially when an unknown lattice constant is an angle. NANOCELL facilitates this process in two ways.
First, the 2D diffraction pattern can be quickly simulated for a given guess of lattice constants, space group, and
orientation. Second, the user can enter N d-spacing and N guesses of the identities of the peaks. The code will then
solve for the N unknown lattice constants.
Another key feature that makes the code particularly useful for nanostructured thin films, is its ability to define a
structure, orientation, and disorder relative to the substrate and then simulate the 2D diffraction pattern for any
arbitrary orientation of the substrate in the laboratory reference frame. This allows transmission 2D SAXS patterns
as well as 2D grazing-angle of incidence SAXS (GISAXS) patterns to be calculated. Features are also incorporated into
NANOCELL to model the many artifacts observed in GISAXS patterns from thin films. These features which are based the
distorted wave Born approximation include the ability to calculate the refraction corrected position of diffraction
peaks and the position of diffraction peaks that arise from the reflection of the incident wave off the film/substrate
interface . Additional strengths and capabilities are listed below.
- Simulation of 2D GISAXS diffraction patterns from thin films with planar disorder (above the critical angle). Thin films with planar disorder have rotational freedom about the substrate normal, but a fixed orientation with respect to all other axes. These simulations account for the effects of refraction and reflection at the air/film and film/substrate interfaces.
- Simulation of 2D diffraction pattern from a single crystal with an arbitrary orientation
- Simulation of 2D diffraction pattern from multiple crystals each with an arbitrary orientation or fixed relationship with respect to each other.
- Simulation of 2D diffraction patterns from randomly oriented polycrystalline samples.
- Full rotation of the structure about the incident beam to sample all of reciprocal space. Each simulation may then be matched to experimental data.
- Solves for N lattice constants from N guesses of d(hkl).
Use of NANOCELL
NANOCELL is free for academic institutions. However, there is license fee for industrial or private use. Any use of
the program or code in publications, presentations, websites, or proposals should reference both the NANOCELL
publication  and this website . The source code is written in Mathematica and has been tested with both
Mathematica 5 and 5.1. To obtain a copy of NANOCELL , please contact Prof. Hugh W. Hillhouse at email@example.com .
To use the program, open and execute the main source file. You may then perform calculations using the NANOCELL
functions in separate working files. Several examples of Mathematica working files are posted below
(they are also posted in HTML for viewing).
Development and Testing of NANOCELL
The NANOCELL source code is open and may be modified or extended by the end user. If you do add routines, please
share the revised code ( firstname.lastname@example.org ). We will include the changes in future versions with credit to the author.
Also, if you find or fix a bug, please share this as well.
Most Recent Version
Example 1 is a step-by-step tutorial. Unfamiliar users should examine this file first.
- GISAXS Simulation with Experimental Overlay: Effects of refraction and reflection within the thin film
Mathematica Notebook ,
- WAXS and SAXS comparison: Effects of the Ewald Sphere
- Single Crystal Simulation: Simulation of Reciprocal Space Slice
- Simulation of Multiple Crystals with Well Defined Orientations
- Simulation of a Randomly Oriented Polycrystalline Sample using a 2D Detector.
- Tate, M.P., Urade, V.N., Kowalski, J.D., Wei, T.C., Hamilton, B.D., Eggiman, B.W., & Hillhouse, H.W.,
"Simulation and Interpretation of 2D Diffraction Patterns from Self-Assembled Nanostructured Films at Arbitrary
Angles of Incidence: from Grazing Incidence (above the critical angle) to Transmission Perpendicular to the
Substrate," Journal of Physical Chemistry B, 110 (20) 9882-9892 (2006).
- Tate, M.P., Eggiman, B.W., Kowalski, J.D. & Hillhouse, H.W., "Order and Orientation Control of Mesoporous
Silica Films on Conducting Gold Substrates Formed by Dip-Coating and Self-Assembly: A GISAXS and FESEM Study,"
Langmuir , 21 (22), 10112 - 10118, (2005).
Other Papers which use NANOCELL
- Urade, V.N., Hillhouse, H.W., "Synthesis of Thermally Stable Highly Ordered Nanoporous Tin Oxide Thin Films
with a 3D Face-Centered Orthorhombic Nanostructure," J. Phys. Chem. B, 109 (21), 10538 - 10541, (2005).
- Eggiman, B.W., Tate, M.P., & Hillhouse, H.W., "The Rhombohedral Structure of Highly Ordered and Oriented
Self-Assembled Nanoporous Silica Thin Films," Chemistry of Materials, 18 (3), 723-730 (2006).