[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