structure

Bulk structural analysis

This module contains classes to analyze the structure of bulk fluid and electrolyte systems.

Functions

calculate_coordination_numbers

Calculates coordination numbers \(n_k\) from a radial distribution function \(g_{\alpha\beta}(r)\).

calculate_structure_factor

Calculates the static or partial structure factor \(S_{\alpha\beta}(q)\) using the radial histogram bins \(r\) and the radial distribution function \(g_{\alpha\beta}(r)\) for an isotropic fluid.

cosine_column_sum

Evaluates the column-wise sum of the cosines of the elements in a two-dimensional NumPy array \(\mathbf{x}\).

cosine_column_sum_inplace

Evaluates the column-wise sum of the cosines of the elements in a two-dimensional NumPy array \(\mathbf{x}\).

delta_fourier_transform_sum

Evaluates the Fourier transforms of Dirac delta functions involving all possible combinations of multiple one-dimensional NumPy arrays \(\mathbf{q}\) and \(\mathbf{r}\), each with shape \((3,)\), summed over all \(\mathbf{r}\).

generate_spherical_wavevectors

Generates spherical wavevectors \(\mathbf{q}\) for a triclinic simulation box.

numba_cosine_sum

Serial Numba-accelerated sum of the cosines of the elements in a one-dimensional NumPy array \(\mathbf{x}\).

numba_cross_pythagorean_trigonometric_identity

Serial Numba-accelerated evaluation of the cross Pythagorean trigonometric identity for two one-dimensional NumPy arrays \(\mathbf{r}\) and \(\mathbf{s}\).

numba_delta_fourier_transform

Serial Numba-accelerated Fourier transform of a Dirac delta function involving two one-dimensional NumPy arrays \(\mathbf{q}\) and \(\mathbf{r}\), each with shape \((3,)\).

numba_pythagorean_trigonometric_identity

Serial Numba-accelerated evaluation of the Pythagorean trigonometric identity for a one-dimensional NumPy array \(\mathbf{r}\).

numba_sine_sum

Serial Numba-accelerated sum of the sines of the elements in a one-dimensional NumPy array \(\mathbf{x}\).

psf_trigonometric

Computes the partial structure factors given two two-dimensional NumPy arrays, each containing \(\mathbf{q}\cdot\mathbf{r}\), using the trigonometric form.

radial_fourier_transform

Computes the radial Fourier transform \(\hat{f}(q)\) of discrete data \(f(r)\).

radial_histogram

Computes the radial histogram of distances between particles of the same species \(\alpha\) or two different species \(\alpha\) and \(\beta\).

sine_column_sum

Evaluates the column-wise sum of the sines of the elements in a two-dimensional NumPy array \(\mathbf{x}\).

sine_column_sum_inplace

Evaluates the column-wise sum of the sines of the elements in a two-dimensional NumPy array \(\mathbf{x}\).

ssf_trigonometric

Computes the static structure factors using a two-dimensional NumPy array containing \(\mathbf{q}\cdot\mathbf{r}\) using the trigonometric form.

zeroth_order_hankel_transform

Computes the Hankel transform \(F_0(q)\) of discrete data \(f(r)\) using the zeroth-order Bessel function \(J_0\).

Classes

IntermediateScatteringFunction

Serial and parallel implementations to calculate the coherent and incoherent (or self) parts of the intermediate scattering function, \(F(q,\,t)\) and \(F_\mathrm{s}(q,\,t)\), respectively, and the partial intermediate scattering functions, \(F_{\alpha\beta}(q,\,t)\), for species \(\alpha\) and \(\beta\).

RadialDistributionFunction

Serial and parallel implementations to calculate the radial distribution function (RDF) \(g_{\alpha\beta}(r)\) between types \(\alpha\) and \(\beta\) and its related properties for two- and three-dimensional systems.

StructureFactor

Serial and parallel implementations to calculate the static structure factor \(S(q)\) or partial structure factor \(S_{\alpha\beta}(q)\) for species \(\alpha\) and \(\beta\).