|
| | preconditionerRunTimeSelectionDefinitions (DOMPreconditioner, "DOM") DOMPreconditioner() |
| |
| | DOMPreconditioner (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) |
| |
| virtual std::string | description () const |
| | Description of the preconditioner. More...
|
| |
| virtual void | setup () |
| | Initialize the preconditioner. More...
|
| |
| virtual void | update (Real E) |
| | Update the preconditioner for the next energy. More...
|
| |
| virtual void | precondition (BlockArray< Complex > const &r, BlockArray< Complex > &z) const |
| | Precondition the equation. More...
|
| |
| virtual void | finish () |
| | Clean up memory etc. More...
|
| |
| | preconditionerRunTimeSelectionDefinitions (NoPreconditioner, "none") NoPreconditioner() |
| |
| | NoPreconditioner (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) |
| |
| | ~NoPreconditioner () |
| |
| virtual std::pair< int, int > | bstates (Real E, int l1, int l2) const |
| | Get the number of allowed bound states. More...
|
| |
| virtual void | rhs (BlockArray< Complex > &chi, int ienergy, int instate) const |
| | Calculate the right-hand side. More...
|
| |
| virtual void | multiply (BlockArray< Complex > const &p, BlockArray< Complex > &q, MatrixSelection::Selection tri=MatrixSelection::Both) const |
| | Multiply by the matrix equation. More...
|
| |
| BlockSymBandMatrix< Complex > | calc_A_block (int ill, int illp, bool twoel=true) const |
| |
| RadialIntegrals const & | rad_inner () const |
| |
| RadialIntegrals const & | rad_full () const |
| |
| RadialIntegrals const & | rad_panel () const |
| |
| | 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. More...
|
| |
| virtual | ~PreconditionerBase () |
| | Virtual destructor. More...
|
| |
| virtual void | verbose (bool b) |
| | Set verbosity level. More...
|
| |
|
| int | rev (int dir) const |
| |
| void | solvePanel (int cycle, int cycles, std::vector< PanelSolution > &p, int i, int j) const |
| |
| void | correctSource (cBlockArray &chi, std::vector< PanelSolution > const &panels, int ipanel, int jpanel) const |
| |
| Complex | couplingMatrixElement (int ill, int illp, int i, int j, int k, int l) const |
| |
| void | knotSubsequence (int ipanel, int npanels, Bspline const &bspline, rArray &rknots, rArray &cknots1, rArray &cknots2) const |
| |
| void | splitResidual (cBlockArray const &r, std::vector< PanelSolution > &p) const |
| |
| void | collectSolution (cBlockArray &z, std::vector< PanelSolution > &p) const |
| |
This preconditioner splits the simulated domain into several non-overlapping subdomains and solves the smaller per-subdomain problems in a sequence. The numbering of the domains is as follows:
*
* ┌──┬──┬──┐
* │2 │5 │8 │
* ├──┼──┼──┤
* │1 │4 │7 │
* ├──┼──┼──┤
* │0 │3 │6 │
* └──┴──┴──┘
*
*