Pliris  Development
 All Classes Files Functions Pages
Public Member Functions | Protected Attributes | List of all members
Pliris Class Reference

Pliris: An Obect-Oriented Interface to a Dense LU Solver. More...

#include <Pliris.h>

Public Member Functions

 Pliris (Epetra_Vector *A, Epetra_MultiVector *X, Epetra_MultiVector *B)
 
 Pliris ()
 Pliris Default constructor.
 
int SetLHS (Epetra_MultiVector *X)
 Pliris LHS Set. More...
 
int SetRHS (Epetra_MultiVector *B)
 Pliris RHS Set. More...
 
int SetMatrix (Epetra_Vector *A)
 Pliris Matrix Set. More...
 
int SetMatrix (Epetra_SerialDenseVector *A)
 Pliris Matrix Set. More...
 
int GetDistribution (int *nprocs_row, int *number_of_unknowns, int *nrhs, int *my_rows, int *my_cols, int *my_first_row, int *my_first_col, int *my_rhs, int *my_row, int *my_col)
 Pliris GetDistirbution. More...
 
int FactorSolve (Epetra_Vector *A, int my_rows, int my_cols, int *matrix_size, int *num_procsr, int *num_rhs, double *secs)
 Pliris FactorSolve. More...
 
int FactorSolve (Epetra_SerialDenseVector *AA, int my_rows, int my_cols, int *matrix_size, int *num_procsr, int *num_rhs, double *secs)
 Pliris FactorSolve. More...
 
int Factor (Epetra_Vector *A, int *matrix_size, int *num_procsr, int *permute, double *secs)
 Pliris Factor. More...
 
int Solve (int *permute, int *num_rhs)
 Pliris Solve. More...
 
virtual ~Pliris (void)
 Pliris Default Destructor. More...
 

Protected Attributes

double * x_
 
double * a_
 
double * b_
 
int x_LDA_
 
int b_LDA_
 
bool inConstructor_
 
Epetra_MultiVector * X_
 
Epetra_MultiVector * B_
 
Epetra_Vector * A_
 
Epetra_SerialDenseVector * AA_
 

Detailed Description

Pliris: An Obect-Oriented Interface to a Dense LU Solver.

The Pliris class : Provides the functionality to interface to a dense LU

Constructor & Destructor Documentation

Pliris::~Pliris ( void  )
virtual

Pliris Default Destructor.

Completely deletes a Pliris object.

Member Function Documentation

int Pliris::Factor ( Epetra_Vector *  A,
int *  matrix_size,
int *  num_procsr,
int *  permute,
double *  secs 
)

Pliris Factor.

Factors the dense matrix

Parameters
A(In)– Epetra Vector that has the matrix packed
matrix_size(In)– order of the dense matrix
num_procsr(In)– number of processors for a row
permute(In)– permutation matrix
secs(Out)– factor and solve time in seconds

References SetMatrix().

int Pliris::FactorSolve ( Epetra_Vector *  A,
int  my_rows,
int  my_cols,
int *  matrix_size,
int *  num_procsr,
int *  num_rhs,
double *  secs 
)

Pliris FactorSolve.

Factors and solves the dense matrix

Parameters
A(InOut)– Epetra Vector that has the matrix and rhs packed( Note: matrix is overwritten)
my_rows(In)– number of rows of the matrix on this processor
my_cols(In)– number of columns of the matrix on this processor
matrix_size(In)– order of the dense matrix
num_procsr(In)– number of processors for a row
num_rhs(In)– number of right hand sides
secs(Out)– factor and solve time in seconds

References SetMatrix().

int Pliris::FactorSolve ( Epetra_SerialDenseVector *  AA,
int  my_rows,
int  my_cols,
int *  matrix_size,
int *  num_procsr,
int *  num_rhs,
double *  secs 
)

Pliris FactorSolve.

Factors and solves the dense matrix

Parameters
AA(In)– Epetra Serial Dense Vector that has the matrix and rhs packed
my_rows(In)– number of rows of the matrix on this processor
my_cols(In)– number of columns of the matrix on this processor
matrix_size(In)– order of the dense matrix
num_procsr(In)– number of processors for a row
num_rhs(In)– number of right hand sides
secs(Out)– factor and solve time in seconds

References SetMatrix().

int Pliris::GetDistribution ( int *  nprocs_row,
int *  number_of_unknowns,
int *  nrhs,
int *  my_rows,
int *  my_cols,
int *  my_first_row,
int *  my_first_col,
int *  my_rhs,
int *  my_row,
int *  my_col 
)

Pliris GetDistirbution.

Gives the distribution information that is required by the dense solver

Parameters
nprocs_row(In)- number of processors for a row
number_of_unknowns(In)- order of the dense matrix
nrhs(In)- number of right hand sides
my_rows(Out)- number of rows of the matrix on this processor
my_cols(Out) - number of columns of the matrix on this processor
my_first_row(Out)- first (global) row number on this processor (array starts at index 1)
my_first_col(Out) - first (global) column number on this processor (array starts at index 1)
my_rhs(Out)- number of Right hand sides on this processor
my_row(Out)- row number in processor mesh, 0 to the number of processors for a column -1
my_col(Out)- column number in processor mesh, 0 to the number of processors for a row -1
int Pliris::SetLHS ( Epetra_MultiVector *  X)

Pliris LHS Set.

Associates an already defined Epetra_MultiVector (or Epetra_Vector) as the initial guess and location where the solution will be return.

int Pliris::SetMatrix ( Epetra_Vector *  A)

Pliris Matrix Set.

Associates an already defined Epetra_Vector as the matrix (column ordered) of the linear system.

Referenced by Factor(), and FactorSolve().

int Pliris::SetMatrix ( Epetra_SerialDenseVector *  A)

Pliris Matrix Set.

Associates an already defined Epetra_SerialDenseVector as the matrix (column ordered) of the linear system.

int Pliris::SetRHS ( Epetra_MultiVector *  B)

Pliris RHS Set.

Associates an already defined Epetra_MultiVector (or Epetra_Vector) as the right-hand-side of the linear system.

int Pliris::Solve ( int *  permute,
int *  num_rhs 
)

Pliris Solve.

Solves the previously factored dense matrix

Parameters
permute(In)– permutation matrix
num_rhs(In)– factor and solve time in seconds \ Note that the matrix has been previously factored by Factor \ The RHS has been set by SetRHS(Epetra_MultiVector * B) \ On output the result is in the RHS

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