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

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


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

Modified:
   long/3D/Gale/trunk/src/StGermain/
   long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleCommHandler.c
Log:
 r3303 at earth (orig r3971):  LukeHodkinson | 2007-01-15 23:41:49 -0800
 Forgot to remove old particle indices from their
 respective cell lists.
 



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:3970
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3899
   + 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:3196
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/branches/decomp3d/StGermain:3971
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3899

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleCommHandler.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleCommHandler.c	2007-01-18 00:09:37 UTC (rev 5811)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Swarm/src/ParticleCommHandler.c	2007-01-18 00:09:41 UTC (rev 5812)
@@ -317,10 +317,17 @@
 		unsigned	r_i;
 
 		for( r_i = 0; r_i < nRems; r_i++ ) {
+			/* Must remove particle from owning cell. */
+			owningCell = Swarm_ParticleAt( self->swarm, rems[r_i] )->owningCell;
+			particleInd = Swarm_GetParticleIndexWithinCell( self->swarm, owningCell, rems[r_i] );
+			Swarm_RemoveParticleFromCell( swarm, owningCell, particleInd );
+
+			/* Next in line... */
 			remainInd = nRemaining - r_i - 1;
 			if( remaining[remainInd] < rems[r_i] )
 				break;
 
+			/* Fill a hole. */
 			Swarm_CopyParticleWithinSwarm( swarm, rems[r_i], remaining[remainInd] );
 			owningCell = Swarm_ParticleAt( self->swarm, rems[r_i] )->owningCell;
 			particleInd = Swarm_GetParticleIndexWithinCell( self->swarm, owningCell, remaining[remainInd] );



More information about the cig-commits mailing list