SPModel: libSPModel/src/SurfaceMeshDecomp.h File Reference
VPAC - Computational Software Development
Main | SPModel | StGermain FrameWork |
Main Page | Alphabetical List | Class List | Directories | File List | Class Members | File Members

SurfaceMeshDecomp.h File Reference

Role: Loads the mesh from various input files, as specified in the xml input file. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  HaloPackage_t
struct  _SurfaceMeshDecomp

Defines

#define __SurfaceMeshDecomp

Typedefs

typedef void( SurfaceMeshDecomp_SyncMeshFunction )(_SurfaceMeshDecomp *surfaceMeshDecomp, SurfaceMesh *mesh)
typedef void( SurfaceMeshDecomp_ComputeHaloNodesFunction )(_SurfaceMeshDecomp *meshDecomp)
typedef void( SurfaceMeshDecomp_AllocateNodesFunction )(_SurfaceMeshDecomp *meshDecomp)
typedef HaloPackage_t HaloPackage

Functions

_SurfaceMeshDecomp_SurfaceMeshDecomp_New (SizeT _sizeOfSelf, Type type, Stg_Class_DeleteFunction *_delete, Stg_Class_PrintFunction *_print, Stg_Class_CopyFunction *_copy, Stg_Component_DefaultConstructorFunction *_defaultConstructor, Stg_Component_ConstructFunction *_construct, Stg_Component_BuildFunction *_build, Stg_Component_InitialiseFunction *_initialise, Stg_Component_ExecuteFunction *_execute, Stg_Component_DestroyFunction *_destroy, Name name, Bool initFlag, Dictionary *dictionary, SurfaceMesh *_mesh, SurfaceMeshDecomp_SyncMeshFunction *_syncMesh, SurfaceMeshDecomp_ComputeHaloNodesFunction *_computeHaloNodes, SurfaceMeshDecomp_AllocateNodesFunction *_allocateNodes)
void _SurfaceMeshDecomp_Init (_SurfaceMeshDecomp *self)
void _SurfaceMeshDecomp_Print (void *surfaceMeshDecomp, Stream *stream)
void _SurfaceMeshDecomp_Delete (void *surfaceMeshDecomp)
void _SurfaceMeshDecomp_Construct (void *surfaceMeshDecomp, Stg_ComponentFactory *cf)
void _SurfaceMeshDecomp_Build (void *surfaceMeshDecomp, void *data)
void _SurfaceMeshDecomp_Initialise (void *surfaceMeshDecomp, void *data)
void _SurfaceMeshDecomp_Execute (void *surfaceMeshDecomp, void *data)
void _SurfaceMeshDecomp_Destroy (void *surfaceMeshDecomp, void *data)
void _SurfaceMeshDecomp_SyncMesh (_SurfaceMeshDecomp *surfaceMeshDecomp, SurfaceMesh *mesh)
 public functions
void _SurfaceMeshDecomp_ComputeHaloNodes (_SurfaceMeshDecomp *meshDecomp)
void _SurfaceMeshDecomp_AllocateNodes (_SurfaceMeshDecomp *meshDecomp)


Detailed Description

Role: Loads the mesh from various input files, as specified in the xml input file.

Assumptions:

Id
SurfaceMeshDecomp.h 159 2005-07-17 10:11:31Z RaquibulHassan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Definition in file SurfaceMeshDecomp.h.


Define Documentation

#define __SurfaceMeshDecomp
 

Value:

struct{ __Stg_Component }; \
        SurfaceMesh                 *mesh; \
        BTree                       ***processorHaloNodes; \
        BTree                       ***processorForeignHaloNodes; \
        int                         *processorLoad; \
        Dictionary                  *dictionary; \
        SurfaceMeshDecomp_SyncMeshFunction *syncMesh; \
        SurfaceMeshDecomp_ComputeHaloNodesFunction *computeHaloNodes; \
        SurfaceMeshDecomp_AllocateNodesFunction *allocateNodes; \
        HaloPackage                 **incomingHaloPackage; \
        HaloPackage                 **outgoingHaloPackage;

Definition at line 45 of file SurfaceMeshDecomp.h.


Typedef Documentation

typedef struct HaloPackage_t HaloPackage
 

typedef void( SurfaceMeshDecomp_AllocateNodesFunction)(_SurfaceMeshDecomp *meshDecomp)
 

