Hex: DistortedWave Class Reference

| Hex 2.2 Hydrogen-electron collision solver

Public Member Functions | Data Fields
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...
double | farRadius () const
std::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() [1/2]

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

## ◆ DistortedWave() [2/2]

DistortedWave::DistortedWave | ( | DistortedWave const & | W | ) |

inline

## ◆ ~DistortedWave()

DistortedWave::~DistortedWave | ( |  | ) |

## Member Function Documentation

## ◆ farRadius()

double DistortedWave::farRadius | ( |  | ) | const

inline

Return radius from which the asymptotic form is used.

## ◆ getPhase()

double DistortedWave::getPhase | ( |  | ) | const

inline

Return the phase \( \delta_{l_n} \).

## ◆ getPhasef()

Complex DistortedWave::getPhasef | ( |  | ) | const

inline

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

## ◆ getTurningPoint()

double DistortedWave::getTurningPoint | ( |  | ) | const

inline

## ◆ getZeroAsymptotic()

std::pair< double, int > DistortedWave::getZeroAsymptotic | ( | double | x | ) | const

## ◆ k()

double DistortedWave::k | ( |  | ) | const

inline

## ◆ l()

int DistortedWave::l | ( |  | ) | const

inline

## ◆ operator()()

double DistortedWave::operator() | ( | double | x | ) | const

Evaluate distorted wave.

## ◆ operator=()

DistortedWave DistortedWave::operator= | ( | DistortedWave const & | W | ) |

## ◆ sampleCount()

std::size_t DistortedWave::sampleCount | ( |  | ) | const

inline

## ◆ toFile()

void DistortedWave::toFile | ( | const char * | filename | ) | const

inline

## Field Documentation

## ◆ Evaluations

unsigned DistortedWave::Evaluations

mutable

The documentation for this class was generated from the following files:

- src/wave_distort.h
- src/wave_distort.cpp