[cig-commits] r6196 - in long/3D/Gale/trunk/src/Underworld: . InputFiles InputFiles/ScienceBenchmarkTests/plugins InputFiles/Viewports InputFiles/tests/expected/testExtensionWithPop.0of1 Rheology/src Rheology/tests/testStiffnessMatrixAssembly Utils/src libUnderworld libUnderworld/src libUnderworld/tests libUnderworld/tests/expected plugins plugins/ExtractPetscObjects plugins/Output/AverageTemperature

walter at geodynamics.org walter at geodynamics.org
Thu Mar 8 11:29:31 PST 2007


Author: walter
Date: 2007-03-08 11:29:30 -0800 (Thu, 08 Mar 2007)
New Revision: 6196

Added:
   long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.c
   long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.h
   long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.meta
   long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/
   long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/expected/
   long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/expected/testLibUnderworld.0of1.expected
   long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/log/
   long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/makefile
   long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/output/
   long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/testLibUnderworld.0of1.sh
   long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/testLibUnderworld.c
   long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/
   long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/ExtractPetscObjects.c
   long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/ExtractPetscObjects.h
   long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/makefile
Modified:
   long/3D/Gale/trunk/src/Underworld/
   long/3D/Gale/trunk/src/Underworld/InputFiles/ExtensionFMM.xml
   long/3D/Gale/trunk/src/Underworld/InputFiles/ExtensionFMM3D.xml
   long/3D/Gale/trunk/src/Underworld/InputFiles/RayleighTaylorBenchmark.xml
   long/3D/Gale/trunk/src/Underworld/InputFiles/ScienceBenchmarkTests/plugins/makefile
   long/3D/Gale/trunk/src/Underworld/InputFiles/ThermoChemBenchmark.xml
   long/3D/Gale/trunk/src/Underworld/InputFiles/Viewports/ParticleHasYieldedVP.xml
   long/3D/Gale/trunk/src/Underworld/InputFiles/Viewports/ParticleYieldTypeVPRGB.xml
   long/3D/Gale/trunk/src/Underworld/InputFiles/tests/expected/testExtensionWithPop.0of1/PressureField-Reference.00002.dat
   long/3D/Gale/trunk/src/Underworld/InputFiles/tests/expected/testExtensionWithPop.0of1/VelocityField-Reference.00002.dat
   long/3D/Gale/trunk/src/Underworld/Rheology/src/Compressible.c
   long/3D/Gale/trunk/src/Underworld/Rheology/src/Compressible.h
   long/3D/Gale/trunk/src/Underworld/Rheology/src/ConstitutiveMatrixCartesian.c
   long/3D/Gale/trunk/src/Underworld/Rheology/src/ConstitutiveMatrixCartesian.h
   long/3D/Gale/trunk/src/Underworld/Rheology/src/Director.meta
   long/3D/Gale/trunk/src/Underworld/Rheology/src/MultiRheologyMaterial.c
   long/3D/Gale/trunk/src/Underworld/Rheology/src/MultiRheologyMaterial.h
   long/3D/Gale/trunk/src/Underworld/Rheology/src/RheologyMaterial.c
   long/3D/Gale/trunk/src/Underworld/Rheology/src/RheologyMaterial.h
   long/3D/Gale/trunk/src/Underworld/Rheology/tests/testStiffnessMatrixAssembly/testStiffnessMatrixAssembly.c
   long/3D/Gale/trunk/src/Underworld/Utils/src/Context.c
   long/3D/Gale/trunk/src/Underworld/Utils/src/Init.c
   long/3D/Gale/trunk/src/Underworld/Utils/src/Utils.h
   long/3D/Gale/trunk/src/Underworld/Utils/src/types.h
   long/3D/Gale/trunk/src/Underworld/libUnderworld/src/Init.c
   long/3D/Gale/trunk/src/Underworld/plugins/Output/AverageTemperature/makefile
Log:
 r839 at earth (orig r447):  LukeHodkinson | 2007-03-06 14:26:17 -0800
 Keeping the branch up to date with the trunk.
 
 



Property changes on: long/3D/Gale/trunk/src/Underworld
___________________________________________________________________
Name: svk:merge
   - 9570c393-cf10-0410-b476-9a651db1e55a:/cig:775
c24a034b-ab11-0410-afe6-cfe714e2959e:/branches/decomp3d:441
c24a034b-ab11-0410-afe6-cfe714e2959e:/trunk:396
   + 9570c393-cf10-0410-b476-9a651db1e55a:/cig:775
c24a034b-ab11-0410-afe6-cfe714e2959e:/branches/decomp3d:447
c24a034b-ab11-0410-afe6-cfe714e2959e:/trunk:396

Modified: long/3D/Gale/trunk/src/Underworld/InputFiles/ExtensionFMM.xml
===================================================================
--- long/3D/Gale/trunk/src/Underworld/InputFiles/ExtensionFMM.xml	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/InputFiles/ExtensionFMM.xml	2007-03-08 19:29:30 UTC (rev 6196)
@@ -202,8 +202,8 @@
 	
 	<!-- Geometry & Mesh setup -->
 	<param name="dim"> 2 </param>             <!--this is a 2D problem-->
-	<param name="elementResI"> 120 </param>   <!--number of elements in x-direction-->
-	<param name="elementResJ"> 60 </param>    <!--number of elements in y-direction-->
+	<param name="elementResI"> 60 </param>   <!--number of elements in x-direction-->
+	<param name="elementResJ"> 30 </param>    <!--number of elements in y-direction-->
 	<param name="elementResK"> 10 </param>    <!--number of elements in z-direction (not necessary here)-->
 	<param name="shadowDepth"> 1 </param>     <!--used for parallel purpose-->
 

Modified: long/3D/Gale/trunk/src/Underworld/InputFiles/ExtensionFMM3D.xml
===================================================================
--- long/3D/Gale/trunk/src/Underworld/InputFiles/ExtensionFMM3D.xml	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/InputFiles/ExtensionFMM3D.xml	2007-03-08 19:29:30 UTC (rev 6196)
@@ -180,7 +180,7 @@
 
 
 	<!-- Simulation control -->
-	<param name="maxTimeSteps"> 300 </param>
+	<param name="maxTimeSteps"> 10 </param>
 	<param name="outputPath"> ./output </param>
 	<param name="dumpEvery"> 1 </param>	
 
@@ -197,7 +197,7 @@
 	<param name="journal-level-branch.debug.StgFEM"> 2 </param>	
 	
 	<!-- Geometry & Mesh setup -->
-	<param name="dim"> 3 </param>
+	<param name="dim"> 2 </param>
 	<!-- Note : for proper resolution of the problem, it is strongly recommended you run
 	     this problem in parallel, with at least 100 * 50 * 100 elements. The values below are for
 	     small testing / demonstration only. -->

Modified: long/3D/Gale/trunk/src/Underworld/InputFiles/RayleighTaylorBenchmark.xml
===================================================================
--- long/3D/Gale/trunk/src/Underworld/InputFiles/RayleighTaylorBenchmark.xml	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/InputFiles/RayleighTaylorBenchmark.xml	2007-03-08 19:29:30 UTC (rev 6196)
@@ -1,5 +1,9 @@
 <!-- Rayleigh-Taylor app input file -->
+<!-- 	Rayleigh-Taylor convection benchmark as detailed in
+	P.E. van Keken et al, 'A comparison of methods for 
+	the modelling of thermochemical convection', JGR, 1997	-->
 
+
 <!-- DTD to validate against -->
 <StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
 
@@ -10,7 +14,6 @@
 		<param>StgFEM_FrequentOutput</param>	
 		<param>Underworld_Vrms</param>	
 		<param>StgFEM_CPUTime</param>
-		<param>PICellerator_MaterialCentroid</param>	
 	</list>
 
 	<struct name="components" mergeType="merge">
@@ -24,25 +27,26 @@
 		<struct name="background">
 			<param name="Type">RheologyMaterial</param>
 			<param name="Shape">backgroundShape</param>
-			<param name="density">0.0</param>
+			<param name="density">1.0</param>
 			<param name="Rheology">backgroundViscosity</param>
 		</struct>
 
-		<struct name="ballShape">
-			<param name="Type">Sphere</param>
-			<param name="CentreX">0.5</param>
-			<param name="CentreY">0.7</param>
-			<param name="radius"> 0.10 </param>
+		<struct name="lightLayerShape">
+			<param name="Type">BelowCosinePlane</param>
+			<param name="offset">0.2</param>
+			<param name="amplitude">0.02</param>
+			<param name="period"> 0.9142 </param>
+			<param name="phase"> 0.0 </param>
 		</struct>		
-		<struct name="ballViscosity">
+		<struct name="lightLayerViscosity">
 			<param name="Type">MaterialViscosity</param>
 			<param name="eta0">1.0</param>
 		</struct>
-		<struct name="ball">
+		<struct name="lightLayer">
 			<param name="Type">RheologyMaterial</param>
-			<param name="Shape">ballShape</param>
-			<param name="density">1.5</param>
-			<param name="Rheology">ballViscosity</param>
+			<param name="Shape">lightLayerShape</param>
+			<param name="density">0.0</param>
+			<param name="Rheology">lightLayerViscosity</param>
 		</struct>
 		<!--
 		<struct name="swarmDump">
@@ -83,7 +87,7 @@
 	<param name="minX"> 0.0 </param>
 	<param name="minY"> 0.0 </param>
 	<param name="minZ"> 0.0 </param>
-	<param name="maxX"> 1.0 </param>
+	<param name="maxX"> 0.9142 </param>
 	<param name="maxY"> 1.0 </param>
 	<param name="maxZ"> 1.0 </param>
 	<param name="allowUnbalancing"> True </param>
@@ -97,7 +101,7 @@
 	<param name="seed"> 13 </param>
 
 	<!-- Boundary conditions -->
-	<include>Underworld/VariableConditions/velocityBCs.freeslip.xml</include>
+	<include>Underworld/VariableConditions/velocityBCs.freeslipSides.xml</include>
 
 	
 	<param name="CentroidMaterial">ball</param>

Modified: long/3D/Gale/trunk/src/Underworld/InputFiles/ScienceBenchmarkTests/plugins/makefile
===================================================================
--- long/3D/Gale/trunk/src/Underworld/InputFiles/ScienceBenchmarkTests/plugins/makefile	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/InputFiles/ScienceBenchmarkTests/plugins/makefile	2007-03-08 19:29:30 UTC (rev 6196)
@@ -17,6 +17,6 @@
 includes = ${PROJECT}/${modName}
 
 # External Libraries and Headers
-packages = PICELLERATOR STG_FEM STGERMAIN PETSC MPI XML PYTHON
+packages = PICELLERATOR STGFEM STGERMAIN PETSC MPI XML PYTHON
 
 include ${PROJ_ROOT}/Makefile.vmake

Modified: long/3D/Gale/trunk/src/Underworld/InputFiles/ThermoChemBenchmark.xml
===================================================================
--- long/3D/Gale/trunk/src/Underworld/InputFiles/ThermoChemBenchmark.xml	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/InputFiles/ThermoChemBenchmark.xml	2007-03-08 19:29:30 UTC (rev 6196)
@@ -1,3 +1,7 @@
+<!--    Thermochemical convection benchmark as detailed in
+        P.E. van Keken et al, 'A comparison of methods for 
+		the modelling of thermochemical convection', JGR, 1997  -->
+		
 <?xml version="1.0"?>
 <!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
 
@@ -12,8 +16,19 @@
 		<param>Underworld_Vrms</param>	
 		<param>StgFEM_CPUTime</param>	
 	</list>
-	
+		
 	<struct name="components" mergeType="merge">
+		<struct name="buoyancyForceTerm" mergeType="replace">
+			<param name="Type">BuoyancyForceTermThermoChem</param>
+			<param name="ForceVector">mom_force</param>
+			<param name="TemperatureField">TemperatureField</param>
+			<param name="Swarm">picIntegrationPoints</param>
+			<param name="RaT">RaT</param>
+			<param name="RaC">RaC</param>
+		</struct>
+	</struct>
+
+	<struct name="components" mergeType="merge">
 		<!-- Background Material Stuff -->
 		<struct name="backgroundShape">
 			<param name="Type">Everywhere</param>
@@ -51,10 +66,11 @@
 
 	<!-- Simulation control -->
 	<param name="maxTimeSteps"> 100000000 </param>
-	<param name="outputPath"> ./output </param>
+	<param name="outputPath"> ./output/ </param>
 	<param name="dumpEvery"> 10 </param>	
 	
-	<param name="gravity"> 3e5 </param>	
+	<param name="RaT"> 3.0e5 </param>	
+	<param name="RaC"> 4.5e5 </param>	
 	<param name="courantFactor"> 0.25 </param>	
 
 	<!-- Journal Parameters -->
@@ -83,7 +99,7 @@
 
 	<!-- Set up BCs -->
 	<include> Underworld/VariableConditions/temperatureBCs.xml </include>
-	<include> Underworld/VariableConditions/temperatureICs.sinusoid.xml </include>
+	<include> Underworld/VariableConditions/temperatureICs.analytic.xml </include>
 	<include> Underworld/VariableConditions/velocityBCs.freeslip.xml </include>
 
 	<!-- Visualisation stuff -->

Modified: long/3D/Gale/trunk/src/Underworld/InputFiles/Viewports/ParticleHasYieldedVP.xml
===================================================================
--- long/3D/Gale/trunk/src/Underworld/InputFiles/Viewports/ParticleHasYieldedVP.xml	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/InputFiles/Viewports/ParticleHasYieldedVP.xml	2007-03-08 19:29:30 UTC (rev 6196)
@@ -11,7 +11,7 @@
 		</struct>
 		<struct name="yieldedColourMap">
 			<param name="Type">lucColourMap</param>
-			<param name="colours">Green Yellow</param>
+			<param name="colours">Yellow Green</param>
 			<param name="dynamicRange">False</param>
 			<param name="minimum">0.0</param>
 			<param name="maximum">1.0</param>
@@ -29,7 +29,7 @@
 			<param name="FieldVariable">VelocityField</param>
 			<param name="lineWidth">4</param>
 		</struct>
-		<struct name="hytitle">
+		<struct name="hymtitle">
 			<param name="Type">lucTitle</param>
 			<param name="String">ParticleHasYieldedViewport</param>
 		</struct>
@@ -38,7 +38,7 @@
 			<param name="Type">lucViewport</param>
 			<param name="Camera">camerahasyielded</param>
 			<list name="DrawingObject">
-				<param>hytitle</param>
+				<param>hymtitle</param>
 				<param>hyparticleDots</param>
 				<param>hyborder</param>
 			</list>

Modified: long/3D/Gale/trunk/src/Underworld/InputFiles/Viewports/ParticleYieldTypeVPRGB.xml
===================================================================
--- long/3D/Gale/trunk/src/Underworld/InputFiles/Viewports/ParticleYieldTypeVPRGB.xml	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/InputFiles/Viewports/ParticleYieldTypeVPRGB.xml	2007-03-08 19:29:30 UTC (rev 6196)
@@ -17,13 +17,7 @@
 			<param name="ColourRedVariable">materialSwarm-YieldTypeExtension</param>
 			<param name="ColourBlueVariable">materialSwarm-YieldTypeCompression</param>
 			<param name="ColourGreenVariable">materialSwarm-YieldTypeShear</param>
-			<param name="positionRange">True</param>		
-			<param name="minPositionX">0.2</param>	
-			<param name="minPositionY">0.99</param>
-			<param name="minPositionZ">0.0</param>
-			<param name="maxPositionX">0.8</param>
-			<param name="maxPositionY">1.0</param>
-			<param name="maxPositionZ">1.0</param>
+			
 			<param name="pointSize">2.0</param>
 		</struct>
 		

