[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