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

SurfaceMeshDecomp.c File Reference

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

#include <mpi.h>
#include <StGermain/StGermain.h>
#include <Cascade/cascade.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <math.h>
#include <limits.h>
#include "types.h"
#include "SurfaceMeshDecomp.h"
#include "SurfaceMesh.h"
#include "Misc.h"
#include "CommHandler.h"

Include dependency graph for SurfaceMeshDecomp.c:

Go to the source code of this file.

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_AllocateNodes (_SurfaceMeshDecomp *meshDecomp)
void _SurfaceMeshDecomp_ComputeHaloNodes (_SurfaceMeshDecomp *meshDecomp)

Variables

const Type SurfaceMeshDecomp_Type = "_SurfaceMeshDecomp"


Detailed Description

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

Assumptions:

Id
_SurfaceMeshDecomp.c 159 2005-07-17 10:11:31Z RaquibulHassan

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

Definition in file SurfaceMeshDecomp.c.


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, HaloPackage_t::h, SurfaceMesh::h, SurfaceMesh::h0, HALO_PACKAGE_TAG, HALONODE_COUNT_TAG, SurfaceMesh::hi, SurfaceMesh::highestNeighbour, HaloPackage_t::id, SurfaceMesh::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, HaloPackage_t::receiver, SurfaceMesh::receiver, SIDE_TAG, SurfaceMesh::sides, SurfaceMesh::size, SurfaceMesh::slope, SurfaceMesh::surface, SurfaceMesh_AllocateMemoryForHaloNodes(), HaloPackage_t::x, SurfaceMesh::x, HaloPackage_t::y, and SurfaceMesh::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, HaloPackage_t::h, SurfaceMesh::h, SurfaceMeshHaloNodes::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, HaloPackage_t::receiver, SurfaceMesh::receiver, SurfaceMeshHaloNodes::receiver, HaloPackage_t::x, SurfaceMesh::x, SurfaceMeshHaloNodes::x, HaloPackage_t::y, SurfaceMesh::y, and SurfaceMeshHaloNodes::y.

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


Variable Documentation

const Type SurfaceMeshDecomp_Type = "_SurfaceMeshDecomp"
 

Definition at line 47 of file SurfaceMeshDecomp.c.