[cig-commits] r1335 - in trunk/aspect/doc: . manual manual/cookbooks/composition-passive

bangerth at dealii.org bangerth at dealii.org
Thu Oct 25 15:05:29 PDT 2012

Author: bangerth
Date: 2012-10-25 16:05:29 -0600 (Thu, 25 Oct 2012)
New Revision: 1335

Finish section on passive tracers.

Added: trunk/aspect/doc/manual/cookbooks/composition-passive/mass-composition-1.png
(Binary files differ)

Property changes on: trunk/aspect/doc/manual/cookbooks/composition-passive/mass-composition-1.png
Added: svn:mime-type
   + application/octet-stream

Modified: trunk/aspect/doc/manual/manual.tex
--- trunk/aspect/doc/manual/manual.tex	2012-10-25 20:21:53 UTC (rev 1334)
+++ trunk/aspect/doc/manual/manual.tex	2012-10-25 22:05:29 UTC (rev 1335)
@@ -2769,7 +2769,7 @@
 We could have left this entry at its default, \texttt{x,y,t}, but since we
 often think in terms of ``depth'' as the vertical direction, let us use
 \texttt{z} for the second coordinate.
-In the second parameter we define symbolic constants that can be used 
+In the second parameter we define symbolic constants that can be used
 in the formula for the velocity that is specified in the last parameter. This
 formula needs to have as many components as there are space dimensions,
 separated by semicolons. As stated, this means that we prescribe the
@@ -2849,10 +2849,10 @@
 # We then set the temperature to one at the bottom and zero
-# at the top: 
+# at the top:
 subsection Boundary temperature model
   set Model name = box % \index[prmindex]{Model name} \index[prmindexfull]{Boundary temperature model!Model name} %
   subsection Box
     set Bottom temperature = 1 % \index[prmindex]{Bottom temperature} \index[prmindexfull]{Boundary temperature model!Box!Bottom temperature} %
     set Top temperature    = 0 % \index[prmindex]{Top temperature} \index[prmindexfull]{Boundary temperature model!Box!Top temperature} %
@@ -2882,7 +2882,7 @@
 subsection Initial conditions
   set Model name = function % \index[prmindex]{Model name} \index[prmindexfull]{Initial conditions!Model name} %
   subsection Function
     set Variable names      = x,z % \index[prmindex]{Variable names} \index[prmindexfull]{Initial conditions!Function!Variable names} %
     set Function expression = (1-z)     % \index[prmindex]{Function expression} \index[prmindexfull]{Initial conditions!Function!Function expression} %
@@ -3018,23 +3018,102 @@
-  \includegraphics[width=0.3\textwidth]{cookbooks/platelike-boundary/visit0000.png}
+  \includegraphics[width=0.3\textwidth]{cookbooks/composition-passive/visit0007.png}
-  \includegraphics[width=0.3\textwidth]{cookbooks/platelike-boundary/visit0001.png}
+  \includegraphics[width=0.3\textwidth]{cookbooks/composition-passive/visit0008.png}
-  \includegraphics[width=0.3\textwidth]{cookbooks/platelike-boundary/visit0003.png}
+  \includegraphics[width=0.3\textwidth]{cookbooks/composition-passive/visit0009.png}
-  \includegraphics[width=0.3\textwidth]{cookbooks/platelike-boundary/visit0004.png}
+  \includegraphics[width=0.3\textwidth]{cookbooks/composition-passive/visit0010.png}
-  \includegraphics[width=0.3\textwidth]{cookbooks/platelike-boundary/visit0005.png}
+  \includegraphics[width=0.3\textwidth]{cookbooks/composition-passive/visit0012.png}
-  \includegraphics[width=0.3\textwidth]{cookbooks/platelike-boundary/visit0006.png}
-  \caption{Passive compositional fields: \ldots}
+  \includegraphics[width=0.3\textwidth]{cookbooks/composition-passive/visit0014.png}
+  \caption{Passive compositional fields: The figures show, at
+    different times in the simulation, the velocity field along with
+    those locations where the first compositional field is larger than
+    0.5 (in red, indicating the locations where material from the bottom
+    of the domain has gone) as well as where the second compositional
+    field is larger than 0.5 (in blue, indicating material from the top
+    of the domain. The results were obtained with two more global
+    refinement steps compared to the
+    \url{cookbooks/compositional-passive.prm} input file.}
+  \centering
+  \includegraphics[height=0.3\textwidth]{cookbooks/composition-passive/visit0015.png}
+  \hfill
+  \includegraphics[height=0.3\textwidth]{cookbooks/composition-passive/visit0017.png}
+  \caption{Passive compositional fields: A later image of the simulation
+    corresponding to the sequence shown in
+    Fig.~\ref{fig:compositional-passive} (left) and zoom-in on the
+    center, also showing the mesh (right).}
+  \label{fig:compositional-passive-zoom}
+Fig.~\ref{fig:compositional-passive} shows one aspect of compositional
+fields that occasionally makes them difficult to use for very long
+time computations. The simulation shown here runs for 20 time units,
+where every cycle of the spreading center at the top moving left and
+right takes 4 time units, for a total of 5 such cycles. While this is
+certainly no short-term simulation, it is obviously visible in the
+figure that the interface between the materials has diffused over
+time. Fig.~\ref{fig:compositional-passive-zoom} shows a zoom into the
+center of the domain at the final time of the simulation. The
+figure only shows values that are larger than 0.5, and it looks like
+the transition from red or blue to the edge of the shown region is no
+wider than 3 cells. This means that the computation is not overly
+diffusive but it is nevertheless true that this method has difficulty
+following long and thin filaments.%
+\footnote{We note that this is no different for tracers where the
+  position of tracers has to be integrated over time and is subject to
+  numerical error. In simulations, their location is therefore not the
+  exact one but also subject to a diffusive process resulting from
+  numerical inaccuracies. Furthermore, in long thin filaments, the
+  number of tracers per cell often becomes too small and new tracers
+  have to be inserted; their properties are then interpolated from the
+  surrounding tracers, a process that also incurs a smoothing penalty.}
+This is an area in which \aspect{} may see improvements in the future.
+  \centering
+  \includegraphics[width=0.4\textwidth]{cookbooks/composition-passive/mass-composition-1.png}
+  \caption{Passive compositional fields: Minimum and maximum of the first compositional variable 
+   over time, as well as the mass $m_1(t)=\int_\Omega c_1(\mathbf x,t)$ stored in this variable.}
+  \label{fig:compositional-passive-mass}
+A different way of looking at the quality of compositional fields as opposed to 
+tracers is to ask whether they conserve mass. In the current context, the
+mass contained in the $i$th compositional field is $m_i(t)=\int_\Omega c_i(\mathbf x,t)$.
+This can easily be achieve in the following way, by adding the \texttt{composition statistics}
+subsection Postprocess
+  set List of postprocessors = visualization, temperature statistics, composition statistics % \index[prmindex]{List of postprocessors} \index[prmindexfull]{Postprocess!List of postprocessors} %
+While the scheme we use to advect the compositional fields is not strictly
+conservative, it is almost perfectly so in practice. For example, in
+the computations shown in this section (using two additional global mesh
+refinements over the settings in the parameter file
+\url{cookbooks/compositional-passive.prm}), Fig.~\ref{fig:compositional-passive-mass}
+shows the maximal and minimal values of the first compositional fields over time,
+along with the mass $m_1(t)$ (these are all tabulated in columns of the
+statistics file, see Sections~\ref{sec:running-overview} and \ref{sec:viz-stat}). While
+the maximum and minimum fluctuate slightly due to the instability of the finite element
+method in resolving discontinuous functions,
+the mass appears stable at a value of 0.403646. In fact, the maximal difference in this
+value between time steps 1 and 500 is only $1.1\cdot 10^{-6}$. In other words, these numbers
+show that the compositional field approach is almost exactly mass conservative.
 \subsection{Geophysical setups}
 \marginpar{To be written}

Modified: trunk/aspect/doc/manual.pdf
(Binary files differ)

More information about the CIG-COMMITS mailing list