[cig-commits] r5513 - in long/3D/Gale/trunk/src/Underworld: . Utils/src

walter at geodynamics.org walter at geodynamics.org
Thu Dec 7 14:14:55 PST 2006


Author: walter
Date: 2006-12-07 14:14:55 -0800 (Thu, 07 Dec 2006)
New Revision: 5513

Modified:
   long/3D/Gale/trunk/src/Underworld/
   long/3D/Gale/trunk/src/Underworld/Utils/src/DVCWeights.c
Log:
 r766 at earth:  boo | 2006-12-07 14:13:24 -0800
  r745 at earth (orig r387):  JulianGiordani | 2006-11-21 22:39:05 -0800
  
  A painfull bug.
  
  When computing the voronoi weights the DVC was assuming, that there were particles in the cell. If there were no particles in the cell the DVCWeights corrupted the stack somehow.
  
  This was occuring in many of the tests for Underworld where speed is a factor and particle resolution is turned down: thus the errors Kathleen was finding. We have stuck a Journal_Firewall at the start of the per Cell voronoi meshing that checks if the cell has zero particles in it. If so it bombs out with an error message.
  
  -- Mirko, Kathleen and Julian
  
  
 



Property changes on: long/3D/Gale/trunk/src/Underworld
___________________________________________________________________
Name: svk:merge
   - 9570c393-cf10-0410-b476-9a651db1e55a:/cig:765
c24a034b-ab11-0410-afe6-cfe714e2959e:/trunk:386
   + 9570c393-cf10-0410-b476-9a651db1e55a:/cig:766
c24a034b-ab11-0410-afe6-cfe714e2959e:/trunk:387

Modified: long/3D/Gale/trunk/src/Underworld/Utils/src/DVCWeights.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Utils/src/DVCWeights.c	2006-12-07 22:14:50 UTC (rev 5512)
+++ long/3D/Gale/trunk/src/Underworld/Utils/src/DVCWeights.c	2006-12-07 22:14:55 UTC (rev 5513)
@@ -776,6 +776,8 @@
 
 	nump = cParticleCount = swarm->cellParticleCountTbl[lCell_I];
 
+	Journal_Firewall( nump , Journal_Register(Error_Type, "DVC_Weights"), "Error in %s: Problem has an under resolved cell (Cell Id = %d), add more particles to your model\n", __func__, lCell_I );
+
 	dx = (BBXMAX - BBXMIN)/numx;
 	dy = (BBYMAX - BBYMIN)/numy;
 	dz = (BBZMAX - BBZMIN)/numz;
@@ -855,6 +857,8 @@
 
 	nump = cParticleCount = swarm->cellParticleCountTbl[lCell_I];
 
+	Journal_Firewall( nump , Journal_Register(Error_Type, "DVC_Weights"), "Error in %s: Problem has an under resolved cell (Cell Id = %d), add more particles to your model\n", __func__, lCell_I );
+
 	dx = (BBXMAX - BBXMIN)/numx;
 	dy = (BBYMAX - BBYMIN)/numy;
 	da = dx*dy;



More information about the cig-commits mailing list