[cig-commits] r7190 - in long/3D/Gale/trunk: . src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src

walter at geodynamics.org walter at geodynamics.org
Wed Jun 13 01:45:36 PDT 2007


Author: walter
Date: 2007-06-13 01:45:36 -0700 (Wed, 13 Jun 2007)
New Revision: 7190

Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/AdvectionDiffusion.h
   long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/AdvectionDiffusionSLE.c
   long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Init.c
   long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/MassMatrix_Assembly.c
   long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Multicorrector.c
   long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Residual.c
   long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Residual.h
   long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/ShapeFunctions.c
   long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Timestep.c
   long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/UpwindParameter.c
Log:
 r1819 at earth:  boo | 2007-06-13 01:20:55 -0700
 Add the capability to specify diffusivity on a per-material basis



Property changes on: long/3D/Gale/trunk
___________________________________________________________________
Name: svk:merge
   - 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:1818
   + 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:1819

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/AdvectionDiffusion.h
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/AdvectionDiffusion.h	2007-06-13 08:45:31 UTC (rev 7189)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/AdvectionDiffusion.h	2007-06-13 08:45:36 UTC (rev 7190)
@@ -44,7 +44,6 @@
 #include "types.h"
 #include "AdvectionDiffusionSLE.h"
 #include "Multicorrector.h"
-#include "Residual.h"
 #include "ShapeFunctions.h"
 #include "Timestep.h"
 #include "UpwindParameter.h"

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/AdvectionDiffusionSLE.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/AdvectionDiffusionSLE.c	2007-06-13 08:45:31 UTC (rev 7189)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/AdvectionDiffusionSLE.c	2007-06-13 08:45:36 UTC (rev 7190)
@@ -47,6 +47,12 @@
 #include "StgFEM/Discretisation/Discretisation.h"
 #include "StgFEM/SLE/LinearAlgebra/LinearAlgebra.h"
 #include "StgFEM/SLE/SystemSetup/SystemSetup.h"
+#include <PICellerator/Voronoi/Voronoi.h>
+#include <PICellerator/PopulationControl/PopulationControl.h>
+#include <PICellerator/Weights/Weights.h>
+#include <PICellerator/MaterialPoints/MaterialPoints.h>
+#include <PICellerator/Utils/types.h>
+#include <PICellerator/Utils/MaterialSwarmVariable.h>
 
 #include "types.h"
 #include "AdvectionDiffusionSLE.h"

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Init.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Init.c	2007-06-13 08:45:31 UTC (rev 7189)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Init.c	2007-06-13 08:45:36 UTC (rev 7190)
@@ -44,9 +44,16 @@
 #include "StgFEM/Discretisation/Discretisation.h"
 #include "StgFEM/SLE/LinearAlgebra/LinearAlgebra.h"
 #include "StgFEM/SLE/SystemSetup/SystemSetup.h"
+#include <PICellerator/Voronoi/Voronoi.h>
+#include <PICellerator/PopulationControl/PopulationControl.h>
+#include <PICellerator/Weights/Weights.h>
+#include <PICellerator/MaterialPoints/MaterialPoints.h>
+#include <PICellerator/Utils/types.h>
+#include <PICellerator/Utils/MaterialSwarmVariable.h>
 #include "types.h"
 #include "Init.h"
 #include "AdvectionDiffusion.h"
+#include "Residual.h"
 
 #include <stdio.h>
 

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/MassMatrix_Assembly.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/MassMatrix_Assembly.c	2007-06-13 08:45:31 UTC (rev 7189)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/MassMatrix_Assembly.c	2007-06-13 08:45:36 UTC (rev 7190)
@@ -44,6 +44,12 @@
 #include "StgFEM/Discretisation/Discretisation.h"
 #include <StgFEM/SLE/LinearAlgebra/LinearAlgebra.h>
 #include <StgFEM/SLE/SystemSetup/SystemSetup.h>
