![]() |
Hex
1.0
Hydrogen-electron collision solver
|
#include <radial.h>
Public Member Functions | |
| RadialIntegrals (Bspline const &bspline) | |
| void | setupOneElectronIntegrals () |
| void | setupTwoElectronIntegrals (Parallel const &par, CommandLine const &cmd, Array< bool > const &lambdas) |
| Complex | computeD_iknot (int i, int j, int iknot) const |
| Complex | computeD (int i, int j, int maxknot=-1) const |
| Complex | computeM_iknot (int a, int i, int j, int iknot, Complex R) const |
| Complex | computeM (int a, int i, int j, int maxknot=0) const |
| cArray | computeMi (int a, int iknotmax=0) const |
| rArray | computeScale (int a, int iknotmax=0) const |
| void | M_integrand (int n, Complex *in, Complex *out, int i, int j, int a, int iknot, int iknotmax, double &logscale) const |
| Complex | computeR (int lambda, int i, int j, int k, int l, cArray const &Mtr_L, cArray const &Mtr_mLm1) const |
| Complex | computeRdiag (int L, int a, int b, int c, int d, int iknot, int iknotmax) const |
| Complex | computeRtri (int L, int k, int l, int m, int n, int iknot, int iknotmax) const |
| void | R_inner_integrand (int n, Complex *in, Complex *out, int i, int j, int L, int iknot, int iknotmax, Complex x) const |
| void | R_outer_integrand (int n, Complex *in, Complex *out, int i, int j, int k, int l, int L, int iknot, int iknotmax) const |
| void | allSymmetries (int i, int j, int k, int l, Complex Rijkl_tr, NumberArray< long > &R_tr_i, NumberArray< long > &R_tr_j, NumberArray< Complex > &R_tr_v) const |
| template<class Functor > | |
| cArray | overlapP (int n, int l, Functor weightf) const |
| template<class Functor > | |
| cArray | overlapj (int maxell, const rArrayView vk, Functor weightf) const |
| Compute j-overlaps. More... | |
| Bspline const & | bspline () const |
| SymDiaMatrix const & | D () const |
| SymDiaMatrix const & | S () const |
| SymDiaMatrix const & | Mm1 () const |
| SymDiaMatrix const & | Mm1_tr () const |
| SymDiaMatrix const & | Mm2 () const |
| SymDiaMatrix const & | R_tr_dia (unsigned i) const |
| size_t | maxlambda () const |
|
inline |
| void RadialIntegrals::allSymmetries | ( | int | i, |
| int | j, | ||
| int | k, | ||
| int | l, | ||
| Complex | Rijkl_tr, | ||
| NumberArray< long > & | R_tr_i, | ||
| NumberArray< long > & | R_tr_j, | ||
| NumberArray< Complex > & | R_tr_v | ||
| ) | const |
|
inline |
| Complex RadialIntegrals::computeD | ( | int | i, |
| int | j, | ||
| int | maxknot = -1 |
||
| ) | const |
Compute derivative overlap for B-splines \( B_i \) and \( B_j \).
| i | B-spline index. |
| j | B-spline index. |
| maxknot | Right-most knot of any integration. |
| Complex RadialIntegrals::computeD_iknot | ( | int | i, |
| int | j, | ||
| int | iknot | ||
| ) | const |
Compute derivative overlap of B-splines \( B_i \) and \( B_j \) over the knot "iknot", using Gauss-Legendre integration.
| i | B-spline index. |
| j | B-spline index. |
| iknot | Interval index. |
| Complex RadialIntegrals::computeM | ( | int | a, |
| int | i, | ||
| int | j, | ||
| int | maxknot = 0 |
||
| ) | const |
Compute integral moment of coordinate power between the B-splines \( B_i \) and \( B_j \)
| a | Exponent. |
| i | B-spline index. |
| j | B-spline index. |
| maxknot | Right-most knot of any integration. |
Compute integral moment of coordinate power between the B-splines \( B_i \) and \( B_j \) over the knot "iknot", using Gauss-Legendre integration.
| a | Exponent. |
| i | B-spline index. |
| j | B-spline index. |
| iknot | Interval index. |
| R | Potential truncation point. |
| cArray RadialIntegrals::computeMi | ( | int | a, |
| int | iknotmax = 0 |
||
| ) | const |
Compute logarithms of integral moment of degree "a" for every B-spline pair and every interknot sub-interval. Store in 1-D array of shape
| a | Moment degree. |
| iknotmax | Index of knot that terminates the integration range. |
| Complex RadialIntegrals::computeR | ( | int | lambda, |
| int | i, | ||
| int | j, | ||
| int | k, | ||
| int | l, | ||
| cArray const & | Mtr_L, | ||
| cArray const & | Mtr_mLm1 | ||
| ) | const |
Compute the two-electron (Slater-type) four-B-spline integral.
| lambda | Multipole degree. |
| i | First (x-dependent) B-spline index. |
| j | Second (y-dependent) B-spline index. |
| k | Third (x-dependent) B-spline index. |
| l | Fourth (y-dependent) B-spline index. |
| Mtr_L | Logarithms of R₀-truncated partial moments. |
| Mtr_mLm1 | Logarithms of R₀-truncated partial moments. |
Given the R-type integral symmetry, following calls will produce identical results:
| Complex RadialIntegrals::computeRdiag | ( | int | L, |
| int | a, | ||
| int | b, | ||
| int | c, | ||
| int | d, | ||
| int | iknot, | ||
| int | iknotmax | ||
| ) | const |
Diagonal part of Slater integral
| Complex RadialIntegrals::computeRtri | ( | int | L, |
| int | k, | ||
| int | l, | ||
| int | m, | ||
| int | n, | ||
| int | iknot, | ||
| int | iknotmax | ||
| ) | const |
Triangle integral
| rArray RadialIntegrals::computeScale | ( | int | a, |
| int | iknotmax = 0 |
||
| ) | const |
|
inline |
| void RadialIntegrals::M_integrand | ( | int | n, |
| Complex * | in, | ||
| Complex * | out, | ||
| int | i, | ||
| int | j, | ||
| int | a, | ||
| int | iknot, | ||
| int | iknotmax, | ||
| double & | logscale | ||
| ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Compute B-spline overlap integrals for Riccati-Bessel function.
| maxell | Maximal degree of the Riccati-Bessel function. |
| vk | Array containing linear momenta. |
| weightf | Weight function to multiply every value of the Bessel function. It is expected to have the "double operator() (Complex z)" interface, where the sent value is the complex coordinate. |
|
inline |
Compute P-overlaps Compute overlap vector of B-splines vs. hydrogen Pnl function.
| n | Principal quantum number. |
| l | Orbital quantum number. |
| weightf | Weight function to multiply every value of the hydrogenic function. It is expected to have the "double operator() (Complex z)" interface, where the sent value is the complex coordinate. |
| void RadialIntegrals::R_inner_integrand | ( | int | n, |
| Complex * | in, | ||
| Complex * | out, | ||
| int | i, | ||
| int | j, | ||
| int | L, | ||
| int | iknot, | ||
| int | iknotmax, | ||
| Complex | x | ||
| ) | const |
| void RadialIntegrals::R_outer_integrand | ( | int | n, |
| Complex * | in, | ||
| Complex * | out, | ||
| int | i, | ||
| int | j, | ||
| int | k, | ||
| int | l, | ||
| int | L, | ||
| int | iknot, | ||
| int | iknotmax | ||
| ) | const |
|
inline |
|
inline |
| void RadialIntegrals::setupOneElectronIntegrals | ( | ) |
| void RadialIntegrals::setupTwoElectronIntegrals | ( | Parallel const & | par, |
| CommandLine const & | cmd, | ||
| Array< bool > const & | lambdas | ||
| ) |
1.8.5