Hi Nazesh
I’m assuming that your umbite is similar to
http://www.crystallography.net/cod/1535816.html. It does seem to match your structural description.
You can use the predefined tetrahedra macro to describe a tetrahedral rigid body. You can make your silicons be the central atom, with apical oxygens, and then refine the rotation angles to match up as closely as possible with the coordinates that you already have. You may need to use dummy atoms and distance restraints to get the distances close to zero. There is some information here
http://topas.dur.ac.uk/unb/forum.php?req=thread&id=698, and in particular
http://topas.dur.ac.uk/topaswiki/doku.php?id=matching_a_rigid_body_to_a_known_fragment. If you also have access to this book (
https://www.amazon.com.au/Rietveld-Refinement-Practical-Diffraction-Analysis-ebook/dp/B07RDDY1XY) then chapter 6 has a bunch of information on rigid bodies in Topas.
A quick look at the macro in topas.inc shows that it might be better to roll your own, as the existing macro starts the tetrahedron centred at 0,0,0, but you would probably already know the Si positions:
macro Tetrahedra_new(s0, s1, s2, s3, s4, r, cvx, cvy, cvz, cva, cvb, cvc)
{
rigid
point_for_site s0
point_for_site s1 ux = -0.816496580927726 r; uy = 0.4714045207910317 r; uz = -r/3;
point_for_site s2 ux = 0.816496580927726 r; uy = 0.4714045207910317 r; uz = -r/3;
point_for_site s3 uy = -0.942809041582063 r; uz = -r/3;
point_for_site s4 uz = r;
Rotate_about_axies(cva, cvb, cvc)
Translate(cvx, cvy, cvz)
start_values_from_site s0
}
In this one, s0 is the central atom and s1-4 are the apical atoms. r is the bond length. cvx, cvy,cvz are parameter names and values for the coordinates of the central atom. cva, cvb, cvc are the parameter names and values for rotations about the x, y and z axes. I think it should work; I haven’t tried it.
What you need to worry about is that the silica tetrahedra in your structure have bridging oxygens, and so need to have the same coordinates when looking at different tetrahedra. Because of this, I think that a better way would be to define an Si3O9 rigid body. The bond lengths and angles within all tetrahedra can be constrained to the same values, with the bond and torsion angles between each tetrahedron able to be refined.
If you do this, then you can’t describe the ZrO6 octahedra, as their oxygen positions are fully defined by the tetrahedra. You can refine the Zr position, and maybe use bond distance restraints to keep it in a sensible position.
The topas structure viewer has a feature which produces a “first guess” z-matrix, which can be a good place to start. You might find it easiest to delete the atoms that aren’t in your silicate group when you do that. I haven’t used it in anger to make a z-matrix, but it could be of some help.
Hope this is of some help.
Matthew