Class BesselFunction¶
Defined in File bessel.hpp
Class Documentation¶
-
class BesselFunction¶
Computes a modified spherical Bessel function of the first kind.
Uses pretabulation to calculate the Bessel function up to a given maximum angular momentum. Values are interpolated using local Taylor series.
REFERENCES: R. Flores-Moreno et al., J. Comput. Chem. 27 (2006), 1009 L.E. McMurchie, E. Davidson, J. Comput. Phys. 44 (1981), 289
Public Functions
-
BesselFunction()¶
Default constructor. Creates a blank object.
-
BesselFunction(int lMax, int N, int order, double accuracy)¶
Specified constructor. Will call init with given arguments.
-
~BesselFunction()¶
Destructor, cleans up K and C.
-
void init(int lMax, int N, int order, double accuracy)¶
Initialises and pretabulates the BesselFunction up to the given angular momentum.
- Parameters
lMax – - the maximum angular momentum needed
N – - the maximum number of points to be used in pretabulation, suggested 1600
order – - the order at which the expansion is cut off, suggested 200
accuracy – - the tolerance below which a value is considered converged
-
void calculate(double z, int maxL, std::vector<double> &values) const¶
Calculates the Bessel function values at a given point up to a given angular momentum
- Parameters
z – - point at which to evaluate
maxL – - maximum angular momentum needed; must be <= lMax for object
values – - reference to vector in which to put the values for l = 0 to maxL
-
double calculate(double z, int L) const¶
Calculates the Bessel function value at a given point for a single angular momentum
- Parameters
z – - point at which to evaluate
L – - angular momentum needed; must be <= lMax for object
-
double upper_bound(double z, int L) const¶
Calculates an upper bound to the Bessel function value at a given point for a given angular momentum
- Parameters
z – - point at which to evaluate
L – - angular momentum needed; must be <= lMax for object
-
BesselFunction()¶