[cig-commits] [commit] knepley/upgrade-petsc-interface: Made some of the needed changes to the manual. Not yet complete. (94aa2ec)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Tue Jan 14 13:03:47 PST 2014


Repository : ssh://geoshell/pylith

On branch  : knepley/upgrade-petsc-interface
Link       : https://github.com/geodynamics/pylith/compare/8c284b970cccd41f17793a977d618698f6ad2974...94aa2ec865fab9e6e74062842e900cc182261e16

>---------------------------------------------------------------

commit 94aa2ec865fab9e6e74062842e900cc182261e16
Author: Charles Williams <C.Williams at gns.cri.nz>
Date:   Wed Jan 15 10:03:40 2014 +1300

    Made some of the needed changes to the manual. Not yet complete.


>---------------------------------------------------------------

94aa2ec865fab9e6e74062842e900cc182261e16
 doc/userguide/materials/materials.lyx | 93 ++++++++++++++++++++++++++++-------
 doc/userguide/runpylith/runpylith.lyx | 39 ++++++++++++---
 2 files changed, 106 insertions(+), 26 deletions(-)

diff --git a/doc/userguide/materials/materials.lyx b/doc/userguide/materials/materials.lyx
index f91432c..6b7f6cb 100644
--- a/doc/userguide/materials/materials.lyx
+++ b/doc/userguide/materials/materials.lyx
@@ -1211,6 +1211,12 @@ stress4
 \end_layout
 
 \begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Stable-time-step"
+
+\end_inset
+
 Stable time step
 \end_layout
 
@@ -1220,12 +1226,20 @@ s.
  In quasi-static simulations the stability of the implicit time stepping
  scheme does not depend on the time step; instead, the stable time step
  is associated with the accuracy of the solution.
+ For viscoelastic materials the stable time step is 1/5 of the minimum viscoelas
+tic relaxation time.
  In purely elastic materials, the accuracy is independent of the time step,
  so the stable time step is infinite.
- For viscoelastic materials we set the stable time step to be 1/5 of the
- relaxation time.
+ The same is true for elastoplastic materials, since there is no inherent
+ time scale for these problems.
+ Depending on the loading rate, however, it is possible to impose too great
+ a load in a given time step, and the resulting solution may be inaccurate
+ or divergent.
+ Caution must be used in assigning time step sizes for elastoplastic problems,
+ and the linear and nonlinear convergence should be monitored closely.
  In quasi-static simulations we check the stable time step at every time
  step.
+ 
 \end_layout
 
 \begin_layout Standard
@@ -1296,8 +1310,19 @@ where
 \end_layout
 
 \begin_layout Standard
-The stable time steps for each cell can be included in the output with the
- other 
+The stable time step is used in all three of the time stepping schemes used
+ by PyLith (see Subsection 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Time-Stepping"
+
+\end_inset
+
+).
+ In general, an error is generated if the user attempts to use a time step
+ size larger than the stable time step.
+ The stable time steps for each cell can be included in the output with
+ the other 
 \family typewriter
 cell_info_fields
 \family default
@@ -2601,16 +2626,24 @@ K
  follows the evolution equations
 \begin_inset Formula 
 \begin{equation}
-\underline{\dot{q}}^{i}+\frac{1}{\lambda_{i}}\underline{q}^{i}=\underline{\dot{e}}.\label{eq:20}
+\underline{\dot{q}}^{i}+\frac{1}{\tau_{i}}\underline{q}^{i}=\underline{\dot{e}}.\label{eq:20}
 \end{equation}
 
 \end_inset
 
 The 
-\begin_inset Formula $\lambda_{i}$
+\begin_inset Formula $\tau_{i}$
+\end_inset
+
+ are the relaxation times for each Maxwell model:
+\begin_inset Formula 
+\begin{equation}
+\tau_{i}=\frac{\eta_{i}}{\mu_{tot}\mu_{i}}\:.\label{eq:21-1}
+\end{equation}
+
 \end_inset
 
- are the relaxation times for each Maxwell model.
+
 \end_layout
 
 \begin_layout Standard
@@ -2647,7 +2680,7 @@ where
  an integral equation:
 \begin_inset Formula 
 \begin{equation}
-\underline{S}\left(t\right)=\intop_{-\infty}^{t}\mu\left(t-\tau\right)\underline{\dot{e}}\, d\tau\,.\label{eq:22}
+\underline{S}\left(t\right)=\intop_{-\infty}^{t}\mu\left(t-T\right)\underline{\dot{e}}\, dT\,.\label{eq:22}
 \end{equation}
 
 \end_inset