Modified: long/3D/Gale/trunk/src/Underworld/InputFiles/tests/expected/testExtensionWithPop.0of1/PressureField-Reference.00002.dat
===================================================================
--- long/3D/Gale/trunk/src/Underworld/InputFiles/tests/expected/testExtensionWithPop.0of1/PressureField-Reference.00002.dat	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/InputFiles/tests/expected/testExtensionWithPop.0of1/PressureField-Reference.00002.dat	2007-03-08 19:29:30 UTC (rev 6196)
@@ -1,288 +1,288 @@
-0 0.0416666666666667 0.0416666666666667 0 -0.076825207869843 
-1 0.125 0.0416666666666667 0 -0.0765392668556585 
-2 0.208333333333333 0.0416666666666667 0 -0.0761956331860351 
-3 0.291666666666667 0.0416666666666667 0 -0.0753902280024638 
-4 0.375 0.0416666666666667 0 -0.0750718530936258 
-5 0.458333333333333 0.0416666666666667 0 -0.074800586558174 
-6 0.541666666666667 0.0416666666666667 0 -0.0751951397978969 
-7 0.625 0.0416666666666667 0 -0.0760638602097801 
-8 0.708333333333333 0.0416666666666667 0 -0.0782510575927068 
-9 0.791666666666667 0.0416666666666667 0 -0.0826398234425695 
-10 0.875 0.0416666666666667 0 -0.0879440895549693 
-11 0.958333333333333 0.0416666666666667 0 -0.0918933701143669 
-12 1.04166666666667 0.0416666666666667 0 -0.0915534705136157 
-13 1.125 0.0416666666666667 0 -0.0869102033590797 
-14 1.20833333333333 0.0416666666666667 0 -0.0810305146556494 
-15 1.29166666666667 0.0416666666666667 0 -0.0762450182177859 
-16 1.375 0.0416666666666667 0 -0.074065356254232 
-17 1.45833333333333 0.0416666666666667 0 -0.0732246664878596 
-18 1.54166666666667 0.0416666666666667 0 -0.0731431776180099 
-19 1.625 0.0416666666666667 0 -0.0730623334604286 
-20 1.70833333333333 0.0416666666666667 0 -0.0732636316970607 
-21 1.79166666666667 0.0416666666666667 0 -0.0735322972908913 
-22 1.875 0.0416666666666667 0 -0.0740776445930116 
-23 1.95833333333333 0.0416666666666667 0 -0.0744335178471747 
-24 0.0416666666666667 0.125 0 -0.0767147255651957 
-25 0.125 0.125 0 -0.077420914697817 
-26 0.208333333333333 0.125 0 -0.0758669259318882 
-27 0.291666666666667 0.125 0 -0.0758636887298901 
-28 0.375 0.125 0 -0.073891265278512 
-29 0.458333333333333 0.125 0 -0.075003485129833 
-30 0.541666666666667 0.125 0 -0.0745948031359468 
-31 0.625 0.125 0 -0.0750970767723765 
-32 0.708333333333333 0.125 0 -0.0762296989700576 
-33 0.791666666666667 0.125 0 -0.0795370014628767 
-34 0.875 0.125 0 -0.0897558742240989 
-35 0.958333333333333 0.125 0 -0.0971579661240137 
-36 1.04166666666667 0.125 0 -0.096805282255037 
-37 1.125 0.125 0 -0.088728184896108 
-38 1.20833333333333 0.125 0 -0.077638891578026 
-39 1.29166666666667 0.125 0 -0.0739733808247897 
-40 1.375 0.125 0 -0.0725447133666979 
-41 1.45833333333333 0.125 0 -0.0732097305835043 
-42 1.54166666666667 0.125 0 -0.0728079183059294 
-43 1.625 0.125 0 -0.0732959793716935 
-44 1.70833333333333 0.125 0 -0.0727510758879465 
-45 1.79166666666667 0.125 0 -0.0734771349165996 
-46 1.875 0.125 0 -0.073946493966503 
-47 1.95833333333333 0.125 0 -0.0750397302448125 
-48 0.0416666666666667 0.208333333333333 0 -0.0768758120351346 
-49 0.125 0.208333333333333 0 -0.0761097342150427 
-50 0.208333333333333 0.208333333333333 0 -0.0822581430359896 
-51 0.291666666666667 0.208333333333333 0 -0.0702986896547554 
-52 0.375 0.208333333333333 0 -0.0748348500905499 
-53 0.458333333333333 0.208333333333333 0 -0.0722290311328653 
-54 0.541666666666667 0.208333333333333 0 -0.0776005642351411 
-55 0.625 0.208333333333333 0 -0.0724820826116152 
-56 0.708333333333333 0.208333333333333 0 -0.0701576568219822 
-57 0.791666666666667 0.208333333333333 0 -0.075451396837635 
-58 0.875 0.208333333333333 0 -0.0791244918397888 
-59 0.958333333333333 0.208333333333333 0 -0.118650662304291 
-60 1.04166666666667 0.208333333333333 0 -0.122809429409886 
-61 1.125 0.208333333333333 0 -0.0795595314930517 
-62 1.20833333333333 0.208333333333333 0 -0.0682745225342615 
-63 1.29166666666667 0.208333333333333 0 -0.068261421359707 
-64 1.375 0.208333333333333 0 -0.073846600332074 
-65 1.45833333333333 0.208333333333333 0 -0.0695935627351864 
-66 1.54166666666667 0.208333333333333 0 -0.0747019724935951 
-67 1.625 0.208333333333333 0 -0.0734389834602012 
-68 1.70833333333333 0.208333333333333 0 -0.0726242594016323 
-69 1.79166666666667 0.208333333333333 0 -0.0701308066917773 
-70 1.875 0.208333333333333 0 -0.0762168139337144 
-71 1.95833333333333 0.208333333333333 0 -0.075821018204737 
-72 0.0416666666666667 0.291666666666667 0 -0.0661276821178644 
-73 0.125 0.291666666666667 0 -0.0659301303013704 
-74 0.208333333333333 0.291666666666667 0 -0.0764567016238505 
-75 0.291666666666667 0.291666666666667 0 -0.0550096726403055 
-76 0.375 0.291666666666667 0 -0.0592079087456457 
-77 0.458333333333333 0.291666666666667 0 -0.0543783929010724 
-78 0.541666666666667 0.291666666666667 0 -0.0626945242646261 
-79 0.625 0.291666666666667 0 -0.0509364988096364 
-80 0.708333333333333 0.291666666666667 0 -0.0448459419315003 
-81 0.791666666666667 0.291666666666667 0 -0.052948249421133 
-82 0.875 0.291666666666667 0 -0.0519571447849284 
-83 0.958333333333333 0.291666666666667 0 -0.214017403635527 
-84 1.04166666666667 0.291666666666667 0 -0.207718844646499 
-85 1.125 0.291666666666667 0 -0.0575923541170509 
-86 1.20833333333333 0.291666666666667 0 -0.0464912845819393 
-87 1.29166666666667 0.291666666666667 0 -0.0479514447984783 
-88 1.375 0.291666666666667 0 -0.0608589615603184 
-89 1.45833333333333 0.291666666666667 0 -0.0535586731782069 
-90 1.54166666666667 0.291666666666667 0 -0.0616753031390012 
-91 1.625 0.291666666666667 0 -0.0605467299886793 
-92 1.70833333333333 0.291666666666667 0 -0.0578044779684885 
-93 1.79166666666667 0.291666666666667 0 -0.0536950792613817 
-94 1.875 0.291666666666667 0 -0.0665609729982291 
-95 1.95833333333333 0.291666666666667 0 -0.0672174914014594 
-96 0.0416666666666667 0.375 0 -50.3295467658661 
-97 0.125 0.375 0 -50.4999119961188 
-98 0.208333333333333 0.375 0 -52.508486382701 
-99 0.291666666666667 0.375 0 -47.897638560789 
-100 0.375 0.375 0 -49.8654145925799 
-101 0.458333333333333 0.375 0 -49.9256468125171 
-102 0.541666666666667 0.375 0 -51.9847713357321 
-103 0.625 0.375 0 -48.9025969398915 
-104 0.708333333333333 0.375 0 -48.2871454163282 
-105 0.791666666666667 0.375 0 -53.3772616573719 
-106 0.875 0.375 0 -53.1464783301441 
-107 0.958333333333333 0.375 0 -2.26529968081012 
-108 1.04166666666667 0.375 0 -4.09212841097898 
-109 1.125 0.375 0 -53.8375496348767 
-110 1.20833333333333 0.375 0 -49.912782002421 
-111 1.29166666666667 0.375 0 -48.1954686249741 
-112 1.375 0.375 0 -50.1399974013458 
-113 1.45833333333333 0.375 0 -48.7470740541516 
-114 1.54166666666667 0.375 0 -51.5879291446836 
-115 1.625 0.375 0 -51.1262174723244 
-116 1.70833333333333 0.375 0 -49.02265035062 
-117 1.79166666666667 0.375 0 -49.2726105971756 
-118 1.875 0.375 0 -51.0871414652266 
-119 1.95833333333333 0.375 0 -50.8811695992911 
-120 0.0416666666666667 0.458333333333333 0 -50.1502680657809 
-121 0.125 0.458333333333333 0 -51.0780888213587 
-122 0.208333333333333 0.458333333333333 0 -49.4727817652288 
-123 0.291666666666667 0.458333333333333 0 -50.9658052064951 
-124 0.375 0.458333333333333 0 -48.7880389419838 
-125 0.458333333333333 0.458333333333333 0 -49.6064646198481 
-126 0.541666666666667 0.458333333333333 0 -50.2026125453064 
-127 0.625 0.458333333333333 0 -49.2635438094719 
-128 0.708333333333333 0.458333333333333 0 -50.7542177518397 
-129 0.791666666666667 0.458333333333333 0 -48.8558470331759 
-130 0.875 0.458333333333333 0 -42.7912982267424 
-131 0.958333333333333 0.458333333333333 0 -64.1845479609688 
-132 1.04166666666667 0.458333333333333 0 -61.652952143715 
-133 1.125 0.458333333333333 0 -40.5089459867413 
-134 1.20833333333333 0.458333333333333 0 -49.358275723232 
-135 1.29166666666667 0.458333333333333 0 -48.8668782099131 
-136 1.375 0.458333333333333 0 -48.683453555239 
-137 1.45833333333333 0.458333333333333 0 -50.7489609972377 
-138 1.54166666666667 0.458333333333333 0 -50.5499255123672 
-139 1.625 0.458333333333333 0 -50.6478432527984 
-140 1.70833333333333 0.458333333333333 0 -49.4148600188375 
-141 1.79166666666667 0.458333333333333 0 -49.7520734492663 
-142 1.875 0.458333333333333 0 -50.0300747690238 
-143 1.95833333333333 0.458333333333333 0 -50.2915793107107 
-144 0.0416666666666667 0.541666666666667 0 -50.1034992785961 
-145 0.125 0.541666666666667 0 -48.77225570085 
-146 0.208333333333333 0.541666666666667 0 -51.8053384768539 
-147 0.291666666666667 0.541666666666667 0 -49.6644847353682 
-148 0.375 0.541666666666667 0 -49.8698940145092 
-149 0.458333333333333 0.541666666666667 0 -49.258354672658 
-150 0.541666666666667 0.541666666666667 0 -46.9588889579309 
-151 0.625 0.541666666666667 0 -52.1684141691194 
-152 0.708333333333333 0.541666666666667 0 -49.3841415476836 
-153 0.791666666666667 0.541666666666667 0 -47.6717397790418 
-154 0.875 0.541666666666667 0 -53.6394389284058 
-155 0.958333333333333 0.541666666666667 0 -57.8773001212661 
-156 1.04166666666667 0.541666666666667 0 -56.8087871578101 
-157 1.125 0.541666666666667 0 -53.6106951348912 
-158 1.20833333333333 0.541666666666667 0 -44.5488138636974 
-159 1.29166666666667 0.541666666666667 0 -49.6536652890493 
-160 1.375 0.541666666666667 0 -50.4436900063483 
-161 1.45833333333333 0.541666666666667 0 -49.3982820277817 
-162 1.54166666666667 0.541666666666667 0 -50.2440142344171 
-163 1.625 0.541666666666667 0 -49.736227511221 
-164 1.70833333333333 0.541666666666667 0 -50.3424997057551 
-165 1.79166666666667 0.541666666666667 0 -49.8401399813523 
-166 1.875 0.541666666666667 0 -49.7363194183391 
-167 1.95833333333333 0.541666666666667 0 -49.0417945683119 
-168 0.0416666666666667 0.625 0 -47.2849057908923 
-169 0.125 0.625 0 -52.869503234623 
-170 0.208333333333333 0.625 0 -48.4698367400097 
-171 0.291666666666667 0.625 0 -50.8112514185781 
-172 0.375 0.625 0 -50.2692962987975 
-173 0.458333333333333 0.625 0 -47.1942953842203 
-174 0.541666666666667 0.625 0 -50.7340936169416 
-175 0.625 0.625 0 -46.5570748536739 
-176 0.708333333333333 0.625 0 -54.1963005531888 
-177 0.791666666666667 0.625 0 -52.1228363946866 
-178 0.875 0.625 0 -53.7154899333957 
-179 0.958333333333333 0.625 0 -50.8086849579653 
-180 1.04166666666667 0.625 0 -54.6522324861221 
-181 1.125 0.625 0 -52.1881023884393 
-182 1.20833333333333 0.625 0 -52.8822891517873 
-183 1.29166666666667 0.625 0 -49.3639736625753 
-184 1.375 0.625 0 -50.0162339315316 
-185 1.45833333333333 0.625 0 -51.1182657268656 
-186 1.54166666666667 0.625 0 -48.095489050907 
-187 1.625 0.625 0 -49.2474149545117 
-188 1.70833333333333 0.625 0 -51.3907400527174 
-189 1.79166666666667 0.625 0 -50.035291663971 
-190 1.875 0.625 0 -47.4886213526786 
-191 1.95833333333333 0.625 0 -49.6460114922911 
-192 0.0416666666666667 0.708333333333333 0 -0.0524286831828054 
-193 0.125 0.708333333333333 0 -0.0710106113368913 
-194 0.208333333333333 0.708333333333333 0 -0.0643380333379548 
-195 0.291666666666667 0.708333333333333 0 -0.0702067351678554 
-196 0.375 0.708333333333333 0 -0.0719159219461688 
-197 0.458333333333333 0.708333333333333 0 -0.0638819936528268 
-198 0.541666666666667 0.708333333333333 0 -0.0841430554558364 
-199 0.625 0.708333333333333 0 -0.0803193987471321 
-200 0.708333333333333 0.708333333333333 0 -0.119816016083539 
-201 0.791666666666667 0.708333333333333 0 -0.090063400135461 
-202 0.875 0.708333333333333 0 -0.0630998446374874 
-203 0.958333333333333 0.708333333333333 0 -0.0428236851173849 
-204 1.04166666666667 0.708333333333333 0 -0.0604799869333426 
-205 1.125 0.708333333333333 0 -0.0551594524373978 
-206 1.20833333333333 0.708333333333333 0 -0.0895893694203469 
-207 1.29166666666667 0.708333333333333 0 -0.102517166073515 
-208 1.375 0.708333333333333 0 -0.0855158700742265 
-209 1.45833333333333 0.708333333333333 0 -0.0798785690738536 
-210 1.54166666666667 0.708333333333333 0 -0.0629160117069486 
-211 1.625 0.708333333333333 0 -0.0689982299337447 
-212 1.70833333333333 0.708333333333333 0 -0.0704736080853048 
-213 1.79166666666667 0.708333333333333 0 -0.0682732281990426 
-214 1.875 0.708333333333333 0 -0.0551254703711004 
-215 1.95833333333333 0.708333333333333 0 -0.0699117613878286 
-216 0.0416666666666667 0.791666666666667 0 -0.0623925903224178 
-217 0.125 0.791666666666667 0 -0.0711752084877154 
-218 0.208333333333333 0.791666666666667 0 -0.0668381440792556 
-219 0.291666666666667 0.791666666666667 0 -0.0699158818038673 
-220 0.375 0.791666666666667 0 -0.0704402537576774 
-221 0.458333333333333 0.791666666666667 0 -0.0660375277920589 
-222 0.541666666666667 0.791666666666667 0 -0.0780016506542261 
-223 0.625 0.791666666666667 0 -0.0764529065540196 
-224 0.708333333333333 0.791666666666667 0 -0.104220074430213 
-225 0.791666666666667 0.791666666666667 0 -0.0955256415333161 
-226 0.875 0.791666666666667 0 -0.0946779829486173 
-227 0.958333333333333 0.791666666666667 0 -0.0881180840557156 
-228 1.04166666666667 0.791666666666667 0 -0.0979258074667012 
-229 1.125 0.791666666666667 0 -0.0876496368890034 
-230 1.20833333333333 0.791666666666667 0 -0.0949893929242834 
-231 1.29166666666667 0.791666666666667 0 -0.0907962351125958 
-232 1.375 0.791666666666667 0 -0.0809737338097564 
-233 1.45833333333333 0.791666666666667 0 -0.0767011055901156 
-234 1.54166666666667 0.791666666666667 0 -0.0658809253197493 
-235 1.625 0.791666666666667 0 -0.0686139318267007 
-236 1.70833333333333 0.791666666666667 0 -0.0690405546386988 
-237 1.79166666666667 0.791666666666667 0 -0.0674230971497187 
-238 1.875 0.791666666666667 0 -0.0603779076760481 
-239 1.95833333333333 0.791666666666667 0 -0.0671859764716776 
-240 0.0416666666666667 0.875 0 -0.0666287538090166 
-241 0.125 0.875 0 -0.0672230613843186 
-242 0.208333333333333 0.875 0 -0.0691517645787942 
-243 0.291666666666667 0.875 0 -0.0696393224989323 
-244 0.375 0.875 0 -0.0705559860782735 
-245 0.458333333333333 0.875 0 -0.0736122575313099 
-246 0.541666666666667 0.875 0 -0.0764029379891867 
-247 0.625 0.875 0 -0.085042326026762 
-248 0.708333333333333 0.875 0 -0.0890024921705297 
-249 0.791666666666667 0.875 0 -0.0938242256416684 
-250 0.875 0.875 0 -0.0922358021290622 
-251 0.958333333333333 0.875 0 -0.0928515976252452 
-252 1.04166666666667 0.875 0 -0.0910427609603791 
-253 1.125 0.875 0 -0.0919040476320495 
-254 1.20833333333333 0.875 0 -0.0893514740763635 
-255 1.29166666666667 0.875 0 -0.0867100502128924 
-256 1.375 0.875 0 -0.0820625868709544 
-257 1.45833333333333 0.875 0 -0.0759785890643252 
-258 1.54166666666667 0.875 0 -0.072394130639595 
-259 1.625 0.875 0 -0.0694415352650467 
-260 1.70833333333333 0.875 0 -0.0684419540730219 
-261 1.79166666666667 0.875 0 -0.0664844536081847 
-262 1.875 0.875 0 -0.0660111475641297 
-263 1.95833333333333 0.875 0 -0.0653609120237795 
-264 0.0416666666666667 0.958333333333333 0 -0.067213174529199 
-265 0.125 0.958333333333333 0 -0.0678713871051954 
-266 0.208333333333333 0.958333333333333 0 -0.068797716806478 
-267 0.291666666666667 0.958333333333333 0 -0.0700685193856112 
-268 0.375 0.958333333333333 0 -0.0718294150637501 
-269 0.458333333333333 0.958333333333333 0 -0.0744457101345201 
-270 0.541666666666667 0.958333333333333 0 -0.0787597020215733 
-271 0.625 0.958333333333333 0 -0.0833649826014129 
-272 0.708333333333333 0.958333333333333 0 -0.0881414235922774 
-273 0.791666666666667 0.958333333333333 0 -0.0907569676068032 
-274 0.875 0.958333333333333 0 -0.0921560642966753 
-275 0.958333333333333 0.958333333333333 0 -0.091900022476404 
-276 1.04166666666667 0.958333333333333 0 -0.0915606490047155 
-277 1.125 0.958333333333333 0 -0.0903311134733247 
-278 1.20833333333333 0.958333333333333 0 -0.0885749574107492 
-279 1.29166666666667 0.958333333333333 0 -0.0854510367770663 
-280 1.375 0.958333333333333 0 -0.0813940749569078 
-281 1.45833333333333 0.958333333333333 0 -0.0771358140185348 
-282 1.54166666666667 0.958333333333333 0 -0.0732628368751676 
-283 1.625 0.958333333333333 0 -0.070543231189595 
-284 1.70833333333333 0.958333333333333 0 -0.0685004551656351 
-285 1.79166666666667 0.958333333333333 0 -0.0672158871349057 
-286 1.875 0.958333333333333 0 -0.0662460779738313 
-287 1.95833333333333 0.958333333333333 0 -0.065832906797791 
+0 0.0416666666666667 0.0416666666666667 0 -0.076884802477515 
+1 0.125 0.0416666666666667 0 -0.0766838568637203 
+2 0.208333333333333 0.0416666666666667 0 -0.0763791786490377 
+3 0.291666666666667 0.0416666666666667 0 -0.0756941922780193 
+4 0.375 0.0416666666666667 0 -0.0753234452000016 
+5 0.458333333333333 0.0416666666666667 0 -0.0749629891644409 
+6 0.541666666666667 0.0416666666666667 0 -0.0752694639077115 
+7 0.625 0.0416666666666667 0 -0.0759451773665501 
+8 0.708333333333333 0.0416666666666667 0 -0.0782228190419212 
+9 0.791666666666667 0.0416666666666667 0 -0.0826897463748398 
+10 0.875 0.0416666666666667 0 -0.0880679746027885 
+11 0.958333333333333 0.0416666666666667 0 -0.0920697511080147 
+12 1.04166666666667 0.0416666666666667 0 -0.0913403153020595 
+13 1.125 0.0416666666666667 0 -0.0867566617101409 
+14 1.20833333333333 0.0416666666666667 0 -0.0807809243403918 
+15 1.29166666666667 0.0416666666666667 0 -0.0762442941616134 
+16 1.375 0.0416666666666667 0 -0.0739717917801807 
+17 1.45833333333333 0.0416666666666667 0 -0.0730980381630377 
+18 1.54166666666667 0.0416666666666667 0 -0.0728229115872636 
+19 1.625 0.0416666666666667 0 -0.0729227821109006 
+20 1.70833333333333 0.0416666666666667 0 -0.0731164376870683 
+21 1.79166666666667 0.0416666666666667 0 -0.0736184655763008 
+22 1.875 0.0416666666666667 0 -0.0740981244170089 
+23 1.95833333333333 0.0416666666666667 0 -0.0745038145759093 
+24 0.0416666666666667 0.125 0 -0.0768029497228447 
+25 0.125 0.125 0 -0.0773120879271328 
+26 0.208333333333333 0.125 0 -0.0763003945568076 
+27 0.291666666666667 0.125 0 -0.0760573650653019 
+28 0.375 0.125 0 -0.0743899500499648 
+29 0.458333333333333 0.125 0 -0.0751886400367152 
+30 0.541666666666667 0.125 0 -0.0744143399295357 
+31 0.625 0.125 0 -0.0753854554196513 
+32 0.708333333333333 0.125 0 -0.0755203482701859 
+33 0.791666666666667 0.125 0 -0.0796245544522293 
+34 0.875 0.125 0 -0.0905554645260517 
+35 0.958333333333333 0.125 0 -0.0969001519430874 
+36 1.04166666666667 0.125 0 -0.0972911439732392 
+37 1.125 0.125 0 -0.0874367710751 
+38 1.20833333333333 0.125 0 -0.0778314052734648 
+39 1.29166666666667 0.125 0 -0.0739440112683883 
+40 1.375 0.125 0 -0.0729092022533581 
+41 1.45833333333333 0.125 0 -0.0726274309980197 
+42 1.54166666666667 0.125 0 -0.0727429676119088 
+43 1.625 0.125 0 -0.0725258336789058 
+44 1.70833333333333 0.125 0 -0.0732280581301136 
+45 1.79166666666667 0.125 0 -0.0731853576249141 
+46 1.875 0.125 0 -0.0743271818145627 
+47 1.95833333333333 0.125 0 -0.0749669186421889 
+48 0.0416666666666667 0.208333333333333 0 -0.0769382762828489 
+49 0.125 0.208333333333333 0 -0.0763269106915262 
+50 0.208333333333333 0.208333333333333 0 -0.0807949729052056 
+51 0.291666666666667 0.208333333333333 0 -0.0731360286568413 
+52 0.375 0.208333333333333 0 -0.0745769124590527 
+53 0.458333333333333 0.208333333333333 0 -0.0718884121470319 
+54 0.541666666666667 0.208333333333333 0 -0.0785826594533149 
+55 0.625 0.208333333333333 0 -0.0708203601640562 
+56 0.708333333333333 0.208333333333333 0 -0.0724957851041955 
+57 0.791666666666667 0.208333333333333 0 -0.0709877409923595 
+58 0.875 0.208333333333333 0 -0.080228253048411 
+59 0.958333333333333 0.208333333333333 0 -0.126925098276629 
+60 1.04166666666667 0.208333333333333 0 -0.114103823659948 
+61 1.125 0.208333333333333 0 -0.0811448237211589 
+62 1.20833333333333 0.208333333333333 0 -0.0678693261382926 
+63 1.29166666666667 0.208333333333333 0 -0.0692590683617127 
+64 1.375 0.208333333333333 0 -0.0733213140057873 
+65 1.45833333333333 0.208333333333333 0 -0.071775498496152 
+66 1.54166666666667 0.208333333333333 0 -0.0704606782759155 
+67 1.625 0.208333333333333 0 -0.0747793493339216 
+68 1.70833333333333 0.208333333333333 0 -0.0715385978280121 
+69 1.79166666666667 0.208333333333333 0 -0.0731131140910449 
+70 1.875 0.208333333333333 0 -0.0732107315946472 
+71 1.95833333333333 0.208333333333333 0 -0.0771904551700972 
+72 0.0416666666666667 0.291666666666667 0 -0.0663055424222658 
+73 0.125 0.291666666666667 0 -0.066069229883549 
+74 0.208333333333333 0.291666666666667 0 -0.0736445778057705 
+75 0.291666666666667 0.291666666666667 0 -0.0596986504350181 
+76 0.375 0.291666666666667 0 -0.0583130730226623 
+77 0.458333333333333 0.291666666666667 0 -0.0538825393624587 
+78 0.541666666666667 0.291666666666667 0 -0.0646429786946722 
+79 0.625 0.291666666666667 0 -0.0499307124878465 
+80 0.708333333333333 0.291666666666667 0 -0.0488124422254059 
+81 0.791666666666667 0.291666666666667 0 -0.0458397357346275 
+82 0.875 0.291666666666667 0 -0.0535497199325067 
+83 0.958333333333333 0.291666666666667 0 -0.228346789022849 
+84 1.04166666666667 0.291666666666667 0 -0.191318686991635 
+85 1.125 0.291666666666667 0 -0.0598572678051671 
+86 1.20833333333333 0.291666666666667 0 -0.0460269041933202 
+87 1.29166666666667 0.291666666666667 0 -0.0489778451979705 
+88 1.375 0.291666666666667 0 -0.0603716697055633 
+89 1.45833333333333 0.291666666666667 0 -0.0572841998900572 
+90 1.54166666666667 0.291666666666667 0 -0.0547856773476361 
+91 1.625 0.291666666666667 0 -0.0629620166469341 
+92 1.70833333333333 0.291666666666667 0 -0.0570295498414572 
+93 1.79166666666667 0.291666666666667 0 -0.0593756386437992 
+94 1.875 0.291666666666667 0 -0.0617097565059773 
+95 1.95833333333333 0.291666666666667 0 -0.0694509906790203 
+96 0.0416666666666667 0.375 0 -50.3479052315214 
+97 0.125 0.375 0 -50.4480909425375 
+98 0.208333333333333 0.375 0 -52.1172201415917 
+99 0.291666666666667 0.375 0 -48.8223450390906 
+100 0.375 0.375 0 -50.2398512594703 
+101 0.458333333333333 0.375 0 -49.5542246276502 
+102 0.541666666666667 0.375 0 -52.4089889390568 
+103 0.625 0.375 0 -48.2588298372518 
+104 0.708333333333333 0.375 0 -49.2489238136773 
+105 0.791666666666667 0.375 0 -50.7580839287379 
+106 0.875 0.375 0 -54.1467939345124 
+107 0.958333333333333 0.375 0 -2.29404152019194 
+108 1.04166666666667 0.375 0 -4.05488667355415 
+109 1.125 0.375 0 -53.797779110805 
+110 1.20833333333333 0.375 0 -49.4761122116186 
+111 1.29166666666667 0.375 0 -48.6756874335596 
+112 1.375 0.375 0 -50.3185570582139 
+113 1.45833333333333 0.375 0 -49.2448024041127 
+114 1.54166666666667 0.375 0 -49.7301705032577 
+115 1.625 0.375 0 -51.3704414000397 
+116 1.70833333333333 0.375 0 -49.3869598539887 
+117 1.79166666666667 0.375 0 -50.5745127407459 
+118 1.875 0.375 0 -49.6797049948488 
+119 1.95833333333333 0.375 0 -51.6828840452537 
+120 0.0416666666666667 0.458333333333333 0 -50.1160937664252 
+121 0.125 0.458333333333333 0 -50.8552656795564 
+122 0.208333333333333 0.458333333333333 0 -49.8447551517552 
+123 0.291666666666667 0.458333333333333 0 -51.095379637809 
+124 0.375 0.458333333333333 0 -49.3194106954405 
+125 0.458333333333333 0.458333333333333 0 -50.1968549592202 
+126 0.541666666666667 0.458333333333333 0 -49.3676366757613 
+127 0.625 0.458333333333333 0 -49.8833055009443 
+128 0.708333333333333 0.458333333333333 0 -49.1365531247387 
+129 0.791666666666667 0.458333333333333 0 -49.3931670424834 
+130 0.875 0.458333333333333 0 -41.8060719130998 
+131 0.958333333333333 0.458333333333333 0 -65.0333949287642 
+132 1.04166666666667 0.458333333333333 0 -62.0415917752506 
+133 1.125 0.458333333333333 0 -40.3783204204857 
+134 1.20833333333333 0.458333333333333 0 -49.2289060939274 
+135 1.29166666666667 0.458333333333333 0 -48.8486196965705 
+136 1.375 0.458333333333333 0 -49.1254088475752 
+137 1.45833333333333 0.458333333333333 0 -50.1876721289054 
+138 1.54166666666667 0.458333333333333 0 -50.5309480676705 
+139 1.625 0.458333333333333 0 -50.006502253038 
+140 1.70833333333333 0.458333333333333 0 -50.2122246616779 
+141 1.79166666666667 0.458333333333333 0 -49.3183462091257 
+142 1.875 0.458333333333333 0 -50.7912039979167 
+143 1.95833333333333 0.458333333333333 0 -50.1717718786615 
+144 0.0416666666666667 0.541666666666667 0 -49.8974450101535 
+145 0.125 0.541666666666667 0 -49.1036829897536 
+146 0.208333333333333 0.541666666666667 0 -51.797530150409 
+147 0.291666666666667 0.541666666666667 0 -50.0101652468026 
+148 0.375 0.541666666666667 0 -50.0037022401198 
+149 0.458333333333333 0.541666666666667 0 -49.4236098264222 
+150 0.541666666666667 0.541666666666667 0 -47.8127324942856 
+151 0.625 0.541666666666667 0 -50.3624604974767 
+152 0.708333333333333 0.541666666666667 0 -49.9849009607903 
+153 0.791666666666667 0.541666666666667 0 -46.2725482666893 
+154 0.875 0.541666666666667 0 -54.4427665874926 
+155 0.958333333333333 0.541666666666667 0 -57.5780948676145 
+156 1.04166666666667 0.541666666666667 0 -57.0217116511189 
+157 1.125 0.541666666666667 0 -54.0267471820413 
+158 1.20833333333333 0.541666666666667 0 -44.6330378323598 
+159 1.29166666666667 0.541666666666667 0 -49.5437511756166 
+160 1.375 0.541666666666667 0 -50.1484974077512 
+161 1.45833333333333 0.541666666666667 0 -49.1799190099982 
+162 1.54166666666667 0.541666666666667 0 -50.4132637535428 
+163 1.625 0.541666666666667 0 -50.2986446150613 
+164 1.70833333333333 0.541666666666667 0 -49.4529997999852 
+165 1.79166666666667 0.541666666666667 0 -50.3414281668789 
+166 1.875 0.541666666666667 0 -49.5157079359137 
+167 1.95833333333333 0.541666666666667 0 -49.3940342652702 
+168 0.0416666666666667 0.625 0 -47.3543761948024 
+169 0.125 0.625 0 -52.7386620772174 
+170 0.208333333333333 0.625 0 -49.1294630135886 
+171 0.291666666666667 0.625 0 -50.5850566012085 
+172 0.375 0.625 0 -50.2165083282622 
+173 0.458333333333333 0.625 0 -47.3366134764011 
+174 0.541666666666667 0.625 0 -50.6776383552358 
+175 0.625 0.625 0 -47.8380560651794 
+176 0.708333333333333 0.625 0 -51.0492714491679 
+177 0.791666666666667 0.625 0 -53.5695382304771 
+178 0.875 0.625 0 -53.5559838967227 
+179 0.958333333333333 0.625 0 -50.888977154976 
+180 1.04166666666667 0.625 0 -54.5483915374071 
+181 1.125 0.625 0 -52.0954945161233 
+182 1.20833333333333 0.625 0 -53.6151123612559 
+183 1.29166666666667 0.625 0 -49.4651694604086 
+184 1.375 0.625 0 -48.8514299245416 
+185 1.45833333333333 0.625 0 -51.558223705442 
+186 1.54166666666667 0.625 0 -48.4171258509825 
+187 1.625 0.625 0 -49.2743353680665 
+188 1.70833333333333 0.625 0 -51.919510231224 
+189 1.79166666666667 0.625 0 -48.8549940131327 
+190 1.875 0.625 0 -47.8932600359192 
+191 1.95833333333333 0.625 0 -49.8197165447918 
+192 0.0416666666666667 0.708333333333333 0 -0.0524492132873092 
+193 0.125 0.708333333333333 0 -0.0713311185147436 
+194 0.208333333333333 0.708333333333333 0 -0.0654703493258136 
+195 0.291666666666667 0.708333333333333 0 -0.069081631843605 
+196 0.375 0.708333333333333 0 -0.0713582836014039 
+197 0.458333333333333 0.708333333333333 0 -0.0634241415109193 
+198 0.541666666666667 0.708333333333333 0 -0.0856436297551599 
+199 0.625 0.708333333333333 0 -0.0851360186072904 
+200 0.708333333333333 0.708333333333333 0 -0.114956649332132 
+201 0.791666666666667 0.708333333333333 0 -0.0938085340618777 
+202 0.875 0.708333333333333 0 -0.0649857812964484 
+203 0.958333333333333 0.708333333333333 0 -0.0431064159625991 
+204 1.04166666666667 0.708333333333333 0 -0.0605868853016267 
+205 1.125 0.708333333333333 0 -0.0540488369714229 
+206 1.20833333333333 0.708333333333333 0 -0.0920738020843015 
+207 1.29166666666667 0.708333333333333 0 -0.104794746335813 
+208 1.375 0.708333333333333 0 -0.0822160044060507 
+209 1.45833333333333 0.708333333333333 0 -0.0824469812878785 
+210 1.54166666666667 0.708333333333333 0 -0.0633313744794912 
+211 1.625 0.708333333333333 0 -0.0697913051439897 
+212 1.70833333333333 0.708333333333333 0 -0.0730035159380983 
+213 1.79166666666667 0.708333333333333 0 -0.0643916421813584 
+214 1.875 0.708333333333333 0 -0.0566492702812046 
+215 1.95833333333333 0.708333333333333 0 -0.0695706356457425 
+216 0.0416666666666667 0.791666666666667 0 -0.062792000706021 
+217 0.125 0.791666666666667 0 -0.0717009546655487 
+218 0.208333333333333 0.791666666666667 0 -0.0681163191529 
+219 0.291666666666667 0.791666666666667 0 -0.0698182262797353 
+220 0.375 0.791666666666667 0 -0.0705361712780194 
+221 0.458333333333333 0.791666666666667 0 -0.066130168283108 
+222 0.541666666666667 0.791666666666667 0 -0.0780149921588685 
+223 0.625 0.791666666666667 0 -0.0786377117466988 
+224 0.708333333333333 0.791666666666667 0 -0.0982158858921442 
+225 0.791666666666667 0.791666666666667 0 -0.0965535265720111 
+226 0.875 0.791666666666667 0 -0.0943159602223068 
+227 0.958333333333333 0.791666666666667 0 -0.0877906447843676 
+228 1.04166666666667 0.791666666666667 0 -0.0974941675466598 
+229 1.125 0.791666666666667 0 -0.0869034893139011 
+230 1.20833333333333 0.791666666666667 0 -0.0959909285557087 
+231 1.29166666666667 0.791666666666667 0 -0.0914555126944882 
+232 1.375 0.791666666666667 0 -0.0782841758889026 
+233 1.45833333333333 0.791666666666667 0 -0.0775834584303123 
+234 1.54166666666667 0.791666666666667 0 -0.0660306160330389 
+235 1.625 0.791666666666667 0 -0.0689619895473372 
+236 1.70833333333333 0.791666666666667 0 -0.070704389024253 
+237 1.79166666666667 0.791666666666667 0 -0.065646446761872 
+238 1.875 0.791666666666667 0 -0.06200717102228 
+239 1.95833333333333 0.791666666666667 0 -0.0677848347957813 
+240 0.0416666666666667 0.875 0 -0.0671191102222123 
+241 0.125 0.875 0 -0.0678089959930136 
+242 0.208333333333333 0.875 0 -0.0696075635639099 
+243 0.291666666666667 0.875 0 -0.0700260394487652 
+244 0.375 0.875 0 -0.0706739387231718 
+245 0.458333333333333 0.875 0 -0.0736702092881058 
+246 0.541666666666667 0.875 0 -0.0766171382897268 
+247 0.625 0.875 0 -0.084094730507145 
+248 0.708333333333333 0.875 0 -0.0884611723019257 
+249 0.791666666666667 0.875 0 -0.0925699129823756 
+250 0.875 0.875 0 -0.0919450354503738 
+251 0.958333333333333 0.875 0 -0.0924746028962884 
+252 1.04166666666667 0.875 0 -0.0906423530207971 
+253 1.125 0.875 0 -0.0918156375524943 
+254 1.20833333333333 0.875 0 -0.0893423835145025 
+255 1.29166666666667 0.875 0 -0.0864360989237097 
+256 1.375 0.875 0 -0.0819379838855236 
+257 1.45833333333333 0.875 0 -0.0756581289395638 
+258 1.54166666666667 0.875 0 -0.0726715725846487 
+259 1.625 0.875 0 -0.0699077158440781 
+260 1.70833333333333 0.875 0 -0.0685990556859712 
+261 1.79166666666667 0.875 0 -0.0670366786983783 
+262 1.875 0.875 0 -0.0662808385091137 
+263 1.95833333333333 0.875 0 -0.0660727850869022 
+264 0.0416666666666667 0.958333333333333 0 -0.0677252076732822 
+265 0.125 0.958333333333333 0 -0.0683595744682164 
+266 0.208333333333333 0.958333333333333 0 -0.0692357778444979 
+267 0.291666666666667 0.958333333333333 0 -0.0703818632127424 
+268 0.375 0.958333333333333 0 -0.0720187401297287 
+269 0.458333333333333 0.958333333333333 0 -0.074500135011977 
+270 0.541666666666667 0.958333333333333 0 -0.0785270903693737 
+271 0.625 0.958333333333333 0 -0.082944143358197 
+272 0.708333333333333 0.958333333333333 0 -0.0874023292101059 
+273 0.791666666666667 0.958333333333333 0 -0.0901090569849795 
+274 0.875 0.958333333333333 0 -0.0915572639826548 
+275 0.958333333333333 0.958333333333333 0 -0.0914939954357308 
+276 1.04166666666667 0.958333333333333 0 -0.0912766127607563 
+277 1.125 0.958333333333333 0 -0.0901329813462912 
+278 1.20833333333333 0.958333333333333 0 -0.0884146087507602 
+279 1.29166666666667 0.958333333333333 0 -0.0853044058425604 
+280 1.375 0.958333333333333 0 -0.0812359993856009 
+281 1.45833333333333 0.958333333333333 0 -0.0771150662641858 
+282 1.54166666666667 0.958333333333333 0 -0.0733848437333312 
+283 1.625 0.958333333333333 0 -0.0708042635112851 
+284 1.70833333333333 0.958333333333333 0 -0.0688667340304084 
+285 1.79166666666667 0.958333333333333 0 -0.0675807961739909 
+286 1.875 0.958333333333333 0 -0.0667393286488786 
+287 1.95833333333333 0.958333333333333 0 -0.0663588063557309 

