- The refined unit cell parameters, and a possible spacegroup
- Some information about the unit cell contents (stoechiometry, possible building blocks)
one or several diffraction data sets. They are in the Fox/examples/tutorial-pbso4 directory.
If you have all this, you can launch Fox !
PowderPattern: import data, auto-indexing & profile fitting (X-Ray)
Use the top Object menu to create a PowderPattern object. You can give this one a name, e.g. "PbSO4 X-ray"
You can import the X-Ray data using the PowderPattern object Data->Import Fullprof Pattern, and select the xray.dat file in the Fox/example/tutorial-pbso4 directory.
You can display the powder pattern using the Pattern->Show Graph menu. You can click & drag with the left button to zoom in (double-click to unzoom). You can right-click on the graph to update the graph if you have changed manually a parameter. The coordinates (2theta, intensity of the mouse pointer is displayed at the bottom).
Now set the correct wavelength: use the PowderPattern 'Radiation'->'X-Ray Cu Tube Ka12' to select the correct radiation. This will update the entry field, and normally also the graph.
Now right-click in the powder pattern graph window, and use "Find peaks".
In the powder pattern graph, you can click&drag to zoom in. You will see that a peak is missing around 16.4° - you can richt-click at the exact position of the peak, and "Add peak" to manually add it (this is not required, the indexing would still work without it, but generally for indexing it is better not to omit any peak in the lower angle region).
Then right-click again on the powder pattern graph, and choose Index !. The indexing window opens.
The simplest way to index is to trust Fox, and click the Find Cell ! button, which will launch the default search mode, using a range for the unit cell volume estimated from the found peak positions. Fox uses the dichotomy algorithm, and if no solution with a significant score (M20) is found, it will try again with 1, 2, 3 spurious peaks.
After clicking Find Cell ! in the Quick tab, a single solution is found in less than 1s, with a M20 score of approx 64, and a cell volume of ~320 cubic Ansgtroems. This is the correct cell for PbSO4.
If you had doubts, you could check the option Continue exploring after solution, which would return more solutions with a similar monoclinic solution.
- Now, in the top 'Objects' menu, create a new Crystal structure to which you will apply the indexed cell. You can give a name to this crystal structure.
Now, in the indexing window (Fox cell Explorer) click on the button with the label Choose crystal to apply selected cell to and choose the crystal structure you have just entered. Then when you click on a unit cell in the list of solutions, the parameters will be copied to the corresponding crystal object.
After this is done, you can close the indexing window (Fox cell Explorer).
Then add the background phase, using the Component->Add Bayesian Background (automatic) menu. This will automatically estimate the best background.
Now add the Crystalline phase, using the Component->Add Crystalline Phase, which will prompt you to choose one crystal structure available (the one you have already defined) from its name. (NOTE: for multi-phased powders, you can add several crystalline phases)
Now we need to get reasonable profile parameters.Right-click on the powder pattern graph, and select "Fit profile + Le Bail extraction". A "Profile Fitting" window opens.
Just click the button "le Bail + Fit profile !": this will run a Le Bail fit, and then several cycles of profile fitting, by freeing progressively the width, zero, and then unit cell and background parameters. It will take a few 10s of seconds. No repeat this step again once it is finished, to obtain a good fit (as measured by the goodness-of-fit).
Note: in the powder pattern parameters, the "Max sin(theta)/lambda" value is 0.4 - this means that only part of the powder pattern is used for profile fitting. This is fine for a tutorial, but if you want to use Fourier maps, you will need to redo the profile fitting with a highr value (1.0) to take into account the entire powder pattern - but the Le Bail + profile fitting will take much longer.
Now we can determine the spacegroup: in the indexing window (Fox cell Explorer), choose the tab "Spacegroup Explorer". Click on "Try all possible spacegroups - Le Bail only": this will perform a Le Bail fit for all spacegroups compatible with the unit cell, and report both the corresponding Rwp, goodness-of-fit, and the number of extinct reflections. At the end, only the spacegroups with the goodness-of-fit up to twice the lowest one are reported. Two will stand out, as they allow the largest number of extinct reflections (27) with a reasonable goodness-of fit: "P m c n" and "P 21 c n" (this is for a unit cell with a<b<c - otherwise you could get, e.g. Pnma for b<c<a). The correct one is in this case Pmcn (of type Pnma), so you can enter "Pmcn" in the Crystal structure description.
Once this is done, you should close the profile fitting window (otherwise Fox will remain in Profile fitting mode,...).
Finally, for a global optimization it is not necessary to use the entire pattern, so put 0.25 in the max sin(theta)/lambda. (this discards a lot of information but as you'll see it was useless information).
Maybe you should save now ?
Describe the Crystal components
From the top menu Objects, create a new Crystal Object.
Click on the Crystals tab to see your created crystal.
You can already display your crystal structure: in the Crystal, use the Display menu-> 3D Display. You can use the mouse to change the display:
- drag with the left mouse button down to change the orientation
- drag with the middle button to change the distance/aspect ratio. You can also use the '+' and '-' keys to change the distance, if you have a two-button mouse.
- right-button click will display a popup menu to update the Crystal Display when you have changed some parameter (sometimes the program will try to do it by itself).
You can name your Crystal ("PbSO4" or "Lead Sulfate",...) in the Field just after 'Crystal' (where it is written 'Change Me!'). This will be useful to choose your Crystal Structures thereafter.
To add atoms to your structure, you must first create the atom types, what is called ScatteringPower in the program. Go to the 'Scatterers' menu of the Crystal, and choose 'Add Atomic Scattering Power'. This will add a ScatteringPowerAtom a bit lower. You should change the name (eg 'Lead' or 'Pb'-this is free format, you can call it 'George' if you want) of this atom type, as well as the symbol corresponding to the atom - the symbol must correspond to a "standard" symbol or ion (e.g. "Pb" or "Pb2+"). Do this until you have the scattering powers for Pb, S and O.
Then add a Pb Atom to the structure, using the 'Scatterers'->'Add Atom' menu of the Crystal object. You will be prompted to choose one atom type from those you have entered (choose the lead atom type). The atom will be put by default at (0,0,0), which you can see by updating the 3D view (right-click...)
Then add a SO4 tetrahedron: to do this use the 'Scatterers'->'Add Tetrahedron' menu of the Crystal Object. You will be prompted for the central atom type (the sulphur), the peripheral one (oxygen), and then the distance (roughly 1.5 Angstroem). a 'Molecule' will appear in the list of scatterers of the Crystal Structure. You can then change the name of the tetrahedron, as well as the names of the atoms, at your convenience. The geometry of the tetrahedron is set using bond lengths and bond angles restraints (it gives to the polyhedron limited flexibility).
NOTE: you have nothing to do for special positions, as long as the Use Dynamical Occupancy Correction field is set to 'Yes' (the default).
You're done with the Crystal structure. You can (should) save using the top Fox menu 'File'->'Save'. This will save everything as an xml file, using a specific format to ObjCryst++/Fox.
Create the PowderPattern object (neutron)
Just repeat the same steps (except for the indexing part): create a second PowderPattern object (you can display both graphs at the same time), and choose neutron radiation with a wavelength of 1.909. Again, after the profile fitting is done (you should not need to refine the unit cell this time), put a value of 0.25 in the max sin(theta)/lambda field.
Create the Global Optimization object
Go to the last tab of the Fox window Global Optimization, and use the main window's Objects to create a new Monte-Carlo Object.
Then we need to tell the algorithm what it is going to optimize (which objects), so we need to declare both Powder Patterns and the Crystal Structure. So use the Optimized Objects->Add object to optimize menu, and add all three objects (one at a time). (This is where you see it is useful to set meaningful names for all objects !).
As of Fox 1.5, it is not necessary any more to tell the algorithm what criterion it should use to test the configurations: it will automatically take the -log(Likelihood) of all added objects, in this case the sum of all Chi2.
OK, you're all set ! Normally, you should not change the choice of algorithm (Parallel Tempering is much more efficient than Simulated Annealing), nor the temperature or displacement amplitude parameters. They should work with any structure and combination of data.
Now would be a good time to save using the top File->Save menu.
So Launch the optimization, using the Run->Multiple Runs menu of the Monte-Carlo object. If you have left the 3D Crystal structure window and the powder pattern graphs opened, they should be live-updated. Convergence is quick in this case, normally less than 50 000 trials. Normally, you should first change the number of trials per run (to about 50 000 or 100 000 for this simple structure), and the algorithm would restart the optimization at the end of the run, providing one solution for each 'run'.
You can also follow the progression of the Chi2 statistics, GoodnessOfFit (=Chi2/nbobs), Rwp and Rp in the powder pattern objects, as well as the tracker window (which shows the Chi2 as a function of the number of trials). But there's nothing better than the eye to tell whether the fit is good or not.
Stop the optimization using the same menu when you have reached a satisfactory solution.
- Once the algorithm has converged, if you change the max sin(theta)/lambda fields in both powder patterns, and update the graphs (right-click...), you should see that the part of the pattern which was not used as a criterion is relatively well fitting (not great at high angle for the neutron, but this will improve when you do the Rietveld refinement !).
If you have done a "Multiple Run", you can browse the solutions using the Solutions menu. Click on any solution and it will automatically update the display of the structure and powder pattern(s). You can then choose whichever looks better.
- You can also change the "maximum sin(theta)/lambda" values in the powder patterns, up to 0.4 (but not more than what you used for profile fitting !!), and redo the optimization - the structure will be slightly better.
Finally, you can use in the optimization object the menu "Run->Least Squares" to perform a quick least squares, which will also improve the solution.
Last step: export the crystal Structure
You can export the atomic coordinates by going to the Crystal structure, and use the 'File'->'Save as text' menu. this will save a file with all atom fractional coordinates and occupancies. You should see that all atoms have a 'dynamical occupancy' of 0.5, which is due to the fact that they are all (except two oxygens) on a special position. The other two oxygens are in fact equivalent, as the distance table included in the output shows.
You can also export to a CIF file using the same menu. Normally, atoms which are fully overlapping are taken care of so that only a single atom remains.
- From the powder pattern description in the main Fox window, you can also export both the structure and the diffraction data for Fulprof, using the "Export" menu for each powder pattern.