+#include <PICellerator/Voronoi/Voronoi.h>
+#include <PICellerator/PopulationControl/PopulationControl.h>
+#include <PICellerator/Weights/Weights.h>
+#include <PICellerator/MaterialPoints/MaterialPoints.h>
+#include <PICellerator/Utils/types.h>
+#include <PICellerator/Utils/MaterialSwarmVariable.h>
 
 #include "types.h"
 #include "AdvectionDiffusionSLE.h"

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Multicorrector.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Multicorrector.c	2007-06-13 08:45:31 UTC (rev 7189)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Multicorrector.c	2007-06-13 08:45:36 UTC (rev 7190)
@@ -44,6 +44,12 @@
 #include <StgFEM/Discretisation/Discretisation.h>
 #include <StgFEM/SLE/LinearAlgebra/LinearAlgebra.h>
 #include <StgFEM/SLE/SystemSetup/SystemSetup.h>
+#include <PICellerator/Voronoi/Voronoi.h>
+#include <PICellerator/PopulationControl/PopulationControl.h>
+#include <PICellerator/Weights/Weights.h>
+#include <PICellerator/MaterialPoints/MaterialPoints.h>
+#include <PICellerator/Utils/types.h>
+#include <PICellerator/Utils/MaterialSwarmVariable.h>
 
 #include "types.h"
 #include "AdvectionDiffusionSLE.h"

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Residual.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Residual.c	2007-06-13 08:45:31 UTC (rev 7189)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Residual.c	2007-06-13 08:45:36 UTC (rev 7190)
@@ -45,12 +45,18 @@
 #include <StgFEM/Discretisation/Discretisation.h>
 #include <StgFEM/SLE/LinearAlgebra/LinearAlgebra.h>
 #include <StgFEM/SLE/SystemSetup/SystemSetup.h>
+#include <PICellerator/Voronoi/Voronoi.h>
+#include <PICellerator/PopulationControl/PopulationControl.h>
+#include <PICellerator/Weights/Weights.h>
+#include <PICellerator/MaterialPoints/MaterialPoints.h>
+#include <PICellerator/Utils/types.h>
+#include <PICellerator/Utils/MaterialSwarmVariable.h>
 
 #include "types.h"
 #include "AdvectionDiffusionSLE.h"
-#include "Residual.h"
 #include "ShapeFunctions.h"
 #include "UpwindParameter.h"
+#include "Residual.h"
 
 #include <assert.h>
 #include <string.h>
@@ -64,7 +70,8 @@
 		Swarm*                                              integrationSwarm,
 		Stg_Component*                                      sle, 
 		FeVariable*                                         velocityField,
-		Variable*                                           diffusivityVariable,
+		MaterialSwarmVariable**                                  diffusivityVariables,
+		Materials_Register*                                 materials_Register,
 		double                                              defaultDiffusivity,
 		AdvDiffResidualForceTerm_UpwindParamFuncType        upwindFuncType )
 {
@@ -76,7 +83,8 @@
 			integrationSwarm,
 			sle,
 			velocityField,
-			diffusivityVariable,
+			diffusivityVariables,
+                        materials_Register,
 			defaultDiffusivity,
 			upwindFuncType );
 
@@ -128,12 +136,14 @@
 void _AdvDiffResidualForceTerm_Init( 
 		AdvDiffResidualForceTerm*                           self, 
 		FeVariable*                                         velocityField,
-		Variable*                                           diffusivityVariable,
+		MaterialSwarmVariable**                                  diffusivityVariables,
+		Materials_Register*                                 materials_Register,
 		double                                              defaultDiffusivity,
 		AdvDiffResidualForceTerm_UpwindParamFuncType        upwindFuncType )
 {
 	self->velocityField       = velocityField;
-	self->diffusivityVariable = diffusivityVariable;
+	self->diffusivityVariables = diffusivityVariables;
+        self->materials_Register  = materials_Register;
 	self->defaultDiffusivity  = defaultDiffusivity;
 }
 
