| FEAT 3
    Finite Element Analysis Toolbox | 
HYPRE ParaSails Preconditioner Wrapper class template. More...
#include <hypre.hpp>
 
  
| Public Types | |
| typedef HypreSolverBase< Matrix_, Filter_ > | BaseClass | 
| our base-class  More... | |
| typedef BaseClass::VectorType | VectorType | 
| the vector type  More... | |
| Public Member Functions | |
| ParaSailsPrecond (const Matrix_ &matrix, const Filter_ &filter) | |
| ParaSailsPrecond (const String §ion_name, const PropertyMap *section, const Matrix_ &matrix, const Filter_ &filter) | |
| virtual Status | apply (Vector_ &vec_cor, const Vector_ &vec_def)=0 | 
| Solver application method.  More... | |
| virtual Status | apply (VectorType &vec_cor, const VectorType &vec_def) override | 
| virtual void | done () | 
| Finalization method.  More... | |
| virtual void | done_numeric () override | 
| Numeric finalization method.  More... | |
| virtual void | done_symbolic () override | 
| Symbolic Finalization.  More... | |
| virtual void | init () | 
| Initialization method.  More... | |
| virtual void | init_numeric () override | 
| Numeric Initialization.  More... | |
| virtual void | init_symbolic () override | 
| Symbolic Initialization.  More... | |
| virtual String | name () const override | 
| Returns a descriptive string.  More... | |
| Protected Member Functions | |
| void | _download_cor (VectorType &vec_cor) | 
| Downloads the HYPRE correction vector.  More... | |
| void | _download_vec_cor (VectorType &vec_cor) | 
| void | _download_vec_def (VectorType &vec_def) | 
| void | _format_cor () | 
| Format the HYPRE correction vector.  More... | |
| const Dist::Comm * | _get_comm () const | 
| Index | _get_global_dof_offset () const | 
| const IndexType * | _get_mat_col_idx () const | 
| Index | _get_mat_num_nze () const | 
| const IndexType * | _get_mat_row_ptr () const | 
| const DataType * | _get_mat_vals () const | 
| Index | _get_num_global_dofs () const | 
| Index | _get_num_owned_dofs () const | 
| DataType * | _get_vec_cor_vals (VectorType &vec_cor) | 
| const DataType * | _get_vec_def_vals (const VectorType &vec_def) | 
| DataType * | _get_vec_def_vals (VectorType &vec_def) | 
| void | _upload_def (const VectorType &vec_def) | 
| Uploads the HYPRE defect vector.  More... | |
| void | _upload_vec_cor (const VectorType &vec_cor) | 
| void | _upload_vec_def (const VectorType &vec_def) | 
| Protected Attributes | |
| void * | _core | 
| a pointer to our opaque core wrapper object  More... | |
| double | _dparam [2] | 
| double parameters:  More... | |
| int | _iparam [2] | 
| integer parameters:  More... | |
| void * | _solver | 
| the HYPRE solver object  More... | |
HYPRE ParaSails Preconditioner Wrapper class template.
This class acts as a wrapper around the ParaSails preconditioner from the HYPRE library. ParaSails is some sort of parallel sparse approximate inverse preconditioner, see the documentation of HYPRE for details.
| typedef HypreSolverBase<Matrix_, Filter_> FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >::BaseClass | 
| typedef BaseClass::VectorType FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >::VectorType | 
| 
 | inlineexplicit | 
| 
 | inlineexplicit | 
| 
 | inlineprotectedinherited | 
Downloads the HYPRE correction vector.
This function first downloads the HYPRE vector into its ADP correction vector counterpart and afterwards downloads that into the given correction vector.
| [out] | vec_cor | The correction vector to download to. | 
Definition at line 151 of file hypre.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_download_vec_cor(), and FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_vec_cor_vals().
| 
 | protectedinherited | 
Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_download_cor().
| 
 | protectedinherited | 
| 
 | inlineprotectedinherited | 
| 
 | protectedinherited | 
Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
| 
 | protectedinherited | 
Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
| 
 | protectedinherited | 
Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
| 
 | protectedinherited | 