Modified: long/3D/Gale/trunk/src/Underworld/InputFiles/tests/expected/testExtensionWithPop.0of1/VelocityField-Reference.00002.dat
===================================================================
--- long/3D/Gale/trunk/src/Underworld/InputFiles/tests/expected/testExtensionWithPop.0of1/VelocityField-Reference.00002.dat	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/InputFiles/tests/expected/testExtensionWithPop.0of1/VelocityField-Reference.00002.dat	2007-03-08 19:29:30 UTC (rev 6196)
@@ -1,325 +1,325 @@
 0 -0.0819195529188357 0 0 -0.5 0 
-1 0.00824040982440058 0 0 -0.461454646354989 0 
-2 0.0984003725676369 0 0 -0.423195593454144 0 
-3 0.188560335310873 0 0 -0.385586103812437 0 
-4 0.27872029805411 0 0 -0.348388809173094 0 
-5 0.368880260797346 0 0 -0.311879192562321 0 
-6 0.459040223540582 0 0 -0.275369637561427 0 
-7 0.549200186283819 0 0 -0.238090311285122 0 
-8 0.639360149027055 0 0 -0.198247600918057 0 
-9 0.729520111770291 0 0 -0.154166927236894 0 
-10 0.819680074513527 0 0 -0.105396807264862 0 
-11 0.909840037256764 0 0 -0.0528032432422161 0 
-12 1 0 0 0.00163829082338329 0 
-13 1.09015996274324 0 0 0.0563680786988976 0 
-14 1.18031992548647 0 0 0.109829715955594 0 
-15 1.27047988822971 0 0 0.159820339782266 0 
-16 1.36063985097295 0 0 0.205277546274084 0 
-17 1.45079981371618 0 0 0.246271335510569 0 
-18 1.54095977645942 0 0 0.284456540521551 0 
-19 1.63111973920265 0 0 0.32097275000038 0 
-20 1.72127970194589 0 0 0.356844273942569 0 
-21 1.81143966468913 0 0 0.392456179596648 0 
-22 1.90159962743236 0 0 0.428218198196299 0 
-23 1.9917595901756 0 0 0.464060752528936 0 
+1 0.00824040982440058 0 0 -0.461276582323829 0 
+2 0.0984003725676369 0 0 -0.422826235153954 0 
+3 0.188560335310873 0 0 -0.384956446215803 0 
+4 0.27872029805411 0 0 -0.347525767670499 0 
+5 0.368880260797346 0 0 -0.310740744128621 0 
+6 0.459040223540582 0 0 -0.273971115069694 0 
+7 0.549200186283819 0 0 -0.236539179766968 0 
+8 0.639360149027055 0 0 -0.19655256264119 0 
+9 0.729520111770291 0 0 -0.152424724993821 0 
+10 0.819680074513527 0 0 -0.103720599038411 0 
+11 0.909840037256764 0 0 -0.051359629848235 0 
+12 1 0 0 0.00257853425791555 0 
+13 1.09015996274324 0 0 0.056944534331008 0 
+14 1.18031992548647 0 0 0.10981820561811 0 
+15 1.27047988822971 0 0 0.159301427245947 0 
+16 1.36063985097295 0 0 0.204110386240054 0 
+17 1.45079981371618 0 0 0.244668001727333 0 
+18 1.54095977645942 0 0 0.282516822498279 0 
+19 1.63111973920265 0 0 0.31900680090191 0 
+20 1.72127970194589 0 0 0.354906125128645 0 
+21 1.81143966468913 0 0 0.39084328967735 0 
+22 1.90159962743236 0 0 0.426985884819362 0 
+23 1.9917595901756 0 0 0.463439156202164 0 
 24 2.08191955291884 0 0 0.5 0 
-25 -0.0819195529188357 0.0833333333333333 0 -0.5 0.0267008897559478 
-26 0.00824040982440058 0.0833333333333333 0 -0.461105143834632 0.0269365770452684 
-27 0.0984003725676369 0.0833333333333333 0 -0.422850325118953 0.0271143370752826 
-28 0.188560335310873 0.0833333333333333 0 -0.38483451261661 0.0272174757501528 
-29 0.27872029805411 0.0833333333333333 0 -0.348031178291165 0.0273329165281003 
-30 0.368880260797346 0.0833333333333333 0 -0.311529225384149 0.0276370080194671 
-31 0.459040223540582 0.0833333333333333 0 -0.275911826066457 0.0277306428929671 
-32 0.549200186283819 0.0833333333333333 0 -0.239484787332324 0.0267770005094509 
-33 0.639360149027055 0.0833333333333333 0 -0.20112898729956 0.0248623350785285 
-34 0.729520111770291 0.0833333333333333 0 -0.158712023738331 0.0224485731388949 
-35 0.819680074513527 0.0833333333333333 0 -0.109867315621611 0.02149551782199 
-36 0.909840037256764 0.0833333333333333 0 -0.0557739442182417 0.0225728811257459 
-37 1 0.0833333333333333 0 0.00164250565652945 0.0231092642789114 
-38 1.09015996274324 0.0833333333333333 0 0.0593833130109669 0.0214178830030223 
-39 1.18031992548647 0.0833333333333333 0 0.114370135803092 0.0192346681093285 
-40 1.27047988822971 0.0833333333333333 0 0.164536762582581 0.0195844214767332 
-41 1.36063985097295 0.0833333333333333 0 0.208169814555492 0.0218918347359513 
-42 1.45079981371618 0.0833333333333333 0 0.247839775479304 0.0240479666366287 
-43 1.54095977645942 0.0833333333333333 0 0.285078654581986 0.0255250273272435 
-44 1.63111973920265 0.0833333333333333 0 0.32136054971599 0.0264353479847923 
-45 1.72127970194589 0.0833333333333333 0 0.356785325715847 0.0268333677807141 
-46 1.81143966468913 0.0833333333333333 0 0.392300548475612 0.0269334855044981 
-47 1.90159962743236 0.0833333333333333 0 0.427843084321799 0.0271107812055001 
-48 1.9917595901756 0.0833333333333333 0 0.463844200465814 0.0273244206898841 
-49 2.08191955291884 0.0833333333333333 0 0.5 0.0274624386979966 
-50 -0.0819195529188357 0.166666666666667 0 -0.5 0.0533574708930439 
-51 0.00824040982440058 0.166666666666667 0 -0.460959018540214 0.0532571727179195 
-52 0.0984003725676369 0.166666666666667 0 -0.420570281471679 0.0542678658409067 
-53 0.188560335310873 0.166666666666667 0 -0.383395052851085 0.0542652816415168 
-54 0.27872029805411 0.166666666666667 0 -0.345189396470177 0.0546556818009059 
-55 0.368880260797346 0.166666666666667 0 -0.311534463171077 0.0560593421092431 
-56 0.459040223540582 0.166666666666667 0 -0.276540625527389 0.0564704810587463 
-57 0.549200186283819 0.166666666666667 0 -0.24322334594589 0.0553508991136487 
-58 0.639360149027055 0.166666666666667 0 -0.208794635206471 0.0515182669385636 
-59 0.729520111770291 0.166666666666667 0 -0.172121829549704 0.0468519278551148 
-60 0.819680074513527 0.166666666666667 0 -0.129035728495457 0.0413262546197916 
-61 0.909840037256764 0.166666666666667 0 -0.0676661751567527 0.0413977663548397 
-62 1 0.166666666666667 0 0.00176292362313452 0.0443413286055106 
-63 1.09015996274324 0.166666666666667 0 0.0712054585386937 0.039329911483883 
-64 1.18031992548647 0.166666666666667 0 0.133841079435848 0.0361908659267458 
-65 1.27047988822971 0.166666666666667 0 0.178724268279749 0.0407015038203768 
-66 1.36063985097295 0.166666666666667 0 0.216146628347989 0.0461849843278454 
-67 1.45079981371618 0.166666666666667 0 0.250721016498716 0.0493277710028804 
-68 1.54095977645942 0.166666666666667 0 0.28714505286096 0.0514854519797375 
-69 1.63111973920265 0.166666666666667 0 0.321992161257884 0.0534803059105161 
-70 1.72127970194589 0.166666666666667 0 0.357180009154014 0.054103375497935 
-71 1.81143966468913 0.166666666666667 0 0.391309916512306 0.0540000503633008 
-72 1.90159962743236 0.166666666666667 0 0.426784335306615 0.054272827301562 
-73 1.9917595901756 0.166666666666667 0 0.462377629331603 0.0546186005137553 
-74 2.08191955291884 0.166666666666667 0 0.5 0.0543482925674849 
-75 -0.0819195529188357 0.25 0 -0.5 0.0797888493957244 
-76 0.00824040982440058 0.25 0 -0.460896746717539 0.0798712854327412 
-77 0.0984003725676369 0.25 0 -0.422825973330346 0.079119481582403 
-78 0.188560335310873 0.25 0 -0.369888804557016 0.0799305508404633 
-79 0.27872029805411 0.25 0 -0.343499561430143 0.0840919322734842 
-80 0.368880260797346 0.25 0 -0.309594437683445 0.0864358990290447 
-81 0.459040223540582 0.25 0 -0.281892549446333 0.0862372334834502 
-82 0.549200186283819 0.25 0 -0.242558210912151 0.0851140944299044 
-83 0.639360149027055 0.25 0 -0.216030232219 0.0839906578332675 
-84 0.729520111770291 0.25 0 -0.196736983851736 0.0775360217019019 
-85 0.819680074513527 0.25 0 -0.165146156583666 0.0646438808755067 
-86 0.909840037256764 0.25 0 -0.125858325646508 0.0532421419152848 
-87 1 0.25 0 -0.00306500842915946 0.0455613127381722 
-88 1.09015996274324 0.25 0 0.132074570506242 0.0462301159084468 
-89 1.18031992548647 0.25 0 0.178143154018018 0.0574460616348115 
-90 1.27047988822971 0.25 0 0.198983273286903 0.0700890993699552 
-91 1.36063985097295 0.25 0 0.220635369203131 0.0738066720027398 
-92 1.45079981371618 0.25 0 0.257270293142397 0.0763649586583148 
-93 1.54095977645942 0.25 0 0.285330513796207 0.0784802968751654 
-94 1.63111973920265 0.25 0 0.323868609017851 0.080479833832829 
-95 1.72127970194589 0.25 0 0.359225903608888 0.0817220556606787 
-96 1.81143966468913 0.25 0 0.392079366419756 0.083064063913785 
-97 1.90159962743236 0.25 0 0.419049444282892 0.0820967504025652 
-98 1.9917595901756 0.25 0 0.459969079701606 0.0803090640291405 
-99 2.08191955291884 0.25 0 0.5 0.0804168315230391 
-100 -0.0819195529188357 0.333333333333333 0 -0.5 0.0810677585639374 
-101 0.00824040982440058 0.333333333333333 0 -0.46114164458469 0.0808355823295234 
-102 0.0984003725676369 0.333333333333333 0 -0.420306265295223 0.0803592175190713 
-103 0.188560335310873 0.333333333333333 0 -0.379115687353361 0.0812751147310997 
-104 0.27872029805411 0.333333333333333 0 -0.344613411265929 0.0847523103006993 
-105 0.368880260797346 0.333333333333333 0 -0.31134812991673 0.0873533998957667 
-106 0.459040223540582 0.333333333333333 0 -0.278083308065355 0.087465216761771 
-107 0.549200186283819 0.333333333333333 0 -0.243892248512723 0.0863860131618853 
-108 0.639360149027055 0.333333333333333 0 -0.214024870184664 0.0845639891431444 
-109 0.729520111770291 0.333333333333333 0 -0.184345680179898 0.0784928140677961 
-110 0.819680074513527 0.333333333333333 0 -0.151519807613713 0.0679806267176098 
-111 0.909840037256764 0.333333333333333 0 -0.133614211775965 0.0521067298133609 
-112 1 0.333333333333333 0 0.0100138706305082 0.0332713544033164 
-113 1.09015996274324 0.333333333333333 0 0.140225732384396 0.0459083994507084 
-114 1.18031992548647 0.333333333333333 0 0.160537653785153 0.0602202587809438 
-115 1.27047988822971 0.333333333333333 0 0.191550310330281 0.0701843573287135 
-116 1.36063985097295 0.333333333333333 0 0.221035726969709 0.0749274997005706 
-117 1.45079981371618 0.333333333333333 0 0.25412791545401 0.0772232203660921 
-118 1.54095977645942 0.333333333333333 0 0.28624103279221 0.0796136294003179 
-119 1.63111973920265 0.333333333333333 0 0.321240871943425 0.0816739870256704 
-120 1.72127970194589 0.333333333333333 0 0.357002232628948 0.0828345249570807 
-121 1.81143966468913 0.333333333333333 0 0.38943835122091 0.0837696764110723 
-122 1.90159962743236 0.333333333333333 0 0.423268957168608 0.0829328829678671 
-123 1.9917595901756 0.333333333333333 0 0.460847810096201 0.0817060334142785 
-124 2.08191955291884 0.333333333333333 0 0.5 0.0813608729094081 
-125 -0.0819195529188357 0.416666666666667 0 -0.5 0.0429853832867188 
-126 0.00824040982440058 0.416666666666667 0 -0.459465662962571 0.0426369784491516 
-127 0.0984003725676369 0.416666666666667 0 -0.420529154054081 0.0419126341128404 
-128 0.188560335310873 0.416666666666667 0 -0.385162579048223 0.0461651012594323 
-129 0.27872029805411 0.416666666666667 0 -0.348801280840003 0.0517762325703689 
-130 0.368880260797346 0.416666666666667 0 -0.312654804902951 0.0536387086664284 
-131 0.459040223540582 0.416666666666667 0 -0.276579101862877 0.054557316700862 
-132 0.549200186283819 0.416666666666667 0 -0.243836845769942 0.0549843465827856 
-133 0.639360149027055 0.416666666666667 0 -0.209079982204306 0.0538744287515526 
-134 0.729520111770291 0.416666666666667 0 -0.174029567100022 0.0469896586641028 
-135 0.819680074513527 0.416666666666667 0 -0.142728795003227 0.0378706064008018 
-136 0.909840037256764 0.416666666666667 0 -0.105557681383068 0.0292987464231208 
-137 1 0.416666666666667 0 0.00880281896194902 0.0347324998581998 
-138 1.09015996274324 0.416666666666667 0 0.115129734785172 0.0217860853858898 
-139 1.18031992548647 0.416666666666667 0 0.15096106297136 0.0303999970312156 
-140 1.27047988822971 0.416666666666667 0 0.183256441018164 0.0391777615094504 
-141 1.36063985097295 0.416666666666667 0 0.219221981210892 0.0430483813006228 
-142 1.45079981371618 0.416666666666667 0 0.25191386643492 0.0458966487940226 
-143 1.54095977645942 0.416666666666667 0 0.285854777384543 0.0474751744285919 
-144 1.63111973920265 0.416666666666667 0 0.319648828323113 0.0477150998693925 
-145 1.72127970194589 0.416666666666667 0 0.353618224687822 0.0497956917002701 
-146 1.81143966468913 0.416666666666667 0 0.389828257712699 0.0508527623221483 
-147 1.90159962743236 0.416666666666667 0 0.426134848410716 0.0484615977743906 
-148 1.9917595901756 0.416666666666667 0 0.462392079375597 0.0452351747042889 
-149 2.08191955291884 0.416666666666667 0 0.5 0.0440800777673466 
-150 -0.0819195529188357 0.5 0 -0.5 0.00400091451640317 
-151 0.00824040982440058 0.5 0 -0.459713540096175 0.0039684216363042 
-152 0.0984003725676369 0.5 0 -0.423338404594829 0.0082213700728687 
-153 0.188560335310873 0.5 0 -0.388987901223456 0.0128718861646255 
-154 0.27872029805411 0.5 0 -0.352947070493052 0.0155053039200137 
-155 0.368880260797346 0.5 0 -0.315021894670847 0.0187411573774648 
-156 0.459040223540582 0.5 0 -0.278651634592018 0.0198487486889382 
-157 0.549200186283819 0.5 0 -0.24034619535132 0.0214299896269176 
-158 0.639360149027055 0.5 0 -0.204141404625961 0.0192485198265041 
-159 0.729520111770291 0.5 0 -0.16719979403543 0.0124454869774992 
-160 0.819680074513527 0.5 0 -0.1237767302674 0.000619609815103892 
-161 0.909840037256764 0.5 0 -0.0524269854437194 -0.0377177594026931 
-162 1 0.5 0 0.00776504580555789 -0.0659619776864953 
-163 1.09015996274324 0.5 0 0.0687910353191212 -0.0383133023264037 
-164 1.18031992548647 0.5 0 0.133919170614651 -0.00650310957367418 
-165 1.27047988822971 0.5 0 0.178081123101433 0.00262026379745808 
-166 1.36063985097295 0.5 0 0.214281015196634 0.0102688945896946 
-167 1.45079981371618 0.5 0 0.249570666600203 0.0133591684322546 
-168 1.54095977645942 0.5 0 0.28407959495122 0.0142457488853808 
-169 1.63111973920265 0.5 0 0.318470293803994 0.0154322103206993 
-170 1.72127970194589 0.5 0 0.353564947009236 0.0157214266170729 
-171 1.81143966468913 0.5 0 0.390105228770195 0.0150281811327326 
-172 1.90159962743236 0.5 0 0.427819939397249 0.0131659854032997 
-173 1.9917595901756 0.5 0 0.46456068499046 0.0103939856026486 
-174 2.08191955291884 0.5 0 0.5 0.00873698639617906 
-175 -0.0819195529188357 0.583333333333333 0 -0.5 -0.0360674211280916 
-176 0.00824040982440058 0.583333333333333 0 -0.462659778134044 -0.0305473249219903 
-177 0.0984003725676369 0.583333333333333 0 -0.428386065340259 -0.0251426905164104 
-178 0.188560335310873 0.583333333333333 0 -0.391239408819769 -0.0224585831766182 
-179 0.27872029805411 0.583333333333333 0 -0.354584661805949 -0.0190104978342119 
-180 0.368880260797346 0.583333333333333 0 -0.318191034812296 -0.018148752434944 
-181 0.459040223540582 0.583333333333333 0 -0.278924176241356 -0.0159338127703022 
-182 0.549200186283819 0.583333333333333 0 -0.240321640294187 -0.016680913950915 
-183 0.639360149027055 0.583333333333333 0 -0.197507365097301 -0.0185622636994065 
-184 0.729520111770291 0.583333333333333 0 -0.152472602804283 -0.0285071468437912 
-185 0.819680074513527 0.583333333333333 0 -0.0869340679870276 -0.0631185828982893 
-186 0.909840037256764 0.583333333333333 0 -0.0310075843147468 -0.0962672950949295 
-187 1 0.583333333333333 0 0.00998488744759665 -0.104631262191105 
-188 1.09015996274324 0.583333333333333 0 0.0480302246642694 -0.0948323890427151 
-189 1.18031992548647 0.583333333333333 0 0.10362093191601 -0.0659712854658572 
-190 1.27047988822971 0.583333333333333 0 0.163349753001599 -0.0377304781153382 
-191 1.36063985097295 0.583333333333333 0 0.207436864189617 -0.0265204472058569 
-192 1.45079981371618 0.583333333333333 0 0.245974163450078 -0.020784874857323 
-193 1.54095977645942 0.583333333333333 0 0.281700638656369 -0.0190927005623143 
-194 1.63111973920265 0.583333333333333 0 0.318155810149098 -0.019298481260719 
-195 1.72127970194589 0.583333333333333 0 0.355174227296966 -0.0188345132138557 
-196 1.81143966468913 0.583333333333333 0 0.391390649500566 -0.0203209604287099 
-197 1.90159962743236 0.583333333333333 0 0.428615518100679 -0.0234870868824145 
-198 1.9917595901756 0.583333333333333 0 0.466017246939448 -0.0241896174883254 
-199 2.08191955291884 0.583333333333333 0 0.5 -0.0233804973894402 
-200 -0.0819195529188357 0.666666666666667 0 -0.5 -0.0664727757927173 
-201 0.00824040982440058 0.666666666666667 0 -0.470037415072643 -0.0648069873313311 
-202 0.0984003725676369 0.666666666666667 0 -0.430998975213135 -0.0613215950933271 
-203 0.188560335310873 0.666666666666667 0 -0.393713095813586 -0.0577947338515857 
-204 0.27872029805411 0.666666666666667 0 -0.355775388986684 -0.0553428174157077 
-205 0.368880260797346 0.666666666666667 0 -0.317152495878661 -0.0538926314531835 
-206 0.459040223540582 0.666666666666667 0 -0.279948829177429 -0.0536631948683888 
-207 0.549200186283819 0.666666666666667 0 -0.238621668984266 -0.0557481496422213 
-208 0.639360149027055 0.666666666666667 0 -0.192056296526064 -0.065371376513857 
-209 0.729520111770291 0.666666666666667 0 -0.121945325181057 -0.0923306018259001 
-210 0.819680074513527 0.666666666666667 0 -0.0626526266194479 -0.119233662872724 
-211 0.909840037256764 0.666666666666667 0 -0.0217723721039661 -0.13316475973681 
-212 1 0.666666666666667 0 0.00863135418242889 -0.136331673954637 
-213 1.09015996274324 0.666666666666667 0 0.0432837375162882 -0.132980452447943 
-214 1.18031992548647 0.666666666666667 0 0.0832945871704691 -0.119677684451787 
-215 1.27047988822971 0.666666666666667 0 0.137070563021943 -0.0930799824528852 
-216 1.36063985097295 0.666666666666667 0 0.195221291592199 -0.0694018288794831 
-217 1.45079981371618 0.666666666666667 0 0.240423077615694 -0.0583603575106781 
-218 1.54095977645942 0.666666666666667 0 0.280855036449755 -0.0546907201933129 
-219 1.63111973920265 0.666666666666667 0 0.317870628050548 -0.0542915888762842 
-220 1.72127970194589 0.666666666666667 0 0.355017815009962 -0.0551001336255338 
-221 1.81143966468913 0.666666666666667 0 0.394399371275102 -0.0566901316756871 
-222 1.90159962743236 0.666666666666667 0 0.431026502893808 -0.0580754122615317 
-223 1.9917595901756 0.666666666666667 0 0.464588725615889 -0.0577837849343739 
-224 2.08191955291884 0.666666666666667 0 0.5 -0.0564605422638546 
-225 -0.0819195529188357 0.75 0 -0.5 -0.0664095518884961 
-226 0.00824040982440058 0.75 0 -0.476615194785328 -0.0636976120586087 
-227 0.0984003725676369 0.75 0 -0.432767944524814 -0.0604056368564506 
-228 0.188560335310873 0.75 0 -0.397913527543161 -0.0572509705503115 
-229 0.27872029805411 0.75 0 -0.355957584420621 -0.0542512247501414 
-230 0.368880260797346 0.75 0 -0.313768783985515 -0.0535208169036467 
-231 0.459040223540582 0.75 0 -0.283270516634889 -0.0530720184547011 
-232 0.549200186283819 0.75 0 -0.229550872507597 -0.0551034262824874 
-233 0.639360149027055 0.75 0 -0.18485109822775 -0.0653524038639103 
-234 0.729520111770291 0.75 0 -0.0965196403982298 -0.0908180048692297 
-235 0.819680074513527 0.75 0 -0.0479369423476494 -0.116318304771525 
-236 0.909840037256764 0.75 0 -0.0137972049560439 -0.131388338762455 
-237 1 0.75 0 0.00367215310305212 -0.134144191633176 
-238 1.09015996274324 0.75 0 0.0437674395933962 -0.130378359353214 
-239 1.18031992548647 0.75 0 0.0650129014725708 -0.11770138759985 
-240 1.27047988822971 0.75 0 0.115411777146296 -0.0921215766193181 
-241 1.36063985097295 0.75 0 0.17704665285132 -0.0692656026091807 
-242 1.45079981371618 0.75 0 0.231666857315508 -0.0574882076840552 
-243 1.54095977645942 0.75 0 0.283760867787725 -0.053933055222818 
-244 1.63111973920265 0.75 0 0.315446474911173 -0.0539475061761424 
-245 1.72127970194589 0.75 0 0.354879990443664 -0.0542756096361728 
-246 1.81143966468913 0.75 0 0.396668256427516 -0.0556320547414862 
-247 1.90159962743236 0.75 0 0.435337194372688 -0.0575157831516895 
-248 1.9917595901756 0.75 0 0.459203294723989 -0.0574774995880259 
-249 2.08191955291884 0.75 0 0.5 -0.0554151526336586 
-250 -0.0819195529188357 0.833333333333333 0 -0.5 -0.0408816539628771 
-251 0.00824040982440058 0.833333333333333 0 -0.464938349695354 -0.0413929225626841 
-252 0.0984003725676369 0.833333333333333 0 -0.429581536910297 -0.0401844492087025 
-253 0.188560335310873 0.833333333333333 0 -0.38977779111849 -0.0378069110723146 
-254 0.27872029805411 0.833333333333333 0 -0.34932808672238 -0.0363445582401806 
-255 0.368880260797346 0.833333333333333 0 -0.307852584606565 -0.0344123222175767 
-256 0.459040223540582 0.833333333333333 0 -0.26215764450046 -0.0353252667568146 
-257 0.549200186283819 0.833333333333333 0 -0.215613775149113 -0.0391818540985587 
-258 0.639360149027055 0.833333333333333 0 -0.160114288979224 -0.0501247504171181 
-259 0.729520111770291 0.833333333333333 0 -0.110740315618101 -0.0646531707729956 
-260 0.819680074513527 0.833333333333333 0 -0.0632164899032172 -0.0756129504436482 
-261 0.909840037256764 0.833333333333333 0 -0.0259390374409683 -0.0829150111943489 
-262 1 0.833333333333333 0 0.00911144850423052 -0.0862157640847206 
-263 1.09015996274324 0.833333333333333 0 0.0403569725924793 -0.0836420698874601 
-264 1.18031992548647 0.833333333333333 0 0.0785041422329294 -0.0754195984282193 
-265 1.27047988822971 0.833333333333333 0 0.119857184383489 -0.0642429893681264 
-266 1.36063985097295 0.833333333333333 0 0.16763269189727 -0.0509390751550104 
-267 1.45079981371618 0.833333333333333 0 0.217873920863074 -0.0416100218348465 
-268 1.54095977645942 0.833333333333333 0 0.264066416776208 -0.0364105928285301 
-269 1.63111973920265 0.833333333333333 0 0.308547734866505 -0.0348502774146794 
-270 1.72127970194589 0.833333333333333 0 0.349300296478782 -0.0360595788724779 
-271 1.81143966468913 0.833333333333333 0 0.3889163086559 -0.0369937293673561 
-272 1.90159962743236 0.833333333333333 0 0.426106048314218 -0.036667290464554 
-273 1.9917595901756 0.833333333333333 0 0.46389199799494 -0.0369312584402103 
-274 2.08191955291884 0.833333333333333 0 0.5 -0.0378746412989545 
-275 -0.0819195529188357 0.916666666666667 0 -0.5 -0.0202566449757506 
-276 0.00824040982440058 0.916666666666667 0 -0.463065820644174 -0.0201434790279239 
-277 0.0984003725676369 0.916666666666667 0 -0.425168326500558 -0.0197785436160015 
-278 0.188560335310873 0.916666666666667 0 -0.385887024843537 -0.0189448345535349 
-279 0.27872029805411 0.916666666666667 0 -0.344426041451105 -0.0178413821448624 
-280 0.368880260797346 0.916666666666667 0 -0.300575804911974 -0.017303746126649 
-281 0.459040223540582 0.916666666666667 0 -0.25460117500757 -0.0178235756198713 
-282 0.549200186283819 0.916666666666667 0 -0.205918443601076 -0.0208399971484598 
-283 0.639360149027055 0.916666666666667 0 -0.157825633046147 -0.0262616029669822 
-284 0.729520111770291 0.916666666666667 0 -0.111068952205631 -0.0325414531084961 
-285 0.819680074513527 0.916666666666667 0 -0.0687735717384384 -0.0376496122369349 
-286 0.909840037256764 0.916666666666667 0 -0.0294116073368892 -0.0407875060751229 
-287 1 0.916666666666667 0 0.0067188217283096 -0.0419817242081048 
-288 1.09015996274324 0.916666666666667 0 0.0428491987953121 -0.0408734641545662 
-289 1.18031992548647 0.916666666666667 0 0.080125967340235 -0.0374825074169704 
-290 1.27047988822971 0.916666666666667 0 0.120976456060757 -0.0322422513730193 
-291 1.36063985097295 0.916666666666667 0 0.164928212662723 -0.0265551378628861 
-292 1.45079981371618 0.916666666666667 0 0.210856502890092 -0.0216231518386816 
-293 1.54095977645942 0.916666666666667 0 0.257135610942246 -0.0186138329333781 
-294 1.63111973920265 0.916666666666667 0 0.301732247205256 -0.0175768223644797 
-295 1.72127970194589 0.916666666666667 0 0.344414568036708 -0.0177618814995285 
-296 1.81143966468913 0.916666666666667 0 0.38481924977301 -0.0181054199513232 
-297 1.90159962743236 0.916666666666667 0 0.424079474427673 -0.018201425857796 
-298 1.9917595901756 0.916666666666667 0 0.462264153124239 -0.0183710822822006 
-299 2.08191955291884 0.916666666666667 0 0.5 -0.0184490167965685 
+25 -0.0819195529188357 0.0833333333333333 0 -0.5 0.0266460506808377 
+26 0.00824040982440058 0.0833333333333333 0 -0.461009911062256 0.0268281270556071 
+27 0.0984003725676369 0.0833333333333333 0 -0.422491335987388 0.0270264787563577 
+28 0.188560335310873 0.0833333333333333 0 -0.384295892709526 0.0271885237726049 
+29 0.27872029805411 0.0833333333333333 0 -0.347135733766985 0.0273013796349132 
+30 0.368880260797346 0.0833333333333333 0 -0.310351338108845 0.0275518278667957 
+31 0.459040223540582 0.0833333333333333 0 -0.274440477815115 0.0275546119570451 
+32 0.549200186283819 0.0833333333333333 0 -0.237749485297223 0.0266766547568529 
+33 0.639360149027055 0.0833333333333333 0 -0.199520148602647 0.0247481118283063 
+34 0.729520111770291 0.0833333333333333 0 -0.156950437518463 0.0223236521201512 
+35 0.819680074513527 0.0833333333333333 0 -0.108100076232674 0.0217616825556766 
+36 0.909840037256764 0.0833333333333333 0 -0.0543472158506092 0.023063958511174 
+37 1 0.0833333333333333 0 0.00288477818615363 0.0235730019007398 
+38 1.09015996274324 0.0833333333333333 0 0.0598589187107309 0.0216851304452835 
+39 1.18031992548647 0.0833333333333333 0 0.11452926700006 0.0195805019249739 
+40 1.27047988822971 0.0833333333333333 0 0.163835888096469 0.0201364638546811 
+41 1.36063985097295 0.0833333333333333 0 0.207018941610959 0.0223938242958187 
+42 1.45079981371618 0.0833333333333333 0 0.246143249552118 0.0243333653337703 
+43 1.54095977645942 0.0833333333333333 0 0.283188796674648 0.0255375109830797 
+44 1.63111973920265 0.0833333333333333 0 0.319160581903152 0.026212178036582 
+45 1.72127970194589 0.0833333333333333 0 0.354835989461782 0.0265564188689574 
+46 1.81143966468913 0.0833333333333333 0 0.390417864939934 0.0265884843154102 
+47 1.90159962743236 0.0833333333333333 0 0.426627858261576 0.0265923721902072 
+48 1.9917595901756 0.0833333333333333 0 0.463159432845216 0.026780527744553 
+49 2.08191955291884 0.0833333333333333 0 0.5 0.0268682689314488 
+50 -0.0819195529188357 0.166666666666667 0 -0.5 0.0532566258926587 
+51 0.00824040982440058 0.166666666666667 0 -0.460888314011094 0.053182291211153 
+52 0.0984003725676369 0.166666666666667 0 -0.420739400576618 0.0539420012532122 
+53 0.188560335310873 0.166666666666667 0 -0.382727016846365 0.0542197634290764 
+54 0.27872029805411 0.166666666666667 0 -0.34459289069401 0.0546893707516234 
+55 0.368880260797346 0.166666666666667 0 -0.310040759212224 0.0556066360014185 
+56 0.459040223540582 0.166666666666667 0 -0.274576277739519 0.0562363667437229 
+57 0.549200186283819 0.166666666666667 0 -0.241508514674295 0.0549939607945487 
+58 0.639360149027055 0.166666666666667 0 -0.206350770749729 0.0515623107928937 
+59 0.729520111770291 0.166666666666667 0 -0.171235779039099 0.0467364554212794 
+60 0.819680074513527 0.166666666666667 0 -0.127434033250568 0.0410359121973618 
+61 0.909840037256764 0.166666666666667 0 -0.065038249969075 0.0431192730658171 
+62 1 0.166666666666667 0 0.0024976276571942 0.0451414122516618 
+63 1.09015996274324 0.166666666666667 0 0.0733013139330523 0.0394992568440242 
+64 1.18031992548647 0.166666666666667 0 0.133123915555082 0.0374891876677183 
+65 1.27047988822971 0.166666666666667 0 0.177701356730441 0.0417420340388531 
+66 1.36063985097295 0.166666666666667 0 0.214696802185793 0.0469920588490295 
+67 1.45079981371618 0.166666666666667 0 0.249606251276936 0.0501179508970122 
+68 1.54095977645942 0.166666666666667 0 0.28466911245779 0.0515161813750744 
+69 1.63111973920265 0.166666666666667 0 0.319941803647814 0.0530195905060755 
+70 1.72127970194589 0.166666666666667 0 0.354036219779331 0.0535900838543307 
+71 1.81143966468913 0.166666666666667 0 0.389535267443515 0.0533068210762564 
+72 1.90159962743236 0.166666666666667 0 0.424836581165831 0.0531413513869791 
+73 1.9917595901756 0.166666666666667 0 0.462095135399777 0.0532124771254233 
+74 2.08191955291884 0.166666666666667 0 0.5 0.0535656784906428 
+75 -0.0819195529188357 0.25 0 -0.5 0.0796794225471347 
+76 0.00824040982440058 0.25 0 -0.460794570516744 0.0797429107994707 
+77 0.0984003725676369 0.25 0 -0.422439546409637 0.0791663183412952 
+78 0.188560335310873 0.25 0 -0.373054069530534 0.0796817823073904 
+79 0.27872029805411 0.25 0 -0.340609602390658 0.0833085702358206 
+80 0.368880260797346 0.25 0 -0.307378871835343 0.0861562459133954 
+81 0.459040223540582 0.25 0 -0.280459566383066 0.085562047114659 
+82 0.549200186283819 0.25 0 -0.238725853924821 0.0847694468427397 
+83 0.639360149027055 0.25 0 -0.215336199864952 0.0835676969152545 
+84 0.729520111770291 0.25 0 -0.190930672288048 0.0783692703143855 
+85 0.819680074513527 0.25 0 -0.169821609400938 0.0653487823992839 
+86 0.909840037256764 0.25 0 -0.127819116701802 0.0522139135266226 
+87 1 0.25 0 0.0128884574762907 0.047509024744465 
+88 1.09015996274324 0.25 0 0.128055025913734 0.0486244240677249 
+89 1.18031992548647 0.25 0 0.176823955911878 0.0592698207100331 
+90 1.27047988822971 0.25 0 0.196476994957721 0.0713633000635378 
+91 1.36063985097295 0.25 0 0.219708779483226 0.0749353500094337 
+92 1.45079981371618 0.25 0 0.255102549060467 0.0768285852470281 
+93 1.54095977645942 0.25 0 0.28772277721309 0.0794007056265088 
+94 1.63111973920265 0.25 0 0.31704941519563 0.0805020067436114 
+95 1.72127970194589 0.25 0 0.355692363634413 0.0808534269220375 
+96 1.81143966468913 0.25 0 0.387110331357587 0.080980465903762 
+97 1.90159962743236 0.25 0 0.421498052484494 0.0803655503038275 
+98 1.9917595901756 0.25 0 0.45639633613882 0.0786777624593112 
+99 2.08191955291884 0.25 0 0.5 0.0784376537658662 
+100 -0.0819195529188357 0.333333333333333 0 -0.5 0.0809395908915095 
+101 0.00824040982440058 0.333333333333333 0 -0.461036890824194 0.0807346316296682 
+102 0.0984003725676369 0.333333333333333 0 -0.420268090693862 0.0803340585696032 
+103 0.188560335310873 0.333333333333333 0 -0.379027905650112 0.0810416806743145 
+104 0.27872029805411 0.333333333333333 0 -0.343447571555112 0.0842482610774893 
+105 0.368880260797346 0.333333333333333 0 -0.309696138331411 0.0869479008347242 
+106 0.459040223540582 0.333333333333333 0 -0.276183723869871 0.0868761555797364 
+107 0.549200186283819 0.333333333333333 0 -0.241973542955111 0.0859047662920989 
+108 0.639360149027055 0.333333333333333 0 -0.211897661192503 0.084321803454201 
+109 0.729520111770291 0.333333333333333 0 -0.182694489730765 0.0789876398888631 
+110 0.819680074513527 0.333333333333333 0 -0.152526893721674 0.0681790151561738 
+111 0.909840037256764 0.333333333333333 0 -0.135197729988791 0.0512823739490368 
+112 1 0.333333333333333 0 0.0120582366751819 0.0343633398325372 
+113 1.09015996274324 0.333333333333333 0 0.139502114965033 0.0486860739835533 
+114 1.18031992548647 0.333333333333333 0 0.159615100619516 0.061861849833924 
+115 1.27047988822971 0.333333333333333 0 0.189762850767992 0.0715518603550872 
+116 1.36063985097295 0.333333333333333 0 0.219562376612552 0.0760372376191419 
+117 1.45079981371618 0.333333333333333 0 0.253124046285619 0.0778950063832857 
+118 1.54095977645942 0.333333333333333 0 0.285105148176257 0.0802318423480774 
+119 1.63111973920265 0.333333333333333 0 0.318408970415089 0.0815858131655036 
+120 1.72127970194589 0.333333333333333 0 0.353986368274635 0.0819140106896717 
+121 1.81143966468913 0.333333333333333 0 0.38766010962023 0.0820133477046233 
+122 1.90159962743236 0.333333333333333 0 0.422418558963967 0.0811787920956675 
+123 1.9917595901756 0.333333333333333 0 0.459243820189042 0.0799184798344565 
+124 2.08191955291884 0.333333333333333 0 0.5 0.0794849458534865 
+125 -0.0819195529188357 0.416666666666667 0 -0.5 0.0427835747663169 
+126 0.00824040982440058 0.416666666666667 0 -0.459357119519422 0.0424046855939312 
+127 0.0984003725676369 0.416666666666667 0 -0.42008191968799 0.0417574068871635 
+128 0.188560335310873 0.416666666666667 0 -0.384144604653818 0.0454657004431248 
+129 0.27872029805411 0.416666666666667 0 -0.347799165033817 0.0507175907557727 
+130 0.368880260797346 0.416666666666667 0 -0.311437632736489 0.0531140459924213 
+131 0.459040223540582 0.416666666666667 0 -0.275307393280196 0.0537971659135005 
+132 0.549200186283819 0.416666666666667 0 -0.242449754633111 0.0545450012697431 
+133 0.639360149027055 0.416666666666667 0 -0.2081113268769 0.0537920325725039 
+134 0.729520111770291 0.416666666666667 0 -0.17360166595429 0.0483016231504514 
+135 0.819680074513527 0.416666666666667 0 -0.141700908102081 0.0392294415053968 
+136 0.909840037256764 0.416666666666667 0 -0.105327963480846 0.0286347517120121 
+137 1 0.416666666666667 0 0.00760365890033399 0.0364254961644953 
+138 1.09015996274324 0.416666666666667 0 0.114512695570215 0.0242007940377636 
+139 1.18031992548647 0.416666666666667 0 0.150214731406658 0.0327199550382274 
+140 1.27047988822971 0.416666666666667 0 0.18245105936263 0.0407546137678956 
+141 1.36063985097295 0.416666666666667 0 0.218160285186525 0.043893275370592 
+142 1.45079981371618 0.416666666666667 0 0.250679376186058 0.0465482177190545 
+143 1.54095977645942 0.416666666666667 0 0.284251341894311 0.0485948892695603 
+144 1.63111973920265 0.416666666666667 0 0.318597058226916 0.0482250039704611 
+145 1.72127970194589 0.416666666666667 0 0.352449972468508 0.0485658166618532 
+146 1.81143966468913 0.416666666666667 0 0.388389025701941 0.0484770023887377 
+147 1.90159962743236 0.416666666666667 0 0.424648053620964 0.0464811371161331 
+148 1.9917595901756 0.416666666666667 0 0.462207493676587 0.0431467847238705 
+149 2.08191955291884 0.416666666666667 0 0.5 0.0407864812288402 
+150 -0.0819195529188357 0.5 0 -0.5 0.00346238264398743 
+151 0.00824040982440058 0.5 0 -0.459309647214232 0.00358049081946399 
+152 0.0984003725676369 0.5 0 -0.422563735969694 0.00754009716723318 
+153 0.188560335310873 0.5 0 -0.38802102872076 0.0119655522158557 
+154 0.27872029805411 0.5 0 -0.351890902864392 0.0145830065064243 
+155 0.368880260797346 0.5 0 -0.313842927691544 0.017755497002973 
+156 0.459040223540582 0.5 0 -0.277648121957992 0.019665808788986 
+157 0.549200186283819 0.5 0 -0.240058656171207 0.0209905302547798 
+158 0.639360149027055 0.5 0 -0.203985558523463 0.019694838572278 
+159 0.729520111770291 0.5 0 -0.166536860625845 0.0132610679611695 
+160 0.819680074513527 0.5 0 -0.122653227638769 0.00145579665767086 
+161 0.909840037256764 0.5 0 -0.0527656379072926 -0.0356873111195107 
+162 1 0.5 0 0.00655321304490317 -0.0647517676161648 
+163 1.09015996274324 0.5 0 0.0678145436960626 -0.0362011944097433 
+164 1.18031992548647 0.5 0 0.133398966552262 -0.00419483547260538 
+165 1.27047988822971 0.5 0 0.177517460867556 0.00430738687272877 
+166 1.36063985097295 0.5 0 0.213578849830511 0.0113828347508904 
+167 1.45079981371618 0.5 0 0.248499933232663 0.0142618395214766 
+168 1.54095977645942 0.5 0 0.283542705757768 0.0149559900275951 
+169 1.63111973920265 0.5 0 0.317980965846448 0.0157758028353171 
+170 1.72127970194589 0.5 0 0.353143076275379 0.014704959838332 
+171 1.81143966468913 0.5 0 0.389314430954568 0.0130538471203176 
+172 1.90159962743236 0.5 0 0.427319800556717 0.0105505038165833 
+173 1.9917595901756 0.5 0 0.464449781542877 0.00731545875427215 
+174 2.08191955291884 0.5 0 0.5 0.00614955329665852 
+175 -0.0819195529188357 0.583333333333333 0 -0.5 -0.0368424935407209 
+176 0.00824040982440058 0.583333333333333 0 -0.462219726705595 -0.0315095857127358 
+177 0.0984003725676369 0.583333333333333 0 -0.427581036486714 -0.0259565439884048 
+178 0.188560335310873 0.583333333333333 0 -0.39047668249424 -0.0233764080551437 
+179 0.27872029805411 0.583333333333333 0 -0.353585432764685 -0.0202343262824911 
+180 0.368880260797346 0.583333333333333 0 -0.317223325798871 -0.0189205258802064 
+181 0.459040223540582 0.583333333333333 0 -0.27795155353589 -0.0161668382152395 
+182 0.549200186283819 0.583333333333333 0 -0.240081640223351 -0.0156784529094715 
+183 0.639360149027055 0.583333333333333 0 -0.197822907849567 -0.018897511818297 
+184 0.729520111770291 0.583333333333333 0 -0.151559283877827 -0.0285779070795519 
+185 0.819680074513527 0.583333333333333 0 -0.087503867879636 -0.0604135738029345 
+186 0.909840037256764 0.583333333333333 0 -0.0320822952673051 -0.0942157036756398 
+187 1 0.583333333333333 0 0.00912651121454462 -0.102811064656135 
+188 1.09015996274324 0.583333333333333 0 0.0471147435028491 -0.0935015781270208 
+189 1.18031992548647 0.583333333333333 0 0.103403192298265 -0.0639904885553374 
+190 1.27047988822971 0.583333333333333 0 0.163022869991802 -0.0355693390750225 
+191 1.36063985097295 0.583333333333333 0 0.206832663810942 -0.0254809397520233 
+192 1.45079981371618 0.583333333333333 0 0.246051798570496 -0.0201087619880013 
+193 1.54095977645942 0.583333333333333 0 0.281491036280813 -0.0183928574696506 
+194 1.63111973920265 0.583333333333333 0 0.318336634053733 -0.0193652950557056 
+195 1.72127970194589 0.583333333333333 0 0.355259487407753 -0.0194136076862384 
+196 1.81143966468913 0.583333333333333 0 0.391441397904003 -0.0223450121828931 
+197 1.90159962743236 0.583333333333333 0 0.428859547618114 -0.026517853603089 
+198 1.9917595901756 0.583333333333333 0 0.466013143116242 -0.0269884879406684 
+199 2.08191955291884 0.583333333333333 0 0.5 -0.026358103481912 
+200 -0.0819195529188357 0.666666666666667 0 -0.5 -0.0677155110141352 
+201 0.00824040982440058 0.666666666666667 0 -0.469832385405617 -0.0659213614818304 
+202 0.0984003725676369 0.666666666666667 0 -0.430649227949173 -0.0624731219260188 
+203 0.188560335310873 0.666666666666667 0 -0.392688740328491 -0.0589824129033545 
+204 0.27872029805411 0.666666666666667 0 -0.354913002697381 -0.0563684004218357 
+205 0.368880260797346 0.666666666666667 0 -0.316545037289809 -0.0545874357722148 
+206 0.459040223540582 0.666666666666667 0 -0.279689305543208 -0.0536435745834251 
+207 0.549200186283819 0.666666666666667 0 -0.237295210164598 -0.0553196031816346 
+208 0.639360149027055 0.666666666666667 0 -0.190433371144464 -0.0648838111987284 
+209 0.729520111770291 0.666666666666667 0 -0.12454554802753 -0.0903472190633602 
+210 0.819680074513527 0.666666666666667 0 -0.0649243888978531 -0.117473423278642 
+211 0.909840037256764 0.666666666666667 0 -0.0225036470915499 -0.131163325626787 
+212 1 0.666666666666667 0 0.00783634968364354 -0.134607983688136 
+213 1.09015996274324 0.666666666666667 0 0.0425659506051689 -0.131572466745078 
+214 1.18031992548647 0.666666666666667 0 0.0825068942754915 -0.118377312187847 
+215 1.27047988822971 0.666666666666667 0 0.137658834939135 -0.0914556127109031 
+216 1.36063985097295 0.666666666666667 0 0.196237008603225 -0.0679698469349933 
+217 1.45079981371618 0.666666666666667 0 0.240124559151909 -0.0574690716648416 
+218 1.54095977645942 0.666666666666667 0 0.28107458464003 -0.0544278287594543 
+219 1.63111973920265 0.666666666666667 0 0.318431808497352 -0.0546248577423975 
+220 1.72127970194589 0.666666666666667 0 0.356248245283269 -0.0559639668993472 
+221 1.81143966468913 0.666666666666667 0 0.395635648742131 -0.0584019304693773 
+222 1.90159962743236 0.666666666666667 0 0.431233964859945 -0.0606156315468445 
+223 1.9917595901756 0.666666666666667 0 0.464540867302159 -0.0605894707632753 
+224 2.08191955291884 0.666666666666667 0 0.5 -0.059481367055817 
+225 -0.0819195529188357 0.75 0 -0.5 -0.0676855866560633 
+226 0.00824040982440058 0.75 0 -0.476839470059926 -0.0647396963160601 
+227 0.0984003725676369 0.75 0 -0.432829761101641 -0.061556107635051 
+228 0.188560335310873 0.75 0 -0.396288568862774 -0.058371751712079 
+229 0.27872029805411 0.75 0 -0.355492629554091 -0.0553300476541859 
+230 0.368880260797346 0.75 0 -0.3137344281061 -0.0541172083591326 
+231 0.459040223540582 0.75 0 -0.283353641349405 -0.0531769131728681 
+232 0.549200186283819 0.75 0 -0.229143358135411 -0.0543962290083079 
+233 0.639360149027055 0.75 0 -0.179187251940861 -0.0651804717441447 
+234 0.729520111770291 0.75 0 -0.102515705264441 -0.0890749119378071 
+235 0.819680074513527 0.75 0 -0.0496122686289729 -0.114290622282293 
+236 0.909840037256764 0.75 0 -0.0147592326900506 -0.129525255792869 
+237 1 0.75 0 0.00321070053896459 -0.132372053627422 
+238 1.09015996274324 0.75 0 0.0433744222439581 -0.129023302600887 
+239 1.18031992548647 0.75 0 0.0634199575803825 -0.116405306907976 
+240 1.27047988822971 0.75 0 0.11684188775077 -0.0903278990365482 
+241 1.36063985097295 0.75 0 0.180852132069148 -0.068114565277222 
+242 1.45079981371618 0.75 0 0.23034090742125 -0.0566032089503642 
+243 1.54095977645942 0.75 0 0.284837935317762 -0.0535595459006729 
+244 1.63111973920265 0.75 0 0.316599567635124 -0.0543496654424522 
+245 1.72127970194589 0.75 0 0.356223678011287 -0.0550374316195072 
+246 1.81143966468913 0.75 0 0.400883272153301 -0.0573430364402731 
+247 1.90159962743236 0.75 0 0.434163050277917 -0.0602424714779954 
+248 1.9917595901756 0.75 0 0.459819509590101 -0.0600222609555499 
+249 2.08191955291884 0.75 0 0.5 -0.0585146951140887 
+250 -0.0819195529188357 0.833333333333333 0 -0.5 -0.041621029897283 
+251 0.00824040982440058 0.833333333333333 0 -0.464878609133381 -0.0421479644926061 
+252 0.0984003725676369 0.833333333333333 0 -0.429340359424697 -0.0410761604422339 
+253 0.188560335310873 0.833333333333333 0 -0.389622701133867 -0.0385941523736255 
+254 0.27872029805411 0.833333333333333 0 -0.349102287784589 -0.0368731976369327 
+255 0.368880260797346 0.833333333333333 0 -0.307837794749736 -0.0347826531514028 
+256 0.459040223540582 0.833333333333333 0 -0.262120692359893 -0.035410259828189 
+257 0.549200186283819 0.833333333333333 0 -0.215145530820784 -0.0393580629929331 
+258 0.639360149027055 0.833333333333333 0 -0.161023434989783 -0.049154917888518 
+259 0.729520111770291 0.833333333333333 0 -0.110966391448137 -0.0631685395900821 
+260 0.819680074513527 0.833333333333333 0 -0.0645808563291564 -0.074671360534057 
+261 0.909840037256764 0.833333333333333 0 -0.0267734311107722 -0.0817635676813686 
+262 1 0.833333333333333 0 0.00863848036219321 -0.0851058150207607 
+263 1.09015996274324 0.833333333333333 0 0.0400315056088034 -0.0825516389600629 
+264 1.18031992548647 0.833333333333333 0 0.0788230141953647 -0.0745686493956677 
+265 1.27047988822971 0.833333333333333 0 0.120574737700332 -0.0636223995769516 
+266 1.36063985097295 0.833333333333333 0 0.16842439110044 -0.0498695815693279 
+267 1.45079981371618 0.833333333333333 0 0.219323469761571 -0.0408279213903997 
+268 1.54095977645942 0.833333333333333 0 0.265089602897732 -0.03636280978972 
+269 1.63111973920265 0.833333333333333 0 0.309929513426969 -0.0350948754527236 
+270 1.72127970194589 0.833333333333333 0 0.351033345984989 -0.0369195373613355 
+271 1.81143966468913 0.833333333333333 0 0.390020588600013 -0.0379882073981819 
+272 1.90159962743236 0.833333333333333 0 0.427363986111458 -0.0380414229859025 
+273 1.9917595901756 0.833333333333333 0 0.464151417266578 -0.0388740398318888 
+274 2.08191955291884 0.833333333333333 0 0.5 -0.0397368257433017 
+275 -0.0819195529188357 0.916666666666667 0 -0.5 -0.0206335298189924 
+276 0.00824040982440058 0.916666666666667 0 -0.463014292763389 -0.0205507446220743 
+277 0.0984003725676369 0.916666666666667 0 -0.425126033306968 -0.0202069675225626 
+278 0.188560335310873 0.916666666666667 0 -0.385870095840293 -0.0193286838726804 
+279 0.27872029805411 0.916666666666667 0 -0.344490730626629 -0.0181184862384735 
+280 0.368880260797346 0.916666666666667 0 -0.300695180868348 -0.0174738124435084 
+281 0.459040223540582 0.916666666666667 0 -0.254787214144249 -0.0179695327978291 
+282 0.549200186283819 0.916666666666667 0 -0.206405250006908 -0.0207236232323295 
+283 0.639360149027055 0.916666666666667 0 -0.15832532081073 -0.0258278471582284 
+284 0.729520111770291 0.916666666666667 0 -0.111777722861463 -0.0318784736874065 
+285 0.819680074513527 0.916666666666667 0 -0.0693147280844269 -0.0370441775885409 
+286 0.909840037256764 0.916666666666667 0 -0.0299706807204641 -0.0402764637775447 
+287 1 0.916666666666667 0 0.00638709825628022 -0.041425318300814 
+288 1.09015996274324 0.916666666666667 0 0.0428610376041814 -0.0403685670647295 
+289 1.18031992548647 0.916666666666667 0 0.0804351420019328 -0.0370980705870465 
+290 1.27047988822971 0.916666666666667 0 0.121566014556413 -0.0318226347397343 
+291 1.36063985097295 0.916666666666667 0 0.165850270089127 -0.0261319086172724 
+292 1.45079981371618 0.916666666666667 0 0.212014973231807 -0.0212617524496875 
+293 1.54095977645942 0.916666666666667 0 0.25854790351086 -0.0185136573966353 
+294 1.63111973920265 0.916666666666667 0 0.30317975071304 -0.0177898448933518 
+295 1.72127970194589 0.916666666666667 0 0.345776961054549 -0.0181322339431756 
+296 1.81143966468913 0.916666666666667 0 0.386086075806691 -0.0186317727074442 
+297 1.90159962743236 0.916666666666667 0 0.4249638300751 -0.0189035844832343 
+298 1.9917595901756 0.916666666666667 0 0.462797577347217 -0.0192398349211057 
+299 2.08191955291884 0.916666666666667 0 0.5 -0.0194371067653933 
 300 -0.0819195529188357 1 0 -0.5 0 