@@ -143,19 +153,27 @@
 		Swarm*                                              integrationSwarm,
 		Stg_Component*                                      sle, 
 		FeVariable*                                         velocityField,
-		Variable*                                           diffusivityVariable,
+		MaterialSwarmVariable**                                  diffusivityVariables,
+		Materials_Register*                                 materials_Register,
 		double                                              defaultDiffusivity,
 		AdvDiffResidualForceTerm_UpwindParamFuncType        upwindFuncType )
 {
 	AdvDiffResidualForceTerm* self = (AdvDiffResidualForceTerm*) residual;
 
 	ForceTerm_InitAll( self, forceVector, integrationSwarm, sle );
-	_AdvDiffResidualForceTerm_Init( self, velocityField, diffusivityVariable, defaultDiffusivity, upwindFuncType );
+	_AdvDiffResidualForceTerm_Init( self, velocityField, diffusivityVariables, materials_Register,
+                                        defaultDiffusivity, upwindFuncType );
 }
 
 void _AdvDiffResidualForceTerm_Delete( void* residual ) {
 	AdvDiffResidualForceTerm* self = (AdvDiffResidualForceTerm*)residual;
+        Index i;
 
+	for ( i = 0; i < self->materialSwarmCount; ++i ) {
+		Stg_Class_Delete( self->diffusivityVariables[i] );
+        }
+	Stg_Class_Delete( self->diffusivityVariables );
+
 	_ForceTerm_Delete( self );
 }
 
@@ -175,11 +193,11 @@
 	/* General info */
 	Journal_PrintPointer( stream, self->velocityField );
 	Journal_PrintDouble( stream, self->defaultDiffusivity );
-	Journal_Printf( stream, "self->diffusivityVariable = ");
-	if ( self->diffusivityVariable )
-		Journal_Printf( stream, "%s\n", self->diffusivityVariable->name );
-	else
-		Journal_Printf( stream, "<Unused>\n");
+/* 	Journal_Printf( stream, "self->diffusivityVariables = "); */
+/* 	if ( self->diffusivityVariable ) */
+/* 		Journal_Printf( stream, "%s\n", self->diffusivityVariable->name ); */
+/* 	else */
+/* 		Journal_Printf( stream, "<Unused>\n"); */
 
 }
 
