A function on a non-uniform real-space radial grid. More...
#include <RadialFunction.h>
Public Member Functions | |
| RadialFunctionR (int nSamples=0) | |
| allocate for a specified sample count  | |
| RadialFunctionR (const std::vector< double > &r, double dlogr) | |
| initialize logarithmic grid  | |
| void | set (std::vector< double > r, std::vector< double > dr) | 
| update the sample locations, weights  | |
| void | initWeights () | 
| double | transform (int l, double G) const | 
| void | transform (int l, double dG, int nGrid, RadialFunctionG &func) const | 
Public Attributes | |
| std::vector< double > | r | 
| radial location  | |
| std::vector< double > | dr | 
| radial weight  | |
| std::vector< double > | f | 
| sample value  | |
A function on a non-uniform real-space radial grid.
| void RadialFunctionR::initWeights | ( | ) | 
Compute optimum dr given r (must be in ascending order) which will be exact for the integration of cubic splines with natural boundary conditions. It is recommended that r[0]=0 or r[0]<<r[1], but it'll work fine even otherwise.
| double RadialFunctionR::transform | ( | int | l, | 
| double | G | ||
| ) | const | 
Evaluate spherical bessel transform of order l at wavevector G: $ func(G) = dr 4 r^2 j_l(G r) f(r) $
| void RadialFunctionR::transform | ( | int | l, | 
| double | dG, | ||
| int | nGrid, | ||
| RadialFunctionG & | func | ||
| ) | const | 
Initialize a uniform G radial function from the logPrintf grid function according to $ func(G) = dr 4 r^2 j_l(G r) f(r) $