Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction to rigid bodies in TOPAS

TOPAS allows for the description of molecular fragments as rigid bodies, which can then be translated and rotated within the unit cell. In the case where a molecular geometry is well defined and known, the use of rigid bodies can dramatically improve the quality of a refinement over the free refinement of x, y and z coordinates for each atom. There are two main ways in which molecular fragments can be described in TOPAS; point_for_site and z_matrix.

point_for_site

point_for_site allow fragments described in Cartesian coordinates to be moved around within a unit cell. This can work well where there is a very fixed geometry that you need to move within a unit cell. However, refining things like bond lengths are not easy to do. We will not address point_for_site further in this tutorial, but more details can be found in the 'Rigid bodies and bond length restraints' section of the TOPAS Technical Reference manual.

z_matrix

A more flexible way of describing molecules using more chemically descriptive internal coordinates for the molecular is to use z_matrix. This allows for the description of a molecule in terms of its bond lengths and angles. The lengths and angles can be parameters which form part of the refinement or used within penalties. While the use of z_matrix can take some time to get used to, it is ultimately a much more powerful method of describing and refining (flexible) rigid bodies.

...

Some more general information on Z matrices (not specific to TOPAS) with some examples can be found here.

Tutorial instructions

Theses PDF data of paracetamol were collected on the XPDF beamline at Diamond. The structure of paracetamol can be found here.

Info

jEdit’s rectangular selection tool is very helpful for this tutorial, make sure to check it our here before continuing.

Fitting without the use of a rigid body

  1. Start a fresh PDF refinement using "para_100K_pdf.xy" as the filename (TOPASforPDF > 1. PDF data > Select PDF Data File) and in jEdit save the file as 'para_100K_without_rigid.inp'.

  2. Enter a dQ damping with a value of 0.08 (TOPASforPDF > 2. Instrumental parameters > dQ damping).

  3. Load structure from para.cif (TOPASforPDF > 3. Phase information > 3b. add new phase from CIF > i. Read a .CIF File).

  4. Allow the lattice parameters to refine within the monoclinic symmetry (TOPASforPDF > 3. Phase information > 3b. add new phase from CIF > ii. constrain lattice parameters > convert to monoclinic).

  5. Delete the beq 0.0789 for each atom, and instead add a beq_rcut_rlo_spherical peak shape with the default valuessome reasonable starting values such as 3.0 and 10.0; we will look at different peak shape functions in more details later on in the tutorial (TOPASforPDF > 3. Phase information > beq peak shape functions > beq spherical with min r and low r cutoffs).

  6. Add view_structure to open a structure viewer where you can watch the structure as the refinement progresses (TOPASforPDF > 3. Phase information > view_structure).

  7. Include output to CIF so you can compare the results in VESTA later (TOPASforPDF > 3. Phase information > outputs > output .CIF fileTOPAS_v7_Menus > Phase level - Structure > Outputs > Generate CIF output).

  8. Allow all of the atomic coordinates to refine (place an @ sign after x, y and z in each site) and run the refinement in TOPAS, but when asked if you want to update the .inp file with the .out file at the end of the refinement click No. Use the structure viewer to look at how the atoms move during the refinement.

    1. How has the molecular geometry changed?

    2. Use VESTA to look  at the .cif file created, and compare it to the starting para.cif.

  9. Edit the sites of the structure You hopefully observed that the structure diverged quickly from the starting model, and now looks unrealistic. Let’s try slowing down the refinement a little by damping the updates after each refinement cycle, so that the atoms will more gently move away from their starting positions. Define a new macro called “Damp” by inserting this line at the top of your inp file:

Code Block
macro Damp(DampFactor) { update = Val + (Change*(1/Exp(DampFactor/2))); }
  1. This macro simply allows us to change the update keyword in a more tidy manner. Add this damping to add the site x, y, z coordinates by adding Damp(5)

...

  1. to each of the coordinates, so each line looks like this:

    Code Block
    site C1 x @ 0.1286 Damp(5) y @ 0.1743 Damp(5) z @ -0.0080 Damp(5) occ C 1.0

...

  1. This Damp macro

...

  1. can help to keep atomic positions near their starting positions in the early stages of a refinement, but should be removed before finalising a refinement as it can prevent a refinement from converging.

...

  1. Change the filename for the output .cif to Out_CIF_STR("para_100K_without_rigid_damp.cif") so the previous one doesn't get overwritten.

  2. Re-refine the structure and use the structure viewer to look at how the atoms move during the refinement.

    1. Use VESTA to compare the output .cif files.

    2. VESTA can be downloaded from https://jp-minerals.org/vesta/en/download.html - choose the VESTA-win64 option

    3. It does not require installation - simply extract the downloaded zip file and run the .exe file contained within