[cig-commits] r9341 - in short/3D/PyLith/trunk/pylith: feassemble problems utils

brad at geodynamics.org brad at geodynamics.org
Thu Feb 14 11:07:17 PST 2008


Author: brad
Date: 2008-02-14 11:07:17 -0800 (Thu, 14 Feb 2008)
New Revision: 9341

Modified:
   short/3D/PyLith/trunk/pylith/feassemble/Integrator.py
   short/3D/PyLith/trunk/pylith/problems/Explicit.py
   short/3D/PyLith/trunk/pylith/problems/Implicit.py
   short/3D/PyLith/trunk/pylith/utils/EventLogger.py
Log:
Moved Integrator.updateState stuff into Integrator.poststep().

Modified: short/3D/PyLith/trunk/pylith/feassemble/Integrator.py
===================================================================
--- short/3D/PyLith/trunk/pylith/feassemble/Integrator.py	2008-02-14 18:50:25 UTC (rev 9340)
+++ short/3D/PyLith/trunk/pylith/feassemble/Integrator.py	2008-02-14 19:07:17 UTC (rev 9341)
@@ -28,7 +28,6 @@
               "useSolnIncr",
               "integrateResidual",
               "integrateJacobian",
-              "updateState",
               "preinitialize",
               "verifyConfiguration",
               "initialize",
@@ -165,27 +164,23 @@
     return
 
 
-  def updateState(self, t, fields):
+  def poststep(self, t, dt, totalTime, fields):
     """
-    Update state variables as needed.
+    Hook for doing stuff after advancing time step.
     """
-    logEvent = "%sstate" % self._loggingPrefix
+    logEvent = "%spoststep" % self._loggingPrefix
     self._logger.eventBegin(logEvent)
-    
+
     assert(None != self.cppHandle)
     self.cppHandle.updateState(t.value, fields.cppHandle, self.mesh.cppHandle)
 
+    self._info.log("Writing material data.")
+    self.output.writeData(t+dt, fields)
+
     self._logger.eventEnd(logEvent)
     return
-    
 
-  def poststep(self, t, dt, totalTime, fields):
-    """
-    Hook for doing stuff after advancing time step.
-    """
-    return
 
-
   def finalize(self):
     """
     Cleanup after time stepping.
@@ -213,7 +208,6 @@
               "residual",
               "newJacobian",
               "jacobian",
-              "state",
               "poststep",
               "finalize"]
     for event in events:

Modified: short/3D/PyLith/trunk/pylith/problems/Explicit.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/Explicit.py	2008-02-14 18:50:25 UTC (rev 9340)
+++ short/3D/PyLith/trunk/pylith/problems/Explicit.py	2008-02-14 19:07:17 UTC (rev 9341)
@@ -158,13 +158,9 @@
       bindings.copyRealSection(self.fields.getReal("dispTpdt"),
                                self.fields.getReal("dispT"))
 
-    self._info.log("Updating integrators' states.")
-    for integrator in self.integrators:
-      integrator.updateState(t, self.fields)
-
-    self._logger.eventEnd(logEvent)
-    
     Formulation.poststep(self, t, dt, totalTime)
+
+    self._logger.eventEnd(logEvent)    
     return
 
 

Modified: short/3D/PyLith/trunk/pylith/problems/Implicit.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/Implicit.py	2008-02-14 18:50:25 UTC (rev 9340)
+++ short/3D/PyLith/trunk/pylith/problems/Implicit.py	2008-02-14 19:07:17 UTC (rev 9341)
@@ -195,9 +195,7 @@
     disp = self.fields.getSolution()
     bindings.addRealSections(disp, disp, dispIncr)
 
-    self._info.log("Updating integrators states.")
-    for integrator in self.integrators:
-      integrator.updateState(t+dt, self.fields)
+    Formulation.poststep(self, t, dt, totalTime)
 
     # If finishing first time step, then switch from solving for total
     # displacements to solving for incremental displacements
@@ -213,7 +211,6 @@
 
     self._logger.eventEnd(logEvent)
     
-    Formulation.poststep(self, t, dt, totalTime)
     return
 
 

Modified: short/3D/PyLith/trunk/pylith/utils/EventLogger.py
===================================================================
--- short/3D/PyLith/trunk/pylith/utils/EventLogger.py	2008-02-14 18:50:25 UTC (rev 9340)
+++ short/3D/PyLith/trunk/pylith/utils/EventLogger.py	2008-02-14 19:07:17 UTC (rev 9341)
@@ -32,6 +32,7 @@
     """
     self.cppHandle = None
     self._createCppHandle()
+    self.event = None
     return
 
 
@@ -80,18 +81,22 @@
   def eventBegin(self, name):
     """
     Log event begin.
-    """    
-    assert(None != self.cppHandle)
-    self.cppHandle.eventBegin(self.cppHandle.eventId(name))
+    """
+    if self.event != name: # prevent double logging
+      assert(None != self.cppHandle)
+      self.cppHandle.eventBegin(self.cppHandle.eventId(name))
+      self.event = name
     return
 
 
   def eventEnd(self, name):
     """
     Log event end.
-    """    
-    assert(None != self.cppHandle)
-    self.cppHandle.eventEnd(self.cppHandle.eventId(name))
+    """
+    if None != self.event: # prevent double logging
+      assert(None != self.cppHandle)
+      self.cppHandle.eventEnd(self.cppHandle.eventId(name))
+      self.event = None
     return
 
 



More information about the cig-commits mailing list