[cig-commits] commit: Do not skip updateClass entry points when starting or restarting. Instead handle the logic in EulerDeform or advection. Needed to do this because advection run as a 'solve' entry point

Mercurial hg at geodynamics.org
Sun Nov 20 23:07:24 PST 2011


changeset:   821:67c6c1c28818
tag:         tip
user:        Walter Landry <wlandry at caltech.edu>
date:        Sun Nov 20 23:07:13 2011 -0800
files:       Base/Context/src/AbstractContext.cxx
description:
Do not skip updateClass entry points when starting or restarting.  Instead handle the logic in EulerDeform or advection.  Needed to do this because advection run as a 'solve' entry point


diff -r b195ce531b45 -r 67c6c1c28818 Base/Context/src/AbstractContext.cxx
--- a/Base/Context/src/AbstractContext.cxx	Sat Nov 19 20:10:16 2011 -0800
+++ b/Base/Context/src/AbstractContext.cxx	Sun Nov 20 23:07:13 2011 -0800
@@ -866,41 +866,42 @@ void _AbstractContext_Execute_Hook( void
 }
 
 
-void _AbstractContext_Step( void* _context, double dt ) {
-	AbstractContext* self = (AbstractContext*)_context;
-        Bool enabled;
+void _AbstractContext_Step(void* _context, double dt)
+{
+  AbstractContext* self = (AbstractContext*)_context;
+  Bool enabled;
 	
-	/* This will make it clear where the timestep starts when several procs
-	 * running. Figure this 1 synchronisation is ok since we are likely to
-	 * have just synchronised while calculating timestep anyway. */
-	MPI_Barrier( self->communicator );
-	Journal_DPrintf( self->debug, "In: %s\n", __func__ );
+  /* This will make it clear where the timestep starts when several
+   * procs running. Figure this 1 synchronisation is ok since we are
+   * likely to have just synchronised while calculating timestep
+   * anyway. */
+  MPI_Barrier( self->communicator );
+  Journal_DPrintf( self->debug, "In: %s\n", __func__ );
 
-        enabled=Stream_IsEnable(self->info);
-        Stream_Enable(self->info,True);
-	Journal_RPrintf( self->info, "TimeStep = %d, Time = %.6g\n",
-		self->timeStep, self->currentTime+dt );
-        Stream_Enable(self->info,enabled);
+  enabled=Stream_IsEnable(self->info);
+  Stream_Enable(self->info,True);
+  Journal_RPrintf(self->info, "TimeStep = %d, Time = %.6g\n",
+                  self->timeStep, self->currentTime+dt );
+  Stream_Enable(self->info,enabled);
 
-	if (self->loadFromCheckPoint) {
-		Journal_RPrintf( self->info, "TimeStep since job restart = %d\n", self->timeStepSinceJobRestart );
-	}
+  if (self->loadFromCheckPoint) {
+    Journal_RPrintf(self->info, "TimeStep since job restart = %d\n",
+                    self->timeStepSinceJobRestart);
+  }
 
-	#ifdef DEBUG
-		Context_WarnIfNoHooks( self, self->solveK, __func__ );	
-	#endif
+#ifdef DEBUG
+  Context_WarnIfNoHooks(self, self->solveK, __func__);	
+#endif
 
-	self->_setDt( self, dt );
-        /* Call updateClassK first, to advect and remesh.  Then solve
-           on the new mesh.  Do not advect etc. if this is the first
-           step. */
-        if(self->timeStep!=self->restartTimestep)
-          {
-            KeyCall( self, self->updateClassK, EntryPoint_Class_VoidPtr_CallCast* )( KeyHandle(self,self->updateClassK), self );
-          }
-	KeyCall( self, self->solveK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->solveK), self );
-	KeyCall( self, self->postSolveK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->postSolveK), self );	
-	KeyCall( self, self->syncK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(self,self->syncK), self );
+  self->_setDt(self, dt);
+  KeyCall(self,self->updateClassK,EntryPoint_Class_VoidPtr_CallCast*)
+    (KeyHandle(self,self->updateClassK),self);
+  KeyCall(self,self->solveK,EntryPoint_VoidPtr_CallCast*)
+    (KeyHandle(self,self->solveK),self);
+  KeyCall(self,self->postSolveK,EntryPoint_VoidPtr_CallCast*)
+    (KeyHandle(self,self->postSolveK),self);	
+  KeyCall(self,self->syncK,EntryPoint_VoidPtr_CallCast*)
+    (KeyHandle(self,self->syncK),self);
 }
 
 



More information about the CIG-COMMITS mailing list