ML_Epetra Namespace Reference

ML_Epetra: default namespace for all Epetra interfaces.


Classes

class  CrsGraphWrapper
 ML_Epetra::CrsGraphWrapper: a class to wrap an Epetra_CrsGraph as Epetra_RowMatrix. More...
class  Ifpack_ML
 Wraps an ML preconditioner as an Ifpack_Preconditioner. More...
class  MultiLevelOperator
 MultiLevelOperator: An implementation of the Epetra_Operator class. More...
class  MultiLevelPreconditioner
 MultiLevelPreconditioner: a class to define black-box multilevel preconditioners using aggregation methods. More...
class  RowMatrix
 Basic wrapper from ML_Operator to Epetra_RowMatrix. More...
class  MatrixFreePreconditioner
 MatrixFreePreconditioner: a class to define preconditioners for Epetra_Operator's. More...
class  EdgeMatrixFreePreconditioner
class  RefMaxwellPreconditioner
class  ML_RefMaxwell_11_Operator

Functions

int ML_Epetra_PtAP (const Epetra_CrsMatrix &A, const Epetra_CrsMatrix &P, Epetra_CrsMatrix *&Result, bool verbose=false)
 Does an P^TAP for Epetra_CrsMatrices using ML's kernels.
int * FindLocalDiricheltRowsFromOnesAndZeros (const Epetra_CrsMatrix &Matrix, int &numBCRows)
 Finds the Dirichlet rows in a square matrix that got the one-and-zeros.
void Apply_BCsToMatrixColumns (const int *dirichletRows, int numBCRows, const Epetra_CrsMatrix &Matrix)
 Applies Dirichlet conditions to columns that rows already have.
void Apply_BCsToMatrixRows (const int *dirichletRows, int numBCRows, const Epetra_CrsMatrix &Matrix)
 Applies Dirichlet conditions to matrix rows.
void Apply_BCsToMatrixColumns (const Epetra_RowMatrix &iBoundaryMatrix, const Epetra_RowMatrix &iMatrix)
 Applies Dirichlet conditions to columns that rows already have.
void Apply_BCsToMatrixColumns (const Epetra_IntVector &dirichletColumns, const Epetra_CrsMatrix &Matrix)
void Apply_BCsToGradient (const Epetra_RowMatrix &EdgeMatrix, const Epetra_RowMatrix &T)
 Applies boundary conditions to gradient matrix. (Maxwell's equations).
void Apply_OAZToMatrix (int *dirichletRows, int numBCRows, const Epetra_CrsMatrix &Matrix)
 Does Row/Column OAZ to a matrix.
Epetra_IntVector * LocalRowstoColumns (int *Rows, int numRows, const Epetra_CrsMatrix &Matrix)
 Returns the local column numbers of the local rows passed in.
Epetra_IntVector * FindLocalDirichletColumnsFromRows (const int *dirichletRows, int numBCRows, const Epetra_CrsMatrix &Matrix)
 Finds Dirichlet the local Dirichlet columns, given the local Dirichlet rows.
void Remove_Zeroed_Rows (const Epetra_CrsMatrix &Matrix, double tol=0.0)
 Drops a 1 on the diagonal of zero'd our rows.
Epetra_RowMatrix * ModifyEpetraMatrixColMap (const Epetra_RowMatrix &A, EpetraExt::CrsMatrix_SolverMap &transform, const char *matrixName=0, bool verbose=false)
 Transforms Epetra matrix column map (if necessary) to be compatible with.
int SetDefaults (std::string ProblemType, Teuchos::ParameterList &List, int *options=0, double *params=0, const bool OverWrite=true)
 Sets default parameters for aggregation-based preconditioners.
int SetDefaultsDD (Teuchos::ParameterList &List, Teuchos::RCP< std::vector< int > > &options, Teuchos::RCP< std::vector< double > > &params, bool Overwrite=true)
 Sets default parameters for aggregation-based 2-level domain decomposition preconditioners.
int SetDefaultsDD_LU (Teuchos::ParameterList &List, Teuchos::RCP< std::vector< int > > &options, Teuchos::RCP< std::vector< double > > &params, bool Overwrite=true)
 Sets default parameters for aggregation-based 2-level domain decomposition preconditioners, using LU on each subdomain.
int SetDefaultsDD_3Levels (Teuchos::ParameterList &List, Teuchos::RCP< std::vector< int > > &options, Teuchos::RCP< std::vector< double > > &params, bool Overwrite=true)
 Sets default parameters for aggregation-based 3-level domain decomposition preconditioners.
int SetDefaultsDD_3Levels_LU (Teuchos::ParameterList &List, Teuchos::RCP< std::vector< int > > &options, Teuchos::RCP< std::vector< double > > &params, bool Overwrite=true)
 Sets default parameters for aggregation-based 3-level domain decomposition preconditioners with LU.
int SetDefaultsMaxwell (Teuchos::ParameterList &List, Teuchos::RCP< std::vector< int > > &options, Teuchos::RCP< std::vector< double > > &params, bool Overwrite=true)
 Sets default parameters for the eddy current equations equations.
int SetDefaultsSA (Teuchos::ParameterList &List, Teuchos::RCP< std::vector< int > > &options, Teuchos::RCP< std::vector< double > > &params, bool Overwrite=true)
 Sets default parameters for classical smoothed aggregation.
int SetDefaultsNSSA (Teuchos::ParameterList &List, Teuchos::RCP< std::vector< int > > &options, Teuchos::RCP< std::vector< double > > &params, bool Overwrite=true)
 Sets defaults for energy minimization preconditioning for nonsymmetric problems.
int ReadXML (const string &FileName, Teuchos::ParameterList &List, const Epetra_Comm &Comm)
 Reads in parameter list options from file.
int UpdateList (Teuchos::ParameterList &source, Teuchos::ParameterList &dest, bool OverWrite=true)
int SetDefaultsRefMaxwell (Teuchos::ParameterList &inList, bool OverWrite=true)
 Sets default parameters for aggregation-based 2-level domain decomposition preconditioners.


Function Documentation

void ML_Epetra::Apply_BCsToGradient ( const Epetra_RowMatrix &  EdgeMatrix,
const Epetra_RowMatrix &  T 
)

void ML_Epetra::Apply_BCsToMatrixColumns ( const Epetra_IntVector &  dirichletColumns,
const Epetra_CrsMatrix &  Matrix 
)

void ML_Epetra::Apply_BCsToMatrixColumns ( const Epetra_RowMatrix &  iBoundaryMatrix,
const Epetra_RowMatrix &  iMatrix 
)

Apply the Dirichlet BC's specified by BoundaryMatrix to remove all columns (across all processors) that have entries zero'd by the BC's. This will symmetrize a square matrix, though the routine can be run on non-square matrices.

void ML_Epetra::Apply_BCsToMatrixColumns ( const int *  dirichletRows,
int  numBCRows,
const Epetra_CrsMatrix &  Matrix 
)

Apply the Dirichlet BC's specified by the dirichletRows to remove all columns (across all processors) that have entries zero'd by the BC's. This will symmetrize a square matrix, though the routine can be run on non-square matrices.

void ML_Epetra::Apply_BCsToMatrixRows ( const int *  dirichletRows,
int  numBCRows,
const Epetra_CrsMatrix &  Matrix 
)

void ML_Epetra::Apply_OAZToMatrix ( int *  dirichletRows,
int  numBCRows,
const Epetra_CrsMatrix &  Matrix 
)

int* ML_Epetra::FindLocalDiricheltRowsFromOnesAndZeros ( const Epetra_CrsMatrix &  Matrix,
int &  numBCRows 
)

Returns the local Dirichlet rows for a square matrix that go the ones-and-zeros treatment for BCs.

Epetra_IntVector* ML_Epetra::FindLocalDirichletColumnsFromRows ( const int *  dirichletRows,
int  numBCRows,
const Epetra_CrsMatrix &  Matrix 
)

Epetra_IntVector* ML_Epetra::LocalRowstoColumns ( int *  Rows,
int  numRows,
const Epetra_CrsMatrix &  Matrix 
)

int ML_Epetra::ML_Epetra_PtAP ( const Epetra_CrsMatrix &  A,
const Epetra_CrsMatrix &  P,
Epetra_CrsMatrix *&  Result,
bool  verbose = false 
)

Epetra_RowMatrix* ML_Epetra::ModifyEpetraMatrixColMap ( const Epetra_RowMatrix &  A,
EpetraExt::CrsMatrix_SolverMap &  transform,
const char *  matrixName = 0,
bool  verbose = false 
)

how ML handles column indices. Any matrix that cannot be dynamically cast to an Epetra_CrsMatrix will not be changed.

Parameters:
A - (In) Matrix that is to be transformed.
transform - (In) EpetraExt widget that does the transformation.
matrixName - (In) Optional label for the incoming matrix.

int ML_Epetra::ReadXML ( const string &  FileName,
Teuchos::ParameterList &  List,
const Epetra_Comm &  Comm 
)

void ML_Epetra::Remove_Zeroed_Rows ( const Epetra_CrsMatrix &  Matrix,
double  tol = 0.0 
)

int ML_Epetra::SetDefaults ( std::string  ProblemType,
Teuchos::ParameterList &  List,
int *  options = 0,
double *  params = 0,
const bool  OverWrite = true 
)

This function, defined in the namespace ML_Epetra, can be used to set default values in a user's defined Teuchos::ParameterList.

Parameters:
ProblemType (In) : a std::string, whose possible values are:
  • "SA" : classical smoothed aggregation preconditioners;
  • "NSSA" : default values for Petrov-Galerkin preconditioner for nonsymmetric systems
  • "maxwell" : default values for aggregation preconditioner for eddy current systems
  • "DD" : defaults for 2-level domain decomposition preconditioners based on aggregation;
  • "DD-LU" : Like "DD", but use exact LU decompositions on each subdomain;
  • "DD-ML" : 3-level domain decomposition preconditioners, with coarser spaces defined by aggregation;
  • "DD-ML-LU" : Like "DD-ML", but with LU decompositions on each subdomain.
    Parameters:
    List (Out) : list which will populated by the default parameters
    options (In/Out) : integer array, of size AZ_OPTIONS_SIZE, that will be populated with suitable values. A pointer to options will be stick into the parameters list. Note that this array is still required to apply the preconditioner! Do not delete options, nor let it go out of scope. The default value is 0, meaning that SetDefaults() will allocate the array.
    params (In/Out) : double array, of size AZ_PARAMS_SIZE. See comments for options.
    OverWrite (In) : boolean. If false, any pre-existing values in the parameter list will be preserved. Default value is true, i.e., any pre-existing values may be overwritten.

int ML_Epetra::SetDefaultsDD ( Teuchos::ParameterList &  List,
Teuchos::RCP< std::vector< int > > &  options,
Teuchos::RCP< std::vector< double > > &  params,
bool  Overwrite = true 
)

int ML_Epetra::SetDefaultsDD_3Levels ( Teuchos::ParameterList &  List,
Teuchos::RCP< std::vector< int > > &  options,
Teuchos::RCP< std::vector< double > > &  params,
bool  Overwrite = true 
)

int ML_Epetra::SetDefaultsDD_3Levels_LU ( Teuchos::ParameterList &  List,
Teuchos::RCP< std::vector< int > > &  options,
Teuchos::RCP< std::vector< double > > &  params,
bool  Overwrite = true 
)

int ML_Epetra::SetDefaultsDD_LU ( Teuchos::ParameterList &  List,
Teuchos::RCP< std::vector< int > > &  options,
Teuchos::RCP< std::vector< double > > &  params,
bool  Overwrite = true 
)

int ML_Epetra::SetDefaultsMaxwell ( Teuchos::ParameterList &  List,
Teuchos::RCP< std::vector< int > > &  options,
Teuchos::RCP< std::vector< double > > &  params,
bool  Overwrite = true 
)

int ML_Epetra::SetDefaultsNSSA ( Teuchos::ParameterList &  List,
Teuchos::RCP< std::vector< int > > &  options,
Teuchos::RCP< std::vector< double > > &  params,
bool  Overwrite = true 
)

int ML_Epetra::SetDefaultsRefMaxwell ( Teuchos::ParameterList &  inList,
bool  OverWrite = true 
)

int ML_Epetra::SetDefaultsSA ( Teuchos::ParameterList &  List,
Teuchos::RCP< std::vector< int > > &  options,
Teuchos::RCP< std::vector< double > > &  params,
bool  Overwrite = true 
)

int ML_Epetra::UpdateList ( Teuchos::ParameterList &  source,
Teuchos::ParameterList &  dest,
bool  OverWrite = true 
)