MFEM  v4.6.0
Finite element discretization library
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag > Class Template Reference

#include <pncmesh.hpp>

Inheritance diagram for mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >:
[legend]
Collaboration diagram for mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >:
[legend]

Public Member Functions

int Size () const
 
void Reserve (int size)
 
void Add (int elem, ValueType val)
 
void SetNCMesh (ParNCMesh *pncmesh_)
 Set pointer to ParNCMesh (needed to encode the message). More...
 
 ElementValueMessage ()
 
- Public Member Functions inherited from mfem::VarMessage< Tag >
void Isend (int rank, MPI_Comm comm)
 Non-blocking send to processor 'rank'. Returns immediately. Completion (as tested by MPI_Wait/Test) does not mean the message was received – it may be on its way or just buffered locally. More...
 
void Issend (int rank, MPI_Comm comm)
 Non-blocking synchronous send to processor 'rank'. Returns immediately. Completion (MPI_Wait/Test) means that the message was received. More...
 
void Recv (int rank, int size, MPI_Comm comm)
 Post-probe receive from processor 'rank' of message size 'size'. More...
 
void RecvDrop (int rank, int size, MPI_Comm comm)
 Like Recv(), but throw away the message. More...
 
 VarMessage ()
 
void Clear ()
 Clear the message and associated request. More...
 
virtual ~VarMessage ()
 
 VarMessage (const VarMessage &other)
 

Public Attributes

std::vector< int > elements
 
std::vector< ValueType > values
 
- Public Attributes inherited from mfem::VarMessage< Tag >
std::string data
 
MPI_Request send_request
 

Protected Member Functions

void Encode (int) override
 
void Decode (int) override
 

Protected Attributes

ParNCMeshpncmesh
 

Additional Inherited Members

- Static Public Member Functions inherited from mfem::VarMessage< Tag >
template<typename MapT >
static void IsendAll (MapT &rank_msg, MPI_Comm comm)
 Helper to send all messages in a rank-to-message map container. More...
 
template<typename MapT >
static void WaitAllSent (MapT &rank_msg)
 Helper to wait for all messages in a map container to be sent. More...
 
template<typename MapT >
static bool TestAllSent (MapT &rank_msg)
 Return true if all messages in the map container were sent, otherwise return false, without waiting. More...
 
static void Probe (int &rank, int &size, MPI_Comm comm)
 Blocking probe for incoming message of this type from any rank. Returns the rank and message size. More...
 
static bool IProbe (int &rank, int &size, MPI_Comm comm)
 Non-blocking probe for incoming message of this type from any rank. If there is an incoming message, returns true and sets 'rank' and 'size'. Otherwise returns false. More...
 
template<typename MapT >
static void RecvAll (MapT &rank_msg, MPI_Comm comm)
 Helper to receive all messages in a rank-to-message map container. More...
 

Detailed Description

template<class ValueType, bool RefTypes, int Tag>
class mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >

A base for internal messages used by Refine(), Derefine() and Rebalance(). Allows sending values associated with elements in a set. If RefType == true, the element set is recreated on the receiving end.

Definition at line 433 of file pncmesh.hpp.

Constructor & Destructor Documentation

◆ ElementValueMessage()

template<class ValueType, bool RefTypes, int Tag>
mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >::ElementValueMessage ( )
inline

Definition at line 449 of file pncmesh.hpp.

Member Function Documentation

◆ Add()

template<class ValueType, bool RefTypes, int Tag>
void mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >::Add ( int  elem,
ValueType  val 
)
inline

Definition at line 443 of file pncmesh.hpp.

◆ Decode()

template<class ValueType , bool RefTypes, int Tag>
void mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >::Decode ( int  )
overrideprotectedvirtual

Reimplemented from mfem::VarMessage< Tag >.

Definition at line 2650 of file pncmesh.cpp.

◆ Encode()

template<class ValueType , bool RefTypes, int Tag>
void mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >::Encode ( int  )
overrideprotectedvirtual

Reimplemented from mfem::VarMessage< Tag >.

Definition at line 2615 of file pncmesh.cpp.

◆ Reserve()

template<class ValueType, bool RefTypes, int Tag>
void mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >::Reserve ( int  size)
inline

Definition at line 441 of file pncmesh.hpp.

◆ SetNCMesh()

template<class ValueType, bool RefTypes, int Tag>
void mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >::SetNCMesh ( ParNCMesh pncmesh_)
inline

Set pointer to ParNCMesh (needed to encode the message).

Definition at line 447 of file pncmesh.hpp.

◆ Size()

template<class ValueType, bool RefTypes, int Tag>
int mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >::Size ( ) const
inline

Definition at line 440 of file pncmesh.hpp.

Member Data Documentation

◆ elements

template<class ValueType, bool RefTypes, int Tag>
std::vector<int> mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >::elements

Definition at line 437 of file pncmesh.hpp.

◆ pncmesh

template<class ValueType, bool RefTypes, int Tag>
ParNCMesh* mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >::pncmesh
protected

Definition at line 452 of file pncmesh.hpp.

◆ values

template<class ValueType, bool RefTypes, int Tag>
std::vector<ValueType> mfem::ParNCMesh::ElementValueMessage< ValueType, RefTypes, Tag >::values

Definition at line 438 of file pncmesh.hpp.


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