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

walter at geodynamics.org walter at geodynamics.org
Tue Aug 1 01:56:07 PDT 2006


Author: walter
Date: 2006-08-01 01:56:07 -0700 (Tue, 01 Aug 2006)
New Revision: 4181

Modified:
   long/3D/Gale/trunk/src/Underworld/
   long/3D/Gale/trunk/src/Underworld/Utils/src/StressField.c
Log:
 r430 at earth:  boo | 2006-08-01 01:53:44 -0700
  r410 at earth (orig r281):  PatrickSunter | 2006-07-25 19:57:51 -0700
  Similar to recent change in PICellerator's ParticleFeVariable,
     updated the StressField component to make sure Variable_Update
     is called on the new stress component variables before they 
     are used.
  
 



Property changes on: long/3D/Gale/trunk/src/Underworld
___________________________________________________________________
Name: svk:merge
   - 9570c393-cf10-0410-b476-9a651db1e55a:/cig:429
c24a034b-ab11-0410-afe6-cfe714e2959e:/trunk:280
   + 9570c393-cf10-0410-b476-9a651db1e55a:/cig:430
c24a034b-ab11-0410-afe6-cfe714e2959e:/trunk:281

Modified: long/3D/Gale/trunk/src/Underworld/Utils/src/StressField.c
===================================================================
--- long/3D/Gale/trunk/src/Underworld/Utils/src/StressField.c	2006-08-01 08:56:02 UTC (rev 4180)
+++ long/3D/Gale/trunk/src/Underworld/Utils/src/StressField.c	2006-08-01 08:56:07 UTC (rev 4181)
@@ -239,26 +239,40 @@
 	StressField* self = (StressField*) stressField;
 	Variable_Index variable_I;
 
-	_ParticleFeVariable_Build( self, data );
-	
 	/* Build and Update all Variables that this component has created */
 	Stg_Component_Build( self->dataVariable, data, False); Variable_Update( self->dataVariable );
 	for( variable_I = 0; variable_I < self->fieldComponentCount ; variable_I++ ) {
 		Stg_Component_Build( self->dataVariableList[ variable_I ], data, False); Variable_Update( self->dataVariableList[ variable_I ] );
 	}	
 
+	_ParticleFeVariable_Build( self, data );
+	/* Update again, just in case things were changed/reallocated when ICs loaded */
+	Variable_Update( self->dataVariable );
+	for( variable_I = 0; variable_I < self->fieldComponentCount ; variable_I++ ) {
+		Variable_Update( self->dataVariableList[ variable_I ] );
+	}	
+
+
 }
+
 void _StressField_Initialise( void* stressField, void* data ) {
 	StressField* self = (StressField*) stressField;
 	Variable_Index variable_I;
 	
-	_ParticleFeVariable_Initialise( self, data );
-	
 	/* Initialise and Update all Variables that this component has created */
 	Stg_Component_Initialise( self->dataVariable, data, False); Variable_Update( self->dataVariable );
 	for( variable_I = 0; variable_I < self->fieldComponentCount ; variable_I++ ) {
 		Stg_Component_Initialise( self->dataVariableList[ variable_I ], data, False); Variable_Update( self->dataVariableList[ variable_I ] );
 	}
+	
+	_ParticleFeVariable_Initialise( self, data );
+
+	/* Do a post-update just in case */
+	Variable_Update( self->dataVariable );
+	for( variable_I = 0; variable_I < self->fieldComponentCount ; variable_I++ ) {
+		Variable_Update( self->dataVariableList[ variable_I ] );
+	}
+
 }
 void _StressField_Execute( void* stressField, void* data ) {
 	StressField* self = (StressField*) stressField;



More information about the cig-commits mailing list