@@ -204,7 +222,8 @@
 void _AdvDiffResidualForceTerm_Construct( void* residual, Stg_ComponentFactory* cf, void* data ) {
 	AdvDiffResidualForceTerm*            self             = (AdvDiffResidualForceTerm*)residual;
 	FeVariable*                          velocityField;
-	Variable*                            diffusivityVariable;
+	MaterialSwarmVariable**              diffusivityVariables;
+	Materials_Register*                  materials_Register;
 	Name                                 upwindParamFuncName;
 	double                               defaultDiffusivity;
 	AdvDiffResidualForceTerm_UpwindParamFuncType  upwindFuncType       = 0;
@@ -213,9 +232,7 @@
 	_ForceTerm_Construct( self, cf, data );
 
 	velocityField       = Stg_ComponentFactory_ConstructByKey( cf, self->name, "VelocityField",       FeVariable, True,  data );
-	diffusivityVariable = Stg_ComponentFactory_ConstructByKey( cf, self->name, "DiffusivityVariable", Variable,   False, data );
 
-
 	upwindParamFuncName = Stg_ComponentFactory_GetString( cf, self->name, "UpwindXiFunction", "Exact" );
 	if ( strcasecmp( upwindParamFuncName, "DoublyAsymptoticAssumption" ) == 0 )
 		upwindFuncType = DoublyAsymptoticAssumption;
@@ -229,27 +246,65 @@
 
 	defaultDiffusivity = Stg_ComponentFactory_GetDouble( cf, self->name, "defaultDiffusivity", 1.0 );
 
-	_AdvDiffResidualForceTerm_Init( self, velocityField, diffusivityVariable, defaultDiffusivity, upwindFuncType );
+	materials_Register = Stg_ObjectList_Get( cf->registerRegister, "Materials_Register" );
+	assert( materials_Register );
+
+	_AdvDiffResidualForceTerm_Init( self, velocityField, diffusivityVariables,
+                                        materials_Register, defaultDiffusivity, upwindFuncType );
 }
 
 void _AdvDiffResidualForceTerm_Build( void* residual, void* data ) {
-	AdvDiffResidualForceTerm*             self             = (AdvDiffResidualForceTerm*)residual;
+	AdvDiffResidualForceTerm*        self               = (AdvDiffResidualForceTerm*)residual;
+	double*   materialExt;
+	Material_Index                   material_I;
+	Material*                        material;
+	Materials_Register*              materials_Register = self->materials_Register;
+	IntegrationPointsSwarm*          swarm              = (IntegrationPointsSwarm*)self->integrationSwarm;
+	MaterialPointsSwarm**            materialSwarms;
+	Index                            materialSwarm_I;
+	Name                             name;
 
 	_ForceTerm_Build( self, data );
 
 	Stg_Component_Build( self->velocityField, data, False );
-	if ( self->diffusivityVariable )
-		Stg_Component_Build( self->diffusivityVariable, data, False );
+
+        /* Create the diffusivity variable */
+        self->materialExtHandle=Materials_Register_AddMaterialExtension(materials_Register,self->type,sizeof(double));
+        for ( material_I = 0 ; material_I < Materials_Register_GetCount( materials_Register ) ; material_I++) {
+          material = Materials_Register_GetByIndex( materials_Register, material_I );
+          materialExt = ExtensionManager_GetFunc( material->extensionMgr, material, self->materialExtHandle );
+          *materialExt=Dictionary_GetDouble_WithDefault( material->dictionary, "diffusivity", self->defaultDiffusivity );
+        }              
+        materialSwarms = IntegrationPointMapper_GetMaterialPointsSwarms( swarm->mapper, &(self->materialSwarmCount) );
+        self->diffusivityVariables=Memory_Alloc_Array
+          ( MaterialSwarmVariable*, self->materialSwarmCount, "DiffusivityVariables" );
+        
+        for ( materialSwarm_I = 0; materialSwarm_I < self->materialSwarmCount; ++materialSwarm_I ) {
+          name = Stg_Object_AppendSuffix( materialSwarms[materialSwarm_I], "Diffusivity" );
+          self->diffusivityVariables[materialSwarm_I] =
+            MaterialSwarmVariable_New
+            (name, 
+             materialSwarms[materialSwarm_I], 
+             1, 
+             self->materials_Register, 
+             self->materialExtHandle, 
+             0 );
+          Memory_Free( name );
+          Stg_Component_Build( self->diffusivityVariables[materialSwarm_I], data, False );
+        }
 }
 
 void _AdvDiffResidualForceTerm_Initialise( void* residual, void* data ) {
 	AdvDiffResidualForceTerm*             self             = (AdvDiffResidualForceTerm*)residual;
+        Index i;
 
 	_ForceTerm_Initialise( self, data );
 
 	Stg_Component_Initialise( self->velocityField, data, False );
-	if ( self->diffusivityVariable )
-		Stg_Component_Initialise( self->diffusivityVariable, data, False );
+
+	for ( i = 0; i < self->materialSwarmCount; ++i ) {
+		Stg_Component_Initialise( self->diffusivityVariables[i], data, False );
+	}
 }
 
 void _AdvDiffResidualForceTerm_Execute( void* residual, void* data ) {
@@ -282,7 +337,7 @@
 	double*                    xi;
 	double                     totalDerivative, diffusionTerm;
 	double                     diffusivity         = self->defaultDiffusivity;
-	Variable*                  diffusivityVariable = self->diffusivityVariable;
+	MaterialSwarmVariable**    diffusivityVariables = self->diffusivityVariables;
 	ElementType*               elementType         = FeMesh_GetElementType( phiField->feMesh, lElement_I );
 	Node_Index                 elementNodeCount    = elementType->nodeCount;
 	Node_Index                 node_I;
@@ -328,8 +383,14 @@
 		totalDerivative = phiDot + StGermain_VectorDotProduct( velocity, phiGrad, dim );
 
 		/* Get Diffusivity */
-		if ( diffusivityVariable != NULL )
-			diffusivity = Variable_GetValueDouble( diffusivityVariable, lParticle_I );
+		if ( diffusivityVariables != NULL )
+                  {
+                    Material* material;
+                    double *materialExt;
+                    material = IntegrationPointsSwarm_GetMaterialOn( (IntegrationPointsSwarm*) swarm, particle );
+                    materialExt = ExtensionManager_Get( material->extensionMgr, material, self->materialExtHandle );
+                    diffusivity=(*materialExt);
+                  }
 
 		/* Add to element residual */
 		factor = particle->weight * detJac;

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Residual.h
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Residual.h	2007-06-13 08:45:31 UTC (rev 7189)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Residual.h	2007-06-13 08:45:36 UTC (rev 7190)
@@ -59,7 +59,10 @@
 		/* AdvDiffResidualForceTerm info */ \
 		FeVariable*                                         velocityField;                  \
 		double                                              defaultDiffusivity;             \
-		Variable*                                           diffusivityVariable;            \
+		MaterialSwarmVariable**                             diffusivityVariables;           \
+		Materials_Register*                                 materials_Register;             \
+		ExtensionInfo_Index                                 materialExtHandle;              \
+		Index                                               materialSwarmCount;             \
 		AdvDiffResidualForceTerm_UpwindParamFuncType        upwindParamType;
 
 	struct AdvDiffResidualForceTerm { __AdvDiffResidualForceTerm };	
@@ -70,7 +73,8 @@
 		Swarm*                                              integrationSwarm,
 		Stg_Component*                                      sle, 
 		FeVariable*                                         velocityField,
-		Variable*                                           diffusivityVariable,
+		MaterialSwarmVariable**                             diffusivityVariable,
+		Materials_Register*                                 materials_Register,
 		double                                              defaultDiffusivity,
 		AdvDiffResidualForceTerm_UpwindParamFuncType        upwindFuncType );
 
