![]() |
Reference documentation for deal.II version 8.1.0
|
#include <sparse_direct.h>
Public Types | |
| typedef types::global_dof_index | size_type |
Public Member Functions | |
| SparseDirectMUMPS () | |
| ~SparseDirectMUMPS () | |
| DeclException0 (ExcInitializeAlreadyCalled) | |
| template<class Matrix > | |
| void | initialize (const Matrix &matrix, const Vector< double > &vector) |
| template<class Matrix > | |
| void | initialize (const Matrix &matrix) |
| void | solve (Vector< double > &vector) |
| void | vmult (Vector< double > &dst, const Vector< double > &src) |
Private Member Functions | |
| template<class Matrix > | |
| void | initialize_matrix (const Matrix &matrix) |
| void | copy_solution (Vector< double > &vector) |
| void | copy_rhs_to_mumps (const Vector< double > &rhs) |
Private Attributes | |
| DMUMPS_STRUC_C | id |
| double * | a |
| std::vector< double > | rhs |
| int * | irn |
| int * | jcn |
| types::global_dof_index | n |
| types::global_dof_index | nz |
| bool | initialize_called |
This class provides an interface to the parallel sparse direct solver MUMPS. MUMPS is direct method based on a multifrontal approach, which performs a direct LU factorization. The matrix coming in may have either symmetric or nonsymmetric sparsity pattern.
deal.II.There are instantiations of this class for SparseMatrix<double>, SparseMatrix<float>, BlockSparseMatrix<double>, and BlockSparseMatrix<float>.
Definition at line 340 of file sparse_direct.h.
Declare type for container size.
Definition at line 382 of file sparse_direct.h.
| SparseDirectMUMPS::SparseDirectMUMPS | ( | ) |
Constructor
| SparseDirectMUMPS::~SparseDirectMUMPS | ( | ) |
Destructor
|
private |
This function initializes a MUMPS instance and hands over the system's matrix matrix.
Copy the computed solution into the solution vector.
| SparseDirectMUMPS::DeclException0 | ( | ExcInitializeAlreadyCalled | ) |
Exception
| void SparseDirectMUMPS::initialize | ( | const Matrix & | matrix, |
| const Vector< double > & | vector | ||
| ) |
This function initializes a MUMPS instance and hands over the system's matrix matrix and right-hand side vector to the solver.
| void SparseDirectMUMPS::initialize | ( | const Matrix & | matrix | ) |
This function initializes a MUMPS instance and computes the factorization of the system's matrix matrix.
A function in which the linear system is solved and the solution vector is copied into the given vector. The right-hand side need to be supplied in initialize(matrix, vector);
A function in which the inverse of the matrix is applied to the input vector src and the solution is written into the output vector dst.
|
private |
Flags storing whether the function initialize () has already been called.
Definition at line 376 of file sparse_direct.h.
1.8.6