Hex: Solver Class Reference

| Hex 2.2 Hydrogen-electron collision solver

Public Member Functions | Protected Member Functions
Solver Class Reference

`#include <solver.h>`

## Public Member Functions

| Solver (CommandLine &cmd, InputFile const &inp, Parallel const &par, AngularBasis const &ang, Bspline const &bspline_inner, Bspline const &bspline_full)
| Constructor. More...
void | choose_preconditioner ()
| Pick preconditioner for a given panel. More...
void | setup_preconditioner ()
| Precompute (or load) the radial data. More...
void | solve ()
| Find solution of the scattering equations on chosen panel. More...
void | finish ()
| Release resources. More...

## Protected Member Functions

void | apply_preconditioner_ (BlockArray< Complex > const &r, BlockArray< Complex > &z) const
void | matrix_multiply_ (BlockArray< Complex > const &p, BlockArray< Complex > &q) const
Complex | scalar_product_ (BlockArray< Complex > const &x, BlockArray< Complex > const &y) const
Real | compute_norm_ (BlockArray< Complex > const &r) const
void | axby_operation_ (Complex a, BlockArray< Complex > &x, Complex b, BlockArray< Complex > const &y) const
BlockArray< Complex > | new_array_ (std::size_t N, std::string name) const
void | process_solution_ (unsigned iteration, BlockArray< Complex > const &x) const
void | concatenate_panels_ (cArray &psi, cArray const &psip) const

## Constructor & Destructor Documentation

## ◆ Solver()

Solver::Solver | ( | CommandLine & | cmd,
|  | InputFile const & | inp,
|  | Parallel const & | par,
|  | AngularBasis const & | ang,
|  | Bspline const & | bspline_inner,
|  | Bspline const & | bspline_full
| ) |  |

## Member Function Documentation

## ◆ apply_preconditioner_()

void Solver::apply_preconditioner_ | ( | BlockArray< Complex > const & | r,
|  | BlockArray< Complex > & | z
| ) |  | const

protected

## ◆ axby_operation_()

void Solver::axby_operation_ | ( | Complex | a,
|  | BlockArray< Complex > & | x,
|  | Complex | b,
|  | BlockArray< Complex > const & | y
| ) |  | const

protected

## ◆ choose_preconditioner()

void Solver::choose_preconditioner | ( |  | ) |

## ◆ compute_norm_()

Real Solver::compute_norm_ | ( | BlockArray< Complex > const & | r | ) | const

protected

## ◆ concatenate_panels_()

void Solver::concatenate_panels_ | ( | cArray & | psi,
|  | cArray const & | psip
| ) |  | const

protected

## ◆ finish()

void Solver::finish | ( |  | ) |

## ◆ matrix_multiply_()

void Solver::matrix_multiply_ | ( | BlockArray< Complex > const & | p,
|  | BlockArray< Complex > & | q
| ) |  | const

protected

## ◆ new_array_()

BlockArray< Complex > Solver::new_array_ | ( | std::size_t | N,
|  | std::string | name
| ) |  | const

protected

## ◆ process_solution_()

void Solver::process_solution_ | ( | unsigned | iteration,
|  | BlockArray< Complex > const & | x
| ) |  | const

protected

## ◆ scalar_product_()

Complex Solver::scalar_product_ | ( | BlockArray< Complex > const & | x,
|  | BlockArray< Complex > const & | y
| ) |  | const

protected

## ◆ setup_preconditioner()

void Solver::setup_preconditioner | ( |  | ) |

## ◆ solve()

void Solver::solve | ( |  | ) |

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

- src/solver.h
- src/solver.cpp