| FEAT 3
    Finite Element Analysis Toolbox | 
Generic UMFPACK solver class. More...
#include <umfpack.hpp>
 
  
| Public Types | |
| typedef SolverBase< typename Matrix_::VectorTypeL > | BaseClass | 
| our base class  More... | |
| typedef Matrix_ | MatrixType | 
| our matrix type  More... | |
| typedef MatrixType::VectorTypeL | VectorType | 
| our vector type  More... | |
| Public Member Functions | |
| GenericUmfpack (const MatrixType &matrix) | |
| virtual | ~GenericUmfpack () | 
| virtual destructor  More... | |
| virtual Status | apply (Matrix_::VectorTypeL &vec_cor, const Matrix_::VectorTypeL &vec_def)=0 | 
| Solver application method.  More... | |
| virtual Status | apply (VectorType &vec_sol, const VectorType &vec_rhs) override | 
| virtual void | done () | 
| Finalization method.  More... | |
| virtual void | done_numeric () override | 
| Numeric finalization method.  More... | |
| virtual void | done_symbolic () override | 
| Symbolic finalization method.  More... | |
| virtual void | init () | 
| Initialization method.  More... | |
| virtual void | init_numeric () override | 
| Numeric initialization method.  More... | |
| virtual void | init_symbolic () override | 
| Symbolic initialization method.  More... | |
| virtual String | name () const override | 
| Returns the name of the solver.  More... | |
| Protected Attributes | |
| const MatrixType & | _matrix | 
| our matrix  More... | |
| LAFEM::DenseVector< typename VectorType::DataType, typename VectorType::IndexType > | _tmp_vrhs | 
| LAFEM::DenseVector< typename VectorType::DataType, typename VectorType::IndexType > | _tmp_vsol | 
| temporary vectors for datatype conversion  More... | |
| Umfpack::MatrixType | _umf_matrix | 
| the matrix for our Umfpack solver (SparseMatrixCSR<double, Index>)  More... | |
| Umfpack::VectorType | _umf_vrhs | 
| Umfpack::VectorType | _umf_vsol | 
| the vectors for our Umfpack solver (DenseVector<double, Index>)  More... | |
| Umfpack | _umfpack | 
| the actual Umfpack solver object  More... | |
Generic UMFPACK solver class.
This class effectively wraps around an Umfpack solver object
UMFPACK third-party library.Definition at line 647 of file umfpack.hpp.
| typedef SolverBase<typename Matrix_::VectorTypeL> FEAT::Solver::GenericUmfpack< Matrix_ >::BaseClass | 
our base class
Definition at line 652 of file umfpack.hpp.
| typedef Matrix_ FEAT::Solver::GenericUmfpack< Matrix_ >::MatrixType | 
our matrix type
Definition at line 654 of file umfpack.hpp.
| typedef MatrixType::VectorTypeL FEAT::Solver::GenericUmfpack< Matrix_ >::VectorType | 
our vector type
Definition at line 656 of file umfpack.hpp.
| 
 | inlineexplicit | 
Definition at line 671 of file umfpack.hpp.
| 
 | inlinevirtual | 
virtual destructor
Definition at line 678 of file umfpack.hpp.
| 
 | 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::AmaVanka< Matrix_, Filter_ >.
| 
 | inlineoverridevirtual | 
Definition at line 752 of file umfpack.hpp.
| 
 | inlinevirtualinherited | 
| 
 | inlineoverridevirtual | 
Numeric finalization method.
This method is called to release any data allocated in the numeric initialization step.
Reimplemented from FEAT::Solver::SolverBase< Matrix_::VectorTypeL >.
Definition at line 746 of file umfpack.hpp.
References FEAT::Solver::GenericUmfpack< Matrix_ >::_umfpack, FEAT::Solver::SolverBase< typename Matrix_::VectorTypeL >::done_numeric(), and FEAT::Solver::Umfpack::done_numeric().
| 
 | inlineoverridevirtual | 
