Amesos Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Member Functions | Private Attributes | List of all members
Amesos_Pardiso Class Reference

Amesos_Pardiso: Interface to the PARDISO package. More...

#include <Amesos_Pardiso.h>

Inheritance diagram for Amesos_Pardiso:
Inheritance graph
[legend]

Private Member Functions

int CheckError (const int error) const
 
const Epetra_MapMap () const
 
const Epetra_RowMatrixMatrix () const
 
Epetra_MapSerialMap ()
 
Epetra_RowMatrixSerialMatrix ()
 
Epetra_CrsMatrixSerialCrsMatrix ()
 
Epetra_ImportImporter ()
 
int ConvertToSerial ()
 
int ConvertToPardiso ()
 
int PerformSymbolicFactorization ()
 
int PerformNumericFactorization ()
 
- Private Member Functions inherited from Amesos_Time
 Amesos_Time ()
 Default constructor to create size timers. More...
 
virtual ~Amesos_Time ()
 Default destructor. More...
 
void CreateTimer (const Epetra_Comm &Comm, int size=1)
 Initializes the Time object. More...
 
void ResetTimer (const int timerID=0)
 Resets the internally stored time object. More...
 
int AddTime (const std::string what, int dataID, const int timerID=0)
 Adds to field what the time elapsed since last call to ResetTimer(). More...
 
double GetTime (const std::string what) const
 Gets the cumulative time using the string. More...
 
double GetTime (const int dataID) const
 Gets the cumulative time using the dataID. More...
 
void GetTiming (Teuchos::ParameterList &list) const
 Load up the current timing information into the parameter list. More...
 
- Private Member Functions inherited from Amesos_NoCopiable
 Amesos_NoCopiable ()
 Default constructor. More...
 
 ~Amesos_NoCopiable ()
 Default destructor. More...
 
- Private Member Functions inherited from Amesos_Utils
 Amesos_Utils ()
 Default constructor. More...
 
 ~Amesos_Utils ()
 Default destructor. More...
 
void ComputeTrueResidual (const Epetra_RowMatrix &Matrix, const Epetra_MultiVector &X, const Epetra_MultiVector &B, const bool UseTranspose, const std::string prefix) const
 Computes the true residual, B - Matrix * X, and prints the results. More...
 
void ComputeVectorNorms (const Epetra_MultiVector &X, const Epetra_MultiVector &B, const std::string prefix) const
 Computes the norms of X and B and print the results. More...
 
void PrintLine () const
 Prints line on std::cout. More...
 
void SetMaxProcesses (int &MaxProcesses, const Epetra_RowMatrix &A)
 
- Private Member Functions inherited from Amesos_Control
 Amesos_Control ()
 Default constructor. More...
 
 ~Amesos_Control ()
 Default destructor. More...
 
void SetControlParameters (const Teuchos::ParameterList &ParameterList)
 
- Private Member Functions inherited from Amesos_Status
 Amesos_Status ()
 Default constructor. More...
 
 ~Amesos_Status ()
 Default destructor. More...
 
void SetStatusParameters (const Teuchos::ParameterList &ParameterList)
 

Private Attributes

Teuchos::RCP< Epetra_MapSerialMap_
 
Teuchos::RCP< Epetra_CrsMatrixSerialCrsMatrix_
 
Teuchos::RCP< Epetra_RowMatrixSerialMatrix_
 
Teuchos::RCP< Epetra_ImportImporter_
 
const Epetra_MapMap_
 
const Epetra_RowMatrixMatrix_
 
bool UseTranspose_
 If true, the transpose of A is used. More...
 
const Epetra_LinearProblemProblem_
 Pointer to the linear system problem. More...
 
int MtxConvTime_
 Quick access pointers to the internal timing data. More...
 
int MtxRedistTime_
 
int VecRedistTime_
 
int SymFactTime_
 
int NumFactTime_
 
int SolveTime_
 
std::vector< double > aa_
 
std::vector< int > ia_
 
std::vector< int > ja_
 
bool pardiso_initialized_
 
int mtype_
 
void * pt_ [64]
 
int iparm_ [64]
 
double dparm_ [64]
 
int maxfct_
 
int mnum_
 
int msglvl_
 Actual matrix for solution phase (always 1) More...
 
int nrhs_
 Output level. More...
 
Teuchos::ParameterList param_
 
- Private Attributes inherited from Amesos_Control
double AddToDiag_
 Add this value to the diagonal. More...
 