@@ -2655,7 +2688,7 @@ where
 If we assume the modulus function in Prony series form we obtain
 \begin_inset Formula 
 \begin{equation}
-\mu\left(t\right)=\mu_{tot}\left(\mu_{0}+\sum_{i=1}^{N}\mu_{i}\exp\frac{-t}{\lambda_{i}}\right)\,,\label{eq:23}
+\mu\left(t\right)=\mu_{tot}\left(\mu_{0}+\sum_{i=1}^{N}\mu_{i}\exp\frac{-t}{\tau_{i}}\right)\,,\label{eq:23}
 \end{equation}
 
 \end_inset
@@ -2683,7 +2716,7 @@ If we assume the material is undisturbed until a strain is suddenly applied
  at time zero, we can divide the integral into
 \begin_inset Formula 
 \begin{equation}
-\intop_{-\infty}^{t}\left(\cdot\right)\, d\tau=\intop_{-\infty}^{0^{-}}\left(\cdot\right)\, d\tau+\intop_{0^{-}}^{0^{+}}\left(\cdot\right)\, d\tau+\intop_{0^{+}}^{t}\left(\cdot\right)\, d\tau\,.\label{eq:27}
+\intop_{-\infty}^{t}\left(\cdot\right)\, dT=\intop_{-\infty}^{0^{-}}\left(\cdot\right)\, dT+\intop_{0^{-}}^{0^{+}}\left(\cdot\right)\, dT+\intop_{0^{+}}^{t}\left(\cdot\right)\, dT\,.\label{eq:27}
 \end{equation}
 
 \end_inset
@@ -2704,7 +2737,7 @@ reference "eq:22"
 ,
 \begin_inset Formula 
 \begin{equation}
-\underline{S}\left(t\right)=2\mu\left(t\right)\left(\underline{e}_{0}-\underline{e}^{I}\right)+\underline{S}^{I}+2\int_{0}^{t}\mu\left(t-\tau\right)\underline{\dot{e}}\left(\tau\right)\, d\tau\,,\label{eq:28}
+\underline{S}\left(t\right)=2\mu\left(t\right)\left(\underline{e}_{0}-\underline{e}^{I}\right)+\underline{S}^{I}+2\int_{0}^{t}\mu\left(t-T\right)\underline{\dot{e}}\left(T\right)\, dT\,,\label{eq:28}
 \end{equation}
 
 \end_inset
@@ -2730,7 +2763,7 @@ reference "eq:28"
 , we obtain
 \begin_inset Formula 
 \begin{equation}
-\underline{S}\left(t\right)=2\mu_{tot}\left\{ \mu_{0}\underline{e}\left(t\right)+\sum_{i=1}^{N}\left[\mu_{i}\exp\frac{-t}{\lambda_{i}}\left(\underline{e}_{0}+\intop_{0}^{t}\exp\frac{t}{\lambda_{i}}\underline{\dot{e}}\left(\tau\right)\, d\tau\right)\right]-\underline{e}^{I}\right\} +\underline{S}^{I}\,.\label{eq:29}
+\underline{S}\left(t\right)=2\mu_{tot}\left\{ \mu_{0}\underline{e}\left(t\right)+\sum_{i=1}^{N}\left[\mu_{i}\exp\frac{-t}{\tau_{i}}\left(\underline{e}_{0}+\intop_{0}^{t}\exp\frac{t}{\tau_{i}}\underline{\dot{e}}\left(T\right)\, dT\right)\right]-\underline{e}^{I}\right\} +\underline{S}^{I}\,.\label{eq:29}
 \end{equation}
 
 \end_inset
@@ -2750,7 +2783,7 @@ We then split each integral into two ranges: from 0 to
 , and define each integral as
 \begin_inset Formula 
 \begin{equation}
-\underline{i}_{i}^{1}\left(t\right)=\intop_{0}^{t}\exp\frac{\tau}{\lambda_{i}}\underline{\dot{e}}\left(\tau\right)\, d\tau\,.\label{eq:30}
+\underline{i}_{i}^{1}\left(t\right)=\intop_{0}^{t}\exp\frac{T}{\tau_{i}}\underline{\dot{e}}\left(T\right)\, dT\,.\label{eq:30}
 \end{equation}
 
 \end_inset
