At 09:01 05/10/2003 +0200, E.L. Willighagen (Egon) wrote:
On Saturday 04 October 2003 20:59, Peter Murray-Rust wrote:
> At 19:30 04/10/2003 +0200, Miguel wrote:
> > > On Friday 03 October 2003 23:13, Miguel wrote:
> > >> > A second thing is, that we need to be able to display more than one
> > >>
> > >> unit cell,  but say 2x2x2 unit cells... with all content... Again,
> > >> this is were the  iterators come in... here the iterator repeats the
> > >> process in the previous paragraph for each unit cell it has to
> > >> plot...
> > >>
> > >> So, this is new functionality ... Correct?
> > >
> > > Well, it was in Jmol b6, but at least new to the CDK based Jmol..
> >
> >So, you are saying that this functionality exists in b6?
> >What are the steps I need to go throughto see it in b6?
> >
> > >> If so, then educate me a little more on this. Is it the case that you
> > >> want the same atom structure repeated, but with a base at a different
> > >> offset?
> > >
> > > Correct.
> >
> >OK.
> >Then it seems to me that there is a better way to handle this.
> >All one needs to do is repeat the same atoms, but translated to different
> >positions in 3-space.
>
> This is necessary but may not be sufficient.

It really is a two loop process...

foreach unit cell in AxBxC {
        foreach within_unit_cell_symmetry_operation in Spacegroup {
                draw symmetry_unrelated_atoms
        }
}


If you want to store (not just draw) the symmetry-related atoms you need:


initialise symmetry atom list
foreach unitcell AxBxC
foreach symmetry operation in spacegroup
for-each atom in asymmetric unit
calculate symmetry related coordinates
if new atom has distinct coordinates not in symmetry atom list
add atom to list
}
}
}
}


Thus for NaCl which is in Fm3m you might have
Na 0 0 0
Cl 0.5, 0.5, 0.5

If A=1, B=1, C=1
you must generate several additional unit cells to be safe and iterate through 192 operations. Thus will generate 13 new Na and 12 new Cl(out of several hundred positions considered).






> The unit cell contains n
> copies of the asymmetric unit - normally a single molecule. n depends on
> the space group (of which there are 230) and ranges from 1 (P1) to 192
> (Fm3m).

Never realized it could be that many!

Most organics have between 2 and 8


> There should be n symmetry operators given for the system (of which
> one is the identity operator x,y,z). These symmetry operators must then all
> be applied to the contents of the asymmetric unit. In general this will
> generate new atoms, although if rotation axes or inversion centres are
> present some atoms will translate onto themselves.
>
> As an example, take spacegroup P1bar (no 2). This contains two symmetry
> operators, x,y,z, and -x, -y, -z. Suppose the molecule was given  with
> **fractional coordinates**:
> C 0 0 0
> O 0.2, 0.3 -0.1
>
> you would have to apply the second symmetry operation to get two new atoms:
> C 0 0 0
> O -0.2, -0.3 0.1
> The first new atom overlaps (is identical to) the original carbon and so
> can be omitted. The second O is bonded to the C, thus giving an O-C-O
> molecule.
>
> You can then translate this by 1,0,0 0,0,2, -1,2,-2,  etc to generate new
> cells.

Which is the translation over the unit cell axes a,b,c...

> note that all symmetry operations *must* be on fractional coordinates. If
> you are given cartesian coordinates only then you cannot generate
> fractional coordinates unless you are given the cell axes as vectors (not
> just a,b,c,alpha, beta, gamma).

Note that CDK has methods to convert fractional <-> cartesian for atomic
coordinates and notional <-> cartesian for the axes...

> If you do not generate symmetry equivalent molecules you will end up large
> voids in the structure.
>
> Note also that it is possible that the molecule consists of polymers in 1,
> 2, or 3 dimensions. This requires the generation of bonds between
> molecules.

The current rebonding code is quite efficient, so we could just do a rebond on
the super cell AxBxC...


> We are currently writing code for this process and hope to have some
> generic code.

Peter, what code are you refering to here? Applying the spacegroup symmetry
operations?

Yes, Simon/Billy is working on this (copied). I have mentioned there is an IRC. We nee free standing code (i.e. we need to generate the coordinates of the atoms, not just draw them.)


P.



Egon

--
PhD Molecular Representation in Chemometrics
Laboratory of Analytical Chemistry
http://www-cac.sci.kun.nl/people/egonw.html



------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Jmol-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jmol-developers

Reply via email to