29#ifndef AMESOS_SUPERLUDIST_H
30#define AMESOS_SUPERLUDIST_H
39#include "Epetra_LinearProblem.h"
40#include "Teuchos_RCP.hpp"
42#include "Epetra_MpiComm.h"
44#include "Epetra_Comm.h"
53#ifndef DOXYGEN_SHOULD_SKIP_THIS
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_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_Superludist: An object-oriented wrapper for Superludist.
int SetParameters(Teuchos::ParameterList &ParameterList)
Updates internal variables.
Teuchos::RCP< Amesos_Superlu_Pimpl > PrivateSuperluData_
void PrintTiming() const
Print various timig.
Epetra_RowMatrix * RowMatrixA_
int SymbolicFactorization()
Performs SymbolicFactorization on the matrix A.
const Epetra_LinearProblem * GetProblem() const
Returns the Epetra_LinearProblem.
int Solve()
Solves A X = B (or AT x = B)
int NumGlobalRows_
Global dimension of the matrix.
int NumSymbolicFact() const
Returns the number of symbolic factorizations performed by this object.
int * Global_Columns_
Contains the global ID of local columns.
Epetra_CrsMatrix & CrsUniformMatrix()
const Epetra_Comm & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
void PrintStatus() const
Print various information about the parameters used by Superludist.
bool UseTranspose() const
Always returns false. Superludist doesn't support transpose solve.
const Epetra_Import & Importer() const
RCP< Epetra_CrsMatrix > CrsUniformMatrix_
RCP< Epetra_Map > UniformMap_
void GetTiming(Teuchos::ParameterList &TimingParameterList) const
Extracts timing information from the current solver and places it in the parameter list.
Amesos_Superludist(const Epetra_LinearProblem &LinearProblem)
Amesos_Superludist Constructor.
int NumSolve() const
Returns the number of solves performed by this object.
Teuchos::RCP< Epetra_Import > Importer_
std::vector< double > Aval_
~Amesos_Superludist(void)
Amesos_Superludist Destructor.
bool Redistribute_
redistribute the input matrix prior to calling Superludist
int GridCreated_
true if the SuperLU_DIST's grid has been created (and has to be free'd)
const Epetra_Map & UniformMap() const
bool FactorizationOK_
true if NumericFactorization() has been successfully called.
int NumericFactorization()
Performs NumericFactorization on the matrix A.
const Epetra_LinearProblem * Problem_
bool ReuseSymbolic_
Allows FactOption to be used on subsequent calls to pdgssvx from NumericFactorization.
int SetUseTranspose(bool UseTranspose)
Amesos_Superludist does not support transpose at this time.
int NumNumericFact() const
Returns the number of numeric factorizations performed by this object.
const Epetra_RowMatrix & UniformMatrix() const
bool MatrixShapeOK() const
Returns true if SUPERLUDIST can handle this matrix shape.
RCP< Epetra_RowMatrix > UniformMatrix_
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.