@@ -2758,7 +2791,7 @@ We then split each integral into two ranges: from 0 to
 The integral then becomes
 \begin_inset Formula 
 \begin{equation}
-\underline{i}_{i}^{1}\left(t\right)=\underline{i}_{i}^{1}\left(t_{n}\right)+\intop_{t_{n}}^{t}\exp\frac{\tau}{\lambda_{i}}\underline{\dot{e}}\left(\tau\right)\, d\tau\,.\label{eq:31}
+\underline{i}_{i}^{1}\left(t\right)=\underline{i}_{i}^{1}\left(t_{n}\right)+\intop_{t_{n}}^{t}\exp\frac{T}{\tau_{i}}\underline{\dot{e}}\left(T\right)\, dT\,.\label{eq:31}
 \end{equation}
 
 \end_inset
@@ -2766,7 +2799,7 @@ The integral then becomes
 Including the negative exponential multiplier:
 \begin_inset Formula 
 \begin{equation}
-\underline{h}_{i}^{1}\left(t\right)=\exp\frac{-t}{\lambda_{i}}\underline{i}_{i}^{1}\,.\label{eq:32}
+\underline{h}_{i}^{1}\left(t\right)=\exp\frac{-t}{\tau_{i}}\underline{i}_{i}^{1}\,.\label{eq:32}
 \end{equation}
 
 \end_inset
@@ -2774,7 +2807,7 @@ Including the negative exponential multiplier:
 Then
 \begin_inset Formula 
 \begin{equation}
-\underline{h}_{i}^{1}\left(t\right)=\exp\frac{-\Delta t}{\lambda_{i}}\underline{h}_{i}^{1}\left(t_{n}\right)+\Delta\underline{h}_{i}\,,\label{eq:33}
+\underline{h}_{i}^{1}\left(t\right)=\exp\frac{-\Delta t}{\tau_{i}}\underline{h}_{i}^{1}\left(t_{n}\right)+\Delta\underline{h}_{i}\,,\label{eq:33}
 \end{equation}
 
 \end_inset
@@ -2782,7 +2815,7 @@ Then
 where
 \begin_inset Formula 
 \begin{equation}
-\Delta\underline{h}_{i}=\exp\frac{-t}{\lambda_{i}}\intop_{t_{n}}^{t}\exp\frac{\tau}{\lambda_{i}}\underline{\dot{e}}\left(\tau\right)\, d\tau\,.\label{eq:34}
+\Delta\underline{h}_{i}=\exp\frac{-t}{\tau_{i}}\intop_{t_{n}}^{t}\exp\frac{T}{\tau_{i}}\underline{\dot{e}}\left(T\right)\, dT\,.\label{eq:34}
 \end{equation}
 
 \end_inset
@@ -2791,7 +2824,7 @@ Approximating the strain rate as constant over each time step, the solution
  may be found as
 \begin_inset Formula 
 \begin{equation}
-\Delta\underline{h}_{i}=\frac{\lambda_{i}}{\Delta t}\left(1-\exp\frac{-\Delta t}{\lambda_{i}}\right)\left(\underline{e}-\underline{e}_{n}\right)=\Delta h_{i}\left(\underline{e}-\underline{e}_{n}\right)\,.\label{eq:35}
+\Delta\underline{h}_{i}=\frac{\tau_{i}}{\Delta t}\left(1-\exp\frac{-\Delta t}{\tau_{i}}\right)\left(\underline{e}-\underline{e}_{n}\right)=\Delta h_{i}\left(\underline{e}-\underline{e}_{n}\right)\,.\label{eq:35}
 \end{equation}
 
 \end_inset
@@ -2800,7 +2833,7 @@ The approximation is singular for zero time steps, but a series expansion
  may be used for small time-step sizes:
 \begin_inset Formula 
 \begin{equation}
-\Delta h_{i}\approx1-\frac{1}{2}\left(\frac{\Delta t}{\lambda_{i}}\right)+\frac{1}{3!}\left(\frac{\Delta t}{\lambda_{i}}\right)^{2}-\frac{1}{4!}\left(\frac{\Delta t}{\lambda_{i}}\right)^{3}+\cdots\,.\label{eq:36}
+\Delta h_{i}\approx1-\frac{1}{2}\left(\frac{\Delta t}{\tau_{i}}\right)+\frac{1}{3!}\left(\frac{\Delta t}{\tau_{i}}\right)^{2}-\frac{1}{4!}\left(\frac{\Delta t}{\tau_{i}}\right)^{3}+\cdots\,.\label{eq:36}
 \end{equation}
 
 \end_inset
