[cctbxbb] Structure factor calculation for Si

Petrus Zwart phzwart at lbl.gov
Wed Aug 26 13:23:50 PDT 2015


Hi,

It took me a bit to figure it out, but the intensity lines you quote in the
database listed are powder lines and are multiplicity weighted. If you take
that into account, the calculated values have a better correspondence to
the table listed, but are still not perfect which likely has to do with
Pavel's suggestions as well as with the fact that bonding electrons
breaking spherical symmetry have a contribution to the total.

Note that you can use this for reading in the cif file you attached earlier:


from __future__ import division
from cctbx import xray
from scitbx.array_family import flex
from libtbx import easy_pickle
from libtbx.str_utils import show_string
import sys, os
op = os.path

def run(args):
  for f in args:
    try:
      xray_structures = xray.structure.from_cif(file_path=f)
    except KeyboardInterrupt:
      raise
    except Exception, e:
      print "Error extracting xray structure from file: %s:" % (
        show_string(f))
      print " ", str(e)
      continue
    basename, _ = op.splitext(op.basename(f))
    for key, xs in xray_structures.items():
      xs.show_summary()
      r = basename
      if key != r:
        r += '_'+key
      #easy_pickle.dump(file_name=r+'_xray_structure.pickle', obj=xs)
      F = xs.structure_factors(d_min=1.5,algorithm='direct').f_calc()
      I = F.as_intensity_array()
      d = I.d_spacings().data()
      m = I.multiplicities().data()
      max_i = flex.max( I.data() )
      for i,dd,mm in zip(I,d,m):
        print i[0], i[1], dd,mm

if (__name__ == "__main__"):
  import sys
  run(args=sys.argv[1:])

resulting in

Number of scatterers: 1
At special positions: 1
Unit cell: (5.43094, 5.43094, 5.43094, 90, 90, 90)
Space group: F d -3 m :1 (No. 227)
(0, 2, 2) 4878.06695169 1.92012760466 12 100.0
(1, 1, 1) 3543.96579287 3.1355552483 8 48.4340187479
(1, 3, 1) 2144.13899149 1.63749032323 24 87.9093711801

these values are close to what Debye reported (contact me personally for
the manuscript).

P






On Mon, Aug 24, 2015 at 4:47 PM, Peter Zwart <PHZwart at lbl.gov> wrote:

> Hi,
>
> There are two standard space group settings for F d -3 m (namely 1 and 2)
> and I am not sure what the literature uses.
> It is a puzzle indeed, in one setting (2,2,0) is absent, in another it
> isn't. I guess the difference is space group settings, but the choice
> between setting 1 and 2 still doesn't reproduce the table you send, which
> by chance isn't in the paper listed in the link you send.
>
> P
>
>
>
>
>
>
>
>
> On 24 August 2015 at 15:55, Pavel Afonine <pafonine at lbl.gov> wrote:
>
>> Hi Allan,
>>
>> I'm not entirely sure why the difference between observed (experimentally
>> measured) and calculated (using your script below) amplitudes of structure
>> factors surprises you..
>>
>> Also:
>>
>> - your script computes structure factors and prints out amplitudes (not
>> intensities);
>> - you do not set the B-factor. By default scatterer object is constructed
>> with u_iso=0.
>>
>> Pavel
>>
>>
>> On 8/24/15 15:01, Allan Lyckegaard wrote:
>>
>> Dear CCTBX-list
>>
>> I am trying to reproduce the (scaled) intensities for Si reported here:
>> http://rruff.geo.arizona.edu/AMS/xtal_data/DIFfiles/15285.txt based on
>> this information:
>> http://rruff.geo.arizona.edu/AMS/CIF_text_files/15285_cif.txt
>>
>> I am using CCTBX in Python:
>>
>> from cctbx.array_family import flex
>>
>> from cctbx import sgtbx, crystal, miller, xray
>>
>> sgnum = 227
>>
>> sg = sgtbx.space_group_info(sgnum).group()
>>
>> latticepar = [5.43070, 5.43070, 5.43070, 90, 90, 90]
>>
>> dmin = 1.0
>>
>> atompos = [['Si',(0.0, 0.0, 0.0)]]
>>
>> scatterers = flex.xray_scatterer()
>>
>> scatterers.append(xray.scatterer(label=atompos[0][0], site=atompos[0][1]))
>>
>> pg = sg.build_derived_point_group()
>>
>> sym = crystal.symmetry(space_group=sg,unit_cell=latticepar)
>>
>> sps = crystal.special_position_settings(crystal_symmetry=sym)
>>
>> structure =
>> xray.structure(special_position_settings=sps,scatterers=scatterers)
>>
>> F = structure.structure_factors(d_min=dmin,algorithm='direct').f_calc()
>>
>> list(F.amplitudes())
>>
>>
>> This gives:
>>
>> [((0, 2, 2), 0.0),
>>
>>  ((0, 4, 0), 120.21765812638594),
>>
>>  ((1, 1, 1), 84.18849550806966),
>>
>>  ((1, 3, 1), 65.48371727205928),
>>
>>  ((1, 3, 3), 57.45438308324155),
>>
>>  ((1, 5, 1), 51.48759686950681),
>>
>>  ((2, 2, 2), 128.54540698861973),
>>
>>  ((2, 4, 2), 0.0),
>>
>>  ((3, 3, 3), 51.48759686950681)]
>>
>> How come CCTBX give an amplitude of 0.0 for (0,2,2) and (2,4,2)? The
>> measured intensities in the DIFfile above does not show this. Am I missing
>> something?
>>
>> Cheers,
>> /Allan
>>
>>
>> _______________________________________________
>> cctbxbb mailing listcctbxbb at phenix-online.orghttp://phenix-online.org/mailman/listinfo/cctbxbb
>>
>>
>>
>> _______________________________________________
>> cctbxbb mailing list
>> cctbxbb at phenix-online.org
>> http://phenix-online.org/mailman/listinfo/cctbxbb
>>
>>
>
>
> --
> -----------------------------------------------------------------
> P.H. Zwart
> Staff Scientist
> Berkeley Center for Structural Biology, Science lead
> Lawrence Berkeley National Laboratories
> 1 Cyclotron Road, Berkeley, CA-94703, USA
> Cell: 510 289 9246
> SASTBX:  http://sastbx.als.lbl.gov
> BCSB:      http://bcsb.als.lbl.gov
> PHENIX:   http://www.phenix-online.org
> CAMERA: http://camera.lbl.gov/
> -----------------------------------------------------------------
>
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/cctbxbb
>
>


-- 
-----------------------------------------------------------------
P.H. Zwart
Staff Scientist
Berkeley Center for Structural Biology, Science lead
Lawrence Berkeley National Laboratories
1 Cyclotron Road, Berkeley, CA-94703, USA
Cell: 510 289 9246
SASTBX:  http://sastbx.als.lbl.gov
BCSB:      http://bcsb.als.lbl.gov
PHENIX:   http://www.phenix-online.org
CAMERA: http://camera.lbl.gov/
-----------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/cctbxbb/attachments/20150826/cf9f6969/attachment.htm>


More information about the cctbxbb mailing list