|
| | MGPreconditioner (MGProblem *mg_problem_pt) |
| | Constructor. More...
|
| |
| | ~MGPreconditioner () |
| | Destructor (empty) More...
|
| |
| | MGPreconditioner (const MGPreconditioner &)=delete |
| | Broken copy constructor. More...
|
| |
| void | operator= (const MGPreconditioner &)=delete |
| | Broken assignment operator. More...
|
| |
| void | setup () |
| | Function to set up a preconditioner for the linear system. More...
|
| |
| virtual void | preconditioner_solve (const DoubleVector &rhs, DoubleVector &z) |
| | Function applies MG to the vector r for a full solve. More...
|
| |
| void | clean_up_memory () |
| | Clean up memory. More...
|
| |
| void | set_pre_smoother_factory_function (PreSmootherFactoryFctPt pre_smoother_fn) |
| | Access function to set the pre-smoother creation function. More...
|
| |
| void | set_post_smoother_factory_function (PostSmootherFactoryFctPt post_smoother_fn) |
| | Access function to set the post-smoother creation function. More...
|
| |
| | MGSolver (MGProblem *mg_problem_pt) |
| |
| | ~MGSolver () |
| | Delete any dynamically allocated data. More...
|
| |
| void | set_self_test_vector () |
| |
| void | self_test () |
| |
| void | restriction_self_test () |
| |
| void | interpolation_self_test () |
| |
| void | plot (const unsigned &hierarchy_level, const DoubleVector &input_vector, const std::string &filename) |
| |
| void | disable_v_cycle_output () |
| |
| void | disable_output () |
| |
| void | enable_v_cycle_output () |
| | Enable the output of the V-cycle timings and other output. More...
|
| |
| void | enable_doc_everything () |
| | Enable the output from anything that could have been suppressed. More...
|
| |
| void | enable_output () |
| | Enable the output from anything that could have been suppressed. More...
|
| |
| void | disable_smoother_and_superlu_doc_time () |
| | Suppress the output of both smoothers and SuperLU. More...
|
| |
| unsigned & | npost_smooth () |
| | Return the number of post-smoothing iterations (lvalue) More...
|
| |
| unsigned & | npre_smooth () |
| | Return the number of pre-smoothing iterations (lvalue) More...
|
| |
| void | pre_smooth (const unsigned &level) |
| |
| void | post_smooth (const unsigned &level) |
| |
| double | residual_norm (const unsigned &level) |
| |
| void | direct_solve () |
| | Call the direct solver (SuperLU) to solve the problem exactly. More...
|
| |
| void | interpolation_matrix_set (const unsigned &level, double *value, int *col_index, int *row_st, unsigned &ncol, unsigned &nnz) |
| |
| void | interpolation_matrix_set (const unsigned &level, Vector< double > &value, Vector< int > &col_index, Vector< int > &row_st, unsigned &ncol, unsigned &nrow) |
| |
| void | set_restriction_matrices_as_interpolation_transposes () |
| |
| void | restrict_residual (const unsigned &level) |
| |
| void | interpolate_and_correct (const unsigned &level) |
| |
| void | level_up_local_coord_of_node (const int &son_type, Vector< double > &s) |
| |
| void | setup_interpolation_matrices () |
| | Setup the interpolation matrix on each level. More...
|
| |
| void | setup_interpolation_matrices_unstructured () |
| | Setup the interpolation matrices. More...
|
| |
| void | setup_transfer_matrices () |
| | Setup the transfer matrices on each level. More...
|
| |
| void | full_setup () |
| | Runs a full setup of the MG solver. More...
|
| |
| void | solve (Problem *const &problem_pt, DoubleVector &result) |
| |
| unsigned | iterations () const |
| | Number of iterations. More...
|
| |
| unsigned & | max_iter () |
| | Number of iterations. More...
|
| |
| void | level_up_local_coord_of_node (const int &son_type, Vector< double > &s) |
| |
| void | level_up_local_coord_of_node (const int &son_type, Vector< double > &s) |
| |
| | IterativeLinearSolver () |
| |
| | IterativeLinearSolver (const IterativeLinearSolver &)=delete |
| | Broken copy constructor. More...
|
| |
| void | operator= (const IterativeLinearSolver &)=delete |
| | Broken assignment operator. More...
|
| |
| virtual | ~IterativeLinearSolver () |
| | Destructor (empty) More...
|
| |
| Preconditioner *& | preconditioner_pt () |
| | Access function to preconditioner. More...
|
| |
| Preconditioner *const & | preconditioner_pt () const |
| | Access function to preconditioner (const version) More...
|
| |
| double & | tolerance () |
| | Access to convergence tolerance. More...
|
| |
| unsigned & | max_iter () |
| | Access to max. number of iterations. More...
|
| |
| void | enable_doc_convergence_history () |
| | Enable documentation of the convergence history. More...
|
| |
| void | disable_doc_convergence_history () |
| | Disable documentation of the convergence history. More...
|
| |
| void | open_convergence_history_file_stream (const std::string &file_name, const std::string &zone_title="") |
| |
| void | close_convergence_history_file_stream () |
| | Close convergence history output stream. More...
|
| |
| double | jacobian_setup_time () const |
| |
| double | linear_solver_solution_time () const |
| | return the time taken to solve the linear system More...
|
| |
| virtual double | preconditioner_setup_time () const |
| | returns the the time taken to setup the preconditioner More...
|
| |
| void | enable_setup_preconditioner_before_solve () |
| | Setup the preconditioner before the solve. More...
|
| |
| void | disable_setup_preconditioner_before_solve () |
| | Don't set up the preconditioner before the solve. More...
|
| |
| void | enable_error_after_max_iter () |
| | Throw an error if we don't converge within max_iter. More...
|
| |
| void | disable_error_after_max_iter () |
| | Don't throw an error if we don't converge within max_iter (default). More...
|
| |
| void | enable_iterative_solver_as_preconditioner () |
| |
| void | disable_iterative_solver_as_preconditioner () |
| |
| | LinearSolver () |
| | Empty constructor, initialise the member data. More...
|
| |
| | LinearSolver (const LinearSolver &dummy)=delete |
| | Broken copy constructor. More...
|
| |
| void | operator= (const LinearSolver &)=delete |
| | Broken assignment operator. More...
|
| |
| virtual | ~LinearSolver () |
| | Empty virtual destructor. More...
|
| |
| void | enable_doc_time () |
| | Enable documentation of solve times. More...
|
| |
| void | disable_doc_time () |
| | Disable documentation of solve times. More...
|
| |
| bool | is_doc_time_enabled () const |
| | Is documentation of solve times enabled? More...
|
| |
| bool | is_resolve_enabled () const |
| | Boolean flag indicating if resolves are enabled. More...
|
| |
| virtual void | enable_resolve () |
| |
| virtual void | disable_resolve () |
| |
| virtual void | solve (DoubleMatrixBase *const &matrix_pt, const DoubleVector &rhs, DoubleVector &result) |
| |
| virtual void | solve (DoubleMatrixBase *const &matrix_pt, const Vector< double > &rhs, Vector< double > &result) |
| |
| virtual void | solve_transpose (Problem *const &problem_pt, DoubleVector &result) |
| |
| virtual void | solve_transpose (DoubleMatrixBase *const &matrix_pt, const DoubleVector &rhs, DoubleVector &result) |
| |
| virtual void | solve_transpose (DoubleMatrixBase *const &matrix_pt, const Vector< double > &rhs, Vector< double > &result) |
| |
| virtual void | resolve (const DoubleVector &rhs, DoubleVector &result) |
| |
| virtual void | resolve_transpose (const DoubleVector &rhs, DoubleVector &result) |
| |
| virtual void | enable_computation_of_gradient () |
| |
| void | disable_computation_of_gradient () |
| |
| void | reset_gradient () |
| |
| void | get_gradient (DoubleVector &gradient) |
| | function to access the gradient, provided it has been computed More...
|
| |
| | 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) |
| |
| | 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) |
| |
template<unsigned DIM>
class oomph::MGPreconditioner< DIM >
An interface to allow scalar MG to be used as a Preconditioner.