Perhaps I am misunderstanding something here, but aren't the negative coordinates also outside the unit cell in your expectations? On Thu, 28 Dec 2006, David A Carr wrote:
Hello,
I have encountered the following inconsistency when working with cctbx. The compound I am working with is as follows.
#Silicon Dioxide Quartz low. #Si O2 #ICSD Coll Number 62410
label="Si", site=(0.4643,0.0,0.6667) label="O", site=(0.411,0.2773,0.7783)
unit_cell="4.8430, 4.8430, 5.3480, 90.0, 90.0, 120.0",
space_group_symbol="P 32 2 1"
The error is can be seen in the below. In the second and third Si lines the z value is not a fraction of the unit. Similarly two of the oxygens are placed outside the unit cell. Why does cctbx place these outside of the unit cell?
Number of scatterers: 9 At special positions: 0 Unit cell: (4.843, 4.843, 5.348, 90, 90, 120) Space group: P 1 (No. 1) Label, Scattering, Multiplicity, Coordinates, Occupancy, Uiso Si1 Si 1 ( 0.4643 0.0000 0.6667) 1.00 0.0000 Si1 Si 1 ( 0.0000 0.4643 1.3333) 1.00 0.0000 Si1 Si 1 (-0.4643 -0.4643 1.0000) 1.00 0.0000 O1 O 1 ( 0.4110 0.2773 0.7783) 1.00 0.0000 O1 O 1 (-0.2773 0.1337 1.4450) 1.00 0.0000 O1 O 1 (-0.1337 -0.4110 1.1116) 1.00 0.0000 O1 O 1 ( 0.1337 -0.2773 -0.4450) 1.00 0.0000 O1 O 1 (-0.4110 -0.1337 -0.1116) 1.00 0.0000 O1 O 1 ( 0.2773 0.4110 -0.7783) 1.00 0.0000
Below shows the expected fractional coordinates as expected. Based on the space group P 32 2 1.
0.4643 0.0000 0.6667 0.0000 0.4643 0.3333 -0.4643 -0.4643 0.0000 0.4110 0.2773 0.7783 -0.2773 0.1337 0.4450 -0.1337 -0.4110 0.1116 0.1337 -0.2773 -0.4450 -0.4110 -0.1337 -0.1116 0.2773 0.4110 -0.7783
Any insight into this would be of help. I am hoping to use cctbx as a part of our current software development project.
Thanks,
D.Andrew Carr [email protected]
# Below is the code that generates the error # posted above. #--------------------------------------------------- from cctbx import xray from cctbx import crystal from cctbx.array_family import flex
def demo(): crystal_symmetry = crystal.symmetry( unit_cell="4.8430, 4.8430, 5.3480, 90.0, 90.0, 120.0", space_group_symbol="P 32 2 1") scatterers = flex.xray_scatterer() scatterers.append(xray.scatterer( label="Si", site=(0.4643,0.0,0.6667))) scatterers.append(xray.scatterer( label="O", site=(0.411,0.2773,0.7783))) icsd_structure = xray.structure( crystal_symmetry=crystal_symmetry, scatterers=scatterers) print "ICSD Structure" icsd_structure.show_summary().show_scatterers() print icsd_structure.show_distances(distance_cutoff=2.5) print "Primitive" primitive_structure = icsd_structure.primitive_setting() primitive_structure.show_summary().show_scatterers() print p1_structure = primitive_structure.expand_to_p1() p1_structure.show_summary().show_scatterers() print print "Expanded to P1" icsd_structure.expand_to_p1().show_summary().show_scatterers() print "OK"
if (__name__ == "__main__"): demo()