-301 0.00824040982440058 1 0 -0.462390328831075 0 
-302 0.0984003725676369 1 0 -0.424104585091485 0 
-303 0.188560335310873 1 0 -0.384348452512145 0 
-304 0.27872029805411 1 0 -0.342551478992793 0 
-305 0.368880260797346 1 0 -0.298381333979987 0 
-306 0.459040223540582 1 0 -0.251778807743604 0 
-307 0.549200186283819 1 0 -0.204081579918183 0 
-308 0.639360149027055 1 0 -0.156587990625567 0 
-309 0.729520111770291 1 0 -0.111651471343653 0 
-310 0.819680074513527 1 0 -0.0695690485126712 0 
-311 0.909840037256764 1 0 -0.0307087914074051 0 
-312 1 1 0 0.00642997523562092 0 
-313 1.09015996274324 1 0 0.04289063498888 0 
-314 1.18031992548647 1 0 0.0807549188030852 0 
-315 1.27047988822971 1 0 0.120982487547147 0 
-316 1.36063985097295 1 0 0.164063019787407 0 
-317 1.45079981371618 1 0 0.209181750553797 0 
-318 1.54095977645942 1 0 0.254828286220741 0 
-319 1.63111973920265 1 0 0.299650427364448 0 
-320 1.72127970194589 1 0 0.342556139669696 0 
-321 1.81143966468913 1 0 0.383645929285853 0 
-322 1.90159962743236 1 0 0.423194587147278 0 
-323 1.9917595901756 1 0 0.461860056591642 0 
+301 0.00824040982440058 1 0 -0.462369848739899 0 
+302 0.0984003725676369 1 0 -0.424097888434998 0 
+303 0.188560335310873 1 0 -0.384401989447764 0 
+304 0.27872029805411 1 0 -0.34266782290647 0 
+305 0.368880260797346 1 0 -0.298580042255497 0 
+306 0.459040223540582 1 0 -0.252145392124347 0 
+307 0.549200186283819 1 0 -0.204581695990651 0 
+308 0.639360149027055 1 0 -0.157232690798501 0 
+309 0.729520111770291 1 0 -0.112227660577893 0 
+310 0.819680074513527 1 0 -0.0701165857983402 0 
+311 0.909840037256764 1 0 -0.0311150178356543 0 
+312 1 1 0 0.00620314230648235 0 
+313 1.09015996274324 1 0 0.0429321849508459 0 
+314 1.18031992548647 1 0 0.0810811676676958 0 
+315 1.27047988822971 1 0 0.121587094941533 0 
+316 1.36063985097295 1 0 0.164958040271894 0 
+317 1.45079981371618 1 0 0.210382797762509 0 
+318 1.54095977645942 1 0 0.256219873935273 0 
+319 1.63111973920265 1 0 0.301100950991642 0 
+320 1.72127970194589 1 0 0.343937377387219 0 
+321 1.81143966468913 1 0 0.384824723965594 0 
+322 1.90159962743236 1 0 0.424110122168244 0 
+323 1.9917595901756 1 0 0.462347043311169 0 
 324 2.08191955291884 1 0 0.5 0 

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/Compressible.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/Compressible.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/Compressible.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -174,7 +174,13 @@
 	_StiffnessMatrixTerm_Destroy( compressible, data );
 }
 
-void _Compressible_AssembleElement( void* compressible, StiffnessMatrix* stiffnessMatrix, Element_LocalIndex lElement_I, SystemLinearEquations* sle, double** elStiffMat ) 
+void _Compressible_AssembleElement(
+		void*                                              compressible,
+		StiffnessMatrix*                                   stiffnessMatrix,
+	 	Element_LocalIndex                                 lElement_I,
+		SystemLinearEquations*                             sle,
+		FiniteElementContext*                              context,
+		double**                                           elStiffMat )
 {
 	Compressible*             self                = (Compressible*)compressible;
 	IntegrationPointsSwarm*   swarm               = (IntegrationPointsSwarm*) self->integrationSwarm;

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/Compressible.h
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/Compressible.h	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/Compressible.h	2007-03-08 19:29:30 UTC (rev 6196)
@@ -88,6 +88,11 @@
 	void _Compressible_Execute( void* compressible, void* data );
 	void _Compressible_Destroy( void* compressible, void* data );
 
-	void _Compressible_AssembleElement( void* compressible, StiffnessMatrix* stiffnessMatrix, Element_LocalIndex lElement_I, SystemLinearEquations* sle, double** elStiffMat );
-
+	void _Compressible_AssembleElement(
+		void*                                              compressible,
+		StiffnessMatrix*                                   stiffnessMatrix,
+	 	Element_LocalIndex                                 lElement_I,
+		SystemLinearEquations*                             sle,
+		FiniteElementContext*                              context,
+		double**                                           elStiffMat );
 #endif

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/ConstitutiveMatrixCartesian.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/ConstitutiveMatrixCartesian.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/ConstitutiveMatrixCartesian.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -223,6 +223,7 @@
 		StiffnessMatrix*                                   stiffnessMatrix, 
 		Element_LocalIndex                                 lElement_I, 
 		SystemLinearEquations*                             sle,
+		FiniteElementContext*                              context,
 		double**                                           elStiffMat ) 
 {
 	ConstitutiveMatrix*     self                = (ConstitutiveMatrix*) constitutiveMatrix;
@@ -285,6 +286,7 @@
 			particle->xi, dim, &detJac, GNx );
 
 		/* Assemble Constitutive Matrix */
