[cig-commits] r16601 - in short/3D/PyLith/trunk: . doc/userguide/governingeqns playpen/friction/bar_shearwave/quad4 pylith/faults pylith/meshio

brad at geodynamics.org brad at geodynamics.org
Thu Apr 29 16:58:37 PDT 2010


Author: brad
Date: 2010-04-29 16:58:37 -0700 (Thu, 29 Apr 2010)
New Revision: 16601

Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx
   short/3D/PyLith/trunk/playpen/friction/bar_shearwave/quad4/pylithapp.cfg
   short/3D/PyLith/trunk/pylith/faults/FaultCohesiveDyn.py
   short/3D/PyLith/trunk/pylith/meshio/OutputSoln.py
   short/3D/PyLith/trunk/pylith/meshio/OutputSolnSubset.py
Log:
Added velocity and slip_rate to available fields for solution and fault with friction, respectively.

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2010-04-29 23:52:32 UTC (rev 16600)
+++ short/3D/PyLith/trunk/TODO	2010-04-29 23:58:37 UTC (rev 16601)
@@ -2,6 +2,8 @@
 CURRENT ISSUES/PRIORITIES
 ======================================================================
 
+need Cygwin binbot
+
 MAIN PRIORITIES
 
 * Mesh reordering

Modified: short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx	2010-04-29 23:52:32 UTC (rev 16600)
+++ short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx	2010-04-29 23:58:37 UTC (rev 16601)
@@ -934,23 +934,23 @@
  Substituting in the expressions for the trial solution and weighting function
  yields
 \begin_inset Formula \begin{gather*}
--\int_{V}\sigma_{ij}\sum_{n}c_{i}^{n}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}\sum_{n}c_{i}^{n}N^{n}\, dS+\int_{V}f_{i}\sum_{n}c_{i}^{n}N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}N^{m}\sum_{n}c_{i}^{n}N^{n}\ dV=0,\text{ or}\\
-\sum_{n}c_{i}^{n}(-\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}N^{m}N^{n}\ dV)=0.\end{gather*}
+-\int_{V}\sigma_{ij}\sum_{m}c_{i}^{m}N_{,j}^{m}\: dV+\int_{S_{T}}T_{i}\sum_{m}c_{i}^{m}N^{m}\, dS+\int_{V}f_{i}\sum_{m}c_{i}^{m}N^{m}\, dV-\int_{V}\rho\sum_{n}\ddot{a}_{i}^{n}N^{n}\sum_{m}c_{i}^{m}N^{m}\ dV=0,\text{ or}\\
+\sum_{m}c_{i}^{m}(-\int_{V}\sigma_{ij}N_{,j}^{m}\: dV+\int_{S_{T}}T_{i}N^{m}\, dS+\int_{V}f_{i}N^{m}\, dV-\int_{V}\rho\sum_{n}\ddot{a}_{i}^{n}N^{n}N^{m}\ dV)=0.\end{gather*}
 
 \end_inset
 
  Because the weighting function is arbitrary, this equation must hold for
  all 
-\begin_inset Formula $c^{n}$
+\begin_inset Formula $c_{i}^{n}$
 \end_inset
 
 , so that the quantity in parenthesis is zero for each 
-\begin_inset Formula $c^{n}$
+\begin_inset Formula $c_{i}^{n}$
 \end_inset
 
 
 \begin_inset Formula \begin{equation}
--\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}N^{m}N^{n}\ dV=\vec{0}.\label{eq:elasticity:integral-1}\end{equation}
+-\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}N^{m}N^{n}\ dV=0.\label{eq:elasticity:integral-1}\end{equation}
 
 \end_inset
 
