29#ifndef AMESOS_PARDISO_H
30#define AMESOS_PARDISO_H
39#include "Epetra_LinearProblem.h"
40#include "Epetra_Time.h"
41#include "Epetra_Map.h"
42#include "Epetra_Import.h"
43#include "Epetra_Comm.h"
44#include "Epetra_RowMatrix.h"
45#include "Epetra_CrsMatrix.h"
46#include "Teuchos_ParameterList.hpp"
47#include "Teuchos_RCP.hpp"
137 inline const Epetra_Map&
Map()
const
139 return(
Matrix_->RowMatrixRowMap());
142 inline const Epetra_RowMatrix&
Matrix()
const
Amesos_BaseSolver: A pure virtual class for direct solution of real-valued double-precision operators...
Amesos_Control: Container for some control variables.
Amesos_NoCopiable: Simple class to prevent the usage of copy constructor and operator =.
Amesos_Pardiso: Interface to the PARDISO package.
Teuchos::RCP< Epetra_RowMatrix > SerialMatrix_
~Amesos_Pardiso()
Destructor.
bool pardiso_initialized_
bool MatrixShapeOK() const
Returns true if PARDISO can handle this matrix shape.
Epetra_Import & Importer()
const Epetra_Comm & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this matrix.
const Epetra_LinearProblem * GetProblem() const
Get a pointer to the Problem.
int SetParameters(Teuchos::ParameterList &ParameterList)
Set parameters from the input parameters list, returns 0 if successful.
Teuchos::RCP< Epetra_CrsMatrix > SerialCrsMatrix_
Teuchos::RCP< Epetra_Map > SerialMap_
const Epetra_RowMatrix * Matrix_
Epetra_RowMatrix & SerialMatrix()
int NumSymbolicFact() const
Returns the number of symbolic factorizations performed by this object.
const Epetra_Map & Map() const
int NumericFactorization()
Performs NumericFactorization on the matrix A.
int MtxConvTime_
Quick access pointers to the internal timing data.
int NumSolve() const
Returns the number of solves performed by this object.
bool UseTranspose_
If true, the transpose of A is used.
const Epetra_RowMatrix & Matrix() const
int NumNumericFact() const
Returns the number of numeric factorizations performed by this object.
int msglvl_
Actual matrix for solution phase (always 1)
const Epetra_LinearProblem * Problem_
Pointer to the linear system problem.
bool UseTranspose() const
Returns the current UseTranspose setting.
int CheckError(const int error) const
int Solve()
Solves A X = B (or AT X = B)
Teuchos::RCP< Epetra_Import > Importer_
int SymbolicFactorization()
Performs SymbolicFactorization on the matrix A.
std::vector< double > aa_
void PrintStatus() const
Prints information about the factorization and solution phases.
void PrintTiming() const
Prints timing information.
void GetTiming(Teuchos::ParameterList &TimingParameterList) const
Extracts timing information from the current solver and places it in the parameter list.
int PerformNumericFactorization()
Teuchos::ParameterList param_
int SetUseTranspose(bool UseTranspose)
SetUseTranpose()
Epetra_CrsMatrix & SerialCrsMatrix()
int PerformSymbolicFactorization()
Amesos_Status: Container for some status variables.
int NumSymbolicFact_
Number of symbolic factorization phases.
int NumSolve_
Number of solves.
int NumNumericFact_
Number of numeric factorization phases.
Amesos_Time: Container for timing information.
void GetTiming(Teuchos::ParameterList &list) const
Load up the current timing information into the parameter list.
Amesos_Utils: Collections of basic utilities.