Ifpack2 Templated Preconditioning Package Version 1.0
Loading...
Searching...
No Matches
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.
 
virtual ~LinearPartitioner ()
 Destructor.
 
void setPartitionParameters (Teuchos::ParameterList &List)
 Set the partitioner's parameters (none for linear partitioning).
 
void computePartitions ()
 Compute the partitions.
 
- Public Member Functions inherited from Ifpack2::OverlappingPartitioner< GraphType >
 OverlappingPartitioner (const Teuchos::RCP< const row_graph_type > &graph)
 Constructor.
 
virtual ~OverlappingPartitioner ()
 Destructor.
 
int numLocalParts () const
 Number of computed local partitions.
 
int overlappingLevel () const
 The number of levels of overlap.
 
local_ordinal_type operator() (const local_ordinal_type MyRow) const
 Local index of the nonoverlapping partition of the given row.
 
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.
 
size_t numRowsInPart (const local_ordinal_type Part) const
 the number of rows contained in the given partition.
 
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.
 
virtual Teuchos::ArrayView< const local_ordinal_type > nonOverlappingPartition () const
 A view of the local indices of the nonoverlapping partitions of each local row.
 
virtual void setParameters (Teuchos::ParameterList &List)
 Set all the parameters for the partitioner.
 
virtual void compute ()
 Computes the partitions. Returns 0 if successful.
 
virtual void computeOverlappingPartitions ()
 Computes the partitions. Returns 0 if successful.
 
virtual bool isComputed () const
 Returns true if partitions have been computed successfully.
 
virtual std::ostream & print (std::ostream &os) const
 Prints basic information on iostream. This function is used by operator<<.
 
std::string description () const
 Return a simple one-line description of this object.
 
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.
 
- Public Member Functions inherited from Ifpack2::Partitioner< GraphType >
virtual ~Partitioner ()
 Destructor.
 

Additional Inherited Members

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

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

◆ LinearPartitioner()

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

Constructor.

◆ ~LinearPartitioner()

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

Destructor.

Member Function Documentation

◆ setPartitionParameters()

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 >.

◆ computePartitions()

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: