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: