43 #ifndef IFPACK_UTILS_H
44 #define IFPACK_UTILS_H
46 #if defined(Ifpack_SHOW_DEPRECATED_WARNINGS)
48 #warning "The Ifpack package is deprecated"
52 #include "Ifpack_ConfigDefs.h"
53 #include "Epetra_Comm.h"
54 #if !( defined(_WIN32) )
75 const int OverlappingLevel);
79 const int OverlappingLevel);
98 const int NumPDEEqns = 1);
110 const bool abs =
false,
111 const int steps = 10);
123 const bool abs =
false,
124 const int steps = 10);
139 int Ifpack_PrintSparsity(
const Epetra_RowMatrix& A,
const char* FileName = 0,
140 const int NumPDEEqns = 1);
151 aval_ = rhs.AbsValue();
154 inline int Index()
const {
158 inline double Value()
const {
162 inline double AbsValue()
const {
166 inline void SetIndex(
const int i)
171 inline void SetValue(
const double val)
174 aval_ = IFPACK_ABS(val_);
179 if (rhs.AbsValue() > AbsValue())
181 else if (rhs.AbsValue() < AbsValue())
183 else if (rhs.Index() < Index())
195 #endif // IFPACK_UTILS_H
int Ifpack_Analyze(const Epetra_RowMatrix &A, const bool Cheap=false, const int NumPDEEqns=1)
Analyzes the basic properties of the input matrix A; see Usage of Ifpack_Analyze()..
int Ifpack_AnalyzeVectorElements(const Epetra_Vector &Diagonal, const bool abs=false, const int steps=10)
Analyzes the distribution of values of the input vector Diagonal.
int Ifpack_AnalyzeMatrixElements(const Epetra_RowMatrix &A, const bool abs=false, const int steps=10)
Analyzes the distribution of values of the input matrix A.
void Ifpack_PrintLine()
Prints a line of `=' on cout.
Epetra_CrsMatrix * Ifpack_CreateOverlappingCrsMatrix(const Epetra_RowMatrix *Matrix, const int OverlappingLevel)
Creates an overlapping Epetra_CrsMatrix. Returns 0 if OverlappingLevel is 0.
void Ifpack_BreakForDebugger(Epetra_Comm &Comm)
Stops the execution of code, so that a debugger can be attached.
int Ifpack_PrintResidual(char *Label, const Epetra_RowMatrix &A, const Epetra_MultiVector &X, const Epetra_MultiVector &Y)
Prints on cout the true residual.
std::string Ifpack_toString(const int &x)
Converts an integer to std::string.