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.
List of all members
Kratos::DistributedNumbering< TIndexType > Class Template Referencefinal

This function provides essential capabilities for mapping between local and global ids in a distributed vector. More...

#include <distributed_numbering.h>

Collaboration diagram for Kratos::DistributedNumbering< TIndexType >:

Public Member Functions

Life Cycle
 DistributedNumbering (const DataCommunicator &rComm, const IndexType LocalSize)
 
 DistributedNumbering (const DataCommunicator *pComm, const IndexType LocalSize)
 
 DistributedNumbering (const DataCommunicator &rComm, const IndexType TotalSize, const MpiIndexType Nranks)
 
 DistributedNumbering (const DataCommunicator *pComm, const IndexType TotalSize, const MpiIndexType Nranks)
 
 DistributedNumbering (const DataCommunicator *pComm, const std::vector< IndexType > &CpuBounds)
 
 DistributedNumbering (const DataCommunicator &rComm, const std::vector< IndexType > &CpuBounds)
 
 DistributedNumbering (const DistributedNumbering &rOther)
 Copy constructor. More...
 
 ~DistributedNumbering ()
 Destructor. More...
 

Type Definitions

typedef TIndexType IndexType
 
typedef int MpiIndexType
 
 KRATOS_CLASS_POINTER_DEFINITION (DistributedNumbering)
 Pointer definition of DistributedNumbering. More...
 

Operators

const DataCommunicatorGetComm () const
 
const DataCommunicatorpGetComm () const
 
IndexType LocalSize () const
 
IndexType Size () const
 
bool IsLocal (const IndexType I) const
 
IndexType LocalId (const IndexType rGlobalId) const
 
IndexType GlobalId (const IndexType rLocalId) const
 
IndexType RemoteLocalId (const IndexType rGlobalId, const IndexType rOwnerRank) const
 
IndexType RemoteGlobalId (const IndexType rRemoteLocalId, const IndexType rOwnerRank) const
 
IndexType OwnerRank (const IndexType RowIndex) const
 
const std::vector< IndexType > & GetCpuBounds () const
 
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...
 

Detailed Description

template<class TIndexType = std::size_t>
class Kratos::DistributedNumbering< TIndexType >

This function provides essential capabilities for mapping between local and global ids in a distributed vector.

Member Typedef Documentation

◆ IndexType

template<class TIndexType = std::size_t>
typedef TIndexType Kratos::DistributedNumbering< TIndexType >::IndexType

◆ MpiIndexType

template<class TIndexType = std::size_t>
typedef int Kratos::DistributedNumbering< TIndexType >::MpiIndexType

Constructor & Destructor Documentation

◆ DistributedNumbering() [1/7]

template<class TIndexType = std::size_t>
Kratos::DistributedNumbering< TIndexType >::DistributedNumbering ( const DataCommunicator rComm,
const IndexType  LocalSize 
)
inline

◆ DistributedNumbering() [2/7]

template<class TIndexType = std::size_t>
Kratos::DistributedNumbering< TIndexType >::DistributedNumbering ( const DataCommunicator pComm,
const IndexType  LocalSize 
)
inline

◆ DistributedNumbering() [3/7]

template<class TIndexType = std::size_t>
Kratos::DistributedNumbering< TIndexType >::DistributedNumbering ( const DataCommunicator rComm,
const IndexType  TotalSize,
const MpiIndexType  Nranks 
)
inline

◆ DistributedNumbering() [4/7]

template<class TIndexType = std::size_t>
Kratos::DistributedNumbering< TIndexType >::DistributedNumbering ( const DataCommunicator pComm,
const IndexType  TotalSize,
const MpiIndexType  Nranks 
)
inline

◆ DistributedNumbering() [5/7]

template<class TIndexType = std::size_t>
Kratos::DistributedNumbering< TIndexType >::DistributedNumbering ( const DataCommunicator pComm,
const std::vector< IndexType > &  CpuBounds 
)
inline

◆ DistributedNumbering() [6/7]

template<class TIndexType = std::size_t>
Kratos::DistributedNumbering< TIndexType >::DistributedNumbering ( const DataCommunicator rComm,
const std::vector< IndexType > &  CpuBounds 
)
inline

◆ DistributedNumbering() [7/7]

template<class TIndexType = std::size_t>
Kratos::DistributedNumbering< TIndexType >::DistributedNumbering ( const DistributedNumbering< TIndexType > &  rOther)
inline

Copy constructor.

◆ ~DistributedNumbering()

template<class TIndexType = std::size_t>
Kratos::DistributedNumbering< TIndexType >::~DistributedNumbering ( )
inline

Destructor.

Member Function Documentation

◆ GetComm()

template<class TIndexType = std::size_t>
const DataCommunicator& Kratos::DistributedNumbering< TIndexType >::GetComm ( ) const
inline

◆ GetCpuBounds()

template<class TIndexType = std::size_t>
const std::vector<IndexType>& Kratos::DistributedNumbering< TIndexType >::GetCpuBounds ( ) const
inline

◆ GlobalId()

template<class TIndexType = std::size_t>
IndexType Kratos::DistributedNumbering< TIndexType >::GlobalId ( const IndexType  rLocalId) const
inline

◆ Info()

template<class TIndexType = std::size_t>
std::string Kratos::DistributedNumbering< TIndexType >::Info ( ) const
inline

Turn back information as a string.

◆ IsLocal()

template<class TIndexType = std::size_t>
bool Kratos::DistributedNumbering< TIndexType >::IsLocal ( const IndexType  I) const
inline

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TIndexType = std::size_t>
Kratos::DistributedNumbering< TIndexType >::KRATOS_CLASS_POINTER_DEFINITION ( DistributedNumbering< TIndexType >  )

Pointer definition of DistributedNumbering.

◆ LocalId()

template<class TIndexType = std::size_t>
IndexType Kratos::DistributedNumbering< TIndexType >::LocalId ( const IndexType  rGlobalId) const
inline

◆ LocalSize()

template<class TIndexType = std::size_t>
IndexType Kratos::DistributedNumbering< TIndexType >::LocalSize ( ) const
inline

◆ OwnerRank()

template<class TIndexType = std::size_t>
IndexType Kratos::DistributedNumbering< TIndexType >::OwnerRank ( const IndexType  RowIndex) const
inline

◆ pGetComm()

template<class TIndexType = std::size_t>
const DataCommunicator* Kratos::DistributedNumbering< TIndexType >::pGetComm ( ) const
inline

◆ PrintData()

template<class TIndexType = std::size_t>
void Kratos::DistributedNumbering< TIndexType >::PrintData ( std::ostream &  rOStream) const
inline

Print object's data.

◆ PrintInfo()

template<class TIndexType = std::size_t>
void Kratos::DistributedNumbering< TIndexType >::PrintInfo ( std::ostream &  rOStream) const
inline

Print information about this object.

◆ RemoteGlobalId()

template<class TIndexType = std::size_t>
IndexType Kratos::DistributedNumbering< TIndexType >::RemoteGlobalId ( const IndexType  rRemoteLocalId,
const IndexType  rOwnerRank 
) const
inline

◆ RemoteLocalId()

template<class TIndexType = std::size_t>
IndexType Kratos::DistributedNumbering< TIndexType >::RemoteLocalId ( const IndexType  rGlobalId,
const IndexType  rOwnerRank 
) const
inline

◆ Size()

template<class TIndexType = std::size_t>
IndexType Kratos::DistributedNumbering< TIndexType >::Size ( ) const
inline

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