sas.sascalc.shape2sas.structure_factors package¶
Submodules¶
sas.sascalc.shape2sas.structure_factors.Aggregation module¶
- class sas.sascalc.shape2sas.structure_factors.Aggregation.Aggregation(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: list[float])¶
Bases:
StructureDecouplingApprox- __doc__ = None¶
- __firstlineno__ = 6¶
- __init__(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: list[float])¶
- __module__ = 'sas.sascalc.shape2sas.structure_factors.Aggregation'¶
- __static_attributes__ = ('Naggr', 'Reff', 'fracs_aggr', 'p_new', 'q', 'x_new', 'y_new', 'z_new')¶
- calc_S_aggr() ndarray¶
calculates fractal aggregate structure factor with dimensionality 2
S_{2,D=2} in Larsen et al 2020, https://doi.org/10.1107/S1600576720006500
input q : Naggr : number of particles per aggregate Reff : effective radius of one particle
output S_aggr :
- structure_eff(Pq: ndarray) ndarray¶
Return effective structure factor for aggregation
sas.sascalc.shape2sas.structure_factors.HardSphereStructure module¶
- class sas.sascalc.shape2sas.structure_factors.HardSphereStructure.HardSphereStructure(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: list[float])¶
Bases:
StructureDecouplingApprox- __annotations__ = {}¶
- __doc__ = None¶
- __firstlineno__ = 6¶
- __init__(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: list[float])¶
- __module__ = 'sas.sascalc.shape2sas.structure_factors.HardSphereStructure'¶
- __static_attributes__ = ('R_HS', 'conc', 'p_new', 'q', 'x_new', 'y_new', 'z_new')¶
- static calc_G(A: ndarray, eta: float) ndarray¶
calculate G in the hard-sphere potential
input A : 2*R*q q : momentum transfer R : hard-sphere radius eta: volume fraction
output: G
- calc_S_HS() ndarray¶
calculate the hard-sphere structure factor calls function calc_G()
input q : momentum transfer eta : volume fraction R : estimation of the hard-sphere radius
output S_HS : hard-sphere structure factor
- structure_eff(Pq: ndarray) ndarray¶
sas.sascalc.shape2sas.structure_factors.NoStructure module¶
- class sas.sascalc.shape2sas.structure_factors.NoStructure.NoStructure(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: Any)¶
Bases:
StructureDecouplingApprox- __annotations__ = {}¶
- __doc__ = None¶
- __firstlineno__ = 8¶
- __init__(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: Any)¶
- __module__ = 'sas.sascalc.shape2sas.structure_factors.NoStructure'¶
- __static_attributes__ = ('q',)¶
- structure_eff(Pq: Any) ndarray¶
Return effective structure factor for no structure
sas.sascalc.shape2sas.structure_factors.StructureDecouplingApprox module¶
- class sas.sascalc.shape2sas.structure_factors.StructureDecouplingApprox.StructureDecouplingApprox(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray)¶
Bases:
object- __annotations__ = {}¶
- __dict__ = mappingproxy({'__module__': 'sas.sascalc.shape2sas.structure_factors.StructureDecouplingApprox', '__firstlineno__': 6, '__init__': <function StructureDecouplingApprox.__init__>, 'calc_com_dist': <function StructureDecouplingApprox.calc_com_dist>, 'calc_A00': <function StructureDecouplingApprox.calc_A00>, 'decoupling_approx': <function StructureDecouplingApprox.decoupling_approx>, '__static_attributes__': ('p_new', 'q', 'x_new', 'y_new', 'z_new'), '__dict__': <attribute '__dict__' of 'StructureDecouplingApprox' objects>, '__weakref__': <attribute '__weakref__' of 'StructureDecouplingApprox' objects>, '__doc__': None, '__annotations__': {}})¶
- __doc__ = None¶
- __firstlineno__ = 6¶
- __init__(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray)¶
- __module__ = 'sas.sascalc.shape2sas.structure_factors.StructureDecouplingApprox'¶
- __static_attributes__ = ('p_new', 'q', 'x_new', 'y_new', 'z_new')¶
- __weakref__¶
list of weak references to the object
- calc_A00() ndarray¶
calc zeroth order sph harm, for decoupling approximation
- calc_com_dist() ndarray¶
calc contrast-weighted com distance
- decoupling_approx(Pq: ndarray, S: ndarray) ndarray¶
modify structure factor with the decoupling approximation for combining structure factors with non-spherical (or polydisperse) particles
see, for example, Larsen et al 2020: https://doi.org/10.1107/S1600576720006500 and refs therein
input q x,y,z,p : coordinates and contrasts Pq : form factor S : structure factor
output S_eff : effective structure factor, after applying decoupl. approx
Module contents¶
- class sas.sascalc.shape2sas.structure_factors.Aggregation(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: list[float])¶
Bases:
StructureDecouplingApprox- __annotations__ = {}¶
- __doc__ = None¶
- __firstlineno__ = 6¶
- __init__(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: list[float])¶
- __module__ = 'sas.sascalc.shape2sas.structure_factors.Aggregation'¶
- __static_attributes__ = ('Naggr', 'Reff', 'fracs_aggr', 'p_new', 'q', 'x_new', 'y_new', 'z_new')¶
- calc_S_aggr() ndarray¶
calculates fractal aggregate structure factor with dimensionality 2
S_{2,D=2} in Larsen et al 2020, https://doi.org/10.1107/S1600576720006500
input q : Naggr : number of particles per aggregate Reff : effective radius of one particle
output S_aggr :
- structure_eff(Pq: ndarray) ndarray¶
Return effective structure factor for aggregation
- class sas.sascalc.shape2sas.structure_factors.HardSphereStructure(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: list[float])¶
Bases:
StructureDecouplingApprox- __annotations__ = {}¶
- __doc__ = None¶
- __firstlineno__ = 6¶
- __init__(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: list[float])¶
- __module__ = 'sas.sascalc.shape2sas.structure_factors.HardSphereStructure'¶
- __static_attributes__ = ('R_HS', 'conc', 'p_new', 'q', 'x_new', 'y_new', 'z_new')¶
- static calc_G(A: ndarray, eta: float) ndarray¶
calculate G in the hard-sphere potential
input A : 2*R*q q : momentum transfer R : hard-sphere radius eta: volume fraction
output: G
- calc_S_HS() ndarray¶
calculate the hard-sphere structure factor calls function calc_G()
input q : momentum transfer eta : volume fraction R : estimation of the hard-sphere radius
output S_HS : hard-sphere structure factor
- structure_eff(Pq: ndarray) ndarray¶
- class sas.sascalc.shape2sas.structure_factors.NoStructure(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: Any)¶
Bases:
StructureDecouplingApprox- __annotations__ = {}¶
- __doc__ = None¶
- __firstlineno__ = 8¶
- __init__(q: ndarray, x_new: ndarray, y_new: ndarray, z_new: ndarray, p_new: ndarray, par: Any)¶
- __module__ = 'sas.sascalc.shape2sas.structure_factors.NoStructure'¶
- __static_attributes__ = ('q',)¶
- structure_eff(Pq: Any) ndarray¶
Return effective structure factor for no structure