Structure Factor Module¶
This module provides functions for calculating various types of structure factors. Structure factors quantify the scattering intensity of a material as a function of the scattering vector magnitude (q), revealing information about the spatial arrangement of particles or microstructural features within the material.
Structure factors are used in diverse areas, including the study of colloidal suspensions, granular materials, polycrystalline metals, and more. They help researchers characterize the structure, composition, and properties of materials at the microscopic and nanoscale levels.
Functions: - hard_sphere: Returns the functor instance which calculates the structure factor for a system of hard spheres. - steaky_hard_sphere: Returns the functor instance which calculates the structure factor for a system of steaky hard spheres. - polycrystal: Returns the functor instance which calculates the structure factor for a polycrystalline material. - polycr_bkgr: Returns the functor instance which calculates polycrystal background.
- escape.scattering.strfac.hard_sphere(q: FunctorLike, radius: ParameterLike, volfrac: ParameterLike, name: str = 'Hard sphere', notes: str = '') functor_obj¶
Returns the functor instance which calculates the structure factor for a system of hard spheres.
The hard sphere structure factor, denoted as S(q), quantifies the deviation of the scattering intensity of a system of hard spheres from that of a non-interacting reference system. It is a crucial quantity in the study of colloidal and granular materials and is used in various areas of condensed matter physics.
Parameters¶
- qFunctorLike
A functor that calculates q values. Typically, q is a function of the scattering angle and is expressed as q = 4 * pi * sin(theta) / lambda, where theta is the scattering angle and lambda is the wavelength of the incident radiation.
- radiusParameterLike
The radius of the hard spheres.
- volfracParameterLike
The volume fraction of the hard spheres in the system. It represents the ratio of the total volume occupied by the spheres to the total volume of the system.
- namestr, optional
A descriptive name for the structure factor.
- notesstr, optional
User notes for the object.
Returns¶
- resfunctor_obj
A functor that computes the structure factor S(q) for the given parameters.
Notes¶
The hard sphere structure factor S(q) is calculated using the Percus-Yevick approximation for hard spheres.
- escape.scattering.strfac.polycr_bkgr(q: FunctorLike, period: ParameterLike, disorder: ParameterLike, numunits: int, name: str = 'Polycrystal background', notes: str = '') functor_obj¶
Create a functor which calculates polycrystal background.
Parameters¶
- qFunctorLike
A functor that calculates q values. Q is a function of the scattering angle and is expressed as q = 4 * pi * sin(theta) / lambda, where theta is the scattering angle and lambda is the wavelength of the incident radiation.
- periodParameterLike
The characteristic periodicity of the polycrystal. This can be either a constant value or a function that calculates the period.
- disorderParameterLike
The degree of disorder within the polycrystal. It represents the extent of randomness or defects in the microstructure and can be a constant value or a functor.
- numunitsint
The number of crystallographic units within the polycrystal. This parameter provides information about the size and distribution of grains within the material.
- namestr, optional
Name of the functor.
- notesstr, optional
User notes for the object.
Returns¶
- resfunctor_obj
Functor for the polycrystal background.
- escape.scattering.strfac.polycrystal(q: FunctorLike, period: ParameterLike, disorder: ParameterLike, numunits: int, bckgr: bool = True, name: str = 'Polycrystal', notes: str = '') functor_obj¶
Returns the functor instance which calculates the structure factor for a polycrystalline material.
The polycrystal structure factor, denoted as S(q), quantifies the scattering intensity arising from the crystalline and disorderly regions within a polycrystalline material. It is a valuable tool for characterizing the microstructure and properties of polycrystals, helping to distinguish ordered crystallographic regions from disordered grain boundaries and defects.
Parameters¶
- qFunctorLike
A functor that calculates q values. Q is a function of the scattering angle and is expressed as q = 4 * pi * sin(theta) / lambda, where theta is the scattering angle and lambda is the wavelength of the incident radiation.
- periodParameterLike
The characteristic periodicity of the polycrystal. This can be either a constant value or a function that calculates the period.
- disorderParameterLike
The degree of disorder within the polycrystal. It represents the extent of randomness or defects in the microstructure and can be a constant value or a functor.
- numunitsint
The number of crystallographic units within the polycrystal. This parameter provides information about the size and distribution of grains within the material.
- bckgrbool, optional
A boolean value indicating whether to return polycrystal structure factor as it is, or to exclude background from it (default is True).
- namestr, optional
A descriptive name for the structure factor.
- notesstr, optional
User notes for the object.
Returns¶
- resfunctor_obj
A functor that computes the paracrystal structure factor S(q) for the given parameters.
- escape.scattering.strfac.steaky_hard_sphere(q: FunctorLike, radius: ParameterLike, volfrac: ParameterLike, steakyns: ParameterLike, name: str = 'Steaky hard sphere', notes: str = '') functor_obj¶
Returns the functor instance which calculates the structure factor for a system of steaky hard spheres.
The steaky hard sphere structure factor, denoted as S(q), quantifies the deviation of the scattering intensity of a system of steaky hard spheres from that of a non-interacting reference system. Steaky hard spheres are a model for colloidal particles with an additional “stickiness” or attraction between them, making them interact differently from traditional hard spheres. This structure factor is used in the study of complex colloidal systems.
Parameters¶
- qFunctorLike
A functor that returns q values. Typically, q is a function of the scattering angle and is expressed as q = 4 * pi * sin(theta) / lambda, where theta is the scattering angle and lambda is the wavelength of the incident radiation.
- radiusParameterLike
The radius of the steaky hard spheres. This can be either a constant value or a parameter object.
- volfracParameterLike
The volume fraction of the steaky hard spheres in the system. It represents the ratio of the total volume occupied by the spheres to the total volume of the system.
- steakynsParameterLike
The steaky parameter, which quantifies the strength of the stickiness or attraction between the spheres. It is a dimensionless parameter that influences the interparticle interactions.
- namestr, optional
A descriptive name for the structure factor.
- notesstr, optional
User notes for the object.
Returns¶
- resfunctor_obj
A function that computes the structure factor S(q) for the given parameters.
Notes¶
The steaky hard sphere structure factor S(q) is calculated using a modified Percus-Yevick approximation to account for the additional interactions between the particles.