@@ -96,7 +100,8 @@
 		Swarm*                                              integrationSwarm,
 		Stg_Component*                                      sle, 
 		FeVariable*                                         velocityField,
-		Variable*                                           diffusivityVariable,
+		MaterialSwarmVariable**                             diffusivityVariable,
+		Materials_Register*                                 materials_Register,
 		double                                              defaultDiffusivity,
 		AdvDiffResidualForceTerm_UpwindParamFuncType        upwindFuncType );
 

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/ShapeFunctions.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/ShapeFunctions.c	2007-06-13 08:45:31 UTC (rev 7189)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/ShapeFunctions.c	2007-06-13 08:45:36 UTC (rev 7190)
@@ -45,6 +45,12 @@
 #include "StgFEM/Discretisation/Discretisation.h"
 #include "StgFEM/SLE/LinearAlgebra/LinearAlgebra.h"
 #include "StgFEM/SLE/SystemSetup/SystemSetup.h"
+#include <PICellerator/Voronoi/Voronoi.h>
+#include <PICellerator/PopulationControl/PopulationControl.h>
+#include <PICellerator/Weights/Weights.h>
+#include <PICellerator/MaterialPoints/MaterialPoints.h>
+#include <PICellerator/Utils/types.h>
+#include <PICellerator/Utils/MaterialSwarmVariable.h>
 
 #include "types.h"
 #include "AdvectionDiffusionSLE.h"