Symbolic finalization method.
This method is called to release any data allocated in the symbolic initialization step.
Reimplemented from FEAT::Solver::SolverBase< Matrix_::VectorTypeL >.
Definition at line 712 of file umfpack.hpp.
References FEAT::Solver::GenericUmfpack< Matrix_ >::_tmp_vsol, FEAT::Solver::GenericUmfpack< Matrix_ >::_umf_matrix, FEAT::Solver::GenericUmfpack< Matrix_ >::_umf_vsol, FEAT::Solver::GenericUmfpack< Matrix_ >::_umfpack, FEAT::LAFEM::Container< DT_, IT_ >::clear(), FEAT::Solver::SolverBase< typename Matrix_::VectorTypeL >::done_symbolic(), and FEAT::Solver::Umfpack::done_symbolic().
| 
 | inlinevirtualinherited | 
| 
 | inlineoverridevirtual | 
Numeric initialization method.
This method is called to perform numeric initialization of the solver.
Before this function can be called, the symbolic initialization must be performed. 
Reimplemented from FEAT::Solver::SolverBase< Matrix_::VectorTypeL >.
Definition at line 725 of file umfpack.hpp.
References FEAT::Solver::GenericUmfpack< Matrix_ >::_matrix, FEAT::Solver::GenericUmfpack< Matrix_ >::_umf_matrix, FEAT::Solver::GenericUmfpack< Matrix_ >::_umfpack, FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::col_ind(), FEAT::Solver::SolverBase< typename Matrix_::VectorTypeL >::init_numeric(), FEAT::Solver::Umfpack::init_numeric(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::row_ptr(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::rows(), and FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::val().
| 
 | inlineoverridevirtual | 
Symbolic initialization method.
This method is called to perform symbolic initialization of the solver.
Reimplemented from FEAT::Solver::SolverBase< Matrix_::VectorTypeL >.
Definition at line 688 of file umfpack.hpp.
References FEAT::Solver::GenericUmfpack< Matrix_ >::_matrix, FEAT::Solver::GenericUmfpack< Matrix_ >::_tmp_vsol, FEAT::Solver::GenericUmfpack< Matrix_ >::_umf_matrix, FEAT::Solver::GenericUmfpack< Matrix_ >::_umf_vsol, FEAT::Solver::GenericUmfpack< Matrix_ >::_umfpack, FEAT::LAFEM::DenseVector< DT_, IT_ >::convert(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::convert(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::create_vector_l(), FEAT::Solver::SolverBase< typename Matrix_::VectorTypeL >::init_symbolic(), and FEAT::Solver::Umfpack::init_symbolic().
| 
 | inlineoverridevirtual | 
Returns the name of the solver.
Implements FEAT::Solver::SolverBase< Matrix_::VectorTypeL >.
Definition at line 683 of file umfpack.hpp.
| 
 | protected | 
our matrix
Definition at line 660 of file umfpack.hpp.
Referenced by FEAT::Solver::GenericUmfpack< Matrix_ >::init_numeric(), and FEAT::Solver::GenericUmfpack< Matrix_ >::init_symbolic().
| 
 | protected | 
Definition at line 666 of file umfpack.hpp.
| 
 | protected | 
temporary vectors for datatype conversion
Definition at line 666 of file umfpack.hpp.
Referenced by FEAT::Solver::GenericUmfpack< Matrix_ >::done_symbolic(), and FEAT::Solver::GenericUmfpack< Matrix_ >::init_symbolic().
| 
 | protected | 
the matrix for our Umfpack solver (SparseMatrixCSR<double, Index>)
Definition at line 662 of file umfpack.hpp.
Referenced by FEAT::Solver::GenericUmfpack< Matrix_ >::done_symbolic(), FEAT::Solver::GenericUmfpack< Matrix_ >::init_numeric(), and FEAT::Solver::GenericUmfpack< Matrix_ >::init_symbolic().
| 
 | protected | 
Definition at line 664 of file umfpack.hpp.
| 
 | protected | 
the vectors for our Umfpack solver (DenseVector<double, Index>)
Definition at line 664 of file umfpack.hpp.
Referenced by FEAT::Solver::GenericUmfpack< Matrix_ >::done_symbolic(), and FEAT::Solver::GenericUmfpack< Matrix_ >::init_symbolic().
| 
 | protected | 
the actual Umfpack solver object
Definition at line 668 of file umfpack.hpp.
Referenced by FEAT::Solver::GenericUmfpack< Matrix_ >::done_numeric(), FEAT::Solver::GenericUmfpack< Matrix_ >::done_symbolic(), FEAT::Solver::GenericUmfpack< Matrix_ >::init_numeric(), and FEAT::Solver::GenericUmfpack< Matrix_ >::init_symbolic().