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::MPIMessage< TDataType > Class Template Reference

#include <mpi_message.h>

Collaboration diagram for Kratos::MPIMessage< TDataType >:

Public Member Functions

Public operations
MPI_Datatype DataType ()
 
void * Buffer (MessageDataType &rValue)
 
const void * Buffer (const MessageDataType &rValue)
 
int Size (const MessageDataType &rValue)
 
int SubDataTypeSize (const MessageDataType &rValue)
 
std::vector< unsigned intShape (const MessageDataType &rValue)
 
bool Resize (MessageDataType &rValue, const std::vector< unsigned int > &rShape)
 
void Update (MessageDataType &rValue)
 

Type definitions

using MessageDataType = TDataType
 
using MPIMessageDataTypeTraits = DataTypeTraits< TDataType >
 
using SubDataType = typename MPIMessageDataTypeTraits::ValueType
 
using PrimitiveDataType = typename MPIMessageDataTypeTraits::PrimitiveType
 
static constexpr bool HasContiguousPrimitiveData = MPIMessageDataTypeTraits::IsContiguous
 
static constexpr bool HasDynamicMemoryAllocation = MPIMessageDataTypeTraits::IsDynamic
 

Member Typedef Documentation

◆ MessageDataType

template<class TDataType >
using Kratos::MPIMessage< TDataType >::MessageDataType = TDataType

◆ MPIMessageDataTypeTraits

template<class TDataType >
using Kratos::MPIMessage< TDataType >::MPIMessageDataTypeTraits = DataTypeTraits<TDataType>

◆ PrimitiveDataType

template<class TDataType >
using Kratos::MPIMessage< TDataType >::PrimitiveDataType = typename MPIMessageDataTypeTraits::PrimitiveType

◆ SubDataType

template<class TDataType >
using Kratos::MPIMessage< TDataType >::SubDataType = typename MPIMessageDataTypeTraits::ValueType

Member Function Documentation

◆ Buffer() [1/2]

template<class TDataType >
const void* Kratos::MPIMessage< TDataType >::Buffer ( const MessageDataType rValue)
inline

◆ Buffer() [2/2]

template<class TDataType >
void* Kratos::MPIMessage< TDataType >::Buffer ( MessageDataType rValue)
inline

◆ DataType()

template<class TDataType >
MPI_Datatype Kratos::MPIMessage< TDataType >::DataType ( )
inline

◆ Resize()

template<class TDataType >
bool Kratos::MPIMessage< TDataType >::Resize ( MessageDataType rValue,
const std::vector< unsigned int > &  rShape 
)
inline

◆ Shape()

template<class TDataType >
std::vector<unsigned int> Kratos::MPIMessage< TDataType >::Shape ( const MessageDataType rValue)
inline

◆ Size()

template<class TDataType >
int Kratos::MPIMessage< TDataType >::Size ( const MessageDataType rValue)
inline

◆ SubDataTypeSize()

template<class TDataType >
int Kratos::MPIMessage< TDataType >::SubDataTypeSize ( const MessageDataType rValue)
inline

◆ Update()

template<class TDataType >
void Kratos::MPIMessage< TDataType >::Update ( MessageDataType rValue)
inline

Member Data Documentation

◆ HasContiguousPrimitiveData

template<class TDataType >
constexpr bool Kratos::MPIMessage< TDataType >::HasContiguousPrimitiveData = MPIMessageDataTypeTraits::IsContiguous
staticconstexpr

◆ HasDynamicMemoryAllocation

template<class TDataType >
constexpr bool Kratos::MPIMessage< TDataType >::HasDynamicMemoryAllocation = MPIMessageDataTypeTraits::IsDynamic
staticconstexpr

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