ShyLU  Version of the Day
Classes | Macros | Functions
shylu.h File Reference

Main header file of ShyLU (Include main user calls) More...

#include "Epetra_CrsMatrix.h"
#include "Epetra_Map.h"
#include "Epetra_MultiVector.h"
#include "Epetra_LinearProblem.h"
#include "Epetra_SerialComm.h"
#include "Amesos_BaseSolver.h"
#include "Ifpack.h"
#include "Ifpack_Preconditioner.h"
#include "AztecOO.h"
#include "Isorropia_EpetraProber.hpp"
#include "shylu_symbolic.h"
#include "shylu_config.h"
#include "shylu_probing_operator.h"
#include "shylu_amesos_schur_operator.h"
#include <IQRSolver.h>
Include dependency graph for shylu.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  shylu_data
 Main data structure holding needed offset and temp variables. More...
 

Macros

#define MIN(a, b)   (((a) < (b)) ? a : b)
 
#define MAX(a, b)   (((a) > (b)) ? a : b)
 

Functions

int shylu_factor (Epetra_CrsMatrix *A, shylu_symbolic *ssym, shylu_data *data, shylu_config *config)
 Main function call into ShylU. More...
 
int shylu_symbolic_factor (Epetra_CrsMatrix *A, shylu_symbolic *ssym, shylu_data *data, shylu_config *config)
 Call symbolic factorization on matrix. More...
 
int shylu_solve (shylu_symbolic *ssym, shylu_data *data, shylu_config *config, const Epetra_MultiVector &X, Epetra_MultiVector &Y)
 Call solve on multiple RHS. More...
 
Teuchos::RCP< Epetra_CrsMatrix > computeApproxSchur (shylu_config *config, shylu_symbolic *ssym, Epetra_CrsMatrix *G, Epetra_CrsMatrix *R, Epetra_LinearProblem *LP, Amesos_BaseSolver *solver, Ifpack_Preconditioner *ifSolver, Epetra_CrsMatrix *C, Epetra_Map *localDRowMap)
 Compute an approximate Schur Complement (Narrow Sep) More...
 
Teuchos::RCP< Epetra_CrsMatrix > computeApproxWideSchur (shylu_config *config, shylu_symbolic *ssym, Epetra_CrsMatrix *G, Epetra_CrsMatrix *R, Epetra_LinearProblem *LP, Amesos_BaseSolver *solver, Ifpack_Preconditioner *ifSolver, Epetra_CrsMatrix *C, Epetra_Map *localDRowMap)
 Compute an approximate Shur Complete (Wide Sep) More...
 
Teuchos::RCP< Epetra_CrsMatrix > computeSchur_GuidedProbing (shylu_config *config, shylu_symbolic *ssym, shylu_data *data, Epetra_Map *localDRowMap)
 Compute an approximate Schur Complement using the option of Guided Probing. More...
 

Detailed Description

Main header file of ShyLU (Include main user calls)

Author
Siva Rajamanickam

Definition in file shylu.h.

Function Documentation

◆ shylu_factor()

int shylu_factor ( Epetra_CrsMatrix *  A,
shylu_symbolic ssym,
shylu_data data,
shylu_config config 
)

Main function call into ShylU.

How to use?

Definition at line 843 of file shylu_factor.cpp.

References Teuchos::Time::start().

Referenced by Ifpack_ShyLU::Compute().

◆ shylu_symbolic_factor()

int shylu_symbolic_factor ( Epetra_CrsMatrix *  A,
shylu_symbolic ssym,
shylu_data data,
shylu_config config 
)

Call symbolic factorization on matrix.

Definition at line 525 of file shylu_factor.cpp.

References Teuchos::Time::start().

Referenced by Ifpack_ShyLU::Initialize().

◆ shylu_solve()

int shylu_solve ( shylu_symbolic ssym,
shylu_data data,
shylu_config config,
const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
)

Call solve on multiple RHS.

Definition at line 382 of file shylu_solve.cpp.

Referenced by Ifpack_ShyLU::ApplyInverse().

◆ computeApproxSchur()

Teuchos::RCP<Epetra_CrsMatrix> computeApproxSchur ( shylu_config config,
shylu_symbolic ssym,
Epetra_CrsMatrix *  G,
Epetra_CrsMatrix *  R,
Epetra_LinearProblem *  LP,
Amesos_BaseSolver *  solver,
Ifpack_Preconditioner *  ifSolver,
Epetra_CrsMatrix *  C,
Epetra_Map *  localDRowMap 
)

Compute an approximate Schur Complement (Narrow Sep)

Computate an approximate Schur Complement either using ...

Definition at line 56 of file shylu_schur.cpp.

References Copy, Teuchos::rcp(), Teuchos::Time::reset(), Teuchos::Time::start(), Teuchos::Time::stop(), and Teuchos::Time::totalElapsedTime().

◆ computeApproxWideSchur()

Teuchos::RCP<Epetra_CrsMatrix> computeApproxWideSchur ( shylu_config config,
shylu_symbolic ssym,
Epetra_CrsMatrix *  G,
Epetra_CrsMatrix *  R,
Epetra_LinearProblem *  LP,
Amesos_BaseSolver *  solver,
Ifpack_Preconditioner *  ifSolver,
Epetra_CrsMatrix *  C,
Epetra_Map *  localDRowMap 
)

Compute an approximate Shur Complete (Wide Sep)

Compute an approximate Schur Complement based on a wide seperator. Options include ...

Definition at line 249 of file shylu_schur.cpp.

References Copy, Teuchos::rcp(), Teuchos::Time::reset(), Teuchos::Time::start(), Teuchos::Time::stop(), and Teuchos::Time::totalElapsedTime().

◆ computeSchur_GuidedProbing()

Teuchos::RCP<Epetra_CrsMatrix> computeSchur_GuidedProbing ( shylu_config config,
shylu_symbolic ssym,
shylu_data data,
Epetra_Map *  localDRowMap 
)

Compute an approximate Schur Complement using the option of Guided Probing.

Compute an approximate Schur Complement based on probing of important nonzero values.

Definition at line 534 of file shylu_schur.cpp.

References Copy, Teuchos::RCP< T >::getRawPtr(), Teuchos::rcp(), Teuchos::Time::reset(), Teuchos::Time::start(), Teuchos::Time::stop(), and Teuchos::Time::totalElapsedTime().