[cig-commits] r5808 - in long/3D/Gale/trunk/src/StGermain: . Discretisation/Swarm/src

walter at geodynamics.org walter at geodynamics.org
Wed Jan 17 16:09:29 PST 2007


Author: walter
Date: 2007-01-17 16:09:28 -0800 (Wed, 17 Jan 2007)
New Revision: 5808

Modified:
   long/3D/Gale/trunk/src/StGermain/
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ElementCellLayout.c
Log:
 r3299 at earth (orig r3967):  LukeHodkinson | 2007-01-15 21:06:46 -0800
 Must recognise particles inside domain elements.
 



Property changes on: long/3D/Gale/trunk/src/StGermain
___________________________________________________________________
Name: svk:merge
   - 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:3196
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/branches/decomp3d/StGermain:3966
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3899
   + 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:3196
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/branches/decomp3d/StGermain:3967
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3899

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ElementCellLayout.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ElementCellLayout.c	2007-01-18 00:09:25 UTC (rev 5807)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ElementCellLayout.c	2007-01-18 00:09:28 UTC (rev 5808)
@@ -342,43 +342,17 @@
 Bool _ElementCellLayout_IsInCell( void* elementCellLayout, Cell_Index cellIndex, void* _particle ) {
 	ElementCellLayout*      self     = (ElementCellLayout*)elementCellLayout;
 	GlobalParticle*	        particle = (GlobalParticle*)_particle;
-
 	unsigned		elDim, elInd;
 
-	if( Mesh_ElementHasPoint( self->mesh, cellIndex, particle->coord, &elDim, &elInd ) ) {
-		if( elInd < Mesh_GetLocalSize( self->mesh, elDim ) )
-			return True;
-	}
-
-	return False;
+	return Mesh_ElementHasPoint( self->mesh, cellIndex, particle->coord, &elDim, &elInd );
 }
 
 Cell_Index _ElementCellLayout_CellOf( void* elementCellLayout, void* _particle ) {
 	ElementCellLayout*      self     = (ElementCellLayout*)elementCellLayout;
 	GlobalParticle*	        particle = (GlobalParticle*)_particle;
-	unsigned		elDim, elInd;
+	unsigned		elInd;
 
-	if( Mesh_Search( self->mesh, particle->coord, &elDim, &elInd ) ) {
-		if( elInd >= Mesh_GetLocalSize( self->mesh, elDim ) )
-			elInd = Mesh_GetDomainSize( self->mesh, Mesh_GetDimSize( self->mesh ) );
-		else if( elDim != Mesh_GetDimSize( self->mesh ) ) {
-			unsigned	nInc;
-			unsigned*	inc;
-			unsigned	inc_i;
-
-			Mesh_GetIncidence( self->mesh, elDim, elInd, Mesh_GetDimSize( self->mesh ), 
-					   &nInc, &inc );
-			for( inc_i = 0; inc_i < nInc; inc_i++ ) {
-				if( inc[inc_i] < Mesh_GetLocalSize( self->mesh, elDim ) ) {
-					elInd = inc[0];
-					break;
-				}
-				if( inc_i == nInc )
-					elInd = Mesh_GetDomainSize( self->mesh, Mesh_GetDimSize( self->mesh ) );
-			}
-		}
-	}
-	else
+	if( !Mesh_SearchElements( self->mesh, particle->coord, &elInd ) )
 		elInd = Mesh_GetDomainSize( self->mesh, Mesh_GetDimSize( self->mesh ) );
 
 	return elInd;



More information about the cig-commits mailing list