[cig-commits] r14751 - in long/3D/Gale/trunk: . documentation documentation/images input/cookbook
walter at geodynamics.org
walter at geodynamics.org
Sat Apr 18 05:06:04 PDT 2009
Author: walter
Date: 2009-04-18 05:06:03 -0700 (Sat, 18 Apr 2009)
New Revision: 14751
Added:
long/3D/Gale/trunk/documentation/images/Paraview_non_newtonian.png
Modified:
long/3D/Gale/trunk/
long/3D/Gale/trunk/documentation/gale.lyx
long/3D/Gale/trunk/documentation/images/Paraview_thermal.png
long/3D/Gale/trunk/input/cookbook/non_newtonian.xml
Log:
r2663 at dante: boo | 2009-04-18 05:05:47 -0700
Update docs and non_newtonian cookbook
Property changes on: long/3D/Gale/trunk
___________________________________________________________________
Name: svk:merge
- 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:2662
+ 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:2663
Modified: long/3D/Gale/trunk/documentation/gale.lyx
===================================================================
--- long/3D/Gale/trunk/documentation/gale.lyx 2009-04-18 12:05:53 UTC (rev 14750)
+++ long/3D/Gale/trunk/documentation/gale.lyx 2009-04-18 12:06:03 UTC (rev 14751)
@@ -1,4 +1,4 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
+#LyX 1.5.5 created this file. For more info see http://www.lyx.org/
\lyxformat 276
\begin_document
\begin_header
@@ -600,7 +600,7 @@
\end_inset
in terms of the rate of strain tensor
-\begin_inset Formula $D$
+\begin_inset Formula $\dot{\varepsilon}$
\end_inset
@@ -608,7 +608,7 @@
\begin_layout Standard
\begin_inset Formula \begin{equation}
-\tau_{ij}=2\eta D_{ij}\equiv\eta\left(v_{i,j}+v_{j,i}\right),\label{eq:stress strain}\end{equation}
+\tau_{ij}=2\eta\dot{\varepsilon}_{ij}\equiv\eta\left(v_{i,j}+v_{j,i}\right),\label{eq:stress strain}\end{equation}
\end_inset
@@ -1250,7 +1250,7 @@
\begin_inset Formula \begin{equation}
\begin{array}{ccc}
\tau_{ij,j}-\delta p_{,i} & = & \delta f_{i}\\
-v_{i,i}+C\delta p & = & D\end{array}.\label{eq:complete numerical stokes}\end{equation}
+v_{i,i}+C\delta p & = & d\end{array}.\label{eq:complete numerical stokes}\end{equation}
\end_inset
@@ -6061,6 +6061,11 @@
\end_layout
\begin_layout Section
+\begin_inset LatexCommand label
+name "sec:Thermal-Convection"
+
+\end_inset
+
Thermal Convection
\end_layout
@@ -6141,7 +6146,7 @@
\end_layout
\begin_layout LyX-Code
- <param name="value">1.0</param>
+ <param name="value">2.0</param>
\end_layout
\begin_layout LyX-Code
@@ -6185,7 +6190,7 @@
\end_layout
\begin_layout LyX-Code
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
\end_layout
\begin_layout LyX-Code
@@ -6229,7 +6234,7 @@
\end_layout
\begin_layout LyX-Code
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
\end_layout
\begin_layout LyX-Code
@@ -6273,7 +6278,7 @@
\end_layout
\begin_layout LyX-Code
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
\end_layout
\begin_layout LyX-Code
@@ -6317,7 +6322,7 @@
\end_layout
\begin_layout LyX-Code
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
\end_layout
\begin_layout LyX-Code
@@ -6361,7 +6366,7 @@
\end_layout
\begin_layout LyX-Code
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
\end_layout
\begin_layout LyX-Code
@@ -6427,7 +6432,7 @@
\end_layout
\begin_layout LyX-Code
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
\end_layout
\begin_layout LyX-Code
@@ -6702,6 +6707,186 @@
\end_layout
+\begin_layout Section
+\begin_inset LatexCommand label
+name "sec:Power-Law-Creep"
+
+\end_inset
+
+Power Law Creep
+\end_layout
+
+\begin_layout Standard
+A common approximation for the rheology of rocks is power law creep.
+ This example shows how to implement his with the NonNewtonian rheologies.
+\end_layout
+
+\begin_layout Enumerate
+Copy
+\family typewriter
+mythermal.xml
+\family default
+ to
+\family typewriter
+mynon_newtonian.xml
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+Add the NonNewtonian rheology after NonSphereShape
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<struct name="nonNewtonian">
+\end_layout
+
+\begin_layout LyX-Code
+ <param name="Type">NonNewtonian</param>
+\end_layout
+
+\begin_layout LyX-Code
+ <param name="StrainRateInvariantField">StrainRateInvariantField</param>
+\end_layout
+
+\begin_layout LyX-Code
+ <param name="n">3.4</param>
+\end_layout
+
+\begin_layout LyX-Code
+ <param name="T_0">1.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+ <param name="A">1.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+ <param name="refStrainRate">0.01</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Change
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<list name="Rheology">
+\end_layout
+
+\begin_layout LyX-Code
+ <param>backgroundViscosity</param>
+\end_layout
+
+\begin_layout LyX-Code
+ <param>storeViscosity</param>
+\end_layout
+
+\begin_layout LyX-Code
+ <param>storeStress</param>
+\end_layout
+
+\begin_layout LyX-Code
+</list>
+\end_layout
+
+\begin_layout Standard
+to
+\end_layout
+
+\begin_layout LyX-Code
+<list name="Rheology">
+\end_layout
+
+\begin_layout LyX-Code
+ <param>nonNewtonian</param>
+\end_layout
+
+\begin_layout LyX-Code
+ <param>storeViscosity</param>
+\end_layout
+
+\begin_layout LyX-Code
+ <param>storeStress</param>
+\end_layout
+
+\begin_layout LyX-Code
+</list>
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+A worked example is in
+\family typewriter
+non_newtonian.xml
+\family default
+.
+ Figure
+\begin_inset LatexCommand ref
+reference "fig:Power-Law-Creep"
+
+\end_inset
+
+ shows the temperature and velocity.
+ The differences with the example in Figure
+\begin_inset LatexCommand ref
+reference "fig:Temperature-and-velocity"
+
+\end_inset
+
+ is mostly because the viscosity is higher everywhere.
+\end_layout
+
+\begin_layout LyX-Code
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename images/Paraview_non_newtonian.png
+ lyxscale 75
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
+\begin_inset LatexCommand label
+name "fig:Power-Law-Creep"
+
+\end_inset
+
+Temperature and velocity for the power-law creep model
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
\begin_layout Chapter
Geologic Example
\end_layout
@@ -12974,6 +13159,11 @@
\end_layout
\begin_layout Subsubsection
+\begin_inset LatexCommand label
+name "sub:MaterialViscosity"
+
+\end_inset
+
MaterialViscosity
\end_layout
@@ -13142,6 +13332,388 @@
\end_layout
+\begin_layout Subsubsection
+\begin_inset LatexCommand label
+name "sub:Arrhenius"
+
+\end_inset
+
+Arrhenius
+\end_layout
+
+\begin_layout Standard
+This is another temperature dependent viscosity
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+eta=eta0*\exp\left(\left(activationEnergy+activationVolume*(height-y)\right)/\left(T+referenceTemperature\right)\right).\]
+
+\end_inset
+
+ Note that
+\begin_inset Formula $height$
+\end_inset
+
+ is the height of the column, not the overall maximum height of the material.
+ Also,
+\begin_inset Formula $height$
+\end_inset
+
+ does not consider material boundaries.
+ So if you have an air layer, you may get surprising results.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset VSpace defskip
+\end_inset
+
+
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Defaults
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+eta0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+1
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+activationEnergy
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+0
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+activationVolume
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+0
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+referenceTemperature
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+1
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+\begin_inset LatexCommand label
+name "sub:NonNewtonian"
+
+\end_inset
+
+NonNewtonian
+\end_layout
+
+\begin_layout Standard
+This is a strain rate dependent rheology.
+ It assumes that the material obeys the relation
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+\dot{\varepsilon}=\left(A\tau\right)^{n}\exp\left(-T_{0}/T\right),\]
+
+\end_inset
+
+ where
+\begin_inset Formula $\dot{\varepsilon}$
+\end_inset
+
+ is the strain rate,
+\begin_inset Formula $\tau$
+\end_inset
+
+ is the stress, and
+\begin_inset Formula $A$
+\end_inset
+
+ ,
+\begin_inset Formula $T_{0}$
+\end_inset
+
+, and
+\begin_inset Formula $n$
+\end_inset
+
+ are constants.
+ Using
+\begin_inset Formula \[
+\tau=2\eta\dot{\varepsilon},\]
+
+\end_inset
+
+ we can write the viscosity as
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+\eta=\frac{\dot{\varepsilon}^{\frac{1}{n}-1}\exp\left(T_{0}/nT\right)}{2A}.\]
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+When setting the viscosity for the first solve, the strain rate has not
+ been calculated yet.
+ So you must supply a reference strain rate for that first step.
+ Gale uses this viscosity to find a solution and thus a new strain rate.
+ Gale then iterates until the strain rate converges.
+
+\end_layout
+
+\begin_layout Standard
+You may also set maximum and minimum values for the resulting viscosity.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset VSpace defskip
+\end_inset
+
+
+\begin_inset Tabular
+<lyxtabular version="3" rows="7" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Defaults
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+n
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+1
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+T_0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+0
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+1
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+refStrainRate
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+-
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+minViscosity
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+-
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+maxViscosity
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+-
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
\begin_layout Subsection
Yielding
\end_layout
@@ -15184,6 +15756,19 @@
</struct>
\end_layout
+\begin_layout Standard
+Note that you must not have a separate
+\family typewriter
+StressBC
+\family default
+ for each direction of the normal stress (x,y,z).
+
+\family typewriter
+StressBC
+\family default
+ will automatically apply the proper force in all directions.
+\end_layout
+
\begin_layout Subsection
Kinetic Friction Boundary Conditions
\end_layout
@@ -17145,22 +17730,48 @@
\begin_inset Formula \[
f(x,y,z)=\left\{ \begin{array}{cc}
T_{0} & y>maxY\\
-T_{0}+A\left(maxY-y\right)+B\left(1-\exp\left(-C\left(maxY-y\right)\right)\right) & y<maxY\end{array}\right.,\]
+T_{0}+A\left(maxY-y\right)+B\left(1-\exp\left(-C\left(maxY-y\right)\right)\right) & y<maxY,H_{0}<0\\
+\min\left(T_{m},T_{0}+\frac{\left(T_{m}-T_{0}\right)}{H}\left(maxY-y\right)+B\left(1-\exp\left(-C\left(maxY-y\right)\right)\right)\right) & y<maxY,H_{0}>0\end{array}\right.,\]
\end_inset
- where
+ where
+\end_layout
+
+\begin_layout Description
+\begin_inset Formula \[
+H=\min\left(H_{m},H_{o}+2dH\left|x-x_{c}\right|/\left(maxX-minX\right)\right),\]
+
+\end_inset
+
+ and
+\end_layout
+
+\begin_layout Description
\begin_inset Formula \begin{eqnarray*}
T_{0} & \equiv & TemperatureProfileTop,\\
A & \equiv & TemperatureLinearCoefficient,\\
B & \equiv & TemperatureExponentialCoefficient1,\\
-C & \equiv & TemperatureExponentialCoefficient2.\end{eqnarray*}
+C & \equiv & TemperatureExponentialCoefficient2,\\
+T_{m} & \equiv & TemperatureProfileMax,\\
+H_{0} & \equiv & TemperatureProfileH0,\\
+H_{m} & \equiv & TemperatureProfileHm,\\
+dH & \equiv & TemperatureProfiledH,\\
+x_{c} & \equiv & ExtensionCentreX.\end{eqnarray*}
\end_inset
\end_layout
+\begin_layout Standard
+Note that the default value for
+\begin_inset Formula $H_{m}$
+\end_inset
+
+ is -1, which implies no variation in the x direction.
+\end_layout
+
\begin_layout Section
Verbosity Options
\end_layout
Added: long/3D/Gale/trunk/documentation/images/Paraview_non_newtonian.png
===================================================================
(Binary files differ)
Property changes on: long/3D/Gale/trunk/documentation/images/Paraview_non_newtonian.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: long/3D/Gale/trunk/documentation/images/Paraview_thermal.png
===================================================================
(Binary files differ)
Modified: long/3D/Gale/trunk/input/cookbook/non_newtonian.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/non_newtonian.xml 2009-04-18 12:05:53 UTC (rev 14750)
+++ long/3D/Gale/trunk/input/cookbook/non_newtonian.xml 2009-04-18 12:06:03 UTC (rev 14751)
@@ -378,18 +378,13 @@
</list>
</struct>
- <struct name="arrhenius">
- <param name="Type">Arrhenius</param>
- <param name="TemperatureField">TemperatureField</param>
- <param name="eta0">1</param>
- <param name="activationEnergy">1</param>
- <param name="activationVolume">0.</param>
- <param name="referenceTemperature">1</param>
- </struct>
<struct name="nonNewtonian">
<param name="Type">NonNewtonian</param>
<param name="StrainRateInvariantField">StrainRateInvariantField</param>
- <param name="stressExponent">3.4</param>
+ <param name="TemperatureField">TemperatureField</param>
+ <param name="n">3.4</param>
+ <param name="T_0">1.0</param>
+ <param name="A">1.0</param>
<param name="refStrainRate">0.01</param>
</struct>
@@ -406,7 +401,6 @@
</struct>
</list>
<list name="Rheology">
- <param>arrhenius</param>
<param>nonNewtonian</param>
<param>storeViscosity</param>
<param>storeStress</param>
@@ -637,7 +631,7 @@
<struct>
<param name="name">temperature</param>
<param name="type">double</param>
- <param name="value">1.0</param>
+ <param name="value">2.0</param>
</struct>
</list>
</struct>
@@ -648,7 +642,7 @@
<struct>
<param name="name">temperature</param>
<param name="type">double</param>
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
</struct>
</list>
</struct>
@@ -659,7 +653,7 @@
<struct>
<param name="name">temperature</param>
<param name="type">double</param>
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
</struct>
</list>
</struct>
@@ -670,7 +664,7 @@
<struct>
<param name="name">temperature</param>
<param name="type">double</param>
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
</struct>
</list>
</struct>
@@ -681,7 +675,7 @@
<struct>
<param name="name">temperature</param>
<param name="type">double</param>
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
</struct>
</list>
</struct>
@@ -692,7 +686,7 @@
<struct>
<param name="name">temperature</param>
<param name="type">double</param>
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
</struct>
</list>
</struct>
@@ -708,7 +702,7 @@
<struct>
<param name="name">temperature</param>
<param name="type">double</param>
- <param name="value">0.0</param>
+ <param name="value">1.0</param>
</struct>
</list>
</struct>
More information about the CIG-COMMITS
mailing list