bool refactorize_
 
double rcond_threshold_
 If error is greater than this value, perform symbolic and numeric factorization with full partial pivoting. More...
 
int ScaleMethod_
 
bool AddZeroToDiag_
 Adds zero to diagonal of redistributed matrix (some solvers choke on a matrix with a partly empty diag) More...
 
int MatrixProperty_
 Set the matrix property. More...
 
int MaxProcesses_
 
bool Reindex_
 If true, the Amesos class should reindex the matrix to standard indexing (i.e. More...
 
- Private Attributes inherited from Amesos_Status
bool IsSymbolicFactorizationOK_
 If true, SymbolicFactorization() has been successfully called. More...
 
bool IsNumericFactorizationOK_
 If true, NumericFactorization() has been successfully called. More...
 
bool PrintTiming_
 If true, prints timing information in the destructor. More...
 
bool PrintStatus_
 If true, print additional information in the destructor. More...
 
bool ComputeVectorNorms_
 If true, prints the norms of X and B in Solve(). More...
 
bool ComputeTrueResidual_
 If true, computes the true residual in Solve(). More...
 
int verbose_
 Toggles the output level. More...
 
int debug_
 Sets the level of debug_ output. More...
 
int NumSymbolicFact_
 Number of symbolic factorization phases. More...
 
int NumNumericFact_
 Number of numeric factorization phases. More...
 
int NumSolve_
 Number of solves. More...
 
double Threshold_
 
int MyPID_
 
int NumProcs_
 
 Amesos_Pardiso (const Epetra_LinearProblem &LinearProblem)
 Constructor. More...
 
 ~Amesos_Pardiso ()
 Destructor. More...
 
int SymbolicFactorization ()
 Performs SymbolicFactorization on the matrix A. More...
 
int NumericFactorization ()
 Performs NumericFactorization on the matrix A. More...
 
int Solve ()
 Solves A X = B (or AT X = B) More...
 
const Epetra_LinearProblemGetProblem () const
 Get a pointer to the Problem. More...
 
bool MatrixShapeOK () const
 Returns true if PARDISO can handle this matrix shape. More...
 
int SetUseTranspose (bool UseTranspose)
 SetUseTranpose() More...
 
bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
const Epetra_CommComm () const
 Returns a pointer to the Epetra_Comm communicator associated with this matrix. More...
 
int SetParameters (Teuchos::ParameterList &ParameterList)
 Set parameters from the input parameters list, returns 0 if successful. More...
 
int NumSymbolicFact () const
 Returns the number of symbolic factorizations performed by this object. More...
 
int NumNumericFact () const
 Returns the number of numeric factorizations performed by this object. More...
 
int NumSolve () const
 Returns the number of solves performed by this object. More...
 
void PrintTiming () const
 Prints timing information. More...
 
void PrintStatus () const
 Prints information about the factorization and solution phases. More...
 
void GetTiming (Teuchos::ParameterList &TimingParameterList) const
 Extracts timing information from the current solver and places it in the parameter list. More...
 

Additional Inherited Members

- Public Member Functions inherited from Amesos_BaseSolver
virtual ~Amesos_BaseSolver ()
 Destructor. More...
 
virtual void setParameterList (Teuchos::RCP< Teuchos::ParameterList > const &paramList)
 Redefined from Teuchos::ParameterListAcceptor (Does Not Work) More...
 
virtual Teuchos::RCP
< Teuchos::ParameterList
getNonconstParameterList ()
 This is an empty stub. More...
 
virtual Teuchos::RCP
< Teuchos::ParameterList
unsetParameterList ()
 This is an empty stub. More...
 
- Public Member Functions inherited from Teuchos::ParameterListAcceptor
virtual RCP< const ParameterListgetParameterList () const
 
virtual RCP< const ParameterListgetValidParameters () const
 

Detailed Description

Amesos_Pardiso: Interface to the PARDISO package.

Author
Marzio Sala, SNL 9214
Date
Last updated on June 2005

Definition at line 63 of file Amesos_Pardiso.h.

Constructor & Destructor Documentation

Amesos_Pardiso::Amesos_Pardiso ( const Epetra_LinearProblem LinearProblem)

Constructor.

Definition at line 61 of file Amesos_Pardiso.cpp.

Amesos_Pardiso::~Amesos_Pardiso ( )

Destructor.

Definition at line 111 of file Amesos_Pardiso.cpp.

Member Function Documentation

int Amesos_Pardiso::SymbolicFactorization ( )
virtual

Performs SymbolicFactorization on the matrix A.

Implements Amesos_BaseSolver.

Definition at line 373 of file Amesos_Pardiso.cpp.

int Amesos_Pardiso::NumericFactorization ( )
virtual

Performs NumericFactorization on the matrix A.

Implements Amesos_BaseSolver.

Definition at line 415 of file Amesos_Pardiso.cpp.

int Amesos_Pardiso::Solve ( void  )
virtual

Solves A X = B (or AT X = B)

Implements Amesos_BaseSolver.

Definition at line 436 of file Amesos_Pardiso.cpp.

const Epetra_LinearProblem* Amesos_Pardiso::GetProblem ( ) const
inlinevirtual

Get a pointer to the Problem.

Implements Amesos_BaseSolver.

Definition at line 95 of file Amesos_Pardiso.h.

bool Amesos_Pardiso::MatrixShapeOK ( ) const
virtual

Returns true if PARDISO can handle this matrix shape.

Returns true if the matrix shape is one that PARDISO can handle. PARDISO only works with square matrices.

Implements Amesos_BaseSolver.

Definition at line 360 of file Amesos_Pardiso.cpp.

int Amesos_Pardiso::SetUseTranspose ( bool  UseTranspose)
inlinevirtual

SetUseTranpose()

If SetUseTranspose() is set to true, $A^T X = B$ is computed.

Implements Amesos_BaseSolver.

Definition at line 108 of file Amesos_Pardiso.h.

bool Amesos_Pardiso::UseTranspose ( ) const
inlinevirtual

Returns the current UseTranspose setting.

Implements Amesos_BaseSolver.

Definition at line 111 of file Amesos_Pardiso.h.

const Epetra_Comm& Amesos_Pardiso::Comm ( ) const
inlinevirtual

Returns a pointer to the Epetra_Comm communicator associated with this matrix.

Implements Amesos_BaseSolver.

Definition at line 114 of file Amesos_Pardiso.h.

int Amesos_Pardiso::SetParameters ( Teuchos::ParameterList ParameterList)
virtual

Set parameters from the input parameters list, returns 0 if successful.

Implements Amesos_BaseSolver.

Definition at line 223 of file Amesos_Pardiso.cpp.

int Amesos_Pardiso::NumSymbolicFact ( ) const
inlinevirtual

Returns the number of symbolic factorizations performed by this object.

Implements Amesos_BaseSolver.

Definition at line 120 of file Amesos_Pardiso.h.

int Amesos_Pardiso::NumNumericFact ( ) const
inlinevirtual

Returns the number of numeric factorizations performed by this object.

Implements Amesos_BaseSolver.

Definition at line 123 of file Amesos_Pardiso.h.

int Amesos_Pardiso::NumSolve ( ) const
inlinevirtual

Returns the number of solves performed by this object.

Implements Amesos_BaseSolver.

Definition at line 126 of file Amesos_Pardiso.h.

void Amesos_Pardiso::PrintTiming ( ) const
virtual

Prints timing information.

Implements Amesos_BaseSolver.

Definition at line 579 of file Amesos_Pardiso.cpp.

void Amesos_Pardiso::PrintStatus ( ) const
virtual

Prints information about the factorization and solution phases.

Implements Amesos_BaseSolver.

Definition at line 545 of file Amesos_Pardiso.cpp.

void Amesos_Pardiso::GetTiming ( Teuchos::ParameterList TimingParameterList) const
inlinevirtual

Extracts timing information from the current solver and places it in the parameter list.

Reimplemented from Amesos_BaseSolver.

Definition at line 135 of file Amesos_Pardiso.h.

int Amesos_Pardiso::CheckError ( const int  error) const
private

Definition at line 628 of file Amesos_Pardiso.cpp.

const Epetra_Map& Amesos_Pardiso::Map ( ) const
inlineprivate

Definition at line 143 of file Amesos_Pardiso.h.

const Epetra_RowMatrix& Amesos_Pardiso::Matrix ( ) const
inlineprivate

Definition at line 148 of file Amesos_Pardiso.h.

Epetra_Map& Amesos_Pardiso::SerialMap ( )
inlineprivate

Definition at line 153 of file Amesos_Pardiso.h.

Epetra_RowMatrix& Amesos_Pardiso::SerialMatrix ( )
inlineprivate

Definition at line 158 of file Amesos_Pardiso.h.

Epetra_CrsMatrix& Amesos_Pardiso::SerialCrsMatrix ( )
inlineprivate

Definition at line 163 of file Amesos_Pardiso.h.

Epetra_Import& Amesos_Pardiso::Importer ( )
inlineprivate

Definition at line 168 of file Amesos_Pardiso.h.

int Amesos_Pardiso::ConvertToSerial ( )
private

Definition at line 138 of file Amesos_Pardiso.cpp.

int Amesos_Pardiso::ConvertToPardiso ( )
private

Definition at line 173 of file Amesos_Pardiso.cpp.

int Amesos_Pardiso::PerformSymbolicFactorization ( )
private

Definition at line 256 of file Amesos_Pardiso.cpp.

int Amesos_Pardiso::PerformNumericFactorization ( )
private

Definition at line 321 of file Amesos_Pardiso.cpp.

Member Data Documentation

Teuchos::RCP<Epetra_Map> Amesos_Pardiso::SerialMap_
private

Definition at line 178 of file Amesos_Pardiso.h.

Teuchos::RCP<Epetra_CrsMatrix> Amesos_Pardiso::SerialCrsMatrix_
private

Definition at line 179 of file Amesos_Pardiso.h.

Teuchos::RCP<Epetra_RowMatrix> Amesos_Pardiso::SerialMatrix_
private

Definition at line 180 of file Amesos_Pardiso.h.

Teuchos::RCP<Epetra_Import> Amesos_Pardiso::Importer_
private

Definition at line 181 of file Amesos_Pardiso.h.

const Epetra_Map* Amesos_Pardiso::Map_
private

Definition at line 183 of file Amesos_Pardiso.h.

const Epetra_RowMatrix* Amesos_Pardiso::Matrix_
private

Definition at line 184 of file Amesos_Pardiso.h.

bool Amesos_Pardiso::UseTranspose_
private

If true, the transpose of A is used.

Definition at line 187 of file Amesos_Pardiso.h.

const Epetra_LinearProblem* Amesos_Pardiso::Problem_
private

Pointer to the linear system problem.

Definition at line 189 of file Amesos_Pardiso.h.

int Amesos_Pardiso::MtxConvTime_
private

Quick access pointers to the internal timing data.

Definition at line 192 of file Amesos_Pardiso.h.

int Amesos_Pardiso::MtxRedistTime_
private

Definition at line 192 of file Amesos_Pardiso.h.

int Amesos_Pardiso::VecRedistTime_
private

Definition at line 192 of file Amesos_Pardiso.h.

int Amesos_Pardiso::SymFactTime_
private

Definition at line 193 of file Amesos_Pardiso.h.

int Amesos_Pardiso::NumFactTime_
private

Definition at line 193 of file Amesos_Pardiso.h.

int Amesos_Pardiso::SolveTime_
private

Definition at line 193 of file Amesos_Pardiso.h.

std::vector<double> Amesos_Pardiso::aa_
private

Definition at line 196 of file Amesos_Pardiso.h.

std::vector<int> Amesos_Pardiso::ia_
private

Definition at line 197 of file Amesos_Pardiso.h.

std::vector<int> Amesos_Pardiso::ja_
private

Definition at line 198 of file Amesos_Pardiso.h.

bool Amesos_Pardiso::pardiso_initialized_
private

Definition at line 200 of file Amesos_Pardiso.h.

int Amesos_Pardiso::mtype_
private

Definition at line 201 of file Amesos_Pardiso.h.

void* Amesos_Pardiso::pt_[64]
private

Definition at line 202 of file Amesos_Pardiso.h.

int Amesos_Pardiso::iparm_[64]
private

Definition at line 204 of file Amesos_Pardiso.h.

double Amesos_Pardiso::dparm_[64]
private

Definition at line 205 of file Amesos_Pardiso.h.

int Amesos_Pardiso::maxfct_
private

Definition at line 206 of file Amesos_Pardiso.h.

int Amesos_Pardiso::mnum_
private

Definition at line 207 of file Amesos_Pardiso.h.

int Amesos_Pardiso::msglvl_
private

Actual matrix for solution phase (always 1)

Definition at line 208 of file Amesos_Pardiso.h.

int Amesos_Pardiso::nrhs_
private

Output level.

Definition at line 209 of file Amesos_Pardiso.h.

Teuchos::ParameterList Amesos_Pardiso::param_
private

Definition at line 211 of file Amesos_Pardiso.h.


The documentation for this class was generated from the following files: