Ifpack2 Templated Preconditioning Package  Version 1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
Ifpack2::LinearPartitioner< GraphType > Class Template Reference

A class to define linear partitions. More...

#include <Ifpack2_LinearPartitioner_decl.hpp>

Inheritance diagram for Ifpack2::LinearPartitioner< GraphType >:
Inheritance graph
[legend]

Public Member Functions

 LinearPartitioner (const Teuchos::RCP< const row_graph_type > &graph)
 Constructor. More...
 
virtual ~LinearPartitioner ()
 Destructor. More...
 
void setPartitionParameters (Teuchos::ParameterList &List)
 Set the partitioner's parameters (none for linear partitioning). More...
 
void computePartitions ()
 Compute the partitions. More...
 
- Public Member Functions inherited from Ifpack2::OverlappingPartitioner< GraphType >
 OverlappingPartitioner (const Teuchos::RCP< const row_graph_type > &graph)
 Constructor. More...
 
virtual ~OverlappingPartitioner ()
 Destructor. More...
 
int numLocalParts () const
 Number of computed local partitions. More...
 
int overlappingLevel () const
 The number of levels of overlap. More...
 
local_ordinal_type operator() (const local_ordinal_type MyRow) const
 Local index of the nonoverlapping partition of the given row. More...
 
local_ordinal_type operator() (const local_ordinal_type i, const local_ordinal_type j) const
 Local index of the overlapping partition of the j-th vertex in partition i. More...
 
size_t numRowsInPart (const local_ordinal_type Part) const
 the number of rows contained in the given partition. More...
 
void rowsInPart (const local_ordinal_type Part, Teuchos::ArrayRCP< local_ordinal_type > &List) const
 Fill List with the local indices of the rows in the (overlapping) partition Part. More...
 
virtual Teuchos::ArrayView
< const local_ordinal_type > 
nonOverlappingPartition () const
 A view of the local indices of the nonoverlapping partitions of each local row. More...
 
virtual void setParameters (Teuchos::ParameterList &List)
 Set all the parameters for the partitioner. More...
 
virtual void compute ()
 Computes the partitions. Returns 0 if successful. More...
 
virtual void computeOverlappingPartitions ()
 Computes the partitions. Returns 0 if successful. More...
 
virtual bool isComputed () const
 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...
 
std::string description () const
 Return a simple one-line description of this object. More...
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Print the object with some verbosity level to an FancyOStream object. More...
 
- Public Member Functions inherited from Ifpack2::Partitioner< GraphType >
virtual ~Partitioner ()
 Destructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from Ifpack2::OverlappingPartitioner< GraphType >
int NumLocalParts_
 Number of local subgraphs. More...
 
Teuchos::Array
< local_ordinal_type > 
Partition_
 Mapping from local row to partition number. More...
 
Teuchos::Array
< Teuchos::ArrayRCP
< local_ordinal_type > > 
Parts_
 Mapping from partition to all local rows it contains. More...
 
Teuchos::RCP< const
row_graph_type > 
Graph_
 The graph to be partitioned. More...
 
int OverlappingLevel_
 Level of overlap. More...
 
bool IsComputed_
 If true, the graph has been successfully partitioned. More...
 
bool verbose_
 If true, information are reported to stdout. More...
 
bool maintainSparsity_
 If true, only add row to partition (block) if doing so won't add new columns to the column map. More...
 

Detailed Description

template<class GraphType>
class Ifpack2::LinearPartitioner< GraphType >

A class to define linear partitions.

Template Parameters
GraphTypeSpecialization of Tpetra::RowGraph or Tpetra::CrsGraph.

This class places the rows of the local graph into nonintersecting groups. The number of groups is given by NumLocalParts_, a member of the base class OverlappingPartitioner. Local row i is placed in the group floor(i/NumLocalParts_), with the exception that any leftover rows are placed in the largest group NumLocalParts_-1.

Constructor & Destructor Documentation

template<class GraphType >
Ifpack2::LinearPartitioner< GraphType >::LinearPartitioner ( const Teuchos::RCP< const row_graph_type > &  graph)

Constructor.

template<class GraphType >
Ifpack2::LinearPartitioner< GraphType >::~LinearPartitioner ( )
virtual

Destructor.

Member Function Documentation

template<class GraphType >
void Ifpack2::LinearPartitioner< GraphType >::setPartitionParameters ( Teuchos::ParameterList List)
virtual

Set the partitioner's parameters (none for linear partitioning).

Implements Ifpack2::OverlappingPartitioner< GraphType >.

template<class GraphType >
void Ifpack2::LinearPartitioner< GraphType >::computePartitions ( )
virtual

Compute the partitions.

Implements Ifpack2::OverlappingPartitioner< GraphType >.


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