Canoe
Comprehensive Atmosphere N' Ocean Engine
LinearExchanger< T > Class Template Reference

#include <exchanger.hpp>

Inheritance diagram for LinearExchanger< T >:
[legend]

Public Types

using Base = Exchanger< T >
 
- Public Types inherited from Exchanger< T >
using DataType = typename MessageTraits< T >::DataType
 
using BufferType = std::vector< DataType >
 

Public Member Functions

 LinearExchanger ()
 
int GetRankInGroup () const
 
void Regroup (MeshBlock const *pmb, CoordinateDirection dir)
 
- Public Member Functions inherited from Exchanger< T >
 Exchanger ()
 
virtual ~Exchanger ()
 
virtual void ClearBuffer (MeshBlock const *pmb)
 Clear buffer. More...
 
void SetBoundaryStatus (int bid, BoundaryStatus status)
 Set the boundary status. More...
 
- Public Member Functions inherited from ExchangerBase
 ExchangerBase ()
 
virtual ~ExchangerBase ()
 
virtual void PackData (MeshBlock const *pmb)
 Pack data to send buffer. More...
 
virtual bool UnpackData (MeshBlock const *pmb)
 Unpack data from receive buffer. More...
 
virtual void Transfer (MeshBlock const *pmb, int n=-1)=0
 Send and receive data. More...
 

Private Attributes

std::vector< int > color_
 MPI color of each block. More...
 
std::vector< int > brank_
 MPI rank of the bottom of each block. More...
 

Additional Inherited Members

- Protected Attributes inherited from Exchanger< T >
enum BoundaryStatus status_flag_ [MessageTraits< T >::num_buffers]
 
BufferType send_buffer_ [MessageTraits< T >::num_buffers]
 
BufferType recv_buffer_ [MessageTraits< T >::num_buffers]
 

Detailed Description

template<typename T>
class LinearExchanger< T >

Definition at line 144 of file exchanger.hpp.

Member Typedef Documentation

◆ Base

template<typename T >
using LinearExchanger< T >::Base = Exchanger<T>

Definition at line 146 of file exchanger.hpp.

Constructor & Destructor Documentation

◆ LinearExchanger()

template<typename T >
LinearExchanger< T >::LinearExchanger

Definition at line 19 of file linear_exchanger.hpp.

Member Function Documentation

◆ GetRankInGroup()

template<typename T >
int LinearExchanger< T >::GetRankInGroup

Definition at line 25 of file linear_exchanger.hpp.

◆ Regroup()

template<typename T >
void LinearExchanger< T >::Regroup ( MeshBlock const *  pmb,
CoordinateDirection  dir 
)

Definition at line 36 of file linear_exchanger.hpp.

Member Data Documentation

◆ color_

template<typename T >
std::vector<int> LinearExchanger< T >::color_
private

MPI color of each block.

Definition at line 159 of file exchanger.hpp.

◆ brank_

template<typename T >
std::vector<int> LinearExchanger< T >::brank_
private

MPI rank of the bottom of each block.

Definition at line 162 of file exchanger.hpp.


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