+		// TODO : pass in the context here?
 		ConstitutiveMatrix_Assemble( constitutiveMatrix, lElement_I, particle );
 
 		/* Turn D Matrix into D~ Matrix by multiplying in the weight and the detJac (this is a shortcut for speed) */

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/ConstitutiveMatrixCartesian.h
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/ConstitutiveMatrixCartesian.h	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/ConstitutiveMatrixCartesian.h	2007-03-08 19:29:30 UTC (rev 6196)
@@ -111,6 +111,7 @@
 		StiffnessMatrix*                                     stiffnessMatrix, 
 		Element_LocalIndex                                   lElement_I, 
 		SystemLinearEquations*                               sle,
+		FiniteElementContext*                                context,
 		double**                                             elStiffMat ) ;
 
 	void _ConstitutiveMatrixCartesian_SetValueInAllEntries( void* constitutiveMatrix, double value ) ;

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/Director.meta
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/Director.meta	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/Director.meta	2007-03-08 19:29:30 UTC (rev 6196)
@@ -78,8 +78,8 @@
 	</struct>	
 	<struct>
 		<param name="Essential">True</param>
-		<param name="Name">IntegrationPointsSwarm</param>
-		<param name="Type">IntegrationPointsSwarm</param>
+		<param name="Name">MaterialPointsSwarm</param>
+		<param name="Type">MaterialPointsSwarm</param>
 		<param name="Description">This is the swarm that you want to add the director to.</param>
 	</struct>	
 </list>

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/MultiRheologyMaterial.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/MultiRheologyMaterial.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/MultiRheologyMaterial.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -59,6 +59,73 @@
 /* Textual name of this class - This is a global pointer which is used for times when you need to refer to class and not a particular instance of a class */
 const Type MultiRheologyMaterial_Type = "MultiRheologyMaterial";
 
+
+MultiRheologyMaterial* MultiRheologyMaterial_New( 
+		Name                             name,
+		Stg_Shape*                       shape,
+		Dictionary*                      materialDictionary,
+		Materials_Register*              materialRegister,
+		Rheology**                       rheologyList,
+		Rheology_Index                   rheologyCount,
+		Compressible*                    compressible,
+		Rheology***                      rheologyListList,
+		Rheology_Index*                  rheologyCountList, 
+		Index                            rheologyListCount ) 
+{
+	return (void*) _MultiRheologyMaterial_New(
+		sizeof(MultiRheologyMaterial),
+		MultiRheologyMaterial_Type,
+		_MultiRheologyMaterial_Delete,
+		_RheologyMaterial_Print,
+		_RheologyMaterial_Copy,
+		_MultiRheologyMaterial_DefaultNew,
+		_MultiRheologyMaterial_Construct,
+		_RheologyMaterial_Build,
+		_RheologyMaterial_Initialise,
+		_RheologyMaterial_Execute,
+		_RheologyMaterial_Destroy,
+		_MultiRheologyMaterial_RunRheologies,
+		name,
+		shape,
+		materialDictionary,
+		materialRegister,
+		rheologyList,
+		rheologyCount,
+		compressible,
+		rheologyListList,
+		rheologyCountList,
+		rheologyListCount );
+}
+
+
+void* _MultiRheologyMaterial_DefaultNew( Name name ) {
+	return (void*) _MultiRheologyMaterial_New(
+		sizeof(MultiRheologyMaterial),
+		MultiRheologyMaterial_Type,
+		_MultiRheologyMaterial_Delete,
+		_RheologyMaterial_Print,
+		_RheologyMaterial_Copy,
+		_MultiRheologyMaterial_DefaultNew,
+		_MultiRheologyMaterial_Construct,
+		_RheologyMaterial_Build,
+		_RheologyMaterial_Initialise,
+		_RheologyMaterial_Execute,
+		_RheologyMaterial_Destroy,
+		_MultiRheologyMaterial_RunRheologies,
+		name,
+		NULL,
+		NULL,
+		NULL,
+		NULL,
+		0,
+		NULL,
+		NULL,
+		NULL,
+		0
+		);
+}
+
+
 /* Private Constructor: This will accept all the virtual functions for this class as arguments. */
 MultiRheologyMaterial* _MultiRheologyMaterial_New( 
 		SizeT                                              sizeOfSelf,
@@ -73,11 +140,23 @@
 		Stg_Component_ExecuteFunction*                     _execute,
 		Stg_Component_DestroyFunction*                     _destroy,
 		RheologyMaterial_RunRheologiesFunction*            _runRheologies,
-		Name                                               name ) 
+		Name                                               name,
+		Stg_Shape*                                         shape,
+		Dictionary*                                        materialDictionary,
+		Materials_Register*                                materialRegister,
+		Rheology**                                         rheologyList,
+		Rheology_Index                                     rheologyCount,
+		Compressible*                                      compressible,
+		Rheology***                                        rheologyListList,
+		Rheology_Index*                                    rheologyCountList, 
+		Index                                              rheologyListCount
+		) 
 {
 	MultiRheologyMaterial*					self;
 
-	/* Call private constructor of parent - this will set virtual functions of parent and continue up the hierarchy tree. At the beginning of the tree it will allocate memory of the size of object and initialise all the memory to zero. */
+	/* Call private constructor of parent - this will set virtual functions of parent and continue up
+	 *  the hierarchy tree. At the beginning of the tree it will allocate memory of the size of
+	 *  object and initialise all the memory to zero. */
 	assert( sizeOfSelf >= sizeof(MultiRheologyMaterial) );
 	self = (MultiRheologyMaterial*) _RheologyMaterial_New( 
 			sizeOfSelf,
@@ -92,65 +171,24 @@
 			_execute,
 			_destroy,
 			_runRheologies,
-			name );
+			name,
+			shape,
+			materialDictionary,
+			materialRegister,
+			rheologyList,
+			rheologyCount,
+			compressible );
+
+	_MultiRheologyMaterial_Init(
+		self,
+		rheologyListList,
+		rheologyCountList,
+		rheologyListCount );
 	
 	return self;
 }
 
-void _MultiRheologyMaterial_Init( 
-		MultiRheologyMaterial*  self, 
-		Rheology***             rheologyListList,
-		Rheology_Index*         rheologyCountList, 
-		Index                   rheologyListCount ) 
-{
-	Index          rheology_Register_I;
-	Rheology_Index rheology_I;
-	Rheology*      rheology;
 
-	self->rheology_RegisterCount = rheologyListCount;
-	self->rheology_RegisterList = Memory_Alloc_Array( Rheology_Register*, rheologyListCount, "rheology_RegisterList" );
-	for ( rheology_Register_I = 0 ; rheology_Register_I < rheologyListCount ; rheology_Register_I++ ) {
-		self->rheology_RegisterList[ rheology_Register_I ] = Rheology_Register_New();
-
-		for ( rheology_I = 0 ; rheology_I < rheologyCountList[ rheology_Register_I ] ; rheology_I++ ) {
-			rheology = rheologyListList[ rheology_Register_I ][ rheology_I ];
-			Rheology_Register_Add( self->rheology_Register, rheology );
-			Rheology_Register_Add( self->rheology_RegisterList[ rheology_Register_I ], rheology );
-		}
-	}
-}
-
-
-void _MultiRheologyMaterial_Delete( void* material ){
-	MultiRheologyMaterial*  self = (MultiRheologyMaterial*)material;
-	Index                   rheology_Register_I;
-
-	for ( rheology_Register_I = 0 ; rheology_Register_I < self->rheology_RegisterCount ; rheology_Register_I++ ) {
-		Stg_Class_Delete( self->rheology_RegisterList[ rheology_Register_I ] );
-	}
-	Memory_Free( self->rheology_RegisterList );
-
-	_RheologyMaterial_Delete( self );
-}
-
-void* _MultiRheologyMaterial_DefaultNew( Name name ) {
-	return (void*) _MultiRheologyMaterial_New(
-		sizeof(MultiRheologyMaterial),
-		MultiRheologyMaterial_Type,
-		_MultiRheologyMaterial_Delete,
-		_RheologyMaterial_Print,
-		_RheologyMaterial_Copy,
-		_MultiRheologyMaterial_DefaultNew,
-		_MultiRheologyMaterial_Construct,
-		_RheologyMaterial_Build,
-		_RheologyMaterial_Initialise,
-		_RheologyMaterial_Execute,
-		_RheologyMaterial_Destroy,
-		_MultiRheologyMaterial_RunRheologies,
-		name );
-}
-
-
 void _MultiRheologyMaterial_Construct( void* material, Stg_ComponentFactory* cf, void* data ){
 	MultiRheologyMaterial*  self = (MultiRheologyMaterial*)material;
 	Rheology***             rheologyListList;
@@ -221,6 +259,44 @@
 	Memory_Free( rheologyCountList );
 }
 
+
+void _MultiRheologyMaterial_Init( 
+		MultiRheologyMaterial*  self, 
+		Rheology***             rheologyListList,
+		Rheology_Index*         rheologyCountList, 
+		Index                   rheologyListCount ) 
+{
+	Index          rheology_Register_I;
+	Rheology_Index rheology_I;
+	Rheology*      rheology;
+
+	self->rheology_RegisterCount = rheologyListCount;
+	self->rheology_RegisterList = Memory_Alloc_Array( Rheology_Register*, rheologyListCount, "rheology_RegisterList" );
+	for ( rheology_Register_I = 0 ; rheology_Register_I < rheologyListCount ; rheology_Register_I++ ) {
+		self->rheology_RegisterList[ rheology_Register_I ] = Rheology_Register_New();
+
+		for ( rheology_I = 0 ; rheology_I < rheologyCountList[ rheology_Register_I ] ; rheology_I++ ) {
+			rheology = rheologyListList[ rheology_Register_I ][ rheology_I ];
+			Rheology_Register_Add( self->rheology_Register, rheology );
+			Rheology_Register_Add( self->rheology_RegisterList[ rheology_Register_I ], rheology );
+		}
+	}
+}
+
+
+void _MultiRheologyMaterial_Delete( void* material ){
+	MultiRheologyMaterial*  self = (MultiRheologyMaterial*)material;
+	Index                   rheology_Register_I;
+
+	for ( rheology_Register_I = 0 ; rheology_Register_I < self->rheology_RegisterCount ; rheology_Register_I++ ) {
+		Stg_Class_Delete( self->rheology_RegisterList[ rheology_Register_I ] );
+	}
+	Memory_Free( self->rheology_RegisterList );
+
+	_RheologyMaterial_Delete( self );
+}
+
+
 void _MultiRheologyMaterial_RunRheologies( 	
 		void*                                              material,
 		ConstitutiveMatrix*                                constitutiveMatrix,

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/MultiRheologyMaterial.h
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/MultiRheologyMaterial.h	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/MultiRheologyMaterial.h	2007-03-08 19:29:30 UTC (rev 6196)
@@ -60,6 +60,21 @@
 
 	struct MultiRheologyMaterial { __MultiRheologyMaterial };
 	
+	/** Public "New" C++-Style constructor */
+	MultiRheologyMaterial* MultiRheologyMaterial_New( 
+		Name                             name,
+		Stg_Shape*                       shape,
+		Dictionary*                      materialDictionary,
+		Materials_Register*              materialRegister,
+		Rheology**                       rheologyList,
+		Rheology_Index                   rheologyCount,
+		Compressible*                    compressible,
+		Rheology***                      rheologyListList,
+		Rheology_Index*                  rheologyCountList, 
+		Index                            rheologyListCount );
+
+	void* _MultiRheologyMaterial_DefaultNew( Name name ) ;
+
 	/** Private Constructor: This will accept all the virtual functions for this class as arguments. */
 	MultiRheologyMaterial* _MultiRheologyMaterial_New( 
 		SizeT                                              sizeOfSelf,
@@ -74,12 +89,28 @@
 		Stg_Component_ExecuteFunction*                     _execute,
 		Stg_Component_DestroyFunction*                     _destroy,
 		RheologyMaterial_RunRheologiesFunction*            _runRheologies,
-		Name                                               name );
+		Name                                               name,
+		Stg_Shape*                                         shape,
+		Dictionary*                                        materialDictionary,
+		Materials_Register*                                materialRegister,
+		Rheology**                                         rheologyList,
+		Rheology_Index                                     rheologyCount,
+		Compressible*                                      compressible,
+		Rheology***                                        rheologyListList,
+		Rheology_Index*                                    rheologyCountList, 
+		Index                                              rheologyListCount
+		);
 
+	void _MultiRheologyMaterial_Construct( void* material, Stg_ComponentFactory* cf, void* data );
+
+	void _MultiRheologyMaterial_Init( 
+		MultiRheologyMaterial*  self, 
+		Rheology***             rheologyListList,
+		Rheology_Index*         rheologyCountList, 
+		Index                   rheologyListCount );
+
 	/* 'Stg_Component' implementations */
 	void _MultiRheologyMaterial_Delete( void* material );
-	void* _MultiRheologyMaterial_DefaultNew( Name name ) ;
-	void _MultiRheologyMaterial_Construct( void* material, Stg_ComponentFactory* cf, void* data );
 
 	void _MultiRheologyMaterial_RunRheologies( 	
 		void*                                              material,

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/RheologyMaterial.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/RheologyMaterial.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/RheologyMaterial.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -59,6 +59,63 @@
 /* Textual name of this class - This is a global pointer which is used for times when you need to refer to class and not a particular instance of a class */
 const Type RheologyMaterial_Type = "RheologyMaterial";
 
+RheologyMaterial* RheologyMaterial_New( 
+		Name                             name,
+		Stg_Shape*                       shape,
+		Dictionary*                      materialDictionary,
+		Materials_Register*              materialRegister,
+		Rheology**                       rheologyList,
+		Rheology_Index                   rheologyCount,
+		Compressible*                    compressible )
+{
+	return (void*) _RheologyMaterial_New( 
+		sizeof(RheologyMaterial), 
+		RheologyMaterial_Type, 
+		_RheologyMaterial_Delete,
+		_RheologyMaterial_Print, 
+		_RheologyMaterial_Copy,
+		_RheologyMaterial_DefaultNew,
+		_RheologyMaterial_Construct,
+		_RheologyMaterial_Build, 
+		_RheologyMaterial_Initialise,
+		_RheologyMaterial_Execute,
+		_RheologyMaterial_Destroy,
+		_RheologyMaterial_RunRheologies,
+		name,
+		shape,
+		materialDictionary,
+		materialRegister,
+		rheologyList,
+		rheologyCount,
+		compressible );
+}
+
+
+void* _RheologyMaterial_DefaultNew( Name name ) {
+	return (void*) _RheologyMaterial_New( 
+		sizeof(RheologyMaterial), 
+		RheologyMaterial_Type, 
+		_RheologyMaterial_Delete,
+		_RheologyMaterial_Print, 
+		_RheologyMaterial_Copy,
+		_RheologyMaterial_DefaultNew,
+		_RheologyMaterial_Construct,
+		_RheologyMaterial_Build, 
+		_RheologyMaterial_Initialise,
+		_RheologyMaterial_Execute,
+		_RheologyMaterial_Destroy,
+		_RheologyMaterial_RunRheologies,
+		name,
+		NULL,
+		NULL,
+		NULL,
+		NULL,
+		0,
+		NULL
+		);
+}
+
+
 /* Private Constructor: This will accept all the virtual functions for this class as arguments. */
 RheologyMaterial* _RheologyMaterial_New( 
 		SizeT                                              sizeOfSelf,
@@ -73,11 +130,19 @@
 		Stg_Component_ExecuteFunction*                     _execute,
 		Stg_Component_DestroyFunction*                     _destroy,
 		RheologyMaterial_RunRheologiesFunction*            _runRheologies,
-		Name                                               name ) 
+		Name                                               name,
+		Stg_Shape*                                         shape,
+		Dictionary*                                        materialDictionary,
+		Materials_Register*                                materialRegister,
+		Rheology**                                         rheologyList,
+		Rheology_Index                                     rheologyCount,
+		Compressible*                                      compressible ) 
 {
 	RheologyMaterial*					self;
 
-	/* Call private constructor of parent - this will set virtual functions of parent and continue up the hierarchy tree. At the beginning of the tree it will allocate memory of the size of object and initialise all the memory to zero. */
+	/* Call private constructor of parent - this will set virtual functions of parent and continue up the
+ 	 *  hierarchy tree. At the beginning of the tree it will allocate memory of the size of object and
+ 	 *  initialise all the memory to zero. */
 	assert( sizeOfSelf >= sizeof(RheologyMaterial) );
 	self = (RheologyMaterial*) _Material_New( 
 			sizeOfSelf,
@@ -91,14 +156,54 @@
 			_initialise,
 			_execute,
 			_destroy,
-			name );
+			name,
+			shape,
+			materialDictionary,
+			materialRegister
+			);
 	
 	/* Function pointers for this class that are not on the parent class should be set here */
 	self->_runRheologies = _runRheologies;
 	
+	/* Now call the member-assigner, Init() */
+	_RheologyMaterial_Init( self, rheologyList, rheologyCount, compressible );
+
 	return self;
 }
 
+
+void _RheologyMaterial_Construct( void* rheologyMaterial, Stg_ComponentFactory* cf, void* data ){
+	RheologyMaterial*           self                 = (RheologyMaterial*)rheologyMaterial;
+	Rheology**                  rheologyList;
+	Rheology_Index              rheologyCount;
+	Compressible*               compressible;
+
+	_Material_Construct( self, cf, data );
+
+	rheologyList = Stg_ComponentFactory_ConstructByList( 
+		cf, 
+		self->name, 
+		"Rheology", 
+		Stg_ComponentFactory_Unlimited, 
+		Rheology, 
+		True, 
+		&rheologyCount,
+		data );
+
+	compressible = Stg_ComponentFactory_ConstructByKey( 
+		cf, 
+		self->name, 
+		"Compressible", 
+		Compressible, 
+		False,
+		data ) ;
+
+	_RheologyMaterial_Init( self, rheologyList, rheologyCount, compressible );
+
+	Memory_Free( rheologyList );
+}
+
+
 void _RheologyMaterial_Init(
 		void*                                              rheologyMaterial,
 		Rheology**                                         rheologyList,
@@ -118,14 +223,18 @@
         /*	self->debug = Journal_Register( Debug_Type, self->type ); /* TODO make child of Underworld_Debug */
 }
 
+
 void _RheologyMaterial_Delete( void* rheologyMaterial ) {
 	RheologyMaterial*					self = (RheologyMaterial*)rheologyMaterial;
 
 	Stg_Class_Delete( self->rheology_Register );
 	_Stg_Component_Delete( self );
 }
+
+
 void _RheologyMaterial_Print( void* rheologyMaterial, Stream* stream ) {}
 
+
 void* _RheologyMaterial_Copy( void* rheologyMaterial, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	RheologyMaterial*	self = (RheologyMaterial*)rheologyMaterial;
 
@@ -133,54 +242,7 @@
 	return (void*) self;
 }
 
-void* _RheologyMaterial_DefaultNew( Name name ) {
-	return (void*) _RheologyMaterial_New( 
-		sizeof(RheologyMaterial), 
-		RheologyMaterial_Type, 
-		_RheologyMaterial_Delete,
-		_RheologyMaterial_Print, 
-		_RheologyMaterial_Copy,
-		_RheologyMaterial_DefaultNew,
-		_RheologyMaterial_Construct,
-		_RheologyMaterial_Build, 
-		_RheologyMaterial_Initialise,
-		_RheologyMaterial_Execute,
-		_RheologyMaterial_Destroy,
-		_RheologyMaterial_RunRheologies,
-		name );
-}
 
-void _RheologyMaterial_Construct( void* rheologyMaterial, Stg_ComponentFactory* cf, void* data ){
-	RheologyMaterial*           self                 = (RheologyMaterial*)rheologyMaterial;
-	Rheology**                  rheologyList;
-	Rheology_Index              rheologyCount;
-	Compressible*               compressible;
-
-	_Material_Construct( self, cf, data );
-
-	rheologyList = Stg_ComponentFactory_ConstructByList( 
-		cf, 
-		self->name, 
-		"Rheology", 
-		Stg_ComponentFactory_Unlimited, 
-		Rheology, 
-		True, 
-		&rheologyCount,
-		data );
-
-	compressible = Stg_ComponentFactory_ConstructByKey( 
-		cf, 
-		self->name, 
-		"Compressible", 
-		Compressible, 
-		False,
-		data ) ;
-
-	_RheologyMaterial_Init( self, rheologyList, rheologyCount, compressible );
-
-	Memory_Free( rheologyList );
-}
-
 void _RheologyMaterial_Build( void* rheologyMaterial, void* data ) {
 	RheologyMaterial*   self                 = (RheologyMaterial*)rheologyMaterial;
 

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/src/RheologyMaterial.h
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/src/RheologyMaterial.h	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/src/RheologyMaterial.h	2007-03-08 19:29:30 UTC (rev 6196)
@@ -70,6 +70,17 @@
 
 	struct RheologyMaterial { __RheologyMaterial };
 
+	RheologyMaterial* RheologyMaterial_New( 
+		Name                             name,
+		Stg_Shape*                       shape,
+		Dictionary*                      materialDictionary,
+		Materials_Register*              materialRegister,
+		Rheology**                       rheologyList,
+		Rheology_Index                   rheologyCount,
+		Compressible*                    compressible );
+
+	void* _RheologyMaterial_DefaultNew( Name name ) ;
+
 	/** Private Constructor: This will accept all the virtual functions for this class as arguments. */
 	RheologyMaterial* _RheologyMaterial_New( 
 		SizeT                                              sizeOfSelf,
@@ -84,8 +95,16 @@
 		Stg_Component_ExecuteFunction*                     _execute,
 		Stg_Component_DestroyFunction*                     _destroy,
 		RheologyMaterial_RunRheologiesFunction*            _runRheologies,
-		Name                                               name );
+		Name                                               name,
+		Stg_Shape*                                         shape,
+		Dictionary*                                        materialDictionary,
+		Materials_Register*                                materialRegister,
+		Rheology**                                         rheologyList,
+		Rheology_Index                                     rheologyCount,
+		Compressible*                                      compressible );
 
