[cig-commits] r19857 - short/3D/PyLith/branches/v1.7-trunk/pylith/problems

brad at geodynamics.org brad at geodynamics.org
Fri Mar 23 07:13:05 PDT 2012


Author: brad
Date: 2012-03-23 07:13:04 -0700 (Fri, 23 Mar 2012)
New Revision: 19857

Modified:
   short/3D/PyLith/branches/v1.7-trunk/pylith/problems/Formulation.py
   short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStep.py
   short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepAdapt.py
   short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepUniform.py
   short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepUser.py
Log:
Added ability to set simulation start time.

Modified: short/3D/PyLith/branches/v1.7-trunk/pylith/problems/Formulation.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/pylith/problems/Formulation.py	2012-03-23 00:41:34 UTC (rev 19856)
+++ short/3D/PyLith/branches/v1.7-trunk/pylith/problems/Formulation.py	2012-03-23 14:13:04 UTC (rev 19857)
@@ -216,7 +216,7 @@
     """
     Get start time for simulation.
     """
-    return 0.0
+    return self.timeStep.startTimeN
 
 
   def getTotalTime(self):

Modified: short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStep.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStep.py	2012-03-23 00:41:34 UTC (rev 19856)
+++ short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStep.py	2012-03-23 14:13:04 UTC (rev 19857)
@@ -33,6 +33,34 @@
   Factory: time_step.
   """
 
+  # INVENTORY //////////////////////////////////////////////////////////
+
+  class Inventory(PetscComponent.Inventory):
+    """
+    Python object for managing TimeStepUniform facilities and properties.
+    """
+
+    ## @class Inventory
+    ## Python abstract base class for managing TimeStep facilities and properties.
+    ##
+    ## \b Properties
+    ## @li \b total_time Time duration for simulation.
+    ## @li \b start_time Starting time for simulation.
+    ##
+    ## \b Facilities
+    ## @li None
+
+    import pyre.inventory
+
+    from pyre.units.time import second
+    totalTime = pyre.inventory.dimensional("total_time", default=0.0*second,
+                          validator=pyre.inventory.greaterEqual(0.0*second))
+    totalTime.meta['tip'] = "Time duration for simulation."
+
+    startTime = pyre.inventory.dimensional("start_time", default=0.0*second)
+    startTime.meta['tip'] = "Time duration for simulation."
+
+
   # PUBLIC METHODS /////////////////////////////////////////////////////
 
   def __init__(self, name="timestep"):
@@ -43,8 +71,10 @@
     from pyre.units.time import second
     self.timeScale = 1.0*second
     self.totalTime = 0.0*second
+    self.startTime = 0.0*second
     self.dt = 0.0*second
     self.totalTimeN = 0.0 # Nondimensionalized total time
+    self.startTimeN = 0.0 # Nondimensionalized start time
     self.dtN = 0.0 # Nondimenionalized time step
     return
 
@@ -82,6 +112,7 @@
     # Nondimensionalize time scales
     timeScale = normalizer.timeScale()
     self.totalTimeN = normalizer.nondimensionalize(self.totalTime, timeScale)
+    self.startTimeN = normalizer.nondimensionalize(self.startTime, timeScale)
     self.dtN = normalizer.nondimensionalize(self.dt, timeScale)
     self.timeScale = timeScale
 
@@ -119,6 +150,8 @@
     Set members based using inventory.
     """
     PetscComponent._configure(self)
+    self.totalTime = self.inventory.totalTime
+    self.startTime = self.inventory.startTime
     return
 
 

Modified: short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepAdapt.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepAdapt.py	2012-03-23 00:41:34 UTC (rev 19856)
+++ short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepAdapt.py	2012-03-23 14:13:04 UTC (rev 19857)
@@ -47,7 +47,6 @@
     ## Python object for managing TimeStepAdapt facilities and properties.
     ##
     ## \b Properties
-    ## @li \b total_time Time duration for simulation.
     ## @li \b max_dt Maximum time step.
     ## @li \b adapt_skip Number of time steps to skip between adjusting value.
     ## @li \b stability_factor "Safety factor" for stable time step.
