JDFTx  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RadialFunctionR Struct Reference

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

Detailed Description

A function on a non-uniform real-space radial grid.

Member Function Documentation

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) $

The documentation for this struct was generated from the following file: