Hex  1.0 Hydrogen-electron collision solver
DistortedWave Class Reference

Distorted wave information. More...

#include <wave_distort.h>

Inheritance diagram for DistortedWave:
[legend]
Collaboration diagram for DistortedWave:
[legend]

## Public Member Functions

~DistortedWave ()

DistortedWave operator= (DistortedWave const &W)

double operator() (double x) const

Complex getPhasef () const

double getPhase () const

double k () const
Wavenumber. More...

int l () const
Angular momentum. More...

double getTurningPoint () const
Classical turning point. More...

std::pair< double, int > getZeroAsymptotic (double x) const
Near-zero asymptotic behaviour. More...

void toFile (const char *filename) const
Export data to file using write_array. More...

size_t sampleCount () const

DistortedWave (double _kn, int _ln, DistortingPotential const &_U)

DistortedWave (DistortedWave const &W)

## Data Fields

unsigned Evaluations
(debuging parameter) number of evaluations More...

## Detailed Description

The distorted wave $$\phi_{l_n}(k_n, r)$$ is a solution of the equation

$\left(-\frac{\mathrm{d}^2}{\mathrm{d}r^2} + \frac{l_n(l_n+1)}{r^2} + 2U_n(r) \right) \phi_{l_n} (k_n, r) = k_n^2 \phi_{l_n} (k_n, r)$

which is regular at origin and which satisfies the boundary condition

$\phi_{l_n} (k_n, r) \propto \hat{j}_{l_n}(k_n r) + t_{l_n}(k_n) \mathrm{i}\hat{h}_{l_n}^{(+)}(k_n r) \ .$

Most of the work is being done in the constructor. The radial interval between the origin and the far radius of DistortingPotential is divided into an equidistant grid (with spacing adjusted to the energy of projectile), on which the solution is sought. Integration starts from $$r = h$$, where $$h$$ is a small number compared to grid size. The initial conditions here are chosen as

$\phi_{l_n}(k_n, h) \simeq h \cdot 10^{-5} \ ,$

$\phi_{l_n}'(k_n, h) \simeq (l_n + 1) \cdot 10^{-5} \ ,$

which is in accord with the behaviour of Ricatti-Bessel functions near origin. Resulting solution is real and using the standard formula

$\tan \delta_{l_n} = \frac{k_n \cos(k_n R - l_n\pi/2) - D \sin(k_n R - l_n\pi/2)} {k_n \sin(k_n R - l_n\pi/2) + D \cos(k_n R - l_n\pi/2)}$

the phase shift is determined. This number sets the phase factor $$\mathrm{e}^{\mathrm{i}\delta_{l_n}}$$ of the whole wave.

## Constructor & Destructor Documentation

 DistortedWave::DistortedWave ( double _kn, int _ln, DistortingPotential const & _U )
 DistortedWave::DistortedWave ( DistortedWave const & W )
inline
 DistortedWave::~DistortedWave ( )

## Member Function Documentation

inline

Return radius from which the asymptotic form is used.

 double DistortedWave::getPhase ( ) const
inline

Return the phase $$\delta_{l_n}$$.

 Complex DistortedWave::getPhasef ( ) const
inline

Return the phase factor $$\mathrm{e}^{\mathrm{i}\delta_{l_n}}$$.

 double DistortedWave::getTurningPoint ( ) const
inline
 std::pair< double, int > DistortedWave::getZeroAsymptotic ( double x ) const
 double DistortedWave::k ( ) const
inline
 int DistortedWave::l ( ) const
inline
 double DistortedWave::operator() ( double x ) const
virtual

Evaluate distorted wave.