@@ -2900,7 +2933,15 @@ c models.
 \begin_inset Formula $N=3.$
 \end_inset
 
+ The stable time step is equal to 1/5 of the minimum relaxation time for
+ all of the Maxwell models (equation 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:21-1"
 
+\end_inset
+
+).
 \end_layout
 
 \begin_layout Standard
@@ -4160,6 +4201,20 @@ reference "eq:42"
 \end_layout
 
 \begin_layout Standard
+Once the stresses are computed for the current time step, we can compute
+ the relaxation time (used in computing the stable time step) by first computing
+ an effective viscosity:
+\begin_inset Formula 
+\begin{equation}
+\eta_{eff}=\frac{1}{\phantom{}^{t+\Delta t}\gamma}=\frac{S_{0}^{n}}{\dot{e}_{0}\sqrt{\phantom{}^{t+\Delta t}J_{2}^{\prime}}}
+\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
 To compute the tangent stress-strain relation, we need to compute the first
  term in Equation 
 \begin_inset CommandInset ref
diff --git a/doc/userguide/runpylith/runpylith.lyx b/doc/userguide/runpylith/runpylith.lyx
index 0e314b1..cb236f7 100644
--- a/doc/userguide/runpylith/runpylith.lyx
+++ b/doc/userguide/runpylith/runpylith.lyx
@@ -3601,6 +3601,12 @@ www.mcs.anl.gov/petsc/petsc-as/documentation/index.html
 \end_layout
 
 \begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Time-Stepping"
+
+\end_inset
+
 Time Stepping
 \end_layout
 
@@ -3616,6 +3622,15 @@ PyLith provides three choices for controlling the time step in time-dependent
  In general, quasi-static simulations should use automatically calculated
  time steps and dynamic simulations should use a uniform, user-specified
  time step.
+ Note that all three of the time stepping schemes make use of the computed
+ stable time step (see 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Stable-time-step"
+
+\end_inset
+
+).
 \end_layout
 
 \begin_layout Standard
@@ -3638,8 +3653,8 @@ Uniform, User-Specified Time Step
 \begin_layout Standard
 With a uniform, user-specified time step, the user selects the time step
  that is used over the entire duration of the simulation.
- This value is used whether or not it yields a stable solution, so users
- should be careful when selecting the time-step value.
+ If this value exceeds the computed stable time step at any time, PyLith
+ will terminate with an error.
  The properties for the uniform, user-specified time step are:
 \end_layout
 
@@ -3704,6 +3719,9 @@ reference "sec:FileFormat:TimeStepUser"
  If the total duration exceeds the time associated with the time steps,
  then a flag determines whether to cycle through the time steps or to use
  the last specified time step for the time remaining.
+ Similar to the uniform time step, if the user-specified time step size
+ exceeds the computed stable time step at any time, PyLith will terminate
+ with an error.
  The properties for the nonuniform, user-specified time step are:
 \end_layout
 
@@ -3762,15 +3780,22 @@ Nonuniform, Automatic Time Step
 \end_layout
 
 \begin_layout Standard
-This time-step implementation automatically calculates a stable time step
+This time-step implementation automatically calculates a time step size
  based on the constitutive model and rate of deformation.
  As a result, this choice for choosing the time step relies on accurate
  calculation of a stable time step within each finite-element cell by the
  constitutive models.
- In order to provide some control over the time-step selection, the user
- can control the frequency that a new time step is calculated, the time
- step to use relative to the value determined by the constitutive models,
- and a maximum value for the time step.
+ To provide some control over the time-step selection, the user can control
+ the frequency with which a new time step is calculated, the time step to
+ use relative to the value determined by the constitutive models, and a
+ maximum value for the time step.
+ Note that the stability factor allows the computed time step size to exceed
+ the computed stable time step.
+ A stability factor of 1.0 would provide a time step size equal to the stable
+ time step, while a value of 2.0 (default value) would provide a time step
+ size equal to 1/2 the stable time step.
+ Caution should be used when adjusting the stability factor to values less
+ than 1.0, as the large time step size may result in inaccurate solutions.
  The properties for controlling the automatic time-step selection are:
 \end_layout
 



More information about the CIG-COMMITS mailing list