MFEM  v3.3
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
mfem::NeighborDofMessage Class Reference

#include <pncmesh.hpp>

Inheritance diagram for mfem::NeighborDofMessage:
[legend]
Collaboration diagram for mfem::NeighborDofMessage:
[legend]

Public Types

typedef std::map< int,
NeighborDofMessage
Map
 

Public Member Functions

void AddDofs (int type, const NCMesh::MeshId &id, const Array< int > &dofs)
 Add vertex/edge/face DOFs to an outgoing message. More...
 
void Init (ParNCMesh *pncmesh, const FiniteElementCollection *fec, int ndofs)
 
void GetDofs (int type, const NCMesh::MeshId &id, Array< int > &dofs, int &ndofs)
 
- Public Member Functions inherited from mfem::VarMessage< 135 >
void Isend (int rank, MPI_Comm comm)
 Non-blocking send to processor 'rank'. More...
 
void Recv (int rank, int size, MPI_Comm comm)
 Post-probe receive from processor 'rank' of message size 'size'. More...
 
 VarMessage ()
 
 VarMessage (const VarMessage &other)
 
void Clear ()
 
virtual ~VarMessage ()
 

Protected Types

typedef std::map
< NCMesh::MeshId, std::vector
< int > > 
IdToDofs
 

Protected Member Functions

virtual void Encode ()
 
virtual void Decode ()
 
void ReorderEdgeDofs (const NCMesh::MeshId &id, std::vector< int > &dofs)
 

Protected Attributes

IdToDofs id_dofs [3]
 
ParNCMeshpncmesh
 
const FiniteElementCollectionfec
 
int ndofs
 

Additional Inherited Members

- Static Public Member Functions inherited from mfem::VarMessage< 135 >
static void IsendAll (MapT &rank_msg, MPI_Comm comm)
 Helper to send all messages in a rank-to-message map container. More...
 
static void WaitAllSent (MapT &rank_msg)
 Helper to wait for all messages in a map container to be sent. More...
 
static void Probe (int &rank, int &size, MPI_Comm comm)
 
static bool IProbe (int &rank, int &size, MPI_Comm comm)
 
static void RecvAll (MapT &rank_msg, MPI_Comm comm)
 Helper to receive all messages in a rank-to-message map container. More...
 
- Public Attributes inherited from mfem::VarMessage< 135 >
std::string data
 
MPI_Request send_request
 

Detailed Description

Represents a message about DOF assignment of vertex, edge and face DOFs on the boundary with another processor. This and other messages below are only exchanged between immediate neighbors. Used by ParFiniteElementSpace::GetParallelConformingInterpolation().

Definition at line 500 of file pncmesh.hpp.

Member Typedef Documentation

typedef std::map<NCMesh::MeshId, std::vector<int> > mfem::NeighborDofMessage::IdToDofs
protected

Definition at line 519 of file pncmesh.hpp.

Definition at line 516 of file pncmesh.hpp.

Member Function Documentation

void mfem::NeighborDofMessage::AddDofs ( int  type,
const NCMesh::MeshId id,
const Array< int > &  dofs 
)

Add vertex/edge/face DOFs to an outgoing message.

Definition at line 1884 of file pncmesh.cpp.

void mfem::NeighborDofMessage::Decode ( )
protectedvirtual

Reimplemented from mfem::VarMessage< 135 >.

Definition at line 1996 of file pncmesh.cpp.

void mfem::NeighborDofMessage::Encode ( )
protectedvirtual

Reimplemented from mfem::VarMessage< 135 >.

Definition at line 1959 of file pncmesh.cpp.

void mfem::NeighborDofMessage::GetDofs ( int  type,
const NCMesh::MeshId id,
Array< int > &  dofs,
int &  ndofs 
)

Get vertex/edge/face DOFs from a received message. 'ndofs' receives the remote space size.

Definition at line 1891 of file pncmesh.cpp.

void mfem::NeighborDofMessage::Init ( ParNCMesh pncmesh,
const FiniteElementCollection fec,
int  ndofs 
)
inline

Set pointers to ParNCMesh & FECollection (needed to encode the message), set the space size to be sent.

Definition at line 508 of file pncmesh.hpp.

void mfem::NeighborDofMessage::ReorderEdgeDofs ( const NCMesh::MeshId id,
std::vector< int > &  dofs 
)
protected

Definition at line 1908 of file pncmesh.cpp.

Member Data Documentation

const FiniteElementCollection* mfem::NeighborDofMessage::fec
protected

Definition at line 523 of file pncmesh.hpp.

IdToDofs mfem::NeighborDofMessage::id_dofs[3]
protected

Definition at line 520 of file pncmesh.hpp.

int mfem::NeighborDofMessage::ndofs
protected

Definition at line 524 of file pncmesh.hpp.

ParNCMesh* mfem::NeighborDofMessage::pncmesh
protected

Definition at line 522 of file pncmesh.hpp.


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