MeshKit  1.0
ParExchangeMesh Class Reference

#include <ParExchangeMesh.hpp>

Inheritance diagram for ParExchangeMesh:

List of all members.

Public Member Functions

 ParExchangeMesh (MKCore *mkcore, const MEntVector &me_vec)
virtual ~ParExchangeMesh ()
virtual const moab::EntityType * mesh_types_arr () const
 Return the mesh entity types operated on by this scheme.
virtual void setup_this ()
 Setup is a no-op, but must be provided since it's pure virtual.
virtual void execute_this ()
void print_mesh ()

Static Public Member Functions

static const char * name ()
 Get class name.
static bool can_mesh (iBase_EntityType dim)
 Function returning whether this scheme can mesh entities of t the specified dimension.
static bool can_mesh (ModelEnt *me)
 Function returning whether this scheme can mesh the specified entity.
static const moab::EntityType * output_types ()
 Get list of mesh entity types that can be generated.

Private Member Functions

int get_shared_list (const int to_proc)

Private Attributes

ParallelComm * m_mpcomm
unsigned int m_rank
unsigned int m_proc_size
iBase_TagHandle m_mPuniqueIDTag
std::vector< Range * > m_shared_entities
std::vector< unsigned int > m_shared_procs
std::vector< MPI_Request > m_recv_reqs
std::vector< MPI_Request > m_recv_remoteh_reqs

Detailed Description

Definition at line 16 of file ParExchangeMesh.hpp.


Constructor & Destructor Documentation

ParExchangeMesh ( MKCore mkcore,
const MEntVector me_vec 
)

Definition at line 16 of file ParExchangeMesh.cpp.

~ParExchangeMesh ( ) [virtual]

Definition at line 34 of file ParExchangeMesh.cpp.


Member Function Documentation

static bool can_mesh ( iBase_EntityType  dim) [inline, static]

Function returning whether this scheme can mesh entities of t the specified dimension.

Parameters:
dimentity dimension

Definition at line 32 of file ParExchangeMesh.hpp.

static bool can_mesh ( ModelEnt me) [inline, static]

Function returning whether this scheme can mesh the specified entity.

Used by MeshOpFactory to find scheme for an entity.

Parameters:
meModelEnt being queried
Returns:
If true, this scheme can mesh the specified ModelEnt

Definition at line 41 of file ParExchangeMesh.hpp.

void execute_this ( ) [virtual]

\ The only setup/execute function we need, since meshing vertices is trivial

Implements GraphNode.

Definition at line 46 of file ParExchangeMesh.cpp.

int get_shared_list ( const int  to_proc) [private]

Definition at line 116 of file ParExchangeMesh.cpp.

virtual const moab::EntityType* mesh_types_arr ( ) const [inline, virtual]

Return the mesh entity types operated on by this scheme.

Returns:
array terminated with moab::MBMAXTYPE

Implements MeshOp.

Definition at line 52 of file ParExchangeMesh.hpp.

static const char* name ( ) [inline, static]

Get class name.

Definition at line 25 of file ParExchangeMesh.hpp.

const moab::EntityType * output_types ( ) [static]

Get list of mesh entity types that can be generated.

Returns:
array terminated with moab::MBMAXTYPE

Definition at line 13 of file ParExchangeMesh.cpp.

void print_mesh ( )

Definition at line 131 of file ParExchangeMesh.cpp.

void setup_this ( ) [virtual]

Setup is a no-op, but must be provided since it's pure virtual.

Implements GraphNode.

Definition at line 42 of file ParExchangeMesh.cpp.


Member Data Documentation

ParallelComm* m_mpcomm [private]

Definition at line 68 of file ParExchangeMesh.hpp.

iBase_TagHandle m_mPuniqueIDTag [private]

Definition at line 72 of file ParExchangeMesh.hpp.

unsigned int m_proc_size [private]

Definition at line 70 of file ParExchangeMesh.hpp.

unsigned int m_rank [private]

Definition at line 70 of file ParExchangeMesh.hpp.

std::vector< MPI_Request > m_recv_remoteh_reqs [private]

Definition at line 78 of file ParExchangeMesh.hpp.

std::vector< MPI_Request > m_recv_reqs [private]

Definition at line 78 of file ParExchangeMesh.hpp.

std::vector< Range* > m_shared_entities [private]

Definition at line 74 of file ParExchangeMesh.hpp.

std::vector< unsigned int > m_shared_procs [private]

Definition at line 76 of file ParExchangeMesh.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines