32 #ifndef HEX_GMGPRECONDITIONER_H 33 #define HEX_GMGPRECONDITIONER_H 87 virtual void setup ();
88 virtual void update (Real E);
89 virtual void precondition (BlockArray<Complex>
const & r, BlockArray<Complex> & z)
const;
95 Bspline const & bspline_inner_fine_;
96 Bspline const & bspline_full_fine_;
101 RowMatrix<Complex> restrictor_inner_, restrictor_outer_;
102 RowMatrix<Complex> prolongator_inner_, prolongator_outer_;
InputFile const Parallel const AngularBasis const Bspline const Bspline const & bspline_x_full
Definition: GMGPreconditioner.h:52
InputFile const & inp
Definition: GMGPreconditioner.h:52
InputFile const Parallel const & par
Definition: GMGPreconditioner.h:52
InputFile const Parallel const AngularBasis const & ang
Definition: GMGPreconditioner.h:52
virtual void precondition(BlockArray< Complex > const &r, BlockArray< Complex > &z) const
Precondition the equation.
Definition: GMGPreconditioner.cpp:226
Solution driver without actual preconditioner.
Definition: NoPreconditioner.h:55
B-spline environment.
Definition: bspline.h:57
virtual void update(Real E)
Update the preconditioner for the next energy.
Definition: GMGPreconditioner.cpp:189
Angular basis.
Definition: ang.h:44
preconditionerRunTimeSelectionDefinitions(GMGPreconditioner, "GMG") GMGPreconditioner(CommandLine const &cmd
Command line parameters.
Definition: io.h:57
virtual void finish()
Clean up memory etc.
Definition: NoPreconditioner.cpp:1515
virtual void rhs(BlockArray< Complex > &chi, int ienergy, int instate) const
Calculate the right-hand side.
Definition: NoPreconditioner.cpp:821
MPI info.
Definition: parallel.h:50
virtual std::string description() const
Description of the preconditioner.
Definition: GMGPreconditioner.cpp:40
InputFile const Parallel const AngularBasis const Bspline const Bspline const Bspline const Bspline const & bspline_y_full
Definition: GMGPreconditioner.h:52
Definition: GMGPreconditioner.h:41
GMGPreconditioner(CommandLine const &cmd, InputFile const &inp, Parallel const &par, AngularBasis const &ang, Bspline const &bspline_x_inner, Bspline const &bspline_x_full, Bspline const &bspline_y_inner, Bspline const &bspline_y_full, int level)
Definition: GMGPreconditioner.cpp:60
virtual void multiply(BlockArray< Complex > const &p, BlockArray< Complex > &q, MatrixSelection::Selection tri=MatrixSelection::Both) const
Multiply by the matrix equation.
Definition: NoPreconditioner.cpp:1233
Preconditioner template.
Definition: preconditioners.h:62
InputFile const Parallel const AngularBasis const Bspline const & bspline_x_inner
Definition: GMGPreconditioner.h:52
virtual ~GMGPreconditioner()
Definition: GMGPreconditioner.cpp:139
virtual void setup()
Initialize the preconditioner.
Definition: GMGPreconditioner.cpp:144
InputFile const Parallel const AngularBasis const Bspline const Bspline const Bspline const & bspline_y_inner
Definition: GMGPreconditioner.h:52