MFEM  v3.1
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 in this file are only exchanged between immediate neighbors. Used by ParFiniteElementSpace::GetConformingInterpolation().

Definition at line 344 of file pncmesh.hpp.

Member Typedef Documentation

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

Definition at line 363 of file pncmesh.hpp.

Definition at line 360 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 920 of file pncmesh.cpp.

void mfem::NeighborDofMessage::Decode ( )
protectedvirtual

Reimplemented from mfem::VarMessage< 135 >.

Definition at line 1032 of file pncmesh.cpp.

void mfem::NeighborDofMessage::Encode ( )
protectedvirtual

Reimplemented from mfem::VarMessage< 135 >.

Definition at line 995 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 927 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 352 of file pncmesh.hpp.

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

Definition at line 944 of file pncmesh.cpp.

Member Data Documentation

const FiniteElementCollection* mfem::NeighborDofMessage::fec
protected

Definition at line 367 of file pncmesh.hpp.

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

Definition at line 364 of file pncmesh.hpp.

int mfem::NeighborDofMessage::ndofs
protected

Definition at line 368 of file pncmesh.hpp.

ParNCMesh* mfem::NeighborDofMessage::pncmesh
protected

Definition at line 366 of file pncmesh.hpp.


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