| FEAT 3
    Finite Element Analysis Toolbox | 
UMFPACK solver class. More...
#include <umfpack.hpp>
 
  
| Public Types | |
| typedef SolverBase< VectorType > | BaseClass | 
| our base class  More... | |
| typedef LAFEM::SparseMatrixCSR< double, Index > | MatrixType | 
| compatible matrix type  More... | |
| typedef LAFEM::DenseVector< double, Index > | VectorType | 
| compatible vector type  More... | |
| Public Member Functions | |
| Umfpack (const MatrixType &system_matrix) | |
| Constructor.  More... | |
| virtual | ~Umfpack () | 
| virtual destructor | |
| virtual Status | apply (LAFEM::DenseVector< double, Index > &vec_cor, const LAFEM::DenseVector< double, Index > &vec_def)=0 | 
| Solver application method.  More... | |
| virtual Status | apply (VectorType &vec_sol, const VectorType &vec_rhs) override | 
| Solves a linear system with the factorized system matrix.  More... | |
| 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... | |
| Private Attributes | |
| std::size_t | _num_mem_size | 
| numeric factorization memory size  More... | |
| std::size_t | _sym_mem_size | 
| symbolic factorization memory size  More... | |
| std::size_t | _sym_peak_size | 
| symbolic peak memory size  More... | |
| const MatrixType & | _system_matrix | 
| system matrix  More... | |
| double * | _umf_control | 
| umfpack control array  More... | |
| void * | _umf_numeric | 
| umfpack numeric factorization pointer  More... | |
| std::size_t | _umf_peak_size | 
| total peak memory size  More... | |
| void * | _umf_symbolic | 
| umfpack symbolic factorization pointer  More... | |
UMFPACK solver class.
This class provides an implementation of the SolverBase interface using the direct solver UMFPACK for doing the actual dirty work.
UMFPACK third-party library.Definition at line 40 of file umfpack.hpp.
our base class
Definition at line 50 of file umfpack.hpp.
| typedef LAFEM::SparseMatrixCSR<double, Index> FEAT::Solver::Umfpack::MatrixType | 
compatible matrix type
Definition at line 45 of file umfpack.hpp.
| typedef LAFEM::DenseVector<double, Index> FEAT::Solver::Umfpack::VectorType | 
compatible vector type
Definition at line 47 of file umfpack.hpp.
| 
 | explicit | 
Constructor.
| [in] | system_matrix | A reference to the system matrix to be factorized. | 
| 
 | 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. | 
| 
 | overridevirtual | 
Solves a linear system with the factorized system matrix.
| [in,out] | vec_sol | A reference to the solution vector. The vector must be allocated to the correct length, but its initial contents are ignored. | 
| [in] | vec_rhs | A reference to the right-hand-side of the linear system. | 
Referenced by FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >::apply().
| 
 | inlinevirtualinherited | 
| 
 | overridevirtual | 
Numeric finalization method.
This method is called to release any data allocated in the numeric initialization step.
Reimplemented from FEAT::Solver::SolverBase< LAFEM::DenseVector< double, Index > >.
Referenced by FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >::done_numeric(), and FEAT::Solver::GenericUmfpack< Matrix_ >::done_numeric().
| 
 | overridevirtual | 
Symbolic finalization method.
This method is called to release any data allocated in the symbolic initialization step.
Reimplemented from FEAT::Solver::SolverBase< LAFEM::DenseVector< double, Index > >.
Referenced by FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >::done_symbolic(), and FEAT::Solver::GenericUmfpack< Matrix_ >::done_symbolic().
| 
 | inlinevirtualinherited | 
| 
 | overridevirtual | 
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< LAFEM::DenseVector< double, Index > >.
Referenced by FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >::init_numeric(), and FEAT::Solver::GenericUmfpack< Matrix_ >::init_numeric().
| 
 | overridevirtual | 
Symbolic initialization method.
This method is called to perform symbolic initialization of the solver.
Reimplemented from FEAT::Solver::SolverBase< LAFEM::DenseVector< double, Index > >.
Referenced by FEAT::Solver::SaddleUmfpackMean< DT_, IT_, dim_ >::init_symbolic(), and FEAT::Solver::GenericUmfpack< Matrix_ >::init_symbolic().
| 
 | inlineoverridevirtual | 
Returns the name of the solver.
Implements FEAT::Solver::SolverBase< LAFEM::DenseVector< double, Index > >.
Definition at line 84 of file umfpack.hpp.
| 
 | private | 
numeric factorization memory size
Definition at line 67 of file umfpack.hpp.
| 
 | private | 
symbolic factorization memory size
Definition at line 65 of file umfpack.hpp.
| 
 | private | 
symbolic peak memory size
Definition at line 63 of file umfpack.hpp.
| 
 | private | 
system matrix
Definition at line 54 of file umfpack.hpp.
| 
 | private | 
umfpack control array
Definition at line 56 of file umfpack.hpp.
| 
 | private | 
umfpack numeric factorization pointer
Definition at line 60 of file umfpack.hpp.
| 
 | private | 
total peak memory size
Definition at line 69 of file umfpack.hpp.
| 
 | private | 
umfpack symbolic factorization pointer
Definition at line 58 of file umfpack.hpp.