| 
 | protectedinherited | 
Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
| 
 | protectedinherited | 
Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_numeric(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_numeric().
| 
 | protectedinherited | 
Referenced by FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_numeric(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
| 
 | protectedinherited | 
Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_symbolic(), and FEAT::Solver::SuperLU< Matrix_, Filter_ >::init_symbolic().
| 
 | protectedinherited | 
Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_download_cor().
| 
 | protectedinherited | 
Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_def().
| 
 | protectedinherited | 
| 
 | inlineprotectedinherited | 
Uploads the HYPRE defect vector.
This function first uploads the given defect vector into its ADP defect vector counterpart and afterwards uploads that into the HYPRE vector counterpart.
| [in] | vec_def | The defect vector to be uploaded from. | 
Definition at line 124 of file hypre.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_vec_def_vals(), and FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_vec_def().
| 
 | protectedinherited | 
| 
 | protectedinherited | 
Referenced by FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_upload_def().
| 
 | pure virtualinherited | 
Solver application method.
This method applies the solver represented by this object onto a given defect vector and returns the corresponding correction vector.
correct() method which corrects an initial solution instead of starting with the null vector.| [out] | vec_cor | The vector that shall receive the solution of the linear system. It is assumed to be allocated, but its numerical contents may be undefined upon calling this method. | 
| [in] | vec_def | The vector that represents the right-hand-side of the linear system to be solved. | 
Implemented in FEAT::Solver::SchwarzPrecond< Global::Vector< LocalVector_, Mirror_ >, Global::Filter< LocalFilter_, Mirror_ > >, FEAT::Solver::CuSolverLU, FEAT::Solver::CuSolverQR, FEAT::Solver::ScalePrecond< Vector_, Filter_ >, FEAT::Solver::DiagonalPrecond< Vector_, Filter_ >, FEAT::Solver::MultiGrid< SystemMatrix_, SystemFilter_, TransferOperator_ >, FEAT::Solver::NLOptPrecond< VectorType_, FilterType_ >, FEAT::Solver::AmaVanka< Matrix_, Filter_ >, FEAT::Solver::ConvertPrecond< VectorOuter_, VectorInner_ >, FEAT::Solver::ConvertPrecond< Global::Vector< LocalVectorOuter_, MirrorOuter_ >, Global::Vector< LocalVectorInner_, MirrorInner_ > >, and FEAT::Solver::BFBT< MatrixA_, MatrixB_, MatrixD_, FilterV_, FilterP_ >.
Referenced by FEAT::Solver::solve().
| 
 | inlineoverridevirtual | 
| 
 | inlinevirtualinherited | 
Finalization method.
This function performs both the symbolic and numeric finalization, i.e. it simply performs
this->done_numeric(); this->done_symbolic();
Definition at line 283 of file base.hpp.
References FEAT::Solver::SolverBase< Vector_ >::done_numeric(), and FEAT::Solver::SolverBase< Vector_ >::done_symbolic().
| 
 | inlineoverridevirtual | 
Numeric finalization method.
This method is called to release any data allocated in the numeric initialization step.
Reimplemented from FEAT::Solver::SolverBase< Vector_ >.
Definition at line 304 of file hypre.hpp.
References FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >::_solver, and FEAT::Solver::SolverBase< Vector_ >::done_numeric().
| 
 | inlineoverridevirtualinherited | 
Symbolic Finalization.
This function destroys all HYPRE objects managed by this class and resets all auxiliary vectors and pointers.
Reimplemented from FEAT::Solver::SolverBase< Vector_ >.
Definition at line 211 of file hypre.hpp.
References FEAT::Solver::SolverBase< Vector_ >::done_symbolic(), and XASSERT.
| 
 | inlinevirtualinherited | 
Initialization method.
This function performs both the symbolic and numeric initialization, i.e. it simply performs
this->init_symbolic(); this->init_numeric();
Definition at line 268 of file base.hpp.
References FEAT::Solver::SolverBase< Vector_ >::init_numeric(), and FEAT::Solver::SolverBase< Vector_ >::init_symbolic().
| 
 | inlineoverridevirtual | 
Numeric Initialization.
This function uploads the numerical values of the ADP matrix, which is managed by the base-class, to the HYPRE matrix.
Reimplemented from FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >.
Definition at line 296 of file hypre.hpp.
References FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::_core, and FEAT::Solver::HypreSolverBase< Matrix_, Filter_, SolverBase_ >::init_numeric().
| 
 | inlineoverridevirtualinherited | 
Symbolic Initialization.
This function creates the HYPRE matrix and vector objects and initializes their structure/layout by using the algebraic DOF partitioning (ADP) that is managed by the base-class. This function also performs an initial upload of the matrix and vector values from the ADP structures (because HYPRE requires this), although these values may be undefined (but existent) at this point.
Reimplemented from FEAT::Solver::SolverBase< Vector_ >.
Definition at line 173 of file hypre.hpp.
References FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_comm(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_global_dof_offset(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_mat_col_idx(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_mat_row_ptr(), FEAT::Solver::ADPSolverBase< Matrix_, Filter_, SolverBase_ >::_get_num_owned_dofs(), FEAT::Solver::SolverBase< Vector_ >::init_symbolic(), and XASSERT.
| 
 | inlineoverridevirtual | 
Returns a descriptive string.
Implements FEAT::Solver::SolverBase< Vector_ >.
| 
 | protectedinherited | 
a pointer to our opaque core wrapper object
Definition at line 107 of file hypre.hpp.
Referenced by FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >::init_numeric(), FEAT::Solver::EuclidPrecond< Matrix_, Filter_ >::init_numeric(), and FEAT::Solver::BoomerAMG< Matrix_, Filter_ >::init_numeric().
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
the HYPRE solver object
Definition at line 245 of file hypre.hpp.
Referenced by FEAT::Solver::ParaSailsPrecond< Matrix_, Filter_ >::done_numeric().