+	void _RheologyMaterial_Construct( void* rheologyMaterial, Stg_ComponentFactory* cf, void* data );
+
 	void _RheologyMaterial_Init(
 		void*                                              rheologyMaterial,
 		Rheology**                                         rheologyList,
@@ -102,8 +121,6 @@
 	void* _RheologyMaterial_Copy( void* rheologyMaterial, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' implementations */
-	void* _RheologyMaterial_DefaultNew( Name name ) ;
-	void _RheologyMaterial_Construct( void* rheologyMaterial, Stg_ComponentFactory* cf, void* data );
 	void _RheologyMaterial_Build( void* rheologyMaterial, void* data );
 	void _RheologyMaterial_Initialise( void* rheologyMaterial, void* data );
 	void _RheologyMaterial_Execute( void* rheologyMaterial, void* data );

Modified: long/3D/Gale/trunk/src/Underworld/Rheology/tests/testStiffnessMatrixAssembly/testStiffnessMatrixAssembly.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Rheology/tests/testStiffnessMatrixAssembly/testStiffnessMatrixAssembly.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Rheology/tests/testStiffnessMatrixAssembly/testStiffnessMatrixAssembly.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -69,7 +69,7 @@
 	stiffnessMatrix = (StiffnessMatrix*) LiveComponentRegister_Get( context->CF->LCRegister, "k_matrix" );
 	sle = (SystemLinearEquations*)       LiveComponentRegister_Get( context->CF->LCRegister, "stokesEqn" );
 	assert( stiffnessMatrix );
-	StiffnessMatrix_Assemble( stiffnessMatrix, False, sle );
+	StiffnessMatrix_Assemble( stiffnessMatrix, False, sle, context );
 }
 
 void _Underworld_testStiffnessMatrixAssembly_Construct( void* component, Stg_ComponentFactory* cf, void* data ) {

Modified: long/3D/Gale/trunk/src/Underworld/Utils/src/Context.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Utils/src/Context.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Utils/src/Context.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -168,6 +168,7 @@
 			   "Underworld App Assign Pointers",
 			   UnderworldContext_AssignPointers,
 			   "Underworld_App_Construct" );
+
 }
 
 
@@ -261,4 +262,3 @@
 
 	Stream_UnIndentBranch( StgFEM_Debug );
 }
-

Modified: long/3D/Gale/trunk/src/Underworld/Utils/src/Init.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Utils/src/Init.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Utils/src/Init.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -64,6 +64,7 @@
 	
 	Stg_ComponentRegister_Add( componentRegister, UnderworldContext_Type ,        "0", _UnderworldContext_DefaultNew );
 	Stg_ComponentRegister_Add( componentRegister, PressureTemperatureOutput_Type, "0", _PressureTemperatureOutput_DefaultNew );
+	Stg_ComponentRegister_Add( componentRegister, Underworld_SwarmOutput_Type, "0", _Underworld_SwarmOutput_DefaultNew );
 	Stg_ComponentRegister_Add( componentRegister, RadiogenicHeatingTerm_Type,     "0", _RadiogenicHeatingTerm_DefaultNew );
 	Stg_ComponentRegister_Add( componentRegister, StressField_Type ,              "0", _StressField_DefaultNew );
 	Stg_ComponentRegister_Add( componentRegister, ViscosityField_Type ,           "0", _ViscosityField_DefaultNew );
@@ -72,6 +73,7 @@
 
 	RegisterParent( UnderworldContext_Type,             PICelleratorContext_Type );
 	RegisterParent( PressureTemperatureOutput_Type,     SwarmOutput_Type );
+	RegisterParent( Underworld_SwarmOutput_Type,     SwarmOutput_Type );
 	RegisterParent( RadiogenicHeatingTerm_Type,         ForceTerm_Type );
 	RegisterParent( StressField_Type,                   ParticleFeVariable_Type );
 	RegisterParent( ViscosityField_Type,                ParticleFeVariable_Type );

Added: long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -0,0 +1,281 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+** Copyright (c) 2005, Monash Cluster Computing 
+** All rights reserved.
+** Redistribution and use in source and binary forms, with or without modification,
+** are permitted provided that the following conditions are met:
+**
+** 		* Redistributions of source code must retain the above copyright notice, 
+** 			this list of conditions and the following disclaimer.
+** 		* Redistributions in binary form must reproduce the above copyright 
+**			notice, this list of conditions and the following disclaimer in the 
+**			documentation and/or other materials provided with the distribution.
+** 		* Neither the name of the Monash University nor the names of its contributors 
+**			may be used to endorse or promote products derived from this software 
+**			without specific prior written permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
+** THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
+** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 
+** BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
+** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+**
+**
+** Contact:
+*%		Louis Moresi - Louis.Moresi at sci.monash.edu.au
+*%
+** Contributors:
+*+		Robert Turnbull
+*+		Vincent Lemiale
+*+		Louis Moresi
+*+		David May
+*+		David Stegman
+*+		Mirko Velic
+*+		Patrick Sunter
+*+		Julian Giordani
+*+
+** $Id: Underworld_SwarmOutput.c 358 2006-10-18 06:17:30Z SteveQuenette $
+** 
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+
+#include <mpi.h>
+#include <StGermain/StGermain.h>
+#include <StgFEM/StgFEM.h>
+#include <PICellerator/PICellerator.h>
+
+#include "types.h"
+#include "Underworld_SwarmOutput.h"
+
+#include <assert.h>
+#include <string.h>
+
+/* Textual name of this class - This is a global pointer which is used for times when you need to refer to class and not a particular instance of a class */
+const Type Underworld_SwarmOutput_Type = "Underworld_SwarmOutput";
+
+/*----------------------------------------------------------------------------------------------------------------------------------
+** Constructors
+*/
+Underworld_SwarmOutput* Underworld_SwarmOutput_New(
+		Name                                  name,
+		TimeIntegrator*                       timeIntegrator,
+		FeVariable*                           velocityField )
+{
+	Underworld_SwarmOutput* self = (Underworld_SwarmOutput*) _Underworld_SwarmOutput_DefaultNew( name );
+
+	/* 	Underworld_SwarmOutput_InitAll */
+	abort();
+
+	return self;
+}
+
+Underworld_SwarmOutput* _Underworld_SwarmOutput_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,		
+		SwarmOutput_PrintHeaderFunction*                   _printHeader,		
+		SwarmOutput_PrintDataFunction*                     _printData,		
+		Name                                               name )
+{
+	Underworld_SwarmOutput* self;
+	
+	/* Call private constructor of parent - this will set virtual functions of parent and continue up the hierarchy tree. At the beginning of the tree it will allocate memory of the size of object and initialise all the memory to zero. */
+	assert( _sizeOfSelf >= sizeof(Underworld_SwarmOutput) );
+	self = (Underworld_SwarmOutput*)_SwarmOutput_New( 
+			_sizeOfSelf,
+			type,
+			_delete,
+			_print,
+			_copy,
+			_defaultConstructor,
+			_construct,
+			_build,
+			_initialise,
+			_execute,
+			_destroy,		
+			_printHeader,
+			_printData,
+			name );
+
+	
+	/* General info */
+
+	/* Virtual Info */
+	
+	return self;
+}
+
+void _Underworld_SwarmOutput_Init( 
+		void*                                 swarmOutput,
+		Stg_ComponentFactory*                 cf,
+	        void*                                 data )
+{
+	Underworld_SwarmOutput*       self       = (Underworld_SwarmOutput*)swarmOutput;
+	Dictionary*             dictionary;
+	Dictionary_Entry_Value* list;
+	Index                   listCount, list_I;
+	char*                   varName;
+
+	self->infoStream = Journal_Register( Info_Type, "Underworld_SwarmOutput Info" );
+	self->errorStream = Journal_Register( Error_Type, "Underworld_SwarmOutput Error" );
+  
+	dictionary = Dictionary_GetDictionary( cf->componentDict, self->name );
+	/* Find how many FeVariables to Display */
+	list = Dictionary_Get( dictionary, "FieldVariables" );
+	Journal_Firewall( list > 0, self->errorStream, "Error in %s:\nNo list of FieldVariables could be found\n", __FILE__ ); 
+
+	listCount = Dictionary_Entry_Value_GetCount( list );
+	if( listCount < 1 ) Journal_Printf( self->infoStream, "Warning in %s: 0 fields have been specified to be used for swarm ouput, is this what you want ???\n");
+	self->sizeList = listCount;
+
+	/* Allocate the memory to store pointers to them */
+	self->feVariableList = Memory_Alloc_Array( FieldVariable*, listCount, "List of FeVariables to output from" );
+
+	/* Assign pointers */
+	for( list_I = 0 ; list_I < listCount ; list_I++ ) {
+		varName = Dictionary_Entry_Value_AsString( Dictionary_Entry_Value_GetElement( list, list_I ) );
+		self->feVariableList[ list_I ] = 
+			Stg_ComponentFactory_ConstructByName( cf, varName, FieldVariable, True, data );
+	}
+}
+
+
+/*------------------------------------------------------------------------------------------------------------------------
+** Virtual functions
+*/
+
+void _Underworld_SwarmOutput_Delete( void* swarmOutput ) {
+	Underworld_SwarmOutput* self = (Underworld_SwarmOutput*)swarmOutput;
+
+	/* Delete parent */
+	_SwarmOutput_Delete( self );
+}
+
+
+void _Underworld_SwarmOutput_Print( void* swarmOutput, Stream* stream ) {
+	Underworld_SwarmOutput* self = (Underworld_SwarmOutput*)swarmOutput;
+	
+	/* Print parent */
+	_SwarmOutput_Print( self, stream );
+}
+
+void* _Underworld_SwarmOutput_Copy( void* swarmOutput, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+	Underworld_SwarmOutput*	self = (Underworld_SwarmOutput*)swarmOutput;
+	Underworld_SwarmOutput*	newUnderworld_SwarmOutput;
+	
+	newUnderworld_SwarmOutput = (Underworld_SwarmOutput*)_SwarmOutput_Copy( self, dest, deep, nameExt, ptrMap );
+	
+	return (void*)newUnderworld_SwarmOutput;
+}
+
+void* _Underworld_SwarmOutput_DefaultNew( Name name ) {
+	return (void*) _Underworld_SwarmOutput_New(
+			sizeof(Underworld_SwarmOutput),
+			Underworld_SwarmOutput_Type,
+			_Underworld_SwarmOutput_Delete,
+			_Underworld_SwarmOutput_Print,
+			_Underworld_SwarmOutput_Copy,
+			_Underworld_SwarmOutput_DefaultNew,
+			_Underworld_SwarmOutput_Construct,
+			_Underworld_SwarmOutput_Build,
+			_Underworld_SwarmOutput_Initialise,
+			_Underworld_SwarmOutput_Execute,
+			_Underworld_SwarmOutput_Destroy,
+			_Underworld_SwarmOutput_PrintHeader,
+			_Underworld_SwarmOutput_PrintData,
+			name );
+}
+
+
+void _Underworld_SwarmOutput_Construct( void* swarmOutput, Stg_ComponentFactory* cf, void* data ) {
+	Underworld_SwarmOutput*  self          = (Underworld_SwarmOutput*) swarmOutput;
+
+	_SwarmOutput_Construct( self, cf, data );
+	
+	_Underworld_SwarmOutput_Init( self, cf, data );
+
+}
+
+void _Underworld_SwarmOutput_Build( void* swarmOutput, void* data ) {
+	Underworld_SwarmOutput*	self = (Underworld_SwarmOutput*) swarmOutput;
+
+	_SwarmOutput_Build( self, data );
+}
+void _Underworld_SwarmOutput_Initialise( void* swarmOutput, void* data ) {
+	Underworld_SwarmOutput*	self = (Underworld_SwarmOutput*) swarmOutput;
+	
+	_SwarmOutput_Initialise( self, data );
+}
+void _Underworld_SwarmOutput_Execute( void* swarmOutput, void* data ) {
+	Underworld_SwarmOutput*	self = (Underworld_SwarmOutput*)swarmOutput;
+	
+	_SwarmOutput_Execute( self, data );
+}
+void _Underworld_SwarmOutput_Destroy( void* swarmOutput, void* data ) {
+	Underworld_SwarmOutput*	self = (Underworld_SwarmOutput*)swarmOutput;
+	
+	_SwarmOutput_Destroy( self, data );
+
+	Memory_Free( self->feVariableList );
+}
+
+void _Underworld_SwarmOutput_PrintHeader( void* swarmOutput, Stream* stream, Particle_Index lParticle_I, void* context ){
+	Underworld_SwarmOutput*	self = (Underworld_SwarmOutput*)swarmOutput;
+	Index                   list_I;
+	
+	_SwarmOutput_PrintHeader( self, stream, lParticle_I, context );
+	
+	for( list_I = 0; list_I < self->sizeList ; list_I++ ) 
+		SwarmOutput_PrintString( self, stream, self->feVariableList[list_I]->name );
+	
+}
+
+void _Underworld_SwarmOutput_PrintData( void* swarmOutput, Stream* stream, Particle_Index lParticle_I, void* context ){
+	Underworld_SwarmOutput*	self                = (Underworld_SwarmOutput*)swarmOutput;
+	Swarm*                  swarm               = self->swarm;
+	GlobalParticle*         particle            = (GlobalParticle*)Swarm_ParticleAt( swarm, lParticle_I );
+	double*                 coord               = particle->coord;
+	double                  value[50];  /* Assume no field has more than 50 components */
+	InterpolationResult     result;
+	Index                   list_I;
+
+	Journal_Firewall(
+		swarm->particleLayout->coordSystem == GlobalCoordSystem,
+		Journal_MyStream( Error_Type, self ),
+		"Swarm is not using global coord system! Modify this code to use both systems\n" );
+
+	_SwarmOutput_PrintData( self, stream, lParticle_I, context );
+
+	for( list_I = 0 ; list_I < self->sizeList ; list_I++ ) {
+		result = FieldVariable_InterpolateValueAt( (FieldVariable*)self->feVariableList[list_I], coord, value );
+		if( result == OTHER_PROC || result == OUTSIDE_GLOBAL )
+			assert( 0 );
+
+		SwarmOutput_PrintTuple( self, stream, value, self->feVariableList[list_I]->fieldComponentCount );
+	}
+	
+}
+
+/*-------------------------------------------------------------------------------------------------------------------------
+** Private Functions
+*/
+/*---------------------------------------------------------------------------------------------------------------------
+** Entry Point Hooks
+*/
+
+/*-------------------------------------------------------------------------------------------------------------------------
+** Public Functions
+*/
+

Added: long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.h
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.h	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.h	2007-03-08 19:29:30 UTC (rev 6196)
@@ -0,0 +1,114 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+** Copyright (c) 2005, Monash Cluster Computing 
+** All rights reserved.
+** Redistribution and use in source and binary forms, with or without modification,
+** are permitted provided that the following conditions are met:
+**
+** 		* Redistributions of source code must retain the above copyright notice, 
+** 			this list of conditions and the following disclaimer.
+** 		* Redistributions in binary form must reproduce the above copyright 
+**			notice, this list of conditions and the following disclaimer in the 
+**			documentation and/or other materials provided with the distribution.
+** 		* Neither the name of the Monash University nor the names of its contributors 
+**			may be used to endorse or promote products derived from this software 
+**			without specific prior written permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
+** THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
+** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 
+** BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
+** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+**
+**
+** Contact:
+*%		Louis Moresi - Louis.Moresi at sci.monash.edu.au
+*%
+** Contributors:
+*+		Robert Turnbull
+*+		Vincent Lemiale
+*+		Louis Moresi
+*+		David May
+*+		David Stegman
+*+		Mirko Velic
+*+		Patrick Sunter
+*+		Julian Giordani
+*+
+** $Id: Underworld_SwarmOutput.h 354 2006-10-12 08:19:27Z SteveQuenette $
+** 
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+
+#ifndef __Underworld_Utils_Underworld_SwarmOutput_h__
+#define __Underworld_Utils_Underworld_SwarmOutput_h__
+
+	/* Textual name of this class - This is a global pointer which is used for times when you need to refer to class and not a particular instance of a class */
+	extern const Type Underworld_SwarmOutput_Type;
+
+	/* Underworld_SwarmOutput information */
+	#define __Underworld_SwarmOutput \
+		/* Macro defining parent goes here - This means you can cast this class as its parent */ \
+		__SwarmOutput \
+		/* Virtual Info */\
+		FieldVariable**           feVariableList; \
+		Index                     sizeList; \
+		Stream*                   infoStream; \
+		Stream*                   errorStream; \
+
+	struct Underworld_SwarmOutput { __Underworld_SwarmOutput };
+	
+	/*---------------------------------------------------------------------------------------------------------------------
+	** Constructors
+	*/
+	Underworld_SwarmOutput* _Underworld_SwarmOutput_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,		
+		SwarmOutput_PrintHeaderFunction*                   _printHeader,		
+		SwarmOutput_PrintDataFunction*                     _printData,		
+		Name                                               name );
+
+	/* Stg_Class_Delete Underworld_SwarmOutput implementation */
+	void _Underworld_SwarmOutput_Delete( void* swarmOutput );
+	void _Underworld_SwarmOutput_Print( void* swarmOutput, Stream* stream );
+	#define Underworld_SwarmOutput_Copy( self ) \
+		(Underworld_SwarmOutput*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
+	#define Underworld_SwarmOutput_DeepCopy( self ) \
+		(Underworld_SwarmOutput*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
+	void* _Underworld_SwarmOutput_Copy( void* swarmOutput, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	
+	void* _Underworld_SwarmOutput_DefaultNew( Name name ) ;
+void _Underworld_SwarmOutput_Construct( void* shape, Stg_ComponentFactory* cf, void* data ) ;
+	void _Underworld_SwarmOutput_Build( void* swarmOutput, void* data ) ;
+	void _Underworld_SwarmOutput_Initialise( void* swarmOutput, void* data ) ;
+	void _Underworld_SwarmOutput_Execute( void* swarmOutput, void* data );
+	void _Underworld_SwarmOutput_Destroy( void* swarmOutput, void* data ) ;
+	
+	void _Underworld_SwarmOutput_PrintHeader( void* swarmOutput, Stream* stream, Particle_Index lParticle_I, void* context );
+	void _Underworld_SwarmOutput_PrintData( void* swarmOutput, Stream* stream, Particle_Index lParticle_I, void* context );
+		
+	/*---------------------------------------------------------------------------------------------------------------------
+	** Private functions
+	*/
+	
+	/*---------------------------------------------------------------------------------------------------------------------
+	** Entry Point Hooks
+	*/
+	
+	/*---------------------------------------------------------------------------------------------------------------------
+	** Public functions
+	*/
+	
+#endif 

Added: long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.meta
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.meta	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Utils/src/Underworld_SwarmOutput.meta	2007-03-08 19:29:30 UTC (rev 6196)
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+<param name="Name">Underworld_SwarmOutput</param>
+<param name="Organisation">MCC</param>
+<param name="Project">Underworld</param>
+<param name="Location">./Underworld/Utils/src</param>
+<param name="Project Web">http://mcc.monash.edu.au/Underworld</param>
+<param name="Copyright">Copyright (c) 2005, Monash Cluster Computing</param>
+<param name="License">http://www.opensource.org/licenses/bsd-license.php</param>
+<param name="Parent">SwarmOutput</param>
+<param name="Description">This component allows for a given list of fields to be calculated on a Swarm. The output of these calculations is sent, by default, to a swarmOutput file that is found in the output directory. Each output file contains the fields quantities found on a single particle at each timestep. This component is useful when it calculates quantites on a PassiveTracer swarm.</param>
+
+<!--Now the interesting stuff-->
+
+
+<list name="Params">
+</list>
+
+<list name="Dependencies">
+	<struct>
+		<param name="Essential">True</param>
+		<param name="Name">FieldVariable</param>
+		<param name="Type">list</param>
+		<param name="Description">This is a list of Field Variables (or FeVariables) which you want to have ouput to the swarm output file.</param>
+	</struct>
+</list>
+<param name="Example">...</param>
+</StGermainData>

Modified: long/3D/Gale/trunk/src/Underworld/Utils/src/Utils.h
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Utils/src/Utils.h	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Utils/src/Utils.h	2007-03-08 19:29:30 UTC (rev 6196)
@@ -52,6 +52,7 @@
 	#include "ViscosityField.h"
 	#include "DensityField.h"
 	#include "PressureTemperatureOutput.h"
+	#include "Underworld_SwarmOutput.h"
 	#include "RadiogenicHeatingTerm.h"
 	#include "Init.h"
 	#include "Finalise.h"

Modified: long/3D/Gale/trunk/src/Underworld/Utils/src/types.h
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Utils/src/types.h	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/Utils/src/types.h	2007-03-08 19:29:30 UTC (rev 6196)
@@ -48,6 +48,7 @@
 	
 	typedef struct UnderworldContext             UnderworldContext;
 	typedef struct PressureTemperatureOutput     PressureTemperatureOutput;
+	typedef struct Underworld_SwarmOutput              Underworld_SwarmOutput;
 	typedef struct RadiogenicHeatingTerm         RadiogenicHeatingTerm;
 	typedef struct StressField                   StressField;
 	typedef struct ViscosityField                ViscosityField;

Modified: long/3D/Gale/trunk/src/Underworld/libUnderworld/src/Init.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/libUnderworld/src/Init.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/libUnderworld/src/Init.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -69,6 +69,7 @@
 	int arg_I;
 	int tmp;
 	Bool useSignalHandler = False;
+	char* directory;
 
 	for ( arg_I = 0; argc && arg_I < *argc; arg_I++ ) {
 		argString = (*argv)[arg_I];
@@ -99,7 +100,20 @@
 	Underworld_Debug  = Journal_Register( Debug_Type, "Context" );
 	Underworld_Info   = Journal_Register( Info_Type,  "Context" );
 	Underworld_Error  = Journal_Register( Error_Type, "Context" );
+	
+	/* Add the Underworld path to the global xml path dictionary */
+	directory = Memory_Alloc_Array( char, 400, "xmlDirectory" ) ;
+	sprintf(directory, "%s%s", LIB_DIR, "/StGermain" );
+	XML_IO_Handler_AddDirectory( "Underworld", directory );
+	Memory_Free(directory);
 
+	/* Add the plugin path to the global plugin list */
+	#ifdef GLUCIFER_LIBDIR
+		PluginsManager_AddDirectory( "gLucifer", GLUCIFER_LIBDIR );
+	#endif
+	
+	PluginsManager_AddDirectory( "Underworld", LIB_DIR );
+
 	return True;
 }
 
@@ -128,4 +142,3 @@
 	}
 	exit(EXIT_FAILURE);
 }
-	

Added: long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/expected/testLibUnderworld.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/expected/testLibUnderworld.0of1.expected	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/expected/testLibUnderworld.0of1.expected	2007-03-08 19:29:30 UTC (rev 6196)
@@ -0,0 +1,14 @@
+StGermain Framework revision 4012. Copyright (C) 2003-2005 VPAC.
+StGermain Discretisation Library revision 4012. Copyright (C) 2003-2005 VPAC.
+StGermain Finite Element Framework revision 747. Copyright (C) 2003-2005 VPAC.
+StGermain FEM Discretisation Framework revision 747. Copyright (C) 2003-2005 VPAC.
+StGermain SLE Library revision 747. Copyright (C) 2003-2005 VPAC.
+StGermain PETSc-LinearAlgebra Interface revision 747. Copyright (C) 2003-2005 VPAC.
+StGermain FEM Assembly Library revision 747. Copyright (C) 2003-2005 VPAC.
+Particle-In-Cellerator (FEM/PIC framework) revision 426. Copyright (C) 2005 VPAC & Monash Cluster Computing.
+Underworld (Geodynamics framework) revision 436. Copyright (C) 2005 Monash Cluster Computing.
+Watching rank: 0
+StGermain XML library Path found.
+StgFEM XML library Path found.
+PICellerator XML library Path found.
+Underworld XML library Path found.

Added: long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/makefile
===================================================================
--- long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/makefile	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/makefile	2007-03-08 19:29:30 UTC (rev 6196)
@@ -0,0 +1,44 @@
+##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+##
+## Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+##
+## Authors:
+##	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+##	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+##	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+##	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
+##	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+##	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+##
+## This file may be distributed under the terms of the VPAC Public License
+## as defined by VPAC of Australia and appearing in the file
+## LICENSE.VPL included in the packaging of this file.
+##
+## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+##
+## $Id: Makefile.rules 2746 2005-03-06 00:29:00Z SteveQuenette $
+##
+##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+#Finds the Absolute path to the Project Root directory
+SHELL := /bin/bash
+PROJ_ROOT := $(shell until test -r ./Makefile.system ; do cd .. ; done ; echo `pwd`)
+include ${PROJ_ROOT}/Makefile.system
+
+includes = ${PROJECT}
+
+tests = lib${PROJECT}
+
+checks = $(wildcard *.sh)
+
+SRCS = $(wildcard *.c)
+
+
+EXTERNAL_LIBS = -L${LIB_DIR} -l${PROJECT} 
+
+EXTERNAL_INCLUDES = -I${INC_DIR}/${PROJECT} -I${PICELLERATOR_INCDIR}  -DLIB_DIR=\"${LIB_DIR}\"
+
+packages = UNDERWORLD PICELLERATOR STGFEM STGERMAIN MPI XML MATH
+
+include ${PROJ_ROOT}/Makefile.vmake

Added: long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/testLibUnderworld.0of1.sh
===================================================================
--- long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/testLibUnderworld.0of1.sh	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/testLibUnderworld.0of1.sh	2007-03-08 19:29:30 UTC (rev 6196)
@@ -0,0 +1,49 @@
+#!/bin/sh
+##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+##
+## Copyright (C), 2003-2006, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street,
+##	Melbourne, 3053, Australia.
+##
+## Primary Contributing Organisations:
+##	Victorian Partnership for Advanced Computing Ltd, Computational Software Development - http://csd.vpac.org
+##	Australian Computational Earth Systems Simulator - http://www.access.edu.au
+##	Monash Cluster Computing - http://www.mcc.monash.edu.au
+##	Computational Infrastructure for Geodynamics - http://www.geodynamics.org
+##
+## Contributors:
+##	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+##	Robert Turnbull, Research Assistant, Monash University. (robert.turnbull at sci.monash.edu.au)
+##	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+##	David May, PhD Student, Monash University (david.may at sci.monash.edu.au)
+##	Louis Moresi, Associate Professor, Monash University. (louis.moresi at sci.monash.edu.au)
+##	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+##	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+##	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+##	Julian Giordani, Research Assistant, Monash University. (julian.giordani at sci.monash.edu.au)
+##	Vincent Lemiale, Postdoctoral Fellow, Monash University. (vincent.lemiale at sci.monash.edu.au)
+##
+##  This library is free software; you can redistribute it and/or
+##  modify it under the terms of the GNU Lesser General Public
+##  License as published by the Free Software Foundation; either
+##  version 2.1 of the License, or (at your option) any later version.
+##
+##  This library is distributed in the hope that it will be useful,
+##  but WITHOUT ANY WARRANTY; without even the implied warranty of
+##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+##  Lesser General Public License for more details.
+##
+##  You should have received a copy of the GNU Lesser General Public
+##  License along with this library; if not, write to the Free Software
+##  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+##
+## $Id: testLibStgFEM.0of1.sh 656 2006-10-18 06:45:50Z SteveQuenette $
+##
+##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+TEST_SCRIPT=./VMake/executableTester.sh
+until test -r ${TEST_SCRIPT} ; do
+        TEST_SCRIPT=../${TEST_SCRIPT}
+done
+. ${TEST_SCRIPT}
+
+runAndHandleSystemTestStdLocations "testLibUnderworld " "$0" "$@"


Property changes on: long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/testLibUnderworld.0of1.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/testLibUnderworld.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/testLibUnderworld.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/libUnderworld/tests/testLibUnderworld.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -0,0 +1,152 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+**
+** Copyright (C), 2003-2006, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street,
+**	Melbourne, 3053, Australia.
+**
+** Primary Contributing Organisations:
+**	Victorian Partnership for Advanced Computing Ltd, Computational Software Development - http://csd.vpac.org
+**	Australian Computational Earth Systems Simulator - http://www.access.edu.au
+**	Monash Cluster Computing - http://www.mcc.monash.edu.au
+**	Computational Infrastructure for Geodynamics - http://www.geodynamics.org
+**
+** Contributors:
+**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
+**	Robert Turnbull, Research Assistant, Monash University. (robert.turnbull at sci.monash.edu.au)
+**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
+**	David May, PhD Student, Monash University (david.may at sci.monash.edu.au)
+**	Louis Moresi, Associate Professor, Monash University. (louis.moresi at sci.monash.edu.au)
+**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
+**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
+**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
+**	Julian Giordani, Research Assistant, Monash University. (julian.giordani at sci.monash.edu.au)
+**	Vincent Lemiale, Postdoctoral Fellow, Monash University. (vincent.lemiale at sci.monash.edu.au)
+**
+**  This library is free software; you can redistribute it and/or
+**  modify it under the terms of the GNU Lesser General Public
+**  License as published by the Free Software Foundation; either
+**  version 2.1 of the License, or (at your option) any later version.
+**
+**  This library is distributed in the hope that it will be useful,
+**  but WITHOUT ANY WARRANTY; without even the implied warranty of
+**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+**  Lesser General Public License for more details.
+**
+**  You should have received a copy of the GNU Lesser General Public
+**  License along with this library; if not, write to the Free Software
+**  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+**
+** $Id: testLibStgFEM.c 656 2006-10-18 06:45:50Z SteveQuenette $
+**
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+#include <mpi.h>
+#include <StGermain/StGermain.h>
+#include <StgFEM/StgFEM.h>
+#include <PICellerator/PICellerator.h>
+#include "Underworld/Underworld.h"
+#include "Underworld/Init.h"
+#include "Underworld/Finalise.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int main( int argc, char* argv[] ) {
+	MPI_Comm		CommWorld;
+	int			rank;
+	int			numProcessors;
+	int			procToWatch;
+	
+	/* Initialise MPI, get world info */
+	MPI_Init( &argc, &argv );
+	MPI_Comm_dup( MPI_COMM_WORLD, &CommWorld );
+	MPI_Comm_size( CommWorld, &numProcessors );
+	MPI_Comm_rank( CommWorld, &rank );
+	/* Read input */
+
+	if( !StGermain_Init( &argc, &argv ) ) {
+		fprintf( stderr, "Error initialising StGermain, exiting.\n" );
+		exit( EXIT_FAILURE );
+	}
+	if (!StgFEM_Init( &argc, &argv ) ) {
+		fprintf( stderr, "Error initialising StgFEM, exiting.\n" );
+		exit( EXIT_FAILURE );
+	}
+	if (!PICellerator_Init( &argc, &argv ) ) {
+		fprintf( stderr, "Error initialising PICellerator, exiting.\n" );
+		exit( EXIT_FAILURE );
+	}	
+	Underworld_Init( &argc, &argv );
+	MPI_Barrier( CommWorld ); /* Ensures copyright info always come first in output */
+
+	if( argc >= 2 ) {
+		procToWatch = atoi( argv[1] );
+	}
+	else {
+		procToWatch = 0;
+	}
+	if( rank == procToWatch ) {
+		Stg_Object* testDirectory;
+
+		printf( "Watching rank: %i\n", rank );
+		/* Testing entries in xmlSearchPaths */
+		testDirectory = Stg_ObjectList_Get( xmlSearchPaths,"StGermain" );
+		if (testDirectory != NULL) {
+			printf("StGermain XML library Path found.\n");
+		}
+		else {
+			printf("StGermain XML library Path not found.\n"); 
+		}
+/* For build in the same build directory */
+		if (strcmp((char*)LIB_DIR, (char*)testDirectory)) {
+			printf("StgFEM XML library Path found.\n");
+		}
+		/* For build in separate directories */
+		else{
+			testDirectory = Stg_ObjectList_Get( xmlSearchPaths,"StgFEM" );
+			if (testDirectory != NULL) {
+				printf("StgFEM XML library Path found.\n");
+			}
+			else {
+				printf("StgFEM XML library Path not found.\n"); 
+			}
+		}
+		/* For build in the same build directory */
+		if (strcmp((char*)LIB_DIR, (char*)testDirectory)) {
+			printf("PICellerator XML library Path found.\n");
+		}
+		/* For build in separate directories */
+		else{
+			testDirectory = Stg_ObjectList_Get( xmlSearchPaths,"PICellerator" );
+			if (testDirectory != NULL) {
+				printf("PICellerator XML library Path found.\n");
+			}
+			else {
+				printf("PICellerator XML library Path not found.\n"); 
+			}
+		}
+		/* For build in the same build directory */
+		if (strcmp((char*)LIB_DIR, (char*)testDirectory)) {
+			printf("Underworld XML library Path found.\n");
+		}
+		/* For build in separate directories */
+		else{
+			testDirectory = Stg_ObjectList_Get( xmlSearchPaths,"Underworld" );
+			if (testDirectory != NULL) {
+				printf("Underworld XML library Path found.\n");
+			}
+			else {
+				printf("Underworld XML library Path not found.\n"); 
+			}
+		}		
+	}
+	Underworld_Finalise();
+	PICellerator_Finalise(); 
+	StgFEM_Finalise();
+	StGermain_Finalise();
+	
+	/* Close off MPI */
+	MPI_Finalize();
+
+	return 0; /* success */
+}

