Fitting centre-of-mass grain positions, orientation and elastic strain tensors
The FitAllB suite of programs is designed to refine not only the centre-of-mass positions, orientations and elastic strain tensors of each grain, but also a number of global parameters relating to the experimental setup.
This can be done for a maximum of two detectors, one detector at the time, hereby making it possible to obtain much better grain positions by refining these against nearfield data prior to fitting the orientations and strains to farfield data.
Furthermore FitAllB includes an error estimation routine to give the standard deviations of all refined parameters.
The name FitAllB was chosen because the information about the perturbation of the crystal lattices of the individual grains, and thus the grain resolved elastic strains, is contained in the grain specific reciprocal space metric B. By fitting all of these the grain resolved elastic strains, and therefore also - in the components of the stiffness tensor are provided - the type II stresses, can be determined.
How does it work?
Starting from the orientations, positions and assigned reflections from Grainspotter, the program performs a 12 parameter (position 3, orientation 3 and strain 6) fit for each grain.
Program Suite
The FitAllB program package is written in python and contains 3 different scripts
which basically run the same minimisation in different preset modes.
The reason
for this is that grain and global parameters cannot be refined simultaneously be-
cause of correlations, but in order to obtain accurate grain resolved strain tensors
it is of the utmost importance that the global parameters relating to the experimental
setup are well calibrated.
fitglobalgrain.py is used to refine the global parameters using one grain at
the time. The final values and estimated errors are then obtained as the average
and spread over all grains.
fitgloball.py is used to refine the global parameters using all grains in one go.
This procedure is more time consuming, but less affected by outlier grains.
fitallb.py is the main script for refining COM positions, orientation and strain
tensors after having calibrated the global parameters. Only grain specific parameters are refined.
If near-field diffraction data are available these are initially used
to fit the grain positions, which are then kept fixed in the subsequent far-field
refinement of orientations and strains.
Output files
The output of the program is two grain format files (.gff, simply ascii column files):
- One containing the refined centre of mass, position, orientation, strain and stress tensor for each grain,
- The other containing the estimated errors on all of these.
- In addition the relative grain volumes, calculated based on the intensity of the diffraction peaks, are output, so by the aid of a tesselation routine a 3D orientation and stress/strain map of the polycrystal can in principle be obtained.
Reference
For further information the user is referred to the FitAllB manual that is automatically downloaded with the .SVN version of FitAllB.
In addition the 3DXRD geometry and image orientation documents mentioned in the users corner of the wiki are useful reading in order to understand all relevant parameters.