Sc2(WO4)3 - Rigid Bodies
Aim of tutorial: this is a relatively advanced tutorial to illustrate the use of rigid bodies in gsas and the use of TLS matrices to describe anisotropic displacement parameters of groups of atoms. Rigid bodies/TLS can significantly reduce the number of parameters in a Rietveld refinement. In this case we will assume that the ScO6 octahedra can be modeled as rigid bodies. The data set to use is sc2wo43_300k_neut.gsas. You can try in topas (no tls) with sc2wo43_300k_neut.xy .which was recorded using constant wavelength neutrons. The relevant instrument parameter file is sc2wo43.inst. A starting model is in sc2wo43.cif.
1. Load the data and perform a normal isotropic
refinement using the starting model in sc2wo43.cif which was adapted from
Abrahams et al.
2. You ought to get Chi**2=2.17, wRp=7.74% for 47 refined parameters (9 back, 25 xyz's, 1 scale, 3 cell, 9 uiso's). Use a shifted chebychev background (type 1).
3. Refining anisotropically several atom go npd (use bijcalc to show this).
4. Copy the file to a new filename (e.g. sc2wo43_tls.exp). Run powpref and genles. Then insert the ScO6 group as a a rigid body.
5. Run expedt
6. expedt> l b (enter the rigid body menu)
7. expedt> b 7 (define rigid body with 7 atoms)
8. expedt> 1 (number of translations)
9. expedt> 2.07 (translation distance in Angstroms - the Sc-O bond length)
10. expedt > 0 0 0 (vector one - the Sc atom)
11. expedt > 0 0 1 (vector to one corner of an octahedron)
12. expedt > 1 0 0 (vector to second corner)
13. expedt > 0 -1 0 (etc)
14. expedt> 0 0 -1 (etc)
15. expedt> 0 1 0 (etc)
16. expedt> -1 0 0 (etc)
17. expedt> i 1 1 (insert a rigid body of type 1 starting at atom 1 into the phase information)
18. expedt> 0.466 0.382 0.249 (enter the coordinates of the Sc atom)
19. expedt> x -12 y -36 z -13 x 0 y 0 z 0 (rotations of octahedral group around xyz axes and "spare" axes)
20. expedt> c 1 1 v (change body 1 type 1 and modify refinement flags)
21. expedt> 1 2 3 0 0 0 4 5 6 x (set the parameter numbers for rotations/translations then exit)
22. expedt> e 1 v 7 (edit rigid body one and set distance parameter - the Sc-O bond distance - to refine as parameter 7)
23. Run genles. 33 variables give chi**2 2.8 (11 atomic position variables, 7 for translation/rotation/size of rigid body and 4 xyz's for the W atoms).
24. Run disagl to check that you do indeed have a "perfect" ScO6 octahedron.
25. Set up a simple TLS matrix to define temperature factors of ScO6 group.
26. expedt> l b c 1 1 (least squares, rigid bodies, change body 1 of type 1)
27. expedt> t y (include tls matrix)
28. expedt> v 1 2 3 0 0 0 4 5 6 8 8 8 0 0 0 9 9 9 0 0 0 0 0 0 0 0 0 0 0 (should set parameter numbers for rigid body rotation/translation and diagonal terms of the TLS matrix which will give a "pseudo isotropic" temperature factor).
29. Set all atoms of ScO6 group to refine anisotropically.
30. You should now get chi**2 2.7 for only 28 variables.
31. Look at the adp's of atoms using bijcalc or in atoms. All O atoms have anisotropic adps that are related by the tls matrix.
By using rigid bodies/TLS matrices one can get better refinement with 27 refined parameters than with 33! It's important to think which parameters are important for fitting your data rather than just adding extra parameters without thinking. You can also introduce anisotropic displacement parameter on atoms using very few variables (here 2 for the whole ScO6 group instead of 42 if you refined each individual atom anisotropically). This type of approach can be very powerful if used with care. This is hard so an "answer" file is linked here.
Refine more components of the TLS matrix to allow more freedom of uij values (see Schomaker and Trueblood Acta Cryst. B24 1968 63 for symmetry restrictions).
Try the "geometry" command in gsas to see where the initial guessed starting values for the rotations came from.
Try fitting the WO4 groups as rigid bodies instead of ScO6's (N.B. one WO4 group is on a 2-fold axis).
[Modified 27-Oct-2019 by John S.O. Evans. Pages checked for Google Chrome.]