![]() |
|
#include <general_purpose_preconditioners.h>
Inheritance diagram for oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >:Public Member Functions | |
| InnerIterationPreconditioner () | |
| Constructor. More... | |
| ~InnerIterationPreconditioner () | |
| void | clean_up_memory () |
| Clean up memory (empty). Generic interface function. More... | |
| void | setup () |
| void | preconditioner_solve (const DoubleVector &r, DoubleVector &z) |
| double & | tolerance () |
| Access to convergence tolerance of the inner iteration solver. More... | |
| unsigned & | max_iter () |
| Access to max. number of iterations of the inner iteration solver. More... | |
| SOLVER * | solver_pt () |
| PRECONDITIONER * | preconditioner_pt () |
Public Member Functions inherited from oomph::Preconditioner | |
| Preconditioner () | |
| Constructor. More... | |
| Preconditioner (const Preconditioner &)=delete | |
| Broken copy constructor. More... | |
| void | operator= (const Preconditioner &)=delete |
| Broken assignment operator. More... | |
| virtual | ~Preconditioner () |
| Destructor (empty) More... | |
| virtual void | preconditioner_solve_transpose (const DoubleVector &r, DoubleVector &z) |
| void | setup (DoubleMatrixBase *matrix_pt) |
| void | setup (const Problem *problem_pt, DoubleMatrixBase *matrix_pt) |
| void | enable_silent_preconditioner_setup () |
| Set up the block preconditioner quietly! More... | |
| void | disable_silent_preconditioner_setup () |
| Be verbose in the block preconditioner setup. More... | |
| virtual DoubleMatrixBase * | matrix_pt () const |
| Get function for matrix pointer. More... | |
| virtual void | set_matrix_pt (DoubleMatrixBase *matrix_pt) |
| Set the matrix pointer. More... | |
| virtual const OomphCommunicator * | comm_pt () const |
| Get function for comm pointer. More... | |
| virtual void | set_comm_pt (const OomphCommunicator *const comm_pt) |
| Set the communicator pointer. More... | |
| double | setup_time () const |
| Returns the time to setup the preconditioner. More... | |
| virtual void | turn_into_subsidiary_block_preconditioner (BlockPreconditioner< CRDoubleMatrix > *master_block_prec_pt, const Vector< unsigned > &doftype_in_master_preconditioner_coarse) |
| virtual void | turn_into_subsidiary_block_preconditioner (BlockPreconditioner< CRDoubleMatrix > *master_block_prec_pt, const Vector< unsigned > &doftype_in_master_preconditioner_coarse, const Vector< Vector< unsigned >> &doftype_coarsen_map_coarse) |
Public Member Functions inherited from oomph::DistributableLinearAlgebraObject | |
| DistributableLinearAlgebraObject () | |
| Default constructor - create a distribution. More... | |
| DistributableLinearAlgebraObject (const DistributableLinearAlgebraObject &matrix)=delete | |
| Broken copy constructor. More... | |
| void | operator= (const DistributableLinearAlgebraObject &)=delete |
| Broken assignment operator. More... | |
| virtual | ~DistributableLinearAlgebraObject () |
| Destructor. More... | |
| LinearAlgebraDistribution * | distribution_pt () const |
| access to the LinearAlgebraDistribution More... | |
| unsigned | nrow () const |
| access function to the number of global rows. More... | |
| unsigned | nrow_local () const |
| access function for the num of local rows on this processor. More... | |
| unsigned | nrow_local (const unsigned &p) const |
| access function for the num of local rows on this processor. More... | |
| unsigned | first_row () const |
| access function for the first row on this processor More... | |
| unsigned | first_row (const unsigned &p) const |
| access function for the first row on this processor More... | |
| bool | distributed () const |
| distribution is serial or distributed More... | |
| bool | distribution_built () const |
| void | build_distribution (const LinearAlgebraDistribution *const dist_pt) |
| void | build_distribution (const LinearAlgebraDistribution &dist) |
Private Attributes | |
| SOLVER * | Solver_pt |
| pointer to the underlying solver More... | |
| PRECONDITIONER * | Preconditioner_pt |
| pointer to the underlying preconditioner More... | |
Additional Inherited Members | |
Protected Member Functions inherited from oomph::DistributableLinearAlgebraObject | |
| void | clear_distribution () |
Protected Attributes inherited from oomph::Preconditioner | |
| bool | Silent_preconditioner_setup |
| Boolean to indicate whether or not the build should be done silently. More... | |
| std::ostream * | Stream_pt |
| Pointer to the output stream – defaults to std::cout. More... | |
A preconditioner for performing inner iteration preconditioner solves. The template argument SOLVER specifies the inner iteration solver (which must be derived from IterativeLinearSolver) and the template argument PRECONDITIONER specifies the preconditioner for the inner iteration iterative solver. Note: For no preconditioning use the IdentityPreconditioner.
|
inline |
Constructor.
References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::Preconditioner_pt, and oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::Solver_pt.
|
inline |
|
inlinevirtual |
Clean up memory (empty). Generic interface function.
Reimplemented from oomph::Preconditioner.
References oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::Preconditioner_pt, and oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::Solver_pt.
|
inline |
Access to max. number of iterations of the inner iteration solver.
References oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::Solver_pt.
Referenced by oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::setup().
|
inline |
|
inlinevirtual |
Preconditioner solve method. Performs the specified number of Krylov iterations preconditioned with the specified preconditioner
Implements oomph::Preconditioner.
References UniformPSDSelfTest::r, and oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::Solver_pt.
|
inlinevirtual |
Preconditioner setup method. Setup the preconditioner for the inner iteration solver.
Implements oomph::Preconditioner.
References oomph::DistributableLinearAlgebraObject::build_distribution(), oomph::Preconditioner::comm_pt(), oomph::DistributableLinearAlgebraObject::distribution_pt(), oomph::Preconditioner::matrix_pt(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::max_iter(), oomph::DistributableLinearAlgebraObject::nrow(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::Preconditioner_pt, oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::Solver_pt, plotDoE::x, and y.
|
inline |
|
inline |
Access to convergence tolerance of the inner iteration solver.
References oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::Solver_pt.
|
private |
pointer to the underlying preconditioner
Referenced by oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::clean_up_memory(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::InnerIterationPreconditioner(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::preconditioner_pt(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::setup(), and oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::~InnerIterationPreconditioner().
|
private |
pointer to the underlying solver
Referenced by oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::clean_up_memory(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::InnerIterationPreconditioner(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::max_iter(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::preconditioner_solve(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::setup(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::solver_pt(), oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::tolerance(), and oomph::InnerIterationPreconditioner< SOLVER, PRECONDITIONER >::~InnerIterationPreconditioner().