Ifpack Package Browser (Single Doxygen Collection)
Development
|
Ifpack_IlukGraph: A class for constructing level filled graphs for use with ILU(k) class preconditioners. More...
#include <Ifpack_IlukGraph.h>
Public Member Functions | |
Ifpack_IlukGraph (const Epetra_CrsGraph &Graph_in, int LevelFill_in, int LevelOverlap_in) | |
Ifpack_IlukGraph constuctor. More... | |
Ifpack_IlukGraph (const Ifpack_IlukGraph &Graph_in) | |
Copy constructor. More... | |
virtual | ~Ifpack_IlukGraph () |
Ifpack_IlukGraph Destructor. More... | |
int | SetParameters (const Teuchos::ParameterList ¶meterlist, bool cerr_warning_if_unused=false) |
Set parameters using Teuchos::ParameterList object. More... | |
virtual int | ConstructFilledGraph () |
Does the actual construction of the graph. More... | |
virtual int | ConstructOverlapGraph () |
Does the actual construction of the overlap matrix graph. More... | |
virtual int | LevelFill () const |
Returns the level of fill used to construct this graph. More... | |
virtual int | LevelOverlap () const |
Returns the level of overlap used to construct this graph. More... | |
int | NumGlobalBlockRows () const |
Returns the number of global matrix rows. More... | |
int | NumGlobalBlockCols () const |
Returns the number of global matrix columns. More... | |
int | NumGlobalRows () const |
Returns the number of global matrix rows. More... | |
int | NumGlobalCols () const |
Returns the number of global matrix columns. More... | |
int | NumGlobalNonzeros () const |
Returns the number of nonzero entries in the global graph. More... | |
virtual int | NumGlobalBlockDiagonals () const |
Returns the number of diagonal entries found in the global input graph. More... | |
long long | NumGlobalBlockRows64 () const |
Returns the number of global matrix rows. More... | |
long long | NumGlobalBlockCols64 () const |
Returns the number of global matrix columns. More... | |
long long | NumGlobalRows64 () const |
Returns the number of global matrix rows. More... | |
long long | NumGlobalCols64 () const |
Returns the number of global matrix columns. More... | |
long long | NumGlobalNonzeros64 () const |
Returns the number of nonzero entries in the global graph. More... | |
virtual long long | NumGlobalBlockDiagonals64 () const |
Returns the number of diagonal entries found in the global input graph. More... | |
int | NumMyBlockRows () const |
Returns the number of local matrix rows. More... | |
int | NumMyBlockCols () const |
Returns the number of local matrix columns. More... | |
int | NumMyRows () const |
Returns the number of local matrix rows. More... | |
int | NumMyCols () const |
Returns the number of local matrix columns. More... | |
int | NumMyNonzeros () const |
Returns the number of nonzero entries in the local graph. More... | |
virtual int | NumMyBlockDiagonals () const |
Returns the number of diagonal entries found in the local input graph. More... | |
int | IndexBase () const |
Returns the index base for row and column indices for this graph. More... | |
long long | IndexBase64 () const |
virtual Epetra_CrsGraph & | L_Graph () |
Returns the graph of lower triangle of the ILU(k) graph as a Epetra_CrsGraph. More... | |
virtual Epetra_CrsGraph & | U_Graph () |
Returns the graph of upper triangle of the ILU(k) graph as a Epetra_CrsGraph. More... | |
virtual Epetra_CrsGraph & | L_Graph () const |
Returns the graph of lower triangle of the ILU(k) graph as a Epetra_CrsGraph. More... | |
virtual Epetra_CrsGraph & | U_Graph () const |
Returns the graph of upper triangle of the ILU(k) graph as a Epetra_CrsGraph. More... | |
virtual Epetra_Import * | OverlapImporter () const |
Returns the importer used to create the overlapped graph. More... | |
virtual Epetra_CrsGraph * | OverlapGraph () const |
Returns the the overlapped graph. More... | |
virtual const Epetra_BlockMap & | DomainMap () const |
Returns the Epetra_BlockMap object associated with the domain of this matrix operator. More... | |
virtual const Epetra_BlockMap & | RangeMap () const |
Returns the Epetra_BlockMap object associated with the range of this matrix operator. More... | |
virtual const Epetra_Comm & | Comm () const |
Returns the Epetra_BlockMap object associated with the range of this matrix operator. More... | |
Private Attributes | |
const Epetra_CrsGraph & | Graph_ |
const Epetra_BlockMap & | DomainMap_ |
const Epetra_BlockMap & | RangeMap_ |
const Epetra_Comm & | Comm_ |
Teuchos::RefCountPtr < Epetra_CrsGraph > | OverlapGraph_ |
Teuchos::RefCountPtr < Epetra_BlockMap > | OverlapRowMap_ |
Teuchos::RefCountPtr < Epetra_Import > | OverlapImporter_ |
int | LevelFill_ |
int | LevelOverlap_ |
Teuchos::RefCountPtr < Epetra_CrsGraph > | L_Graph_ |
Teuchos::RefCountPtr < Epetra_CrsGraph > | U_Graph_ |
long long | IndexBase_ |
long long | NumGlobalRows_ |
long long | NumGlobalCols_ |
long long | NumGlobalBlockRows_ |
long long | NumGlobalBlockCols_ |
long long | NumGlobalBlockDiagonals_ |
long long | NumGlobalNonzeros_ |
long long | NumGlobalEntries_ |
int | NumMyBlockRows_ |
int | NumMyBlockCols_ |
int | NumMyRows_ |
int | NumMyCols_ |
int | NumMyBlockDiagonals_ |
int | NumMyNonzeros_ |
int | NumMyEntries_ |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Ifpack_IlukGraph &A) |
<< operator will work for Ifpack_IlukGraph. More... | |
Ifpack_IlukGraph: A class for constructing level filled graphs for use with ILU(k) class preconditioners.
The Ifpack_IlukGraph class enable the construction matrix graphs using level-fill algorithms. The only function required for construction is an ExtractRowView capability, i.e., the matrix that is passed in to the constructor must implement the Ifpack_CrsGraph interface defined in Ifpack_CrsMatrix.h
Constructing Ifpack_IlukGraph objects
Constructing Ifpack_IlukGraph objects is usually a two step process of passing in a Ifpack_CrsGraph object and an integer indicating the desired level of fill and then calling the ConstructFilledGraph function to complete the process. This allows warning error codes to be returned to the calling routine.
It is worth noting that an Ifpack_IlukGraph object has two Epetra_CrsGraph objects containing L and U, the graphs for the lower and upper triangular parts of the ILU(k) graph. Thus, it is possible to manually insert and delete graph entries in L and U via the Epetra_CrsGraph InsertIndices and RemoveIndices functions. However, in this case FillComplete must be called before the graph is used for subsequent operations.
Definition at line 77 of file Ifpack_IlukGraph.h.
Ifpack_IlukGraph::Ifpack_IlukGraph | ( | const Epetra_CrsGraph & | Graph_in, |
int | LevelFill_in, | ||
int | LevelOverlap_in | ||
) |
Ifpack_IlukGraph constuctor.
Creates a Ifpack_IlukGraph object using the input graph and specified level of fill.
In | Graph_in - An existing Ifpack_CrsGraph. This object must implement the Ifpack_CrsGraph functions that provide graph dimension and pattern information. |
In | LevelFill_in - The level of fill to compute via ILU(k) algorithm. |
In | LevelOverlap_in - The level of between subdomains. |
Definition at line 52 of file Ifpack_IlukGraph.cpp.
Ifpack_IlukGraph::Ifpack_IlukGraph | ( | const Ifpack_IlukGraph & | Graph_in | ) |
Copy constructor.
Definition at line 78 of file Ifpack_IlukGraph.cpp.
|
virtual |
Ifpack_IlukGraph Destructor.
Definition at line 111 of file Ifpack_IlukGraph.cpp.
int Ifpack_IlukGraph::SetParameters | ( | const Teuchos::ParameterList & | parameterlist, |
bool | cerr_warning_if_unused = false |
||
) |
Set parameters using Teuchos::ParameterList object.
Definition at line 116 of file Ifpack_IlukGraph.cpp.
|
virtual |
Does the actual construction of the graph.
Definition at line 177 of file Ifpack_IlukGraph.cpp.
|
virtual |
Does the actual construction of the overlap matrix graph.
Definition at line 131 of file Ifpack_IlukGraph.cpp.
|
inlinevirtual |
Returns the level of fill used to construct this graph.
Definition at line 131 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the level of overlap used to construct this graph.
Definition at line 134 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of global matrix rows.
Definition at line 138 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of global matrix columns.
Definition at line 146 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of global matrix rows.
Definition at line 154 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of global matrix columns.
Definition at line 162 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of nonzero entries in the global graph.
Definition at line 169 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the number of diagonal entries found in the global input graph.
Definition at line 177 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of global matrix rows.
Definition at line 186 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of global matrix columns.
Definition at line 189 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of global matrix rows.
Definition at line 192 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of global matrix columns.
Definition at line 195 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of nonzero entries in the global graph.
Definition at line 197 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the number of diagonal entries found in the global input graph.
Definition at line 200 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of local matrix rows.
Definition at line 203 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of local matrix columns.
Definition at line 206 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of local matrix rows.
Definition at line 210 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of local matrix columns.
Definition at line 213 of file Ifpack_IlukGraph.h.
|
inline |
Returns the number of nonzero entries in the local graph.
Definition at line 216 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the number of diagonal entries found in the local input graph.
Definition at line 219 of file Ifpack_IlukGraph.h.
|
inline |
Returns the index base for row and column indices for this graph.
Definition at line 223 of file Ifpack_IlukGraph.h.
|
inline |
Definition at line 229 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the graph of lower triangle of the ILU(k) graph as a Epetra_CrsGraph.
Definition at line 232 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the graph of upper triangle of the ILU(k) graph as a Epetra_CrsGraph.
Definition at line 235 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the graph of lower triangle of the ILU(k) graph as a Epetra_CrsGraph.
Definition at line 238 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the graph of upper triangle of the ILU(k) graph as a Epetra_CrsGraph.
Definition at line 241 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the importer used to create the overlapped graph.
Definition at line 244 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the the overlapped graph.
Definition at line 247 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the Epetra_BlockMap object associated with the domain of this matrix operator.
Definition at line 250 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the Epetra_BlockMap object associated with the range of this matrix operator.
Definition at line 253 of file Ifpack_IlukGraph.h.
|
inlinevirtual |
Returns the Epetra_BlockMap object associated with the range of this matrix operator.
Definition at line 256 of file Ifpack_IlukGraph.h.
|
friend |
<< operator will work for Ifpack_IlukGraph.
Definition at line 422 of file Ifpack_IlukGraph.cpp.
|
private |
Definition at line 256 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 262 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 263 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 264 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 265 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 266 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 267 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 268 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 269 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 270 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 271 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 272 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 273 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 274 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 275 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 276 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 277 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 278 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 279 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 280 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 281 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 282 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 283 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 284 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 285 of file Ifpack_IlukGraph.h.
|
private |
Definition at line 286 of file Ifpack_IlukGraph.h.