KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Short class definition. More...
#include <distributed_sparse_graph.h>
Public Member Functions | |
Life Cycle | |
DistributedSparseGraph (const IndexType LocalSize, DataCommunicator &rComm) | |
constructor. More... | |
~DistributedSparseGraph () | |
Destructor. More... | |
const DataCommunicator & | GetComm () const |
const DataCommunicator * | pGetComm () const |
const DistributedNumbering< IndexType > & | GetRowNumbering () const |
IndexType | Size () const |
IndexType | LocalSize () const |
bool | Has (const IndexType GlobalI, const IndexType GlobalJ) const |
void | ComputeLocalMinMaxColumnIndex (IndexType &rMinJ, IndexType &rMaxJ) const |
IndexType | ComputeMaxGlobalColumnIndex () const |
Operators | |
const LocalGraphType::GraphType::value_type & | operator[] (const IndexType &LocalPosition) const |
void | Clear () |
void | AddEntry (const IndexType RowIndex, const IndexType ColIndex) |
template<class TContainerType > | |
void | AddEntries (const IndexType RowIndex, const TContainerType &rColIndices) |
template<class TIteratorType > | |
void | AddEntries (const IndexType RowIndex, const TIteratorType &rColBegin, const TIteratorType &rColEnd) |
template<class TContainerType > | |
void | AddEntries (const TContainerType &rIndices) |
template<class TContainerType > | |
void | AddEntries (const TContainerType &rRowIndices, const TContainerType &rColIndices) |
void | Finalize () |
const LocalGraphType & | GetLocalGraph () const |
const NonLocalGraphType & | GetNonLocalGraph (IndexType Rank) const |
const DenseVector< NonLocalGraphType > & | GetNonLocalGraphs () const |
Input and output | |
std::string | Info () const |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
Type Definitions | |
typedef TIndexType | IndexType |
typedef int | MpiIndexType |
typedef SparseContiguousRowGraph< IndexType > | LocalGraphType |
typedef SparseGraph< IndexType > | NonLocalGraphType |
KRATOS_CLASS_POINTER_DEFINITION (DistributedSparseGraph) | |
Pointer definition of DistributedSparseGraph. More... | |
Private Operators | |
class | Serializer |
Short class definition.
This class is designed to store a matrix graph, aimed at the fast construction of other sparse matrix formats (particularly CSR) IMPORTANT NOTE: it is BY DESIGN NOT threadsafe! (a graph should be computed in each thread and then merged)
typedef TIndexType Kratos::DistributedSparseGraph< TIndexType >::IndexType |
typedef SparseContiguousRowGraph<IndexType> Kratos::DistributedSparseGraph< TIndexType >::LocalGraphType |
typedef int Kratos::DistributedSparseGraph< TIndexType >::MpiIndexType |
typedef SparseGraph<IndexType> Kratos::DistributedSparseGraph< TIndexType >::NonLocalGraphType |
|
inline |
constructor.
|
inline |
Destructor.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Turn back information as a string.
Kratos::DistributedSparseGraph< TIndexType >::KRATOS_CLASS_POINTER_DEFINITION | ( | DistributedSparseGraph< TIndexType > | ) |
Pointer definition of DistributedSparseGraph.
|
inline |
|
inline |
|
inline |
|
inline |
Print object's data.
|
inline |
Print information about this object.
|
inline |
|
friend |