Definition at line 38 of file SurfaceMeshDecomp.h.

typedef void( SurfaceMeshDecomp_ComputeHaloNodesFunction)(_SurfaceMeshDecomp *meshDecomp)
 

Definition at line 36 of file SurfaceMeshDecomp.h.

typedef void( SurfaceMeshDecomp_SyncMeshFunction)(_SurfaceMeshDecomp *surfaceMeshDecomp, SurfaceMesh *mesh)
 

Definition at line 34 of file SurfaceMeshDecomp.h.


Function Documentation

void _SurfaceMeshDecomp_AllocateNodes _SurfaceMeshDecomp meshDecomp  ) 
 

Definition at line 578 of file SurfaceMeshDecomp.c.

void _SurfaceMeshDecomp_Build void *  surfaceMeshDecomp,
void *  data
 

Definition at line 200 of file SurfaceMeshDecomp.c.

References MASTER_PROC, and SurfaceMesh::rank.

Referenced by _SurfaceMeshIrregularDecomp_Build(), and _SurfaceMeshRegularDecomp_Build().

void _SurfaceMeshDecomp_ComputeHaloNodes _SurfaceMeshDecomp meshDecomp  ) 
 

Definition at line 583 of file SurfaceMeshDecomp.c.

References SurfaceMesh::id, _SurfaceMeshDecomp::mesh, SurfaceMesh::nodeNeighbours, SurfaceMesh::numNeigh, SurfaceMesh::numNodes, SurfaceMesh::numProcs, SurfaceMesh::processor, _SurfaceMeshDecomp::processorForeignHaloNodes, and _SurfaceMeshDecomp::processorHaloNodes.

Referenced by SurfaceMeshIrregularDecomp_ComputeHaloNodes(), SurfaceMeshIrregularDecomp_DefaultNew(), SurfaceMeshIrregularDecomp_New(), SurfaceMeshRegularDecomp_ComputeHaloNodes(), SurfaceMeshRegularDecomp_DefaultNew(), and SurfaceMeshRegularDecomp_New().

void _SurfaceMeshDecomp_Construct void *  surfaceMeshDecomp,
Stg_ComponentFactory *  cf
 

Definition at line 195 of file SurfaceMeshDecomp.c.

void _SurfaceMeshDecomp_Delete void *  surfaceMeshDecomp  ) 
 

deleting self

Definition at line 152 of file SurfaceMeshDecomp.c.

References MASTER_PROC, SurfaceMesh::numProcs, and SurfaceMesh::rank.

Referenced by _SurfaceMeshIrregularDecomp_Delete(), and _SurfaceMeshRegularDecomp_Delete().

void _SurfaceMeshDecomp_Destroy void *  surfaceMeshDecomp,
void *  data
 

Definition at line 514 of file SurfaceMeshDecomp.c.

void _SurfaceMeshDecomp_Execute void *  surfaceMeshDecomp,
void *  data
 

Definition at line 227 of file SurfaceMeshDecomp.c.

References BlockingReceive_LinkedList(), BlockingSend_LinkedList(), SurfaceMesh::boundaryConditions, FOREIGN_HALONODE_COUNT_TAG, FOREIGN_HALONODE_ID_TAG, globalMesh, SurfaceMesh::h, HaloPackage_t::h, SurfaceMesh::h0, HALO_PACKAGE_TAG, HALONODE_COUNT_TAG, SurfaceMesh::hi, SurfaceMesh::highestNeighbour, SurfaceMesh::id, HaloPackage_t::id, _SurfaceMeshDecomp::incomingHaloPackage, SurfaceMesh::length, localMesh, MASTER_PROC, _SurfaceMeshDecomp::mesh, MY_LOAD_TAG, SurfaceMesh::myLoad, SurfaceMesh::nCatch, NEIGHBOUR_TAG, SurfaceMesh::nLake, SurfaceMesh::nodeNeighbours, SurfaceMesh::nodeProviders, SurfaceMesh::numNeigh, SurfaceMesh::numNodes, SurfaceMesh::numProcs, _SurfaceMeshDecomp::outgoingHaloPackage, PACKAGE_TAG, SurfaceMesh::processor, _SurfaceMeshDecomp::processorForeignHaloNodes, _SurfaceMeshDecomp::processorHaloNodes, _SurfaceMeshDecomp::processorLoad, PROVIDERS_TAG, SurfaceMesh::rank, SurfaceMesh::receiver, HaloPackage_t::receiver, SIDE_TAG, SurfaceMesh::sides, SurfaceMesh::size, SurfaceMesh::slope, SurfaceMesh::surface, SurfaceMesh_AllocateMemoryForHaloNodes(), SurfaceMesh::x, HaloPackage_t::x, SurfaceMesh::y, and HaloPackage_t::y.

Referenced by _SurfaceMeshIrregularDecomp_Execute(), and _SurfaceMeshRegularDecomp_Execute().

void _SurfaceMeshDecomp_Init _SurfaceMeshDecomp self  ) 
 

Definition at line 95 of file SurfaceMeshDecomp.c.

References MASTER_PROC, SurfaceMesh::numProcs, providersCompareFunction(), providersDataDeleteFunction(), providersDataPrintFunction(), and SurfaceMesh::rank.

Referenced by _SurfaceMeshDecomp_New().

void _SurfaceMeshDecomp_Initialise void *  surfaceMeshDecomp,
void *  data
 

Definition at line 222 of file SurfaceMeshDecomp.c.

_SurfaceMeshDecomp* _SurfaceMeshDecomp_New SizeT  _sizeOfSelf,
Type  type,
Stg_Class_DeleteFunction *  _delete,
Stg_Class_PrintFunction *  _print,
Stg_Class_CopyFunction *  _copy,
Stg_Component_DefaultConstructorFunction *  _defaultConstructor,
Stg_Component_ConstructFunction *  _construct,
Stg_Component_BuildFunction *  _build,
Stg_Component_InitialiseFunction *  _initialise,
Stg_Component_ExecuteFunction *  _execute,
Stg_Component_DestroyFunction *  _destroy,
Name  name,
Bool  initFlag,
Dictionary *  dictionary,
SurfaceMesh _mesh,
SurfaceMeshDecomp_SyncMeshFunction _syncMesh,
SurfaceMeshDecomp_ComputeHaloNodesFunction _computeHaloNodes,
SurfaceMeshDecomp_AllocateNodesFunction _allocateNodes
 

Definition at line 49 of file SurfaceMeshDecomp.c.

References _SurfaceMeshDecomp_Init().

Referenced by _SurfaceMeshIrregularDecomp_New(), and _SurfaceMeshRegularDecomp_New().

void _SurfaceMeshDecomp_Print void *  surfaceMeshDecomp,
Stream *  stream
 

Definition at line 134 of file SurfaceMeshDecomp.c.

Referenced by _SurfaceMeshIrregularDecomp_Print(), and _SurfaceMeshRegularDecomp_Print().

void _SurfaceMeshDecomp_SyncMesh _SurfaceMeshDecomp surfaceMeshDecomp,
SurfaceMesh mesh
 

public functions

Definition at line 521 of file SurfaceMeshDecomp.c.

References SurfaceMeshForeignHaloNodes::foreignHaloId, SurfaceMesh::foreignHaloNodes, SurfaceMeshHaloNodes::h, SurfaceMesh::h, HaloPackage_t::h, HALO_PACKAGE_TAG, SurfaceMeshHaloNodes::haloId, SurfaceMesh::haloNodes, HaloPackage_t::id, _SurfaceMeshDecomp::incomingHaloPackage, SurfaceMesh::mapGlobalToLocal, SurfaceMesh::myLoad, SurfaceMeshForeignHaloNodes::numForeignHaloNodes, SurfaceMeshHaloNodes::numHaloNodes, SurfaceMesh::numProcs, _SurfaceMeshDecomp::outgoingHaloPackage, SurfaceMesh::rank, SurfaceMeshHaloNodes::receiver, SurfaceMesh::receiver, HaloPackage_t::receiver, SurfaceMeshHaloNodes::x, SurfaceMesh::x, HaloPackage_t::x, SurfaceMeshHaloNodes::y, SurfaceMesh::y, and HaloPackage_t::y.

Referenced by SurfaceMeshIrregularDecomp_DefaultNew(), SurfaceMeshIrregularDecomp_New(), SurfaceMeshIrregularDecomp_SyncMesh(), SurfaceMeshRegularDecomp_DefaultNew(), SurfaceMeshRegularDecomp_New(), and SurfaceMeshRegularDecomp_SyncMesh().