[cig-commits] r4871 - in long/3D/Gale/trunk/src/StGermain: .
Discretisation/Mesh/src
walter at geodynamics.org
walter at geodynamics.org
Wed Oct 11 13:48:00 PDT 2006
Author: walter
Date: 2006-10-11 13:47:59 -0700 (Wed, 11 Oct 2006)
New Revision: 4871
Modified:
long/3D/Gale/trunk/src/StGermain/
long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.c
Log:
r2928 at earth: boo | 2006-10-11 13:42:45 -0700
r2844 at earth (orig r3832): LukeHodkinson | 2006-10-04 18:23:21 -0700
Updated to use new geometry generation.
Property changes on: long/3D/Gale/trunk/src/StGermain
___________________________________________________________________
Name: svk:merge
- 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2927
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3831
+ 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2928
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3832
Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.c 2006-10-11 20:47:56 UTC (rev 4870)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/MeshClass.c 2006-10-11 20:47:59 UTC (rev 4871)
@@ -87,12 +87,12 @@
}
Mesh* Mesh_New(
- Name name,
- void* layout,
- SizeT _nodeSize,
- SizeT _elementSize,
- void* extensionMgr_Register,
- Dictionary* dictionary )
+ Name name,
+ void* layout,
+ SizeT _nodeSize,
+ SizeT _elementSize,
+ void* extensionMgr_Register,
+ Dictionary* dictionary )
{
return _Mesh_New(
sizeof(Mesh),
@@ -121,13 +121,13 @@
void Mesh_Init(
- Mesh* self,
- Name name,
- void* layout,
- SizeT _nodeSize,
- SizeT _elementSize,
- void* extensionMgr_Register,
- Dictionary* dictionary )
+ Mesh* self,
+ Name name,
+ void* layout,
+ SizeT _nodeSize,
+ SizeT _elementSize,
+ void* extensionMgr_Register,
+ Dictionary* dictionary )
{
/* General info */
self->type = Mesh_Type;
@@ -141,11 +141,11 @@
self->_copy = _Mesh_Copy;
self->_defaultConstructor = (void* (*)(Name))Mesh_DefaultNew;
self->_construct = _Mesh_Construct,
- self->_build = _Mesh_Build;
+ self->_build = _Mesh_Build;
self->_initialise = _Mesh_Initialise;
self->_execute = _Mesh_Execute;
self->_destroy = _Mesh_Destroy,
- self->nodeIsLocal = _Mesh_Node_IsLocal1D;
+ self->nodeIsLocal = _Mesh_Node_IsLocal1D;
self->nodeIsShadow = _Mesh_Node_IsShadow1D;
self->elementIsLocal = _Mesh_Element_IsLocal1D;
self->elementIsShadow = _Mesh_Element_IsShadow1D;
@@ -159,35 +159,35 @@
Mesh* _Mesh_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* _destProc_Iroy,
- Name name,
- Bool initFlag,
- Mesh_Node_IsLocalFunction* _nodeIsLocal,
- Mesh_Node_IsShadowFunction* _nodeIsShadow,
- Mesh_Element_IsLocalFunction* _elementIsLocal,
- Mesh_Element_IsShadowFunction* _elementIsShadow,
- void* layout,
- SizeT nodeSize,
- SizeT elementSize,
- void* extensionMgr_Register,
- Dictionary* dictionary )
+ 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* _destProc_Iroy,
+ Name name,
+ Bool initFlag,
+ Mesh_Node_IsLocalFunction* _nodeIsLocal,
+ Mesh_Node_IsShadowFunction* _nodeIsShadow,
+ Mesh_Element_IsLocalFunction* _elementIsLocal,
+ Mesh_Element_IsShadowFunction* _elementIsShadow,
+ void* layout,
+ SizeT nodeSize,
+ SizeT elementSize,
+ void* extensionMgr_Register,
+ Dictionary* dictionary )
{
Mesh* self;
/* Allocate memory */
assert( _sizeOfSelf >= sizeof(Mesh) );
self = (Mesh*)_Stg_Component_New( _sizeOfSelf, type, _delete, _print, _copy, _defaultConstructor, _construct, _build,
- _initialise, _execute, _destProc_Iroy, name, NON_GLOBAL );
+ _initialise, _execute, _destProc_Iroy, name, NON_GLOBAL );
/* General info */
self->dictionary = dictionary;
@@ -207,11 +207,11 @@
}
void _Mesh_Init(
- Mesh* self,
- void* layout,
- SizeT _nodeSize,
- SizeT _elementSize,
- void* extensionMgr_Register )
+ Mesh* self,
+ void* layout,
+ SizeT _nodeSize,
+ SizeT _elementSize,
+ void* extensionMgr_Register )
{
/* General and Virtual info should already be set */
@@ -245,25 +245,25 @@
self->nodeElementTbl = 0;
self->nodeElementCountTbl = 0;
/* By default, build the local to global table for speed. The global to local tables are
- potentially memory-hungry for large parallel runs, so don't build them by default */
+ potentially memory-hungry for large parallel runs, so don't build them by default */
self->buildNodeLocalToGlobalMap = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildNodeLocalToGlobalMap",
- Dictionary_Entry_Value_FromBool( True ) ) );
+ Dictionary_Entry_Value_FromBool( True ) ) );
self->buildNodeDomainToGlobalMap = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildNodeDomainToGlobalMap",
- Dictionary_Entry_Value_FromBool( True ) ) );
+ Dictionary_Entry_Value_FromBool( True ) ) );
self->buildNodeGlobalToLocalMap = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildNodeGlobalToLocalMap",
- Dictionary_Entry_Value_FromBool( False ) ) );
+ Dictionary_Entry_Value_FromBool( False ) ) );
self->buildNodeGlobalToDomainMap = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildNodeGlobalToDomainMap",
- Dictionary_Entry_Value_FromBool( True ) ) );
+ Dictionary_Entry_Value_FromBool( True ) ) );
self->buildNodeNeighbourTbl = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildNodeNeighbourTbl",
- Dictionary_Entry_Value_FromBool( True ) ) );
+ Dictionary_Entry_Value_FromBool( True ) ) );
self->buildNodeElementTbl = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildNodeElementTbl",
- Dictionary_Entry_Value_FromBool( False ) ) );
+ Dictionary_Entry_Value_FromBool( False ) ) );
self->ownsNodeLocalToGlobalMap = True;
self->ownsNodeDomainToGlobalMap = True;
self->ownsNodeGlobalToDomainMap = True;
@@ -288,25 +288,25 @@
self->elementNeighbourCountTbl = 0;
self->buildElementLocalToGlobalMap = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildElementLocalToGlobalMap",
- Dictionary_Entry_Value_FromBool( True ) ) );
+ Dictionary_Entry_Value_FromBool( True ) ) );
self->buildElementDomainToGlobalMap = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildElementDomainToGlobalMap",
- Dictionary_Entry_Value_FromBool( True ) ) );
+ Dictionary_Entry_Value_FromBool( True ) ) );
self->buildElementGlobalToLocalMap = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildElementGlobalToLocalMap",
- Dictionary_Entry_Value_FromBool( False ) ) );
+ Dictionary_Entry_Value_FromBool( False ) ) );
self->buildElementGlobalToDomainMap = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildElementGlobalToDomainMap",
- Dictionary_Entry_Value_FromBool( False ) ) );
+ Dictionary_Entry_Value_FromBool( False ) ) );
self->buildElementNodeTbl = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildElementNodeTbl",
- Dictionary_Entry_Value_FromBool( False ) ) );
+ Dictionary_Entry_Value_FromBool( False ) ) );
self->buildElementNeighbourTbl = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildElementNeighbourTbl",
- Dictionary_Entry_Value_FromBool( False ) ) );
+ Dictionary_Entry_Value_FromBool( False ) ) );
self->buildTemporaryGlobalTables = Dictionary_Entry_Value_AsBool(
Dictionary_GetDefault( self->dictionary, "buildTemporaryGlobalTables",
- Dictionary_Entry_Value_FromBool( True ) ) );
+ Dictionary_Entry_Value_FromBool( True ) ) );
self->ownsElementLocalToGlobalMap = True;
self->ownsElementDomainToGlobalMap = True;
self->ownsElementGlobalToDomainMap = True;
@@ -403,7 +403,7 @@
void Mesh_DestroyTables( void* mesh ) {
Mesh* self = (Mesh*)mesh;
- /* Because remeshing may have the same connectivity, we may want to pass this onto the new mesh, hence "owns" flags */
+ /* Because remeshing may have the same connectivity, we may want to pass this onto the new mesh, hence "owns" flags */
if( self->ownsElementNeighbourTbl && self->elementNeighbourTbl ) {
Memory_Free( self->elementNeighbourTbl );
}
@@ -421,7 +421,7 @@
}
/* Note: G2D is same ptr as G2L if both active and no shadowing */
if( self->ownsElementGlobalToLocalMap && self->elementG2L &&
- !(self->elementG2D && (self->nodeShadowCount == 0) ) )
+ !(self->elementG2D && (self->nodeShadowCount == 0) ) )
{
Memory_Free( self->elementG2L );
}
@@ -449,7 +449,7 @@
}
/* G2D is same ptr as G2L if both active and no shadowing */
if( self->ownsNodeGlobalToLocalMap && self->nodeG2L &&
- !(self->nodeG2D && (self->nodeShadowCount == 0) ) )
+ !(self->nodeG2D && (self->nodeShadowCount == 0) ) )
{
Memory_Free( self->nodeG2L );
}
@@ -614,13 +614,13 @@
Journal_Printf( stream, "\tnodeNeighbourCountTbl (ptr): %p\n", self->nodeNeighbourCountTbl );
Journal_Printf( stream, "\townsNodeNeighbourTbl: %u\n", self->ownsNodeNeighbourTbl );
_Mesh_Print2DTable( stream, self->nodeNeighbourTbl, self->nodeNeighbourCountTbl, "nodeNeighbourTbl",
- self->nodeDomainCount );
+ self->nodeDomainCount );
Journal_Printf( stream, "\townsNodeElementCountTbl: %u\n", self->ownsNodeElementCountTbl );
Journal_Printf( stream, "\tnodeElementCountTbl (ptr): %p\n", self->nodeElementCountTbl );
Journal_Printf( stream, "\townsNodeElementTbl: %u\n", self->ownsNodeElementTbl );
_Mesh_Print2DTable( stream, self->nodeElementTbl, self->nodeElementCountTbl, "nodeElementTbl",
- self->nodeDomainCount );
+ self->nodeDomainCount );
/* Element */
Journal_Printf( stream, "\telement (ptr): %p\n", self->element );
@@ -642,12 +642,12 @@
Journal_Printf( stream, "\telementNeighbourCountTbl (ptr): %p\n", self->elementNeighbourCountTbl );
Journal_Printf( stream, "\townsElementNeighbourTbl: %u\n", self->ownsElementNeighbourTbl );
_Mesh_Print2DTable( stream, self->elementNeighbourTbl, self->elementNeighbourCountTbl, "elementNeighbourTbl",
- self->elementDomainCount );
+ self->elementDomainCount );
Journal_Printf( stream, "\townsElementNodeCountTbl: %u\n", self->ownsElementNodeCountTbl );
Journal_Printf( stream, "\telementNodeCountTbl (ptr): %p\n", self->elementNodeCountTbl );
Journal_Printf( stream, "\townsElementNodeTbl: %u\n", self->ownsElementNodeTbl );
_Mesh_Print2DTable( stream, self->elementNodeTbl, self->elementNodeCountTbl, "elementNodeTbl",
- self->elementDomainCount );
+ self->elementDomainCount );
/* sync info */
Journal_Printf( stream, "\tprocNbrCnt: %d\n", self->procNbrInfo->procNbrCnt );
@@ -666,7 +666,7 @@
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
Journal_Printf( stream, "\t\telementShadowInfo->procShadowedCnt[%d]: %d\n", nbr_I,
- self->elementShadowInfo->procShadowedCnt[nbr_I] );
+ self->elementShadowInfo->procShadowedCnt[nbr_I] );
}
}
Journal_Printf( stream, "\telementShadowInfo->procShadowedTbl (ptr): %p\n", self->elementShadowInfo->procShadowedTbl );
@@ -675,13 +675,13 @@
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
Journal_Printf( stream, "\t\telementShadowInfo->procShadowedTbl[%d] (ptr): %p\n", nbr_I,
- self->elementShadowInfo->procShadowedTbl[nbr_I] );
+ self->elementShadowInfo->procShadowedTbl[nbr_I] );
if( self->elementShadowInfo->procShadowedTbl[nbr_I] ) {
Element_LocalIndex element_lI;
for( element_lI = 0; element_lI < self->elementShadowInfo->procShadowedCnt[nbr_I]; element_lI++ ) {
Journal_Printf( stream, "\t\t\telementShadowInfo->procShadowedTbl[%d][%d]: %d\n", nbr_I, element_lI,
- self->elementShadowInfo->procShadowedTbl[nbr_I][element_lI] );
+ self->elementShadowInfo->procShadowedTbl[nbr_I][element_lI] );
}
}
}
@@ -693,7 +693,7 @@
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
Journal_Printf( stream, "\t\telementShadowInfo->procShadowCnt[%d]: %d\n", nbr_I,
- self->elementShadowInfo->procShadowCnt[nbr_I] );
+ self->elementShadowInfo->procShadowCnt[nbr_I] );
}
}
Journal_Printf( stream, "\telementShadowInfo->procShadowTbl (ptr): %p\n", self->elementShadowInfo->procShadowTbl );
@@ -702,13 +702,13 @@
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
Journal_Printf( stream, "\t\telementShadowInfo->procShadowTbl[%d] (ptr): %p\n", nbr_I,
- self->elementShadowInfo->procShadowTbl[nbr_I] );
+ self->elementShadowInfo->procShadowTbl[nbr_I] );
if( self->elementShadowInfo->procShadowTbl[nbr_I] ) {
Element_ShadowIndex element_sI;
for( element_sI = 0; element_sI < self->elementShadowInfo->procShadowCnt[nbr_I]; element_sI++ ) {
Journal_Printf( stream, "\t\t\telementShadowInfo->procShadowTbl[%d][%d]: %d\n", nbr_I, element_sI,
- self->elementShadowInfo->procShadowTbl[nbr_I][element_sI] );
+ self->elementShadowInfo->procShadowTbl[nbr_I][element_sI] );
}
}
}
@@ -720,7 +720,7 @@
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
Journal_Printf( stream, "\t\tnodeShadowInfo->procShadowedCnt[%d]: %d\n", nbr_I,
- self->nodeShadowInfo->procShadowedCnt[nbr_I] );
+ self->nodeShadowInfo->procShadowedCnt[nbr_I] );
}
}
Journal_Printf( stream, "\tnodeShadowInfo->procShadowedTbl (ptr): %p\n", self->nodeShadowInfo->procShadowedTbl );
@@ -729,13 +729,13 @@
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
Journal_Printf( stream, "\t\tnodeShadowInfo->procShadowedTbl[%d] (ptr): %p\n", nbr_I,
- self->nodeShadowInfo->procShadowedTbl[nbr_I] );
+ self->nodeShadowInfo->procShadowedTbl[nbr_I] );
if( self->nodeShadowInfo->procShadowedTbl[nbr_I] ) {
Node_LocalIndex node_lI;
for( node_lI = 0; node_lI < self->nodeShadowInfo->procShadowedCnt[nbr_I]; node_lI++ ) {
Journal_Printf( stream, "\t\t\tnodeShadowInfo->procShadowedTbl[%d][%d]: %d\n", nbr_I, node_lI,
- self->nodeShadowInfo->procShadowedTbl[nbr_I][node_lI] );
+ self->nodeShadowInfo->procShadowedTbl[nbr_I][node_lI] );
}
}
}
@@ -747,7 +747,7 @@
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
Journal_Printf( stream, "\t\tnodeShadowInfo->procShadowCnt[%d]: %d\n", nbr_I,
- self->nodeShadowInfo->procShadowCnt[nbr_I] );
+ self->nodeShadowInfo->procShadowCnt[nbr_I] );
}
}
Journal_Printf( stream, "\tnodeShadowInfo->procShadowTbl (ptr): %p\n", self->nodeShadowInfo->procShadowTbl );
@@ -756,13 +756,13 @@
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
Journal_Printf( stream, "\t\tnodeShadowInfo->procShadowTbl[%d] (ptr): %p\n", nbr_I,
- self->nodeShadowInfo->procShadowTbl[nbr_I] );
+ self->nodeShadowInfo->procShadowTbl[nbr_I] );
if( self->nodeShadowInfo->procShadowTbl[nbr_I] ) {
Node_ShadowIndex node_sI;
for( node_sI = 0; node_sI < self->nodeShadowInfo->procShadowCnt[nbr_I]; node_sI++ ) {
Journal_Printf( stream, "\t\t\tnodeShadowInfo->procShadowTbl[%d][%d]: %d\n", nbr_I, node_sI,
- self->nodeShadowInfo->procShadowTbl[nbr_I][node_sI] );
+ self->nodeShadowInfo->procShadowTbl[nbr_I][node_sI] );
}
}
}
@@ -783,7 +783,7 @@
for( item_I = 0; item_I < itemCount; item_I++ ) {
coordPtr = &self->nodeCoord[item_I];
Journal_Printf( meshStream, "(%.2f,%.2f,%.2f), ", (*coordPtr)[0], (*coordPtr)[1],
- (*coordPtr)[2] );
+ (*coordPtr)[2] );
}
Journal_Printf( meshStream, "\n" );
}
@@ -998,7 +998,7 @@
/* TODO: should we add the option to not build elements for FD
- schemes? will have to think about repercussions */
+ schemes? will have to think about repercussions */
_Mesh_BuildElements( self );
/* Build element tables */
@@ -1025,7 +1025,6 @@
/* Allocate node array (local node array appended by shadow node arrays) */
self->node = (Node_List)ExtensionManager_Malloc( self->nodeExtensionMgr, self->nodeDomainCount );
- self->nodeCoord = Memory_Alloc_Array( Coord, self->nodeDomainCount, "Mesh->nodeCoord" );
}
@@ -1058,8 +1057,8 @@
}
if( self->buildNodeGlobalToLocalMap ) {
/* if we have build nodeG2D, and no shadowing is active, then
- nodeG2L will be exactly the same as it - just share the
- pointer */
+ nodeG2L will be exactly the same as it - just share the
+ pointer */
if ( self->nodeG2D && (0 == self->nodeShadowCount) ) {
self->nodeG2L = self->nodeG2D;
}
@@ -1091,7 +1090,7 @@
}
self->nodeNeighbourCountTbl = Memory_Alloc_Array( Node_NeighbourIndex, self->nodeDomainCount,
- "Mesh->nodeNeighbourCountTbl" );
+ "Mesh->nodeNeighbourCountTbl" );
/* Build complex 2D array indices */
for( dNode_I = 0; dNode_I < self->nodeDomainCount; dNode_I++ ) {
@@ -1100,7 +1099,7 @@
}
self->nodeNeighbourTbl = Memory_Alloc_2DComplex( Node_DomainIndex, self->nodeDomainCount, self->nodeNeighbourCountTbl,
- "Mesh->nodeNeighbourTbl" );
+ "Mesh->nodeNeighbourTbl" );
/* Build neighbour list */
for( dNode_I = 0; dNode_I < self->nodeDomainCount; dNode_I++ ) {
@@ -1112,7 +1111,7 @@
/* TODO: should change nLayout to store in local indices */
for( neighbourIndex = 0; neighbourIndex < self->nodeNeighbourCountTbl[dNode_I]; neighbourIndex++ ) {
self->nodeNeighbourTbl[dNode_I][neighbourIndex] = Mesh_NodeMapGlobalToDomain( self,
- self->nodeNeighbourTbl[dNode_I][neighbourIndex] );
+ self->nodeNeighbourTbl[dNode_I][neighbourIndex] );
}
}
@@ -1157,7 +1156,7 @@
}
self->nodeElementTbl = (Node_ElementsList)Memory_Alloc_2DComplex( Element_DomainIndex,
- self->nodeDomainCount, self->nodeElementCountTbl, "Mesh->nodeElementTbl" );
+ self->nodeDomainCount, self->nodeElementCountTbl, "Mesh->nodeElementTbl" );
/* Build element list */
for( dNode_I = 0; dNode_I < self->nodeDomainCount; dNode_I++ ) {
@@ -1168,7 +1167,7 @@
/* self->nodeElementTbl currently stores global indices... map to node array indices */
for( elementIndex = 0; elementIndex < self->nodeElementCountTbl[dNode_I]; elementIndex++ ) {
self->nodeElementTbl[dNode_I][elementIndex] = Mesh_ElementMapGlobalToDomain( self,
- self->nodeElementTbl[dNode_I][elementIndex] );
+ self->nodeElementTbl[dNode_I][elementIndex] );
}
}
@@ -1205,8 +1204,8 @@
}
if( self->buildElementGlobalToLocalMap ) {
/* if we have build elementG2D, and no shadowing is active, then
- elementG2L will be exactly the same as it - just share the
- pointer */
+ elementG2L will be exactly the same as it - just share the
+ pointer */
if ( self->elementG2D && (0 == self->elementShadowCount) ) {
self->elementG2L = self->elementG2D;
}
@@ -1238,14 +1237,14 @@
elementG2DBuiltTemporarily = True;
}
self->elementNeighbourCountTbl = Memory_Alloc_Array( Element_NeighbourIndex, self->elementDomainCount,
- "Mesh->elementNeighbourCountTbl" );
+ "Mesh->elementNeighbourCountTbl" );
/* Build complex 2D array indices */
for( dElement_I = 0; dElement_I < self->elementDomainCount; dElement_I++ ) {
self->elementNeighbourCountTbl[dElement_I] = topology->neighbourCount( topology, elementD2G[dElement_I] );
}
self->elementNeighbourTbl = Memory_Alloc_2DComplex( Element_DomainIndex, self->elementDomainCount,
- self->elementNeighbourCountTbl, "Mesh->elementNeighbourTbl" );
+ self->elementNeighbourCountTbl, "Mesh->elementNeighbourTbl" );
/* Build neighbour list */
for( dElement_I = 0; dElement_I < self->elementDomainCount; dElement_I++ ) {
@@ -1257,7 +1256,7 @@
/* TODO: should change eLayout to store in local indices */
for( neighbourIndex = 0; neighbourIndex < self->elementNeighbourCountTbl[dElement_I]; neighbourIndex++ ) {
self->elementNeighbourTbl[dElement_I][neighbourIndex] = Mesh_ElementMapGlobalToDomain( self,
- self->elementNeighbourTbl[dElement_I][neighbourIndex] );
+ self->elementNeighbourTbl[dElement_I][neighbourIndex] );
}
}
@@ -1302,7 +1301,7 @@
}
self->elementNodeTbl = Memory_Alloc_2DComplex( Node_DomainIndex,
- self->elementDomainCount, self->elementNodeCountTbl, "Mesh->elementNodeTbl" );
+ self->elementDomainCount, self->elementNodeCountTbl, "Mesh->elementNodeTbl" );
/* Build element list */
for( dElement_I = 0; dElement_I < self->elementDomainCount; dElement_I++ ) {
@@ -1313,7 +1312,7 @@
/* self->elementNodesTbl currently stores global indices... map to element array indices */
for( nodeIndex = 0; nodeIndex < self->elementNodeCountTbl[dElement_I]; nodeIndex++ ) {
self->elementNodeTbl[dElement_I][nodeIndex] = Mesh_NodeMapGlobalToDomain( self,
- self->elementNodeTbl[dElement_I][nodeIndex] );
+ self->elementNodeTbl[dElement_I][nodeIndex] );
}
}
@@ -1429,7 +1428,7 @@
Mesh* self = (Mesh*)mesh;
if ( ( globalIndex >= self->nodeGlobalCount ) ||
- (0 == self->nodeShadowCount ) )
+ (0 == self->nodeShadowCount ) )
{
return Mesh_Node_Invalid( self );
}
@@ -1449,7 +1448,7 @@
}
-#define M_N_IsL1D( self, localIndex ) \
+#define M_N_IsL1D( self, localIndex ) \
((localIndex) < (self)->nodeLocalCount ? True : False)
Bool _Mesh_Node_IsLocal1D( void* mesh, Node_LocalIndex localIndex ) {
@@ -1457,7 +1456,7 @@
}
-#define M_N_IsS1D( self, shadowIndex ) \
+#define M_N_IsS1D( self, shadowIndex ) \
((shadowIndex) < (self)->nodeShadowCount ? True : False)
Bool _Mesh_Node_IsShadow1D( void* mesh, Node_ShadowIndex shadowIndex ) {
@@ -1552,7 +1551,7 @@
Mesh* self = (Mesh*)mesh;
if ( ( globalIndex >= self->elementGlobalCount ) ||
- (0 == self->elementShadowCount ) )
+ (0 == self->elementShadowCount ) )
{
return Mesh_Element_Invalid( self );
}
@@ -1572,7 +1571,7 @@
}
-#define M_E_IsL1D( self, localIndex ) \
+#define M_E_IsL1D( self, localIndex ) \
(((localIndex) < (self)->nodeLocalCount) ? True : False)
Bool _Mesh_Element_IsLocal1D( void* mesh, Element_LocalIndex localIndex ) {
@@ -1580,7 +1579,7 @@
}
-#define M_E_IsS1D( self, shadowIndex ) \
+#define M_E_IsS1D( self, shadowIndex ) \
(((shadowIndex) < (self)->nodeShadowCount) ? True : False)
Bool _Mesh_Element_IsShadow1D( void* mesh, Element_ShadowIndex shadowIndex ) {
@@ -1629,7 +1628,7 @@
for ( node_elLocalI = 0; node_elLocalI < currElementNodeCount; node_elLocalI++ ) {
coordPtr = coordPtrs[node_elLocalI];
Journal_Printf( stream, "(%.2f,%.2f,%.2f), ", (*coordPtr)[0], (*coordPtr)[1],
- (*coordPtr)[2] );
+ (*coordPtr)[2] );
}
Journal_Printf( stream, "\n" );
Memory_Free( coordPtrs );
@@ -1759,12 +1758,14 @@
Neighbour_Index nbr_I;
assert( self );
-
+
+#if 0
if( self->layout->decomp->shadowDepth == 0 || self->layout->decomp->procsInUse == 1 ) {
printf( "Warning: attempting to sync a mesh under inappropriate circumstances (either\
shadowDepth = 0 or only one CPU in use)." );
return;
}
+#endif
/*
@@ -1781,7 +1782,7 @@
size = finalSize * self->elementShadowInfo->procShadowCnt[nbr_I];
MPI_Irecv( self->syncElementTbl[nbr_I], size, MPI_BYTE, srcProc_I, tagElementExt, comm,
- &self->syncRequestTbl[nbr_I][0] );
+ &self->syncRequestTbl[nbr_I][0] );
}
if( self->nodeShadowInfo->procShadowCnt[nbr_I] ) {
@@ -1790,12 +1791,12 @@
/* receive the node coords */
size = sizeof(Coord) * self->nodeShadowInfo->procShadowCnt[nbr_I];
MPI_Irecv( self->syncNodeCoordTbl[nbr_I], size, MPI_BYTE, srcProc_I, tagNodeCoord, comm,
- &self->syncRequestTbl[nbr_I][1] );
+ &self->syncRequestTbl[nbr_I][1] );
/* recieve the nodes */
size = finalSize * self->nodeShadowInfo->procShadowCnt[nbr_I];
MPI_Irecv( self->syncNodeTbl[nbr_I], size, MPI_BYTE, srcProc_I, tagNodeExt, comm,
- &self->syncRequestTbl[nbr_I][2] );
+ &self->syncRequestTbl[nbr_I][2] );
}
}
@@ -1916,13 +1917,32 @@
NodeLayout* nLayout = self->layout->nodeLayout;
Node_DomainIndex index;
- for( index = 0; index < self->nodeDomainCount; index++ ) {
- Node_GlobalIndex globalIndex;
+ /* If we're using the new generation methods, skip this bit. */
+ if( !self->nodeCoord ) {
+ self->nodeCoord = Memory_Alloc_Array( Coord, self->nodeDomainCount, "Mesh->nodeCoord" );
+ for( index = 0; index < self->nodeDomainCount; index++ ) {
+ Node_GlobalIndex globalIndex;
- globalIndex = Mesh_NodeMapDomainToGlobal( self, index );
- nLayout->nodeCoordAt( nLayout, globalIndex, self->nodeCoord[index] );
+ globalIndex = Mesh_NodeMapDomainToGlobal( self, index );
+ nLayout->nodeCoordAt( nLayout, globalIndex, self->nodeCoord[index] );
+ }
}
+ else {
+ Coord* newCoords;
+ unsigned n_i;
+ newCoords = Memory_Alloc_Array( Coord, self->nodeDomainCount, "Mesh->nodeCoord" );
+ for( n_i = 0; n_i < MeshTopology_GetDomainSize( self->topo, MT_VERTEX ); n_i++ ) {
+ unsigned dInd;
+
+ dInd = MeshTopology_DomainToGlobal( self->topo, MT_VERTEX, n_i );
+ dInd = Mesh_NodeMapGlobalToDomain( self, dInd );
+ memcpy( newCoords[dInd], self->nodeCoord[n_i], sizeof(Coord) );
+ }
+ FreeArray( self->nodeCoord );
+ self->nodeCoord = newCoords;
+ }
+
/* After we collect initial node geometries, we need to flag the element geometry so. */
if( !strcmp( self->layout->elementLayout->geometry->type, MeshGeometry_Type ) ) {
((MeshGeometry*)self->layout->elementLayout->geometry)->useMesh = True;
@@ -1983,23 +2003,23 @@
/* Build the set of valid proc neighbours */
/* modified by PatrickSunter, 16 May 2006 :
- For periodic problems the nbrs aren't necessarily unique, so we need to check
- to avoid adding the same one twice.
+ For periodic problems the nbrs aren't necessarily unique, so we need to check
+ to avoid adding the same one twice.
Also, previously this part used to check for but silently ignore
nbrs pointing to inactive processors, but this is no good as it has to
be the responsibility of the meshDecomp to adjust its own procTopology if there are
inactive processors, and return adjusted nbrs accordingly - since otherwise things
such as periodicity may not work.
- */
+ */
nbrCnt = procTop->neighbourCount( procTop, myRank );
tempNbrArray = Memory_Alloc_Array( NeighbourIndex, nbrCnt, "tempNbrArray" );
/* Just allocate the procNbrTbl to be the same size, even if there might be duplicates:
- doesn't hurt to have a few blank spots in the array so long as count is correct */
+ doesn't hurt to have a few blank spots in the array so long as count is correct */
self->procNbrInfo->procNbrTbl = Memory_Alloc_Array( NeighbourIndex, nbrCnt, "Mesh->procNbrTbl" );
procTop->buildNeighbours( procTop, myRank, tempNbrArray );
- #if DEBUG
+#if DEBUG
if ( 0 == strcmp( IJK26Topology_Type, procTop->type ) ) {
Journal_DPrintf( self->debug, "Calculated my neighbour processor are:\n" );
Stream_Indent( self->debug );
@@ -2008,31 +2028,31 @@
((IJK26Topology*)procTop)->dynamicSizes = True;
Stream_UnIndent( self->debug );
}
- #endif
+#endif
Stream_Indent( self->debug );
self->procNbrInfo->procNbrCnt = 0;
/* Ok, now search through the temp list, and only add the unique Ids to our real list */
for( nbr_I = 0; nbr_I < nbrCnt; nbr_I++ ) {
Journal_Firewall( tempNbrArray[nbr_I] < decomp->procsInUse, errorStream,
- "Error - in %s() on proc %u: nbr %u in my ProcNbrInfo mapped "
- "to processor ID %u, which is >= calculated "
- "procs in use %u! Check the decomp info.\n",
- __func__, myRank, nbr_I, tempNbrArray[nbr_I], decomp->procsInUse );
+ "Error - in %s() on proc %u: nbr %u in my ProcNbrInfo mapped "
+ "to processor ID %u, which is >= calculated "
+ "procs in use %u! Check the decomp info.\n",
+ __func__, myRank, nbr_I, tempNbrArray[nbr_I], decomp->procsInUse );
/* Check the current candidate in temp list for equality against prev acceptances */
for ( prevNbr_I = 0; prevNbr_I < self->procNbrInfo->procNbrCnt; prevNbr_I++ ) {
if ( self->procNbrInfo->procNbrTbl[prevNbr_I] == tempNbrArray[nbr_I] )
{
Journal_DPrintfL( self->debug, 2, "In %s() on proc %u: nbr %u in my "
- "ProcNbrInfo mapped to proc ID %u, but have already added that "
- "processor to unique nbr list - ignoring duplicate.\n",
- __func__, myRank, nbr_I, tempNbrArray[nbr_I] );
+ "ProcNbrInfo mapped to proc ID %u, but have already added that "
+ "processor to unique nbr list - ignoring duplicate.\n",
+ __func__, myRank, nbr_I, tempNbrArray[nbr_I] );
break;
}
}
/* Only if we successfully checked each prev should we accept the new one - otherwise
- let it get over-written by not incrementing the count */
+ let it get over-written by not incrementing the count */
if ( prevNbr_I == self->procNbrInfo->procNbrCnt ) {
self->procNbrInfo->procNbrTbl[self->procNbrInfo->procNbrCnt] = tempNbrArray[nbr_I];
self->procNbrInfo->procNbrCnt++;
@@ -2041,14 +2061,14 @@
Stream_UnIndent( self->debug );
Memory_Free( tempNbrArray );
- #if DEBUG
+#if DEBUG
Journal_DPrintf( self->debug, "Calculated my unique list of %u nbr procs is:\n\t{",
- self->procNbrInfo->procNbrCnt );
+ self->procNbrInfo->procNbrCnt );
for ( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
Journal_DPrintf( self->debug, "%u, ", self->procNbrInfo->procNbrTbl[nbr_I] );
}
Journal_DPrintf( self->debug, "}\n" );
- #endif
+#endif
self->nodeShadowInfo->procNbrInfo = self->procNbrInfo;
self->elementShadowInfo->procNbrInfo = self->procNbrInfo;
@@ -2073,11 +2093,11 @@
/* prepare my 'shadowed tables' */
self->elementShadowInfo->procShadowedCnt = Memory_Alloc_Array( Element_LocalIndex,
- self->procNbrInfo->procNbrCnt,
- "Mesh->elementShadowInfo->procShadowedCnt" );
+ self->procNbrInfo->procNbrCnt,
+ "Mesh->elementShadowInfo->procShadowedCnt" );
self->elementShadowInfo->procShadowedTbl = Memory_Alloc_Array( Element_LocalIndex*,
- self->procNbrInfo->procNbrCnt,
- "Mesh->elementShadowInfo->procShadowedTbl" );
+ self->procNbrInfo->procNbrCnt,
+ "Mesh->elementShadowInfo->procShadowedTbl" );
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
self->elementShadowInfo->procShadowedCnt[nbr_I] = 0;
self->elementShadowInfo->procShadowedTbl[nbr_I] = NULL;
@@ -2088,7 +2108,7 @@
PartitionIndex srcProc_I = self->procNbrInfo->procNbrTbl[nbr_I];
MPI_Irecv( &self->elementShadowInfo->procShadowedCnt[nbr_I], 1, MPI_UNSIGNED, srcProc_I, 100, comm,
- &request[nbr_I] );
+ &request[nbr_I] );
}
/* send my shadow element count to each neighbour */
@@ -2116,8 +2136,8 @@
PartitionIndex srcProc_I = self->procNbrInfo->procNbrTbl[nbr_I];
MPI_Irecv( self->elementShadowInfo->procShadowedTbl[nbr_I],
- self->elementShadowInfo->procShadowedCnt[nbr_I], MPI_UNSIGNED, srcProc_I,
- 101, comm, &request[nbr_I] );
+ self->elementShadowInfo->procShadowedCnt[nbr_I], MPI_UNSIGNED, srcProc_I,
+ 101, comm, &request[nbr_I] );
}
/* send my shadow elements to each neighbour */
@@ -2141,7 +2161,7 @@
Element_LocalIndex elementIdx;
elementIdx = Mesh_ElementMapGlobalToLocal( self,
- self->elementShadowInfo->procShadowedTbl[nbr_I][element_gI] );
+ self->elementShadowInfo->procShadowedTbl[nbr_I][element_gI] );
if( elementIdx < self->elementLocalCount ) {
IndexSet_Add( localElementSet, elementIdx );
}
@@ -2149,14 +2169,14 @@
Memory_Free( self->elementShadowInfo->procShadowedTbl[nbr_I] );
IndexSet_GetMembers( localElementSet, &self->elementShadowInfo->procShadowedCnt[nbr_I],
- &self->elementShadowInfo->procShadowedTbl[nbr_I] );
+ &self->elementShadowInfo->procShadowedTbl[nbr_I] );
}
/* setup tables to store feedback */
self->elementShadowInfo->procShadowCnt = Memory_Alloc_Array( Element_DomainIndex, self->procNbrInfo->procNbrCnt,
- "Mesh->elementShadowInfo->procShadowCnt" );
+ "Mesh->elementShadowInfo->procShadowCnt" );
self->elementShadowInfo->procShadowTbl = Memory_Alloc_Array( Element_DomainIndex*, self->procNbrInfo->procNbrCnt,
- "Mesh->elementShadowInfo->procShadowTbl" );
+ "Mesh->elementShadowInfo->procShadowTbl" );
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
self->elementShadowInfo->procShadowCnt[nbr_I] = 0;
self->elementShadowInfo->procShadowTbl[nbr_I] = NULL;
@@ -2167,7 +2187,7 @@
PartitionIndex srcProc_I = self->procNbrInfo->procNbrTbl[nbr_I];
MPI_Irecv( &self->elementShadowInfo->procShadowCnt[nbr_I], 1, MPI_UNSIGNED, srcProc_I, 200,
- comm, &request[nbr_I] );
+ comm, &request[nbr_I] );
}
/* send the size */
@@ -2183,7 +2203,7 @@
MPI_Wait( &request[nbr_I], &status );
self->elementShadowInfo->procShadowTbl[nbr_I] = Memory_Alloc_Array( Element_DomainIndex,
- self->elementShadowInfo->procShadowCnt[nbr_I], "Mesh->elementShadowInfo->procShadowTbl[][]" );
+ self->elementShadowInfo->procShadowCnt[nbr_I], "Mesh->elementShadowInfo->procShadowTbl[][]" );
}
/* prepare non-blocking recieve for feedback */
@@ -2191,8 +2211,8 @@
PartitionIndex srcProc_I = self->procNbrInfo->procNbrTbl[nbr_I];
MPI_Irecv( self->elementShadowInfo->procShadowTbl[nbr_I],
- self->elementShadowInfo->procShadowCnt[nbr_I], MPI_UNSIGNED,
- srcProc_I, 201, comm, &request[nbr_I] );
+ self->elementShadowInfo->procShadowCnt[nbr_I], MPI_UNSIGNED,
+ srcProc_I, 201, comm, &request[nbr_I] );
}
/* convert the shadowed local indices to global indices and send back to the appropriate proc */
@@ -2206,7 +2226,7 @@
assert( globalElementTbl );
for( element_lI = 0; element_lI < elementCnt; element_lI++ ) {
globalElementTbl[element_lI] = Mesh_ElementMapLocalToGlobal( self,
- self->elementShadowInfo->procShadowedTbl[nbr_I][element_lI] );
+ self->elementShadowInfo->procShadowedTbl[nbr_I][element_lI] );
}
MPI_Send( globalElementTbl, elementCnt, MPI_UNSIGNED, destProc_I, 201, comm );
@@ -2225,7 +2245,7 @@
Element_DomainIndex elementIdx;
elementIdx = Mesh_ElementMapGlobalToDomain( self,
- self->elementShadowInfo->procShadowTbl[nbr_I][element_dI] );
+ self->elementShadowInfo->procShadowTbl[nbr_I][element_dI] );
assert( elementIdx < self->elementDomainCount );
self->elementShadowInfo->procShadowTbl[nbr_I][element_dI] = elementIdx;
}
@@ -2246,9 +2266,9 @@
/* prepare my 'shadowed tables' */
self->nodeShadowInfo->procShadowedCnt = Memory_Alloc_Array( Node_LocalIndex, self->procNbrInfo->procNbrCnt,
- "Mesh->nodeShadowInfo->procShadowedCnt" );
+ "Mesh->nodeShadowInfo->procShadowedCnt" );
self->nodeShadowInfo->procShadowedTbl = Memory_Alloc_Array( Node_LocalIndex*, self->procNbrInfo->procNbrCnt,
- "Mesh->nodeShadowInfo->procShadowedTbl" );
+ "Mesh->nodeShadowInfo->procShadowedTbl" );
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
self->nodeShadowInfo->procShadowedCnt[nbr_I] = 0;
self->nodeShadowInfo->procShadowedTbl[nbr_I] = NULL;
@@ -2259,7 +2279,7 @@
PartitionIndex srcProc_I = self->procNbrInfo->procNbrTbl[nbr_I];
MPI_Irecv( &self->nodeShadowInfo->procShadowedCnt[nbr_I], 1, MPI_UNSIGNED, srcProc_I,
- 100, comm, &request[nbr_I] );
+ 100, comm, &request[nbr_I] );
}
/* send my shadow node count to each neighbour */
@@ -2287,8 +2307,8 @@
PartitionIndex srcProc_I = self->procNbrInfo->procNbrTbl[nbr_I];
MPI_Irecv( self->nodeShadowInfo->procShadowedTbl[nbr_I],
- self->nodeShadowInfo->procShadowedCnt[nbr_I], MPI_UNSIGNED, srcProc_I,
- 101, comm, &request[nbr_I] );
+ self->nodeShadowInfo->procShadowedCnt[nbr_I], MPI_UNSIGNED, srcProc_I,
+ 101, comm, &request[nbr_I] );
}
/* send my shadow nodes to each neighbour */
@@ -2312,7 +2332,7 @@
Node_LocalIndex nodeIdx;
nodeIdx = Mesh_NodeMapGlobalToLocal( self,
- self->nodeShadowInfo->procShadowedTbl[nbr_I][node_gI] );
+ self->nodeShadowInfo->procShadowedTbl[nbr_I][node_gI] );
if( nodeIdx < self->nodeLocalCount ) {
IndexSet_Add( localNodeSet, nodeIdx );
}
@@ -2320,14 +2340,14 @@
Memory_Free( self->nodeShadowInfo->procShadowedTbl[nbr_I] );
IndexSet_GetMembers( localNodeSet, &self->nodeShadowInfo->procShadowedCnt[nbr_I],
- &self->nodeShadowInfo->procShadowedTbl[nbr_I] );
+ &self->nodeShadowInfo->procShadowedTbl[nbr_I] );
}
/* setup tables to store feedback */
self->nodeShadowInfo->procShadowCnt = Memory_Alloc_Array( Node_DomainIndex, self->procNbrInfo->procNbrCnt,
- "Mesh->nodeShadowInfo->procShadowCnt" );
+ "Mesh->nodeShadowInfo->procShadowCnt" );
self->nodeShadowInfo->procShadowTbl = Memory_Alloc_Array( Node_DomainIndex*, self->procNbrInfo->procNbrCnt,
- "Mesh->nodeShadowInfo->procShadowTbl" );
+ "Mesh->nodeShadowInfo->procShadowTbl" );
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
self->nodeShadowInfo->procShadowCnt[nbr_I] = 0;
self->nodeShadowInfo->procShadowTbl[nbr_I] = NULL;
@@ -2338,7 +2358,7 @@
PartitionIndex srcProc_I = self->procNbrInfo->procNbrTbl[nbr_I];
MPI_Irecv( &self->nodeShadowInfo->procShadowCnt[nbr_I], 1, MPI_UNSIGNED,
- srcProc_I, 200, comm, &request[nbr_I] );
+ srcProc_I, 200, comm, &request[nbr_I] );
}
/* send the size */
@@ -2354,7 +2374,7 @@
MPI_Wait( &request[nbr_I], &status );
self->nodeShadowInfo->procShadowTbl[nbr_I] = Memory_Alloc_Array( Node_DomainIndex,
- self->nodeShadowInfo->procShadowCnt[nbr_I], "Mesh->nodeShadowInfo->procShadowTbl[][]" );
+ self->nodeShadowInfo->procShadowCnt[nbr_I], "Mesh->nodeShadowInfo->procShadowTbl[][]" );
}
/* prepare non-blocking recieve for feedback */
@@ -2362,8 +2382,8 @@
PartitionIndex srcProc_I = self->procNbrInfo->procNbrTbl[nbr_I];
MPI_Irecv( self->nodeShadowInfo->procShadowTbl[nbr_I],
- self->nodeShadowInfo->procShadowCnt[nbr_I], MPI_UNSIGNED,
- srcProc_I, 201, comm, &request[nbr_I] );
+ self->nodeShadowInfo->procShadowCnt[nbr_I], MPI_UNSIGNED,
+ srcProc_I, 201, comm, &request[nbr_I] );
}
/* convert the shadowed local indices to global indices and send back to the appropriate proc */
@@ -2377,7 +2397,7 @@
assert( globalNodeTbl );
for( node_lI = 0; node_lI < nodeCnt; node_lI++ ) {
globalNodeTbl[node_lI] = Mesh_NodeMapLocalToGlobal( self,
- self->nodeShadowInfo->procShadowedTbl[nbr_I][node_lI] );
+ self->nodeShadowInfo->procShadowedTbl[nbr_I][node_lI] );
}
MPI_Send( globalNodeTbl, nodeCnt, MPI_UNSIGNED, destProc_I, 201, comm );
@@ -2432,12 +2452,12 @@
for( nbr_I = 0; nbr_I < self->procNbrInfo->procNbrCnt; nbr_I++ ) {
self->syncRequestTbl[nbr_I] = Memory_Alloc_Array( MPI_Request, 3, "Mesh->syncRequestTbl[...]" );
self->syncElementTbl[nbr_I] = Memory_Alloc_Array_Bytes( self->elementExtensionMgr->finalSize,
- self->elementShadowInfo->procShadowCnt[nbr_I], "Element", "Mesh->syncElementTbl[...]" );
+ self->elementShadowInfo->procShadowCnt[nbr_I], "Element", "Mesh->syncElementTbl[...]" );
self->syncNodeCoordTbl[nbr_I] = Memory_Alloc_Array( Coord,
- self->nodeShadowInfo->procShadowCnt[nbr_I],
- "Mesh->syncNodeCoordTbl[...]" );
+ self->nodeShadowInfo->procShadowCnt[nbr_I],
+ "Mesh->syncNodeCoordTbl[...]" );
self->syncNodeTbl[nbr_I] = Memory_Alloc_Array_Bytes( self->nodeExtensionMgr->finalSize,
- self->nodeShadowInfo->procShadowCnt[nbr_I], "Node", "Mesh->syncNodeTbl[...]" );
+ self->nodeShadowInfo->procShadowCnt[nbr_I], "Node", "Mesh->syncNodeTbl[...]" );
}
/* send tables */
@@ -2456,10 +2476,10 @@
}
self->syncElementSendTbl = Memory_Alloc_Array_Bytes( self->elementExtensionMgr->finalSize, maxElementCnt,
- "Element", "Mesh->syncElementSendTbl" );
+ "Element", "Mesh->syncElementSendTbl" );
self->syncNodeCoordSendTbl = Memory_Alloc_Array( Coord, maxNodeCnt, "Mesh->syncNodeCoordSendTbl" );
self->syncNodeSendTbl = Memory_Alloc_Array_Bytes( self->nodeExtensionMgr->finalSize, maxNodeCnt,
- "Node", "Mesh->syncNodeSendTbl" );
+ "Node", "Mesh->syncNodeSendTbl" );
Stream_UnIndent( self->debug );
}
else {
More information about the cig-commits
mailing list