Hex  1.0
Hydrogen-electron collision solver
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Attributes
MultiresPreconditioner Class Reference

Multi-resolution (V-cycle) preconditioner. More...

#include <preconditioners.h>

Inheritance diagram for MultiresPreconditioner:
Inheritance graph
Collaboration diagram for MultiresPreconditioner:
Collaboration graph

Public Member Functions

 MultiresPreconditioner (Parallel const &par, InputFile const &inp, std::vector< std::pair< int, int >> const &ll, Bspline const &bspline, CommandLine const &cmd)
 ~MultiresPreconditioner ()
RadialIntegrals const & rad () const
 Get radial integrals. More...
void setup ()
 Initialize the preconditioner. More...
void update (double E)
 Update the preconditioner for the next energy. More...
void rhs (cArrayView chi, int ienergy, int instate) const
 Return the right-hand side. More...
void multiply (const cArrayView p, cArrayView q) const
 Multiply by the matrix equation. More...
void precondition (const cArrayView r, cArrayView z) const
 Precondition the equation. More...

Static Public Attributes

static const std::string name
static const std::string description

Detailed Description

Not implemented yet.

Constructor & Destructor Documentation

MultiresPreconditioner::MultiresPreconditioner ( Parallel const &  par,
InputFile const &  inp,
std::vector< std::pair< int, int >> const &  ll,
Bspline const &  bspline,
CommandLine const &  cmd 
MultiresPreconditioner::~MultiresPreconditioner ( )

Member Function Documentation

void MultiresPreconditioner::multiply ( const cArrayView  p,
cArrayView  q 
) const

This function implements matrix multiplication by the matrix of the set of equations that is to be solved.

Implements PreconditionerBase.

void MultiresPreconditioner::precondition ( const cArrayView  r,
cArrayView  z 
) const

This function preconditions the equation, solving the preconditioner equation

\[ \mathbf{M}\mathbf{z} = \mathbf{r} \ . \]

It may use the MPI environment.

Implements PreconditionerBase.

RadialIntegrals const& MultiresPreconditioner::rad ( ) const

Implements PreconditionerBase.

void MultiresPreconditioner::rhs ( cArrayView  chi,
int  ienergy,
int  instate 
) const

Implements PreconditionerBase.

void MultiresPreconditioner::setup ( )

This function contains all computation intensive preparations for the preconditioner, e.g. computation of radial integrals. It may use only SMP environment.

Implements PreconditionerBase.

void MultiresPreconditioner::update ( double  E)

This function updates the preconditioner for another right hand side. It may use the MPI environment.

Implements PreconditionerBase.

Field Documentation

const std::string MultiresPreconditioner::description
const std::string MultiresPreconditioner::name

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