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