Tutorial Lamno3 Magnetic
Magnetic Rietveld Refinement of LaMnO3
Files needed: maglamno3.xy; lamno3_pnma.cif; x-ray data (cheat files are at the bottom of the page)
Authors: John, Branton and Alan.
Note: magnetic scattering is only implemented in topas v5 and later.
Learning Outcomes: This tutorial will (eventually) take you through several different ways of performing a magnetic Rietveld refinement in topas. The example is based on a simulated data set of LaMnO3 provided by Branton. You’ll first use a standard Shubnikov type approach with a nuclear+magnetic model. You’ll then try refining nuclear and magnetic contributions separately using two different phases. Finally you’ll do the refinement using symmetry mode ideas. This lets you visualise the magnetic model produced.
Shubnikov Approach – Nuclear + Magnetic Combined
1. Download the files listed above and save in the working directory on your local computer.
2. Use the menus in jEdit to perform a standard Rietveld refinement. It’s neutron diffraction data and the wavelength is 1.54 A. The .cif file is a good model for the nuclear structure so shouldn’t need refining. With a standard TCHz peak shape you should get wRp = 14.756%.
3. You should be able to get a better fit using a simple Lorentzian size broadening to describe the peak shape. Try deleting the TCHz line and adding: CS_L(@, 20). The axial divergence line is also unnecessary and can be deleted. You should get wRp = 14.4%.
4. Look at the fit. You’ll see it’s pretty good at high angle but poor at low angle due to the magnetic scattering which isn’t being modelled.
5. In LaMnO3 the Mn spins order antiferromagnetically at low temperature. The magnetic space group is Pn’ma’, in TOPAS this is magnetic_space_group 62.448 (see shubnikovgroups.txt in the main Topas directory). Delete the space group line and replace it with mag_space_group 62.448. Make the Mn site magnetic by adding the text below at the end of the Mn site line, or in the line immediately below:
mlx @ 0.1 mly @ 0.2 mlz @ 0.30000` MM_CrystalAxis_Display( 0, 0, 0.0)
The mlx/y/z values here are the lattice-coordinate moments along the x, y and z axes. The MM_CrystalAxis_Display will report refined crystal-axis moments in BM along each crystallographic axis (equivalent to Mx, My, Mz in gsas).
6. Step through the refinement in Topas. You should rapidly get wRp=3.92% and an excellent fit to the data. If you look back at the .inp file you’ll see that the Mn has a moment of ~4 BM predominantly along the x axis. You should be able to sketch out the spin structure from this and the magnetic space group. Later in the tutorial we’ll visualise it in isodistort. You can also visualise it with view_structure.
Separate Nuclear and Magnetic Fits
1. Either repeat stages 1-4 above or edit your input file to revert to a simple nuclear fit (you might wnat to choose a new filename).
2. Introduce a second LaMnO3_magnetic phase to describe the magnetic scattering. You can do this by just copying and pasting the “str” section in your input file below the first str.
3. Change the phase name of the second phase to “LaMnO3_magnetic” (or similar). Add the text “mag_only_for_mag_sites” after the str key word. This tells Topas that you only want to calculate the magnetic contribution to the pattern. Change the space_group line to “mag_space_group 62.448”. Only Mn has a potential magnetic moment so you can delete all other sites. Introduce the text under (5) above to allow a magnetic moment on Mn. You need to equate the scale factors of the nuclear and magnetic phases so moments are properly scaled (in general you need to divide magnetic scale by (Vmag/Vnuc)^2. Do this by giving the scale factor a parameter name in the nuclear str and introducing an equation to the magnetic str. Your magnetic str section should look like:
str
phase_name "LaMnO3_magnetic"
mag_only_for_mag_sites
a 5.7473
b 7.6929
c 5.5367
al 90
be 90
ga 90
volume 244.796
mag_space_group 62.448
site Mn x 0 y 0 z 0 occ Mn 1 beq 0.9989939
mlx @ 0.1 mly @ 0.2 mlz @ 0.30000` MM_CrystalAxis_Display 0, 0, 0.0
scale =scale_nuclear;:0
r_bragg 0.28839248
CS_L@, 49.81166`
4. You should get the same wRp as above, 3.92%. Note that in the Topas gui you can now highlight the magnetic contribution to the pattern separately from the nuclear.
In this approach we’ll use ISODISTORT to try and determine the structure using a distortion mode description. We’ll assume that the nuclear structure of LaMnO3 is well known and use it as the parent structure. You might, however, decide to do all your work relative to a cubic parent perovskite. You could explore this by combining the ideas of this tutorial with the LaMnO3 symmetry mode (ISODISTORT) tutorial. This tutorial will assume you’re familiar with structural symmetry mode refinements.
Isodistort Approach
1. Go to the ISODISTORT webpage and upload the LaMnO3 cif file. Go through the upload menus to the main screen.
2. Go to the list of atoms towards the top of the page and set ticks so that “Mn magnetic” modes are considered as well as displacive modes. Click on ok.
3. Go to method 2, select the Gamma point (as magnetic cell is the same as nuclear) and click ok. Select the Irrep mGm4+ (the final option in the pull down box). You’ll get a single choice of magnetic symmetry: P1 (a) 62.448 Pn’ma’. Note that the other irreps lead to different magnetic symmetries (try them).
4. Click ok then toggle bullet buttons so you can save the isodistort .str file to your computer (e.g. as lamno3_mag.str)
5. You might like to visualise the effect of different magnetic modes in isodistort. In the visiauliser select view distortion bullet, play with the slider bars to see what structures arise from different modes.
6. Go through the jEdit “Distortion Mode Rietveld” menus and set up an input file for a Rietveld fit. By default all magnetic mode amplitudes are set to zero and not refining. You should get a fit comparable to the nuclear-only fit at the start of these tutorials wRp ~ 14.4% by refining a single temperature factor. Alternatively you can just start from the .inp file from the first part of the tutorial and replace the str section with the contents of lamno3_mag.str remember to retain the scale factor and peak shape lines.
7. In jEdit go to the part of the input file which describes the magnetic modes. Allow all 3 modes to refine and start their values all at 0.1. After refinement you should get wRp = 3.920 and this part of the file will look like this:
mode definitions
prm !a1 0.00000 min -2.00 max 2.00 'Pnma0,0,0GM1+aLa:c]A'_1a
prm !a2 0.00000 min -2.00 max 2.00 'Pnma0,0,0GM1+aLa:c]A'_2a
prm !a3 0.00000 min -2.00 max 2.00 'Pnma0,0,0GM1+aO1:c]A'_1a
prm !a4 0.00000 min -2.00 max 2.00 'Pnma0,0,0GM1+aO1:c]A'_2a
prm !a5 0.00000 min -2.83 max 2.83 'Pnma0,0,0GM1+aO2:d]A_1a
prm !a6 0.00000 min -2.83 max 2.83 'Pnma0,0,0GM1+aO2:d]A_2a
prm !a7 0.00000 min -2.83 max 2.83 'Pnma0,0,0GM1+aO2:d]A_3a
prm m1 7.74056` min -9.00 max 9.00 'Pnma0,0,0mGM4+aMn:aAg_1a
prm m2 -0.39155` min -8.00 max 8.00 'Pnma0,0,0mGM4+aMn:aAg_2a
prm m3 -0.04420` min -8.00 max 8.00 'Pnma0,0,0mGM4+aMn:aAg_3a
8. You can refine the nuclear structure by allowing each of a1 to a7 to refine. Their amplitudes will be close to zero showing that our nuclear model is good.
9. Go back to ISODISTORT and use the visualiser to view the magnetic structure by pulling slider bars to the refined values. You should see that the m1 mode aligns moments along the x axis. All moments in the same xz plane are aligned ferromagnetically, but adjacent layers are antiferromagnetic. The m2 mode rotates moments in the xy plane and m3 rotates in the xz plane. The structure thus has perovskite A-type ordering.
10. You might be curious to see if it’s possilbe to work out the magnetic structure without knowing which irrep to choose (i.e. in 3 above, how did we choose mGM4+ to define our space group?). You can explore this by working in P1 in topas and trying to determine which of the 12 possible modes are important. In ISODISTORT use method 3 and select space group P1. Create a topas.str file then try using simulated annealing to determine mode amplitudes. Put “continue_after_convergence” at the top of the .inp file and “val_on_continue = Rand(-0.1,0.1);” after each mode amplitude. You should find that the only mode with significant amplitude is m10 which is Pnma[0,0,0]mGM4+(a)[Mn:a]Ag_1(a). The “cheat” file below shows how to do this.
11. Give yourself a pat on the back and relax with a glass of wine or soft beverage of your choice.
X-ray and Neutron Combined Refinements
1. If you want to do a combined X-ray and magnetic neutron refinement using the for_xdds and for_strs constructions you’ll need a little trick to prevent TOPAS from trying to calculate a magnetic contribution on the X-ray data. This can be done using the construct:
if Obj_There(neutron) mlx @ 0.66790` mly @ -0.01027` mlz @ -0.00609`
2. An example file is linked here.
Cheat files
Shubnikov fit; separate refinement; isodistort refinement; find magnetic symmetry refinement; x-ray and neutron combined