42 #ifndef TPETRA_ROWGRAPH_DECL_HPP 43 #define TPETRA_ROWGRAPH_DECL_HPP 46 #include "Tpetra_Map.hpp" 47 #include "Tpetra_Import.hpp" 48 #include "Tpetra_Export.hpp" 50 #include "Teuchos_Describable.hpp" 68 class GlobalOrdinal = ::Tpetra::Details::DefaultTypes::global_ordinal_type,
71 virtual public Teuchos::Describable,
72 public Packable<GlobalOrdinal, LocalOrdinal> {
91 virtual Teuchos::RCP<const Teuchos::Comm<int> >
95 virtual Teuchos::RCP<Node>
getNode ()
const = 0;
98 virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >
102 virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >
106 virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >
110 virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >
114 virtual Teuchos::RCP<const Import<LocalOrdinal,GlobalOrdinal,Node> >
118 virtual Teuchos::RCP<const Export<LocalOrdinal,GlobalOrdinal,Node> >
221 const Teuchos::ArrayView<GlobalOrdinal> &Indices,
222 size_t &NumIndices)
const = 0;
236 const Teuchos::ArrayView<LocalOrdinal> &Indices,
237 size_t &NumIndices)
const = 0;
278 Teuchos::ArrayView<const LocalOrdinal>& lclColInds)
const;
297 Teuchos::ArrayView<const GlobalOrdinal>& gblColInds)
const;
305 pack (
const Teuchos::ArrayView<const LocalOrdinal>& exportLIDs,
306 Teuchos::Array<GlobalOrdinal>& exports,
307 const Teuchos::ArrayView<size_t>& numPacketsPerLID,
308 size_t& constantNumPackets,
315 #endif // TPETRA_ROWGRAPH_DECL_HPP virtual bool isLocallyIndexed() const =0
If graph indices are in the local range, this function returns true. Otherwise, this function returns...
virtual size_t getNumEntriesInGlobalRow(GlobalOrdinal globalRow) const =0
Returns the current number of entries on this node in the specified global row.
virtual bool TPETRA_DEPRECATED isLowerTriangular() const =0
Whether the graph is locally lower triangular.
Namespace Tpetra contains the class and methods constituting the Tpetra library.
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap() const =0
The Map associated with the range of this graph.
GlobalOrdinal global_ordinal_type
The type of global indices in the graph.
Node node_type
The Kokkos Node type.
virtual bool hasColMap() const =0
Whether the graph has a well-defined column Map.
virtual global_size_t getGlobalNumRows() const =0
Returns the number of global rows in the graph.
virtual Teuchos::RCP< Node > getNode() const =0
The Kokkos Node instance with which this object was created.
virtual void getLocalRowCopy(LocalOrdinal LocalRow, const Teuchos::ArrayView< LocalOrdinal > &Indices, size_t &NumIndices) const =0
Extract a list of entries in a specified local row of the graph. Put into storage allocated by callin...
LocalOrdinal local_ordinal_type
The type of local indices in the graph.
Abstract base class for objects that can be the source of an Import or Export operation, and that also know how to pack their data to send to the target object.
virtual size_t TPETRA_DEPRECATED getNodeNumDiags() const =0
Number of diagonal entries on the calling process.
virtual bool isFillComplete() const =0
Whether fillComplete() has been called (without an intervening resumeFill()).
virtual void getGlobalRowCopy(GlobalOrdinal GlobalRow, const Teuchos::ArrayView< GlobalOrdinal > &Indices, size_t &NumIndices) const =0
Extract a list of entries in a specified global row of the graph. Put into pre-allocated storage...
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getDomainMap() const =0
The Map associated with the domain of this graph.
int local_ordinal_type
Default value of Scalar template parameter.
virtual size_t getNodeMaxNumRowEntries() const =0
Returns the maximum number of entries across all rows/columns on this node.
An abstract interface for graphs accessed by rows.
virtual GlobalOrdinal getIndexBase() const =0
Returns the index base for global indices for this graph.
Forward declaration of Tpetra::RowGraph.
size_t global_size_t
Global size_t object.
virtual void getLocalRowView(const LocalOrdinal lclRow, Teuchos::ArrayView< const LocalOrdinal > &lclColInds) const
Get a constant, nonpersisting, locally indexed view of the given row of the graph.
virtual global_size_t getGlobalNumEntries() const =0
Returns the global number of entries in the graph.
virtual size_t getGlobalMaxNumRowEntries() const =0
Returns the maximum number of entries across all rows/columns on all nodes.
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRowMap() const =0
The Map that describes this graph's distribution of rows over processes.
virtual Teuchos::RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > getExporter() const =0
This graph's Export object.
virtual ~RowGraph()
Destructor (virtual for memory safety of derived classes).
virtual bool TPETRA_DEPRECATED isUpperTriangular() const =0
Whether the graph is locally upper triangular.
virtual Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > getImporter() const =0
This graph's Import object.
Sets up and executes a communication plan for a Tpetra DistObject.
virtual void pack(const Teuchos::ArrayView< const LocalOrdinal > &exportLIDs, Teuchos::Array< GlobalOrdinal > &exports, const Teuchos::ArrayView< size_t > &numPacketsPerLID, size_t &constantNumPackets, Distributor &distor) const
Pack this object's data for Import or Export.
virtual global_size_t getGlobalNumCols() const =0
Returns the number of global columns in the graph.
virtual Teuchos::RCP< const Teuchos::Comm< int > > getComm() const =0
The communicator over which this graph is distributed.
::Kokkos::Compat::KokkosDeviceWrapperNode< execution_space > node_type
Default value of Node template parameter.
virtual size_t getNumEntriesInLocalRow(LocalOrdinal localRow) const =0
Returns the current number of entries on this node in the specified local row.
virtual bool supportsRowViews() const
Whether this class implements getLocalRowView() and getGlobalRowView().
virtual size_t getNodeNumEntries() const =0
Returns the local number of entries in the graph.
virtual bool isGloballyIndexed() const =0
If graph indices are in the global range, this function returns true. Otherwise, this function return...
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getColMap() const =0
The Map that describes this graph's distribution of columns over processes.
virtual size_t getNodeNumCols() const =0
Returns the number of columns connected to the locally owned rows of this graph.
Declaration of Tpetra::Packable.
virtual global_size_t TPETRA_DEPRECATED getGlobalNumDiags() const =0
Number of diagonal entries over all processes in the graph's communicator.
virtual size_t getNodeNumRows() const =0
Returns the number of rows owned on the calling node.
virtual void getGlobalRowView(const GlobalOrdinal gblRow, Teuchos::ArrayView< const GlobalOrdinal > &gblColInds) const
Get a const, non-persisting view of the given global row's global column indices, as a Teuchos::Array...