Ifpack Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Ifpack_LinePartitioner Class Reference

#include <Ifpack_LinePartitioner.h>

Inheritance diagram for Ifpack_LinePartitioner:
Inheritance graph
[legend]

Public Types

enum  LINE_MODE { COORDINATES =0, MATRIX_ENTRIES }
 

Public Member Functions

 Ifpack_LinePartitioner (const Ifpack_Graph *Graph)
 Constructor. More...
 
 Ifpack_LinePartitioner (const Epetra_RowMatrix *Matrix)
 
virtual ~Ifpack_LinePartitioner ()
 Destructor. More...
 
int SetPartitionParameters (Teuchos::ParameterList &List)
 Sets all the parameters for the partitioner. More...
 
int ComputePartitions ()
 Computes the partitions. Returns 0 if successful. More...
 
- Public Member Functions inherited from Ifpack_OverlappingPartitioner
 Ifpack_OverlappingPartitioner (const Ifpack_Graph *Graph)
 Constructor. More...
 
virtual ~Ifpack_OverlappingPartitioner ()
 Destructor. More...
 
int NumLocalParts () const
 Returns the number of computed local partitions. More...
 
int OverlappingLevel () const
 Returns the overlapping level. More...
 
int operator() (int MyRow) const
 Returns the local non-overlapping partition ID of the specified row. More...
 
int operator() (int i, int j) const
 Returns the local overlapping partition ID of the j-th node in partition i. More...
 
int NumRowsInPart (const int Part) const
 Returns the number of rows contained in specified partition. More...
 
int RowsInPart (const int Part, int *List) const
 Copies into List the rows in the (overlapping) partition Part. More...
 
const int * NonOverlappingPartition () const
 Returns a pointer to the integer vector containing the non-overlapping partition ID of each local row. More...
 
virtual int SetParameters (Teuchos::ParameterList &List)
 Sets all the parameters for the partitioner. More...
 
virtual int Compute ()
 Computes the partitions. Returns 0 if successful. More...
 
virtual int ComputeOverlappingPartitions ()
 Computes the partitions. Returns 0 if successful. More...
 
bool IsComputed ()
 Returns true if partitions have been computed successfully. More...
 
virtual std::ostream & Print (std::ostream &os) const
 Prints basic information on iostream. This function is used by operator<<. More...
 
- Public Member Functions inherited from Ifpack_Partitioner
virtual ~Ifpack_Partitioner ()
 Destructor. More...
 

Private Member Functions

int Compute_Blocks_AutoLine (int *blockIndices) const
 
void local_automatic_line_search (int NumEqns, int *blockIndices, int last, int next, int LineID, double tol, int *itemp, double *dtemp) const
 

Private Attributes

Teuchos::RCP< const Ifpack_GraphGraphWrapper_
 
const Epetra_RowMatrixMatrix_
 
LINE_MODE mode_
 
int NumEqns_
 
double * xcoord_
 
double * ycoord_
 
double * zcoord_
 
double threshold_
 

Additional Inherited Members

- Protected Member Functions inherited from Ifpack_OverlappingPartitioner
int NumMyRows () const
 Returns the number of local rows. More...
 
int NumMyNonzeros () const
 Returns the number of local nonzero elements. More...
 
int NumGlobalRows () const
 Returns the number of global rows. More...
 
long long NumGlobalRows64 () const
 
int MaxNumEntries () const
 Returns the max number of local entries in a row. More...
 
const Epetra_CommComm () const
 Returns the communicator object of Graph. More...
 
- Protected Attributes inherited from Ifpack_OverlappingPartitioner
int NumLocalParts_
 Number of local subgraphs. More...
 
std::vector< int > Partition_
 Partition_[i] contains the ID of non-overlapping part it belongs to. More...
 
std::vector< std::vector< int > > Parts_
 Parts_[i][j] is the ID of the j-th row contained in the (overlapping) More...
 
const Ifpack_GraphGraph_
 Reference to the graph to be partitioned. More...
 
int OverlappingLevel_
 Overlapping level. More...
 
bool IsComputed_
 If true, the graph has been successfully partitioned. More...
 
bool verbose_
 If true, information are reported on cout. More...
 

Detailed Description

Definition at line 92 of file Ifpack_LinePartitioner.h.

Member Enumeration Documentation

Enumerator
COORDINATES 
MATRIX_ENTRIES 

Definition at line 96 of file Ifpack_LinePartitioner.h.

Constructor & Destructor Documentation

Ifpack_LinePartitioner::Ifpack_LinePartitioner ( const Ifpack_Graph Graph)
inline

Constructor.

Definition at line 100 of file Ifpack_LinePartitioner.h.

Ifpack_LinePartitioner::Ifpack_LinePartitioner ( const Epetra_RowMatrix Matrix)
inline

Definition at line 113 of file Ifpack_LinePartitioner.h.

virtual Ifpack_LinePartitioner::~Ifpack_LinePartitioner ( )
inlinevirtual

Destructor.

Definition at line 130 of file Ifpack_LinePartitioner.h.

Member Function Documentation

int Ifpack_LinePartitioner::SetPartitionParameters ( Teuchos::ParameterList List)
inlinevirtual

Sets all the parameters for the partitioner.

Implements Ifpack_OverlappingPartitioner.

Definition at line 133 of file Ifpack_LinePartitioner.h.

int Ifpack_LinePartitioner::ComputePartitions ( )
virtual

Computes the partitions. Returns 0 if successful.

Implements Ifpack_OverlappingPartitioner.

Definition at line 209 of file Ifpack_LinePartitioner.cpp.

int Ifpack_LinePartitioner::Compute_Blocks_AutoLine ( int *  blockIndices) const
private

Definition at line 137 of file Ifpack_LinePartitioner.cpp.

void Ifpack_LinePartitioner::local_automatic_line_search ( int  NumEqns,
int *  blockIndices,
int  last,
int  next,
int  LineID,
double  tol,
int *  itemp,
double *  dtemp 
) const
inlineprivate

Definition at line 70 of file Ifpack_LinePartitioner.cpp.

Member Data Documentation

Teuchos::RCP<const Ifpack_Graph> Ifpack_LinePartitioner::GraphWrapper_
private

Definition at line 167 of file Ifpack_LinePartitioner.h.

const Epetra_RowMatrix* Ifpack_LinePartitioner::Matrix_
private

Definition at line 170 of file Ifpack_LinePartitioner.h.

LINE_MODE Ifpack_LinePartitioner::mode_
private

Definition at line 171 of file Ifpack_LinePartitioner.h.

int Ifpack_LinePartitioner::NumEqns_
private

Definition at line 172 of file Ifpack_LinePartitioner.h.

double* Ifpack_LinePartitioner::xcoord_
private

Definition at line 173 of file Ifpack_LinePartitioner.h.

double* Ifpack_LinePartitioner::ycoord_
private

Definition at line 174 of file Ifpack_LinePartitioner.h.

double* Ifpack_LinePartitioner::zcoord_
private

Definition at line 175 of file Ifpack_LinePartitioner.h.

double Ifpack_LinePartitioner::threshold_
private

Definition at line 176 of file Ifpack_LinePartitioner.h.


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