@@ -58,10 +57,6 @@
     import pyre.inventory
 
     from pyre.units.time import second
-    totalTime = pyre.inventory.dimensional("total_time", default=0.0*second,
-                          validator=pyre.inventory.greaterEqual(0.0*second))
-    totalTime.meta['tip'] = "Time duration for simulation."
-
     maxDt = pyre.inventory.dimensional("max_dt", default=1.0*second,
                                     validator=pyre.inventory.greater(0.0*second))
     maxDt.meta['tip'] = "Maximum time step permitted."
@@ -138,7 +133,6 @@
     Set members based using inventory.
     """
     TimeStep._configure(self)
-    self.totalTime = self.inventory.totalTime
     self.maxDt = self.inventory.maxDt
     self.adaptSkip = self.inventory.adaptSkip
     self.stabilityFactor = self.inventory.stabilityFactor

Modified: short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepUniform.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepUniform.py	2012-03-23 00:41:34 UTC (rev 19856)
+++ short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepUniform.py	2012-03-23 14:13:04 UTC (rev 19857)
@@ -29,7 +29,7 @@
 # TimeStepUniform class
 class TimeStepUniform(TimeStep):
   """
-  Python abstract base class for marching format in time with a uniform time step.
+  Python object for marching format in time with a uniform time step.
 
   Factory: time_step.
   """
@@ -45,7 +45,6 @@
     ## Python object for managing TimeStepUniform facilities and properties.
     ##
     ## \b Properties
-    ## @li \b total_time Time duration for simulation.
     ## @li \b dt Time step for simulation.
     ##
     ## \b Facilities
@@ -54,10 +53,6 @@
     import pyre.inventory
 
     from pyre.units.time import second
-    totalTime = pyre.inventory.dimensional("total_time", default=0.0*second,
-                          validator=pyre.inventory.greaterEqual(0.0*second))
-    totalTime.meta['tip'] = "Time duration for simulation."
-
     dt = pyre.inventory.dimensional("dt", default=1.0*second,
                                     validator=pyre.inventory.greater(0.0*second))
     dt.meta['tip'] = "Time step for simulation."
@@ -101,7 +96,6 @@
     Set members based using inventory.
     """
     TimeStep._configure(self)
-    self.totalTime = self.inventory.totalTime
     self.dt = self.inventory.dt
     return
 

Modified: short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepUser.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepUser.py	2012-03-23 00:41:34 UTC (rev 19856)
+++ short/3D/PyLith/branches/v1.7-trunk/pylith/problems/TimeStepUser.py	2012-03-23 14:13:04 UTC (rev 19857)
@@ -70,7 +70,6 @@
     ## Python object for managing TimeStepUser facilities and properties.
     ##
     ## \b Properties
-    ## @li \b total_time Time duration for simulation.
     ## @li \b filename Name of file with time step sizes.
     ## @li \b loop_steps Loop over steps if true, otherwise keep
     ##   using last time step size.
@@ -80,11 +79,6 @@
 
     import pyre.inventory
 
-    from pyre.units.time import second
-    totalTime = pyre.inventory.dimensional("total_time", default=0.0*second,
-                          validator=pyre.inventory.greaterEqual(0.0*second))
-    totalTime.meta['tip'] = "Time duration for simulation."
-
     filename = pyre.inventory.str("filename", default="timesteps.txt")
     filename.meta['tip'] = "Name of file with tme step sizes."
 
@@ -121,7 +115,6 @@
 
     # Nondimensionalize time steps
     timeScale = normalizer.timeScale()
-    self.totalTimeN = normalizer.nondimensionalize(self.totalTime, timeScale)
     for i in xrange(len(self.steps)):
       step = normalizer.nondimensionalize(self.steps[i], timeScale)
       assert(step > 0.0)
@@ -181,7 +174,6 @@
     Set members based using inventory.
     """
     TimeStep._configure(self)
-    self.totalTime = self.inventory.totalTime
     self.filename = self.inventory.filename
     self.loopSteps = self.inventory.loopSteps
     return



More information about the CIG-COMMITS mailing list