beta#

Functions for dealing with beta functions.

jrystal.pseudopotential.beta.beta_sbt_grid_multi_atoms(r_grid: List[Float[Array, 'r']], nonlocal_beta_grid: List[Float[Array, 'beta r']], nonlocal_angular_momentum: List[List[int]], g_vector_grid: Float[Array, 'x y z 3']) List[Float[Array, 'beta x y z']][source]#

Calculate the spherical bessel transform of the beta functions for multiple atoms.

\[\beta_l(G) = \int_0^\infty \beta(r) j_l(Gr) r^2 dr\]

Return the beta function value of angular momentum values \(l\) at the reciprocal vectors \(G\) per atom

Parameters:
  • r_grid (List[Float[Array, "r"]]) – the r grid corresponding to the beta functions.

  • nonlocal_beta_grid (List[Float[Array, "beta r"]]) – beta values.

  • nonlocal_angular_momentum (List[List[int]]) – angular momentum corresponding to the beta functions.

  • g_vector_grid (Float[Array, "x y z 3"]) – reciprocal vectors to interpolate.

Returns:

the beta functions in reciprocal space.

Return type:

List[Float[Array, “beta x y z”]]

Warning

Cubic spline interpolation is not implemented in JAX. This function uses NumPy and is not differentiable.

jrystal.pseudopotential.beta.beta_sbt_grid_single_atom(r_grid: Float[Array, 'r'], nonlocal_beta_grid: Float[Array, 'beta r'], nonlocal_angular_momentum: List[int], g_vector_grid: Float[Array, 'x y z 3']) Float[Array, 'beta x y z'][source]#

Calculate the spherical bessel transform of the beta functions for a single atom.

\[\beta_l(G) = \int_0^\infty \beta(r) j_l(Gr) r^2 dr\]

Return the beta function value of angular momentum values \(l\) at the reciprocal vectors \(G\) per atom

Parameters:
  • r_grid (Float[Array, "r"]) – the r grid corresponding to the beta functions.

  • nonlocal_beta_grid (Float[Array, "beta r"]) – beta values.

  • nonlocal_angular_momentum (List[int]) – angular momentum corresponding to the beta functions.

  • g_vector_grid (Float[Array, "x y z 3"]) – reciprocal vectors to interpolate.

Returns:

the beta functions in reciprocal space.

Return type:

Float[Array, “beta x y z”]

Warning

Cubic spline interpolation is not implemented in JAX. This function uses NumPy and is not differentiable.