ThunderEgg  1.0.0
ThunderEgg::CoarseNbrInfo< D > Class Template Reference

Represents a neighbor that is at a coarser refinement level. More...

#include <CoarseNbrInfo.h>

Inheritance diagram for ThunderEgg::CoarseNbrInfo< D >:
Collaboration diagram for ThunderEgg::CoarseNbrInfo< D >:

Public Member Functions

 CoarseNbrInfo ()=default
 Construct a new empty CoarseNbrInfo object.
 
 CoarseNbrInfo (int id, Orthant< D > orth_on_coarse)
 Construct a new CoarseNbrInfo object. More...
 
NbrType getNbrType () const override
 Get the NbrType.
 
void getNbrIds (std::deque< int > &nbr_ids) const override
 Add to a deque of neighbor ids.
 
void getNbrRanks (std::deque< int > &nbr_ranks) const override
 Add to a deque of neighbor ranks.
 
void setGlobalIndexes (const std::map< int, int > &id_to_global_index_map) override
 Set the local indexes in the NbrInfo objects. More...
 
void setLocalIndexes (const std::map< int, int > &id_to_local_index_map) override
 Set the global indexes in the NbrInfo objects. More...
 
int serialize (char *buffer) const override
 Serialize object into buffer. More...
 
int deserialize (char *buffer) override
 Deserialize an object. More...
 
std::unique_ptr< NbrInfoBaseclone () const override
 get a clone of this object (equivalent to copy constructor) More...
 
- Public Member Functions inherited from ThunderEgg::NbrInfoBase
virtual ~NbrInfoBase ()=default
 Destroy the NbrInfo object.
 
- Public Member Functions inherited from ThunderEgg::Serializable
virtual ~Serializable ()=default
 Destroy the Serializable object.
 

Public Attributes

int rank = 0
 The mpi rank that the neighbor resides on.
 
int id = 0
 The id of the neighbor.
 
int local_index = -1
 The local index of the neighbor.
 
int global_index = -1
 The global index of the neighbor.
 
Orthant< D > orth_on_coarse
 The orthant that this patch in relation to the coarser patch's interface.
 

Detailed Description

template<int D>
class ThunderEgg::CoarseNbrInfo< D >

Represents a neighbor that is at a coarser refinement level.

Template Parameters
Dthe number of Cartesian dimensions.

Constructor & Destructor Documentation

◆ CoarseNbrInfo()

template<int D>
ThunderEgg::CoarseNbrInfo< D >::CoarseNbrInfo ( int  id,
Orthant< D >  orth_on_coarse 
)
inline

Construct a new CoarseNbrInfo object.

Parameters
idthe id of the neighbor
orth_on_coarseThe orthant of the neighboring patch's interface that the this patch lies along.

Member Function Documentation

◆ clone()

template<int D>
std::unique_ptr<NbrInfoBase> ThunderEgg::CoarseNbrInfo< D >::clone ( ) const
inlineoverridevirtual

get a clone of this object (equivalent to copy constructor)

Returns
std::unique_ptr<NbrInfo> the cloned object

Implements ThunderEgg::NbrInfoBase.

◆ deserialize()

template<int D>
int ThunderEgg::CoarseNbrInfo< D >::deserialize ( char *  buffer)
inlineoverridevirtual

Deserialize an object.

Parameters
bufferthe buffer
Returns
int the size of object that was deserialized

Implements ThunderEgg::Serializable.

◆ serialize()

template<int D>
int ThunderEgg::CoarseNbrInfo< D >::serialize ( char *  buffer) const
inlineoverridevirtual

Serialize object into buffer.

Parameters
bufferthe buffer. Can be set to nullptr if you just want the size
Returns
int the size of the serialized object

Implements ThunderEgg::Serializable.

◆ setGlobalIndexes()

template<int D>
void ThunderEgg::CoarseNbrInfo< D >::setGlobalIndexes ( const std::map< int, int > &  rev_map)
inlineoverridevirtual

Set the local indexes in the NbrInfo objects.

Parameters
rev_mapmap from id to local_index

Implements ThunderEgg::NbrInfoBase.

◆ setLocalIndexes()

template<int D>
void ThunderEgg::CoarseNbrInfo< D >::setLocalIndexes ( const std::map< int, int > &  rev_map)
inlineoverridevirtual

Set the global indexes in the NbrInfo objects.

Parameters
rev_mapmap from local_index to global_index

Implements ThunderEgg::NbrInfoBase.


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