29 void OriginBC(
double r0,
double& u0,
double& du0);
30 void InfinityBC(
double rend,
double& uend,
double& duend);
36 std::shared_ptr<Grid>
grid;
50 void Solve(
double tolerance = 1.0
e-8);
52 void SetGrid(std::shared_ptr<Grid>& newgrid);
123 return (uval * uval);
129 derivs[0] = u_and_du[1];
130 double A =
pot->
A(r);
131 double B =
pot->
B(r);
132 double V =
pot->
V(
l, r);
134 derivs[1] = 1.0 /
A *
135 (-dAdr * u_and_du[1] + (dAdr / r + (double)(
l * (
l + 1)) *
B / (r * r) + 2.0 * (V -
Energy)) * u_and_du[0]);
143 double V =
pot->
V(
l, r);
144 derivs[0] = u_and_du[1];
145 derivs[1] = ((double)(
l * (
l + 1)) / (r * r) + 2.0 * (V -
Energy)) * u_and_du[0];
152 const double alpha = 1.0 / 137.036;
153 const double kappa = -1.0;
156 derivs[0] = u_and_du[1];
157 double V =
pot->
V(
l, r);
159 double M = 1.0 - alpha * alpha * 0.5 * (V -
Energy);
161 derivs[1] = ((double)(
l * (
l + 1)) / (r * r) + 2.0 * M * (V -
Energy)) * u_and_du[0] -
162 0.5 * alpha * alpha / M * dVdr * (u_and_du[1] + u_and_du[0] * kappa / r);
virtual double B(double r)
RegularDerivs(RadialWF &wf)
NonPHDerivs(RadialWF &wf)
void Read(IOSectionClass &in)
Derivatives for the radial equation given a pseudoHamiltonian.
The CubicSplineCommon class is a third-order spline representation of a function. ...
double IntegrateInOut(int &tindex)
virtual double dVdr(int l, double r)
double NormDeriv(double r, double u)
Derivatives for the radial equation given a pseudoHamiltonian.
Vec2 NormalDerivs(double r, Vec2 &u_and_du)
virtual double A(double r)
std::shared_ptr< Grid > grid
NormalizeDeriv(RadialWF &wf)
Vec2 ScalarRelDerivs(double r, Vec2 &u_and_du)
virtual double dAdr(double r)
virtual double V(int l, double r)
Vec2 operator()(double r, Vec2 &u_and_du)
double operator()(double r, double u)
void Write(IOSectionClass &out)
void InfinityBC(double rend, double &uend, double &duend)
Wrapper class for IOTreeClass that gives a nearly identical interface as the OutputSectionClass.
Vec2 PseudoDerivs(double r, Vec2 &u_and_du)
void Solve(double tolerance=1.0e-8)
void SetPotential(Potential *newPot)
double B(double x, int k, int i, const std::vector< double > &t)
void OriginBC(double r0, double &u0, double &du0)
Vec2 operator()(double r, Vec2 &u_and_du)
A D-dimensional Array class based on PETE.
void SetGrid(std::shared_ptr< Grid > &newgrid)
Array< double, 1 > normVec
Vec2 operator()(double r, Vec2 &u_and_du)
Potential * GetPotential()
Derivatives for the scalar relativistic radial equation.
Derivative used for normalization of the radial function.