CurveModels.Scattering.FormFactors#

This module contains functions, which is used to calculate the form factors

nquad_vec(f, limits)#
homogeneous_sphere(q, R)#

Calculate the form factor of a homogeneous sphere. (entirely generated by GitHub Copilot)

Parameters:
  • q (float or array-like) – The scattering vector magnitude.

  • R (float) – The radius of the sphere.

Returns:

F – The form factor of the homogeneous sphere.

Return type:

float or array-like

sphere_volume(R)#

Calculate the volume of a sphere.

Parameters:

R (float) – The radius of the sphere.

Returns:

V – The volume of the sphere.

Return type:

float

spherical_shell(q, R, r)#

Calculate the form factor of a spherical shell.

Parameters:
  • q (float or array-like) – The scattering vector magnitude.

  • R (float) – The outer radius of the shell.

  • r (float) – The inner radius of the shell.

Returns:

F – The form factor of the spherical shell.

Return type:

float or array-like

ellipsoid_of_revolution(q, R, epsilon)#

Calculate the form factor of an ellipsoid of revolution.

Parameters:
  • q (float or array-like) – The scattering vector magnitude.

  • R (float) – The semi-major axis of the ellipsoid.

  • epsilon (float) – The aspect ratio of the ellipsoid.

Returns:

F – The form factor of the ellipsoid of revolution.

Return type:

float or array-like

tri_axial_ellipsoid(q, a, b, c)#

Calculate the form factor of a tri-axial ellipsoid.

Parameters:
  • q (float or array-like) – The scattering vector magnitude.

  • a (float) – The semi-major axis of the ellipsoid.

  • b (float) – The semi-minor axis of the ellipsoid in the x-y plane.

  • c (float) – The semi-minor axis of the ellipsoid in the z direction.

Returns:

F – The form factor of the tri-axial ellipsoid.

Return type:

float or array-like