MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
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).
 
 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.
 
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.
 
void Recv (int rank, int size, MPI_Comm comm)
 Post-probe receive from processor 'rank' of message size 'size'.
 
void RecvDrop (int rank, int size, MPI_Comm comm)
 Like Recv(), but throw away the message.
 
 VarMessage ()
 
void Clear ()
 Clear the message and associated request.
 
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.
 
template<typename MapT >
static void WaitAllSent (MapT &rank_msg)
 Helper to wait for all messages in a map container to be sent.
 
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.
 
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.
 
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.
 
template<typename MapT >
static void RecvAll (MapT &rank_msg, MPI_Comm comm)
 Helper to receive all messages in a rank-to-message map container.
 

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 431 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 447 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 441 of file pncmesh.hpp.

◆ Decode()

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

Implements mfem::VarMessage< Tag >.

Definition at line 2826 of file pncmesh.cpp.

◆ Encode()

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

Implements mfem::VarMessage< Tag >.

Definition at line 2791 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 439 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 445 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 438 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 435 of file pncmesh.hpp.

◆ pncmesh

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

Definition at line 450 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 436 of file pncmesh.hpp.


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