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- 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- 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- 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- 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- 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- 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- structure_eff(Pq: Any) ndarray¶
Return effective structure factor for no structure