On Wednesday 28 May 2003 21:03, Peter MurrayRust wrote:
> At 07:18 28/05/2003 +0200, E.L. Willighagen (Egon) wrote:
> >On Tuesday 27 May 2003 22:30, Fabian Dortu wrote:
> > > some times ago you told me about a piece of code to deal with
> > > symmetries in crystal. But I was not very receptive at that moment.
> > > Could you tell me more about it?
> >
> >You will see fragments like:
> >
> > <floatMatrix builtin="symOp" rows="4" columns="3">
> > 1 0 0 0.000000000000
> > 0 1 0 0.000000000000
> > 0 0 1 0.000000000000
> > </floatMatrix>
> >
> >wrapped in a <symmetry> element... AFAIK, this example corresponds with a
> >symmetry operation like:
> >
> >x,y,z
>
> You have 3 rows and 4 columns so should adjust the attributes :)
Yes, I know... this fragment is from the *bad* CML about of ABINIT... see my
patch to ABINIT to fix this that I sent yesterday, which fixes this and a few
other issues ;)
> >which is the identity operation. The second is more interesting:
> >
> > <floatMatrix builtin="symOp" rows="4" columns="3">
> > 1 0 0 0.250000000000
> > 0 1 0 0.250000000000
> > 0 0 1 0.250000000000
> > </floatMatrix>
> >
> >This would be the operation:
> >
> >1/4x, 1/4y. 1/4z
>
> floatMatrix is allowed but deprecated in CML2. The preferred construct is:
>
> <matrix type="xsd:float" rows="3" columns="4">
>
> > 1 0 0 0.250000000000
> > 0 1 0 0.250000000000
> > 0 0 1 0.250000000000
>
> </matrix>
Again, see ABINIT patch...
> In this way a much greater range of datatypes is possible.
>
> >etc...
> >
> >Each operation is applied to all atoms in the unit cell, i.e. only
> >those in the assymetric unit is given.
> >
> >Thus, the UnitCell class should be extended to hold such symmetries and be
> >able to use them when composing the unit cell contents...
>
> Yes. Be aware that the symmetry operators given do not normally include
> cell translations (and often not cell centering). Thus in C2/m which has 8
> asymmetric (sic) units in the cell only 2 operators are often given:
> x, y, z
> x, y, z
>
> The operator 1/2+x, 1/2+y, z
> is assumed as are
> p+x, q+y, r+z where p, q, r and any integers (and therefore infinite).
Yes, this is true, and I've discussed this with Fabian on several occasions.
At this moment atoms are relocated into the unit cell on an atom basis...
Thus, without regarding molecular connectivity... you will see this behaviour
when opening the estron.cml in Jmol/samples.
Additionally, in the crystal properties dialog, there is an option (second
tab?) to display the original atoms, and this will show you the behaviour you
just described.
> The operators are enough to define an infinite lattice but if you wish to
> define a specific set of "molecules" you have to enumerate them or give
> ranges or both. I'd be very interest in this as it needs to go into CML.
AFAIK, most crystal structure software does this centering by itself, and do
not need the factor in files. It is easy to do.
Egon