Added: long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/ExtractPetscObjects.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/ExtractPetscObjects.c	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/ExtractPetscObjects.c	2007-03-08 19:29:30 UTC (rev 6196)
@@ -0,0 +1,276 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+** Copyright (c) 2005, Monash Cluster Computing 
+** All rights reserved.
+** Redistribution and use in source and binary forms, with or without modification,
+** are permitted provided that the following conditions are met:
+**
+** 		* Redistributions of source code must retain the above copyright notice, 
+** 			this list of conditions and the following disclaimer.
+** 		* Redistributions in binary form must reproduce the above copyright 
+**			notice, this list of conditions and the following disclaimer in the 
+**			documentation and/or other materials provided with the distribution.
+** 		* Neither the name of the Monash University nor the names of its contributors 
+**			may be used to endorse or promote products derived from this software 
+**			without specific prior written permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
+** THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
+** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 
+** BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
+** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+**
+**
+** Contact:
+*%		Louis Moresi - Louis.Moresi at sci.monash.edu.au
+*%
+** Contributors:
+*+		Robert Turnbull
+*+		Vincent Lemiale
+*+		Louis Moresi
+*+		David May
+*+		David Stegman
+*+		Mirko Velic
+*+		Patrick Sunter
+*+		Julian Giordani
+*+
+** $Id: ExtractPetscObjects.c 358 2007-06-02 06:17:30Z Mayhem $
+** 
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+#include <string.h>
+#include <mpi.h>
+#include <petsc.h>
+#include <petscmat.h>
+#include <petscvec.h>
+
+#include <StGermain/StGermain.h>
+#include <StgFEM/StgFEM.h>
+#include <PICellerator/PICellerator.h>
+#include <Underworld/Underworld.h>
+#include <StgFEM/FrequentOutput/FrequentOutput.h>
+
+
+
+#include "ExtractPetscObjects.h"
+
+const Type Underworld_ExtractPetscObjects_Type = "Underworld_ExtractPetscObjects";
+
+void _Underworld_ExtractPetscObjects_Construct( void* component, Stg_ComponentFactory* cf, void* data ) 
+{
+	UnderworldContext*  context;
+	
+	context = Stg_ComponentFactory_ConstructByName( cf, "context", UnderworldContext, True, data ); 
+	
+	Underworld_ExtractPetscObjects_PrintHeaderToFile( context );
+	ContextEP_Append( context, AbstractContext_EP_FrequentOutput     , Underworld_ExtractPetscObjects_Dump );
+}
+
+void* _Underworld_ExtractPetscObjects_DefaultNew( Name name ) 
+{
+	return Codelet_New(
+		Underworld_ExtractPetscObjects_Type,
+		_Underworld_ExtractPetscObjects_DefaultNew,
+		_Underworld_ExtractPetscObjects_Construct,
+		_Codelet_Build,
+		_Codelet_Initialise,
+		_Codelet_Execute,
+		_Codelet_Destroy,
+		name );
+}
+
+Index Underworld_ExtractPetscObjects_Register( PluginsManager* pluginsManager ) 
+{
+	return PluginsManager_Submit( pluginsManager, Underworld_ExtractPetscObjects_Type, "0", _Underworld_ExtractPetscObjects_DefaultNew );
+}
+
+
+/* 
+Dump the matrices and vectors to binary files
+The file suffix is extracted from the xml variable <ProbDescription>
+
+The file,
+    ProbDescription-xxxx.info,
+(where xxxx is the time step counter) contains the list of file names associated with 
+the current problem. The list defines the names for the matrices K,G,D,C and vectors f,h.
+If the name is NULL, there is no saved petsc object.
+
+*/
+void Underworld_ExtractPetscObjects_Dump( void* _context ) 
+{
+	UnderworldContext *context = (UnderworldContext*) _context;
+	
+	int		length;
+	char	machine_name[256];
+	int		rank;
+	char	*probName, fileName[256];
+	FILE	*info;
+	char	kName[256];
+	char	GradName[256];
+	char	DivName[256];
+	char	CName[256];
+	char	FName[256];
+	char	HName[256];
+	char	SpcName[256];
+	
+	char			mat_name[256];
+	char			vec_name[256];
+	PetscViewer		mat_view_file;
+	PetscViewer		vec_view_file;
+	Stokes_SLE		*stokesSLE = context->stokesSLE;
+	Mat A;
+	Vec b;
+	MPI_Comm comm;
+	int step;
+	Stokes_SLE_UzawaSolver *uzawaSolver;
+	Bool uzawa_present;
+	
+	/* Init names */
+	strcpy( kName,    "NULL" );
+	strcpy( GradName, "NULL" );
+	strcpy( DivName,  "NULL" );
+	strcpy( CName,    "NULL" );
+	strcpy( FName,    "NULL" );
+	strcpy( HName,    "NULL" );
+	
+	
+	
+	
+	/* Write the matrices and vectors to disk */
+	step = context->timeStep;
+	comm = context->communicator;
+	
+	// get filename from problem description
+	probName = strdup( Dictionary_Entry_Value_AsString( Dictionary_Get( context->dictionary, "ProbDescription" ) ));
+	printf("probName = %s \n", probName );
+	
+	MPI_Get_processor_name( machine_name, &length);
+	MPI_Comm_rank( context->communicator, &rank );
+
+	
+	
+	/* Write K to file */
+	if( stokesSLE->kStiffMat != NULL ) {
+		sprintf( kName, "k--%s-%d-%s", probName,step, machine_name );
+		sprintf( mat_name, "%s/%s", context->outputPath, kName );
+		printf("Writing kMatrix to %s \n",mat_name );
+		
+		
+		A = (Mat)stokesSLE->kStiffMat->matrix;
+		PetscViewerBinaryOpen( comm, mat_name, FILE_MODE_WRITE, &mat_view_file );
+		MatView( A, mat_view_file );
+		PetscViewerDestroy( mat_view_file );
+		
+		//Matrix_Dump( stokesSLE->kStiffMat, mat_name );
+	}
+	/* Write G to file */
+	if( stokesSLE->gStiffMat != NULL ) {
+		sprintf( GradName, "g--%s-%d-%s", probName,step, machine_name );
+		sprintf( mat_name, "%s/%s", context->outputPath, GradName );
+		printf("Writing Grad to %s \n",mat_name );
+		
+		A = (Mat)stokesSLE->gStiffMat->matrix;
+		PetscViewerBinaryOpen( comm, mat_name, FILE_MODE_WRITE, &mat_view_file );
+		MatView( A, mat_view_file );
+		PetscViewerDestroy( mat_view_file );
+	}
+	
+	/* Write Div to file */	
+	if( stokesSLE->dStiffMat != NULL ) {
+		sprintf( DivName, "div--%s-%d-%s", probName, step, machine_name );
+		sprintf( mat_name, "%s/%s", context->outputPath, DivName );
+		printf("Writing Div to %s \n",mat_name );
+		
+		A = (Mat)stokesSLE->dStiffMat->matrix;
+		PetscViewerBinaryOpen( comm, mat_name, FILE_MODE_WRITE, &mat_view_file );
+		MatView( A, mat_view_file );
+		PetscViewerDestroy( mat_view_file );
+	}
+	
+	/* Write C to file */
+	if( stokesSLE->cStiffMat != NULL ) {
+		sprintf( CName, "c--%s-%d-%s", probName, step, machine_name );
+		sprintf( mat_name, "%s/%s", context->outputPath, CName );
+		printf("Writing C to %s \n",mat_name );
+		
+		A = (Mat)stokesSLE->cStiffMat->matrix;
+		PetscViewerBinaryOpen( comm, mat_name, FILE_MODE_WRITE, &mat_view_file );
+		MatView( A, mat_view_file );
+		PetscViewerDestroy( mat_view_file );
+	}
+	
+	
+	/* Momentum rhs */
+	if( stokesSLE->fForceVec != NULL ) {
+		sprintf( FName, "F--%s-%d-%s", probName, step, machine_name );
+		sprintf( vec_name, "%s/%s", context->outputPath, FName );
+		printf("Writing F to %s \n", vec_name );
+		
+		b = (Vec)stokesSLE->fForceVec->vector;
+		PetscViewerBinaryOpen( comm, vec_name, FILE_MODE_WRITE, &vec_view_file );
+		VecView( b, vec_view_file );
+		PetscViewerDestroy( vec_view_file );
+	}
+	
+	/* Continuity rhs */
+	if( stokesSLE->hForceVec != NULL ) {
+		sprintf( HName, "H--%s-%d-%s", probName, step, machine_name );
+		sprintf( vec_name, "%s/%s", context->outputPath, HName );
+		printf("Writing H to %s \n", vec_name );
+		
+		b = (Vec)stokesSLE->hForceVec->vector;
+		PetscViewerBinaryOpen( comm, vec_name, FILE_MODE_WRITE, &vec_view_file );
+		VecView( b, vec_view_file );
+		PetscViewerDestroy( vec_view_file );
+	}
+	
+	/* Check if solver is Uzawa and spit out the preconditioner used */
+	uzawa_present = False;
+	uzawa_present = Stg_Class_IsInstance( stokesSLE->solver, Stokes_SLE_UzawaSolver_Type );
+	if( uzawa_present == True ) {
+		sprintf( SpcName, "Spc--%s-%d-%s", probName, step, machine_name );
+		sprintf( mat_name, "%s/%s", context->outputPath, SpcName );
+		printf("Writing Schur pc operator to %s \n",mat_name );
+	
+		uzawaSolver = (Stokes_SLE_UzawaSolver*)stokesSLE->solver;
+		A = (Mat)uzawaSolver->preconditioner->matrix;
+		PetscViewerBinaryOpen( comm, mat_name, FILE_MODE_WRITE, &mat_view_file );
+		MatView( A, mat_view_file );
+		PetscViewerDestroy( mat_view_file );
+	}
+	
+	
+	
+	if( rank == 0 ) {
+		
+		sprintf( fileName, "%s/%s-%d.info", context->outputPath, probName, context->timeStep );
+		printf("\n\n %s \n\n",fileName );
+		
+		if (( info = fopen (fileName, "w")) == NULL)  {
+			(void) fprintf(stderr, "Error: couldn't open file %s for writing. Exiting.\n", fileName);
+			PetscFinalize();
+			exit(1);
+		}
+		
+		/* Write the object info to file */
+		fprintf( info, "%s %s %s %s %s %s",
+				kName, GradName, DivName, CName,
+				FName, HName );
+		
+		fclose( info );
+	}
+	
+//	b = (Vec)stokesSLE->pSolnVec->vector;
+//	VecView( b, PETSC_VIEWER_STDOUT_WORLD );
+	
+	
+}
+
+void Underworld_ExtractPetscObjects_PrintHeaderToFile( void* context ) 
+{
+	StgFEM_FrequentOutput_PrintString( context, "ExtractPetscObjects" );
+}
+

Added: long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/ExtractPetscObjects.h
===================================================================
--- long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/ExtractPetscObjects.h	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/ExtractPetscObjects.h	2007-03-08 19:29:30 UTC (rev 6196)
@@ -0,0 +1,56 @@
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+** Copyright (c) 2005, Monash Cluster Computing 
+** All rights reserved.
+** Redistribution and use in source and binary forms, with or without modification,
+** are permitted provided that the following conditions are met:
+**
+** 		* Redistributions of source code must retain the above copyright notice, 
+** 			this list of conditions and the following disclaimer.
+** 		* Redistributions in binary form must reproduce the above copyright 
+**			notice, this list of conditions and the following disclaimer in the 
+**			documentation and/or other materials provided with the distribution.
+** 		* Neither the name of the Monash University nor the names of its contributors 
+**			may be used to endorse or promote products derived from this software 
+**			without specific prior written permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
+** THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
+** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 
+** BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
+** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+**
+**
+** Contact:
+*%		Louis Moresi - Louis.Moresi at sci.monash.edu.au
+*%
+** Contributors:
+*+		Robert Turnbull
+*+		Vincent Lemiale
+*+		Louis Moresi
+*+		David May
+*+		David Stegman
+*+		Mirko Velic
+*+		Patrick Sunter
+*+		Julian Giordani
+*+
+** $Id: ExtractPetscObjects.h 116 2006-01-13 03:12:11Z RobertTurnbull $
+** 
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+
+#ifndef __Underworld_ExtractPetscObjects_h__
+#define __Underworld_ExtractPetscObjects_h__
+
+extern const Type Underworld_ExtractPetscObjects_Type;
+
+
+void Underworld_ExtractPetscObjects_Dump( void* _context ) ;
+void Underworld_ExtractPetscObjects_PrintHeaderToFile( void* _context ) ;
+Index Underworld_ExtractPetscObjects_Register( PluginsManager* pluginsManager );
+
+#endif

Added: long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/makefile
===================================================================
--- long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/makefile	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/plugins/ExtractPetscObjects/makefile	2007-03-08 19:29:30 UTC (rev 6196)
@@ -0,0 +1,18 @@
+SHELL := $(shell which bash)
+PROJ_ROOT := $(shell until test -r ./Makefile.system ; do cd .. ; done ; echo `pwd`)
+
+include ${PROJ_ROOT}/Makefile.system
+
+#subdirs = tests
+
+modName := $(shell basename `pwd` )
+mod = ${PROJECT}_${modName}
+includes = ${PROJECT}/${modName}
+
+SRCS = $(wildcard *.c)
+HDRS = $(wildcard *.h)
+
+packages = PICELLERATOR STGFEM STGERMAIN PETSC MPI XML PYTHON
+
+# obtain defaults for required variables according to system and project location, and then run the build.
+include ${PROJ_ROOT}/Makefile.vmake

Modified: long/3D/Gale/trunk/src/Underworld/plugins/Output/AverageTemperature/makefile
===================================================================
--- long/3D/Gale/trunk/src/Underworld/plugins/Output/AverageTemperature/makefile	2007-03-08 19:29:02 UTC (rev 6195)
+++ long/3D/Gale/trunk/src/Underworld/plugins/Output/AverageTemperature/makefile	2007-03-08 19:29:30 UTC (rev 6196)
@@ -19,6 +19,6 @@
 includes = ${PROJECT}/${modName}
 
 # External Libraries and Headers
-packages = PICELLERATOR STG_FEM STGERMAIN PETSC MPI XML PYTHON
+packages = PICELLERATOR STGFEM STGERMAIN PETSC MPI XML PYTHON
 
 include ${PROJ_ROOT}/Makefile.vmake



More information about the cig-commits mailing list