@@ -77,7 +83,7 @@
 	Node_Index                 nodeCount = elementType->nodeCount;
 	Node_Index                 node_I;
 	IntegrationPoint*          particle;
-	Variable*                  diffusivityVariable = self->diffusivityVariable;
+	MaterialSwarmVariable**    diffusivityVariables = self->diffusivityVariables;
 	Particle_Index             lParticle_I;
 
 	/* Find Number of Particles in Element */
@@ -89,13 +95,24 @@
 	GNx         = Memory_Alloc_2DArray( double, dim,           nodeCount, "Global Shape Function Derivatives" );
 	
 	/* Average diffusivity for element */
-	if ( diffusivityVariable ) {
-		averageDiffusivity = 0.0;
-		for ( cParticle_I = 0 ; cParticle_I < particleCount ; cParticle_I++ ) {
-			lParticle_I = swarm->cellParticleTbl[lElement_I][cParticle_I];
-			averageDiffusivity += Variable_GetValueDouble( diffusivityVariable, lParticle_I );
-		}
-		averageDiffusivity /= (double)particleCount;
+	if ( diffusivityVariables ) {
+          averageDiffusivity = 0.0;
+
+          for ( cParticle_I = 0 ; cParticle_I < particleCount ;
+                cParticle_I++ ) {
+            Material* material;
+            double *materialExt;
+            IntegrationPoint* particle;
+            lParticle_I = swarm->cellParticleTbl[cell_I][cParticle_I];
+            particle = (IntegrationPoint*) Swarm_ParticleAt( swarm,
+                                                             lParticle_I );
+            material = IntegrationPointsSwarm_GetMaterialOn
+              ( (IntegrationPointsSwarm*) swarm, particle );
+            materialExt = ExtensionManager_Get
+              ( material->extensionMgr, material, self->materialExtHandle );
+            averageDiffusivity += (*materialExt);
+          }
+          averageDiffusivity /= (double)particleCount;
 	}
 	else {
 		averageDiffusivity = self->defaultDiffusivity;

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Timestep.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Timestep.c	2007-06-13 08:45:31 UTC (rev 7189)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/Timestep.c	2007-06-13 08:45:36 UTC (rev 7190)
@@ -43,6 +43,12 @@
 #include "StgFEM/Discretisation/Discretisation.h"
 #include "StgFEM/SLE/LinearAlgebra/LinearAlgebra.h"
 #include "StgFEM/SLE/SystemSetup/SystemSetup.h"
+#include <PICellerator/Voronoi/Voronoi.h>
+#include <PICellerator/PopulationControl/PopulationControl.h>
+#include <PICellerator/Weights/Weights.h>
+#include <PICellerator/MaterialPoints/MaterialPoints.h>
+#include <PICellerator/Utils/types.h>
+#include <PICellerator/Utils/MaterialSwarmVariable.h>
 #include "types.h"
 #include "Timestep.h"
 

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/UpwindParameter.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/UpwindParameter.c	2007-06-13 08:45:31 UTC (rev 7189)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/ProvidedSystems/AdvectionDiffusion/src/UpwindParameter.c	2007-06-13 08:45:36 UTC (rev 7190)
@@ -46,6 +46,12 @@
 #include "StgFEM/Discretisation/Discretisation.h"
 #include "StgFEM/SLE/LinearAlgebra/LinearAlgebra.h"
 #include "StgFEM/SLE/SystemSetup/SystemSetup.h"
+#include <PICellerator/Voronoi/Voronoi.h>
+#include <PICellerator/PopulationControl/PopulationControl.h>
+#include <PICellerator/Weights/Weights.h>
+#include <PICellerator/MaterialPoints/MaterialPoints.h>
+#include <PICellerator/Utils/types.h>
+#include <PICellerator/Utils/MaterialSwarmVariable.h>
 
 #include "types.h"
 #include "AdvectionDiffusionSLE.h"



More information about the cig-commits mailing list