Hex
1.0
Hydrogen-electron collision solver
|
Distorted wave information. More...
#include <wave_distort.h>
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 |
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... | |
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.
DistortedWave::DistortedWave | ( | double | _kn, |
int | _ln, | ||
DistortingPotential const & | _U | ||
) |
|
inline |
DistortedWave::~DistortedWave | ( | ) |
|
inline |
Return radius from which the asymptotic form is used.
|
inline |
Return the phase \( \delta_{l_n} \).
|
inline |
Return the phase factor \( \mathrm{e}^{\mathrm{i}\delta_{l_n}} \).
|
inline |
std::pair< double, int > DistortedWave::getZeroAsymptotic | ( | double | x | ) | const |
|
inline |
|
inline |
|
virtual |
Evaluate distorted wave.
Implements RadialFunction< double >.
DistortedWave DistortedWave::operator= | ( | DistortedWave const & | W | ) |
|
inline |
|
inline |
|
mutable |