@@ -1052,14 +1052,14 @@
  of equations, involving the residual and Jacobian.
  The residual is simply
 \begin_inset Formula \[
-\vec{R}=-\int_{V}\sigma_{ij}(t+\Delta t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t+\Delta t)N^{n}\, dS+\int_{V}f_{i}(t+\Delta t)N^{n}\, dV.\]
+R_{i}^{n}=-\int_{V}\sigma_{ij}(t+\Delta t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t+\Delta t)N^{n}\, dS+\int_{V}f_{i}(t+\Delta t)N^{n}\, dV.\]
 
 \end_inset
 
 We employ numerical quadrature in the finite-element discretization and
  replace the integrals with sums over the cells and quadrature points,
 \begin_inset Formula \[
-\vec{R}=-\sum_{\text{vol cells}}\sum_{\text{quad pts}}\sigma_{ij}(x_{q},t+\Delta t)N^{n}(x_{q})\: w_{q}|J_{cell}(x_{q})|+\sum_{\text{vol cells}}\sum_{\text{quad pt}s}f_{i}(x_{q},t+\Delta t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|+\sum_{\text{tract cells}}\sum_{\text{quad pts}}T_{i}(x_{q},t+\Delta t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|,\]
+R_{i}^{n}=-\sum_{\text{vol cells}}\sum_{\text{quad pts}}\sigma_{ij}(x_{q},t+\Delta t)N^{n}(x_{q})\: w_{q}|J_{cell}(x_{q})|+\sum_{\text{vol cells}}\sum_{\text{quad pt}s}f_{i}(x_{q},t+\Delta t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|+\sum_{\text{tract cells}}\sum_{\text{quad pts}}T_{i}(x_{q},t+\Delta t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|,\]
 
 \end_inset
 
@@ -1100,6 +1100,16 @@
 \end_inset
 
 , we have
+\begin_inset Note Greyedout
+status open
+
+\begin_layout Plain Layout
+MORE EDITING STARTING HERE
+\end_layout
+
+\end_inset
+
+
 \begin_inset Formula \[
 \int_{V}\frac{1}{2}d\sigma_{ij}(t)(\phi_{i,j}+\phi_{j,i})\: dV=-\int_{V}\frac{1}{2}\sigma_{ij}(t)(\phi_{i,j}+\phi_{j,i})\: dV+\int_{S_{T}}T_{i}(t+\Delta t)\phi_{i}\, dS+\int_{V}f_{i}(t+\Delta t)\phi_{i}\, dV.\]
 
@@ -1490,14 +1500,14 @@
  of equations, involving the residual and Jacobian.
  The residual is simply
 \begin_inset Formula \[
-\vec{R}=-\int_{V}\sigma_{ij}(t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t)N^{n}\, dS+\int_{V}f_{i}(t)N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}(t)N^{m}N^{n}\ dV.\]
+R_{n}=-\int_{V}\sigma_{ij}(t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t)N^{n}\, dS+\int_{V}f_{i}(t)N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}(t)N^{m}N^{n}\ dV.\]
 
 \end_inset
 
 We employ numerical quadrature in the finite-element discretization and
  replace the integrals with sums over the cells and quadrature points,
 \begin_inset Formula \[
-\vec{R}=-\sum_{\text{vol cells}}\sum_{\text{quad pts}}\sigma_{ij}(x_{q},t+\Delta t)N^{n}(x_{q})\: w_{q}|J_{cell}(x_{q})|+\sum_{\text{vol cells}}\sum_{\text{quad pt}s}f_{i}(x_{q},t+\Delta t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|+\sum_{\text{tract cells}}\sum_{\text{quad pts}}T_{i}(x_{q},t+\Delta t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|,\]
+R_{n}=-\sum_{\text{vol cells}}\sum_{\text{quad pts}}\sigma_{ij}(x_{q},t)N^{n}(x_{q})\: w_{q}|J_{cell}(x_{q})|+\sum_{\text{vol cells}}\sum_{\text{quad pt}s}f_{i}(x_{q},t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|+\sum_{\text{tract cells}}\sum_{\text{quad pts}}T_{i}(x_{q},t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|-\sum_{\text{vol cells}}\sum_{\text{quad pts}}\rho\sum_{m}\ddot{a}_{i}^{m}(t)N^{m}N^{n}\ w_{q|J_{cell}(x_{q})},\]
 
 \end_inset
 
@@ -1517,19 +1527,7 @@
  associated with mapping the reference cell to the actual cell.
  The quadrature scheme for the integral over the tractions is one dimension
  lower than the one used in integrating the terms for the volume cells.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Formula \[
--\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}N^{m}N^{n}\ dV=\vec{0}.\]
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Using the central difference method to approximate the acceleration (and
+ Using the central difference method to approximate the acceleration (and
  velocity),
 \begin_inset Formula \begin{gather}
 \ddot{u}_{i}=\frac{1}{\Delta t^{2}}\left(u_{i}(t+\Delta t)-2u_{i}(t)+u_{i}(t-\Delta t)\right)\\
@@ -1537,82 +1535,46 @@
 
 \end_inset
 
-we have
-\begin_inset Formula \begin{multline}
-\sum_{elements}(\int_{V^{e}}\frac{1}{2}\sigma_{ij}(N_{,j}^{p}+N_{,i}^{p})\, dV+\int_{V^{e}}\rho N_{}^{p}\sum_{q}N_{}^{q}(u_{i}^{q}(t+\Delta t)-2u_{i}^{q}(t)+u_{i}^{q}(t-\Delta t))\: dV\\
--\int_{V^{e}}N^{p}f_{i}(t)\: dV-\int_{S_{T}}N^{p}T_{i}\: dS)=0.\end{multline}
-
+and writing the displacement at time 
+\begin_inset Formula $t+\Delta t$
 \end_inset
 
-For compatibility with displacement-increment forulations for nonlinear
- viscoelastic and viscoplastic rheologies, we want to solve for the increment
- in displacement from time 
+ in terms of the displacement at 
 \begin_inset Formula $t$
 \end_inset
 
- to time 
-\begin_inset Formula $t+\Delta t$
-\end_inset
+ (for consistency with the displacement increment quasi-static formulation),
+\begin_inset Formula \begin{gather*}
+u_{i}(t+\Delta t)=u_{i}(t)+du_{i}(t),\\
+\ddot{u}_{i}=\frac{1}{\Delta t^{2}}\left(du_{i}(t)-u_{i}(t)+u_{i}(t-\Delta t)\right),\\
+\dot{u}_{i}=\frac{1}{2\Delta t}\left(du_{i}(t)+u_{i}(t)-u_{i}(t-\Delta t)\right),\end{gather*}
 
-, 
-\begin_inset Formula $\Delta u_{i}^{q}(t)$
 \end_inset
 
-.
- Replacing 
-\begin_inset Formula $u_{i}^{q}(t+\Delta t)$
-\end_inset
-
- with 
-\begin_inset Formula $u_{i}^{q}(t)+\Delta u_{i}^{q}(t)$
-\end_inset
-
-, yields
+we have
 \begin_inset Formula \[
-\sum_{elements}(\int_{V^{e}}\frac{1}{2}\sigma_{ij}(N_{,j}^{p}+N_{,i}^{p})\, dV+\int_{V^{e}}\rho N^{p}\sum_{q}N^{q}(\Delta u_{i}^{q}(t)-u_{i}^{q}(t)+u_{i}^{q}(t-\Delta t))\: dV-\int_{V^{e}}N^{p}f_{i}(t)\: dV-\int_{S_{T}}N^{p}T_{i}\: dS)=0.\]
+\frac{1}{\Delta t^{2}}\int_{V}\rho\sum_{m}da_{i}^{m}(t)N^{m}N^{n}\ dV=-\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV-\frac{1}{\Delta t^{2}}\int_{V}\rho\sum_{m}(a_{i}^{m}(t)-a_{i}^{m}(t-\Delta t))N^{m}N^{n}\ dV.\]
 
 \end_inset
 
-consistency with solution of quasi-static problems and which we can expand
- into
-\begin_inset Formula \begin{multline}
-\sum_{elements}({\frac{1}{\Delta t^{2}}\int}_{V^{e}}\rho N^{p}\sum_{q}N^{q}\Delta u_{i}^{q}(t)\, dV-\frac{1}{\Delta t^{2}}\int_{V^{e}}\rho N^{p}\sum_{q}N^{q}u_{i}^{q}(t)\, dV\\
-+\frac{1}{\Delta t^{2}}\int_{V^{e}}\rho N^{p}\sum_{q}N^{q}u_{i}^{q}(t-\Delta t)\, dV+\frac{1}{2}\int_{V^{e}}\sigma_{ij}(t)(N_{,j}^{p}+N_{,i}^{p})\: dV\\
--\int_{V^{e}}N^{p}f_{i}(t)\: dV-\int_{S_{T}}N^{p}T_{i}\: dS)=0\end{multline}
+Thus, the Jacobian for the system is
+\begin_inset Note Greyedout
+status open
 
-\end_inset
+\begin_layout Plain Layout
+Add absorbing boundary and fault terms.
+\end_layout
 
-for the 
-\begin_inset Formula $i$
 \end_inset
 
-th component associated with basis function 
-\begin_inset Formula $N^{p}$
-\end_inset
 
-.
- Isolating the term containing 
-\begin_inset Formula $u_{i}^{q}(t+\Delta t)$
-\end_inset
+\begin_inset Formula \[
+J_{ij}^{pq}=\delta_{ij}\int_{_{V}}\rho N^{p}N^{q}\ dV,\]
 
- yields
-\begin_inset Formula \begin{multline}
-\frac{1}{\Delta t^{2}}\sum_{elements}\left(\int_{V^{e}}\rho N^{p}\sum_{q}N^{q}\Delta u_{i}^{q}(t)\, dV\right)=\frac{1}{\Delta t^{2}}\sum_{elements}\left(\int_{V^{e}}\rho N^{p}\sum_{q}N^{q}u_{i}^{q}(t)\, dV\right)\\
--\frac{1}{\Delta t^{2}}\sum_{elements}\left(\int_{V^{e}}\rho N^{p}\sum_{q}N^{q}u_{i}^{q}(t-\Delta t)\, dV\right)-\frac{1}{2}\sum_{elements}\left(\int_{V^{e}}\sigma_{ij}(t)(N_{,j}^{p}+N_{,i}^{p})\: dV\right)\\
-+\sum_{elements}\left(\int_{V^{e}}N^{p}f_{i}(t)\: dV\right)+\sum_{elements}\left(\int_{S_{T}}N^{p}T_{i}\: dS\right).\end{multline}
-
 \end_inset
 
-We can rewrite the left-hand side as a matrix-vector product where the vector
- is the displacement-increment field and the element mass matrix is given
- by
-\begin_inset Formula \begin{equation}
-M_{ij}^{pq}=\delta_{ij}\int_{V^{e}}\rho N^{p}N^{q}\, dV,\end{equation}
-
-\end_inset
-
 where 
-\begin_inset Formula $M_{ij}^{pq}$
+\begin_inset Formula $J_{ij}^{pq}$
 \end_inset
 
  is a 
@@ -1644,7 +1606,6 @@
 \end_inset
 
  are vector space components.
- 
 \end_layout
 
 \begin_layout Section

Modified: short/3D/PyLith/trunk/playpen/friction/bar_shearwave/quad4/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/playpen/friction/bar_shearwave/quad4/pylithapp.cfg	2010-04-29 23:52:32 UTC (rev 16600)
+++ short/3D/PyLith/trunk/playpen/friction/bar_shearwave/quad4/pylithapp.cfg	2010-04-29 23:58:37 UTC (rev 16601)
@@ -111,11 +111,13 @@
 
 # Give basename for VTK domain output of solution over domain.
 [pylithapp.problem.formulation.output.output]
+vertex_data_fields=[displacement,velocity]
 skip = 3
 writer.time_format = %05.2f
 
 # Give basename for VTK fault output.
 [pylithapp.timedependent.interfaces.fault.output]
+vertex_data_fields=[slip,slip_rate,traction]
 skip = 3
 writer.time_format = %05.2f
 

Modified: short/3D/PyLith/trunk/pylith/faults/FaultCohesiveDyn.py
===================================================================
--- short/3D/PyLith/trunk/pylith/faults/FaultCohesiveDyn.py	2010-04-29 23:52:32 UTC (rev 16600)
+++ short/3D/PyLith/trunk/pylith/faults/FaultCohesiveDyn.py	2010-04-29 23:58:37 UTC (rev 16601)
@@ -78,6 +78,7 @@
         {'vertex': \
            {'info': ["normal_dir"],
             'data': ["slip",
+                     "slip_rate",
                      "traction"]},
          'cell': \
            {'info': [],

Modified: short/3D/PyLith/trunk/pylith/meshio/OutputSoln.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/OutputSoln.py	2010-04-29 23:52:32 UTC (rev 16600)
+++ short/3D/PyLith/trunk/pylith/meshio/OutputSoln.py	2010-04-29 23:58:37 UTC (rev 16601)
@@ -59,7 +59,7 @@
     self.availableFields = \
         {'vertex': \
            {'info': [],
-            'data': ["displacement"]},
+            'data': ["displacement","velocity"]},
          'cell': \
            {'info': [],
             'data': []}}

Modified: short/3D/PyLith/trunk/pylith/meshio/OutputSolnSubset.py
===================================================================
--- short/3D/PyLith/trunk/pylith/meshio/OutputSolnSubset.py	2010-04-29 23:52:32 UTC (rev 16600)
+++ short/3D/PyLith/trunk/pylith/meshio/OutputSolnSubset.py	2010-04-29 23:58:37 UTC (rev 16601)
@@ -66,7 +66,7 @@
     self.availableFields = \
         {'vertex': \
            {'info': [],
-            'data': ["displacement"]},
+            'data': ["displacement","velocity"]},
          'cell': \
            {'info': [],
             'data': []}}



More information about the CIG-COMMITS mailing list