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.. Pavel