[cctbxbb] Documentation on caching mechanisms implemented in structure factor calculation

Pavel Afonine pafonine at lbl.gov
Mon Sep 28 10:22:46 PDT 2020

Hi Jan,

> It's been a while since I actively worked with cctbx, but now I wonder
> if there is some in depth documentation on how the structure factor
> calculation in the cctbx xray module is done.

no, no any documentation on details how structure factors are 
calculated. Generally, the calculation protocol follows classic 20-50 
years old publications on the subject..

> I'm especially interested
> in caching strategies employed to speed up the calculation during
> refinement runs (especially in the case of small molecules using direct
> summation).
> So is there a kind of caching that keeps (partial) structure factor
> contributions of each individual scatterer cached so that only the
> partials of shifted scatterers have to be recalculated? If so is there a
> python interface for accessing those?

No, nothing like that is done, AFAIK. We used to do (or may be even 
still do!) something along these lines with the bulk-solvent mask: we 
would only update (recalculate) the mask if atoms moved by more than a 
certain threshold (0.3A, from memory).

> Also is there an option to simulate/map the f_calc amplitudes onto a
> 1dimensional 2theta or d* axis to compare those to powder diffraction
> patterns?

Not that I'm aware of..


More information about the cctbxbb mailing list