32 #ifndef HEX_ECS_PRECONDITIONERS 33 #define HEX_ECS_PRECONDITIONERS 41 #include "hex-arrays.h" 42 #include "hex-matrix.h" 80 Bspline const & bspline_panel_x,
137 virtual std::pair<int,int>
bstates (Real E,
int l1,
int l2)
const 139 return std::make_pair(0,0);
154 virtual void rhs (BlockArray<Complex> & chi,
int ie,
int instate)
const {}
164 BlockArray<Complex>
const & p,
165 BlockArray<Complex> & q,
166 MatrixSelection::Selection tri = MatrixSelection::BlockBoth | MatrixSelection::Both
179 virtual void precondition (BlockArray<Complex>
const & r, BlockArray<Complex> & z)
const {}
195 #define preconditionerRunTimeSelectionDefinitions(TYPE,NAME) \ 196 derivedClassRunTimeSelectionDefinitions \ 198 PreconditionerBase, \ 200 CommandLine const & cmd, \ 201 InputFile const & inp, \ 202 Parallel const & par, \ 203 AngularBasis const & ang, \ 204 Bspline const & bspline_inner, \ 205 Bspline const & bspline_full, \ 206 Bspline const & bspline_panel_x, \ 207 Bspline const & bspline_panel_y \ 225 #endif // HEX_ECS_PRECONDITIONERS virtual void finish()
Clean up memory etc.
Definition: preconditioners.h:149
bool verbose_
Definition: preconditioners.h:190
virtual void multiply(BlockArray< Complex > const &p, BlockArray< Complex > &q, MatrixSelection::Selection tri=MatrixSelection::BlockBoth|MatrixSelection::Both) const
Multiply by the matrix equation.
Definition: preconditioners.h:163
virtual std::pair< int, int > bstates(Real E, int l1, int l2) const
Get the number of allowed bound states.
Definition: preconditioners.h:137
B-spline environment.
Definition: bspline.h:57
virtual void rhs(BlockArray< Complex > &chi, int ie, int instate) const
Calculate the right-hand side.
Definition: preconditioners.h:154
baseClassRunTimeSelectionDefinitions(PreconditionerBase,(CommandLine const &cmd, InputFile const &inp, Parallel const &par, AngularBasis const &ang, Bspline const &bspline_inner, Bspline const &bspline_full, Bspline const &bspline_panel_x, Bspline const &bspline_panel_y)) PreconditionerBase()
Dummy default constructor needed by the run-time selection.
Definition: preconditioners.h:71
Angular basis.
Definition: ang.h:44
virtual void precondition(BlockArray< Complex > const &r, BlockArray< Complex > &z) const
Precondition the equation.
Definition: preconditioners.h:179
virtual std::string description() const
Description of the preconditioner.
Definition: preconditioners.h:106
Command line parameters.
Definition: io.h:57
virtual ~PreconditionerBase()
Virtual destructor.
Definition: preconditioners.h:99
virtual void verbose(bool b)
Set verbosity level.
Definition: preconditioners.h:186
MPI info.
Definition: parallel.h:50
virtual void update(Real E)
Update the preconditioner for the next energy.
Definition: preconditioners.h:123
virtual void setup()
Initialize the preconditioner.
Definition: preconditioners.h:115
Preconditioner template.
Definition: preconditioners.h:62