From a1f1d5cdbf9b216a93a1d8eb596e9fd61694604e Mon Sep 17 00:00:00 2001
From: Katherina Baber <katherina.baber@gmail.com>
Date: Wed, 13 Feb 2013 13:43:18 +0000
Subject: [PATCH] adapted figure "dumux structure" and included cell centered
 models. Figure is now a  tikz figure.

git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@10207 2fb0f335-1f38-0410-981e-8018bf24f1b0
---
 doc/handbook/dumux-handbook.tex |   4 ++
 doc/handbook/structure.tex      | 122 +++++++++++++++++++++++++++++---
 2 files changed, 116 insertions(+), 10 deletions(-)

diff --git a/doc/handbook/dumux-handbook.tex b/doc/handbook/dumux-handbook.tex
index 6eb08b72e2..ce5d466353 100644
--- a/doc/handbook/dumux-handbook.tex
+++ b/doc/handbook/dumux-handbook.tex
@@ -56,6 +56,10 @@
 \usepackage{url}
 \usepackage{breakurl}
 
+\usepackage{tikz}
+\usepackage{pdflscape}
+\usepackage{rotating}
+\usetikzlibrary{arrows}
 \ifpdf
 \usepackage{auto-pst-pdf}
 \fi
diff --git a/doc/handbook/structure.tex b/doc/handbook/structure.tex
index d0c341c154..629d9a4b8e 100644
--- a/doc/handbook/structure.tex
+++ b/doc/handbook/structure.tex
@@ -115,16 +115,118 @@ VTK output files should have been generated.
 For more detailed descriptions of the tests, the problem definitions and their corresponding 
 Doxygen documentation should be considered. 
 
-\begin{landscape}
-\begin{figure}[hbt]
-  \centering 
-  \includegraphics[width=\linewidth, keepaspectratio]{EPS/dumux_strucutre_flowchart_horizontal_explained.eps}
-  \caption{
-    \label{fig:dumux-structure}
-    Structure of the directory \texttt{dumux} containing the \Dumux source files.
-  }
-\end{figure}
-\end{landscape}
+\begin{sidewaysfigure}
+\begin{tikzpicture}[>=latex,inner xsep=0.15cm,rounded corners]
+\node [minimum height=0.7cm,draw,inner xsep=0.94cm,rotate=90,thick] (d) at(-2,0) {dumux};
+\node [minimum height=0.7cm,draw,inner xsep=1.03cm,thick] (lin) at(0.5,0) {linear};
+\node [minimum height=0.7cm,draw,inner xsep=1.32cm,thick] (io) at(0.5,1) {io};
+
+\node [minimum height=0.7cm,draw,inner xsep=0.87cm,thick] (imp) at(0.5,3.5) {implicit};
+ \node [minimum height=0.7cm,draw,inner xsep=0.88cm,thick] (c1) at(4.2,2) {common};
+ \node [minimum height=0.7cm,draw,inner xsep=0.54cm,thick] (cell) at(4.2,3) {cell centered};
+ \node [minimum height=0.7cm,draw,inner xsep=1.28cm,thick] (box) at(4.2,4) {box};
+ \node [minimum height=0.7cm,draw,inner xsep=0.33cm,thick] (spec1) at(4.2,5) {specific models};
+
+\node [minimum height=0.7cm,draw,inner xsep=0.82cm,thick] (free) at(0.5,6) {free flow};
+  \node [minimum height=0.7cm,draw,inner xsep=0.33cm,thick] (spec2) at(4.2,6) {specific models};
+
+\node [minimum height=0.7cm,draw,inner xsep=0.7cm,thick] (dec) at(0.5,7.5) {decoupled};
+ \node [minimum height=0.7cm,draw,inner xsep=0.88cm,thick] (c2) at(4.2,7) {common};
+ \node [minimum height=0.7cm,draw,inner xsep=0.33cm,thick] (spec3) at(4.2,8) {specific models};
+
+\node [minimum height=0.7cm,draw,inner xsep=0.82cm,thick] (c3) at(0.5,9) {common};
+
+\node [minimum height=0.7cm,draw,inner xsep=0.82cm,thick] (m) at(0.5,-4.5) {material};
+ \node [minimum height=0.7cm,draw,thick] (bin) at(4.2,-1) {binarycoefficients};
+ \node [minimum height=0.7cm,draw,inner xsep=0.6cm,thick] (comp) at(4.2,-2) {components};
+ \node [minimum height=0.7cm,draw,inner xsep=0.2cm,thick] (con) at(4.2,-3) {constraintsolvers};
+ \node [minimum height=0.7cm,draw,inner xsep=1.34cm,thick] (eos) at(4.2,-4) {eos};
+ \node [inner ysep=0.05cm,draw,text width=2cm,align=center,inner xsep=0.59cm,thick] (fi) at(4.2,-5) {fluidmatrix-\\[-16pt]interactions};
+ \node [minimum height=0.7cm,draw,inner xsep=0.73cm,thick] (fstate) at(4.2,-6) {fluidstates};
+ \node [minimum height=0.7cm,draw,inner xsep=0.56cm,thick] (fsys) at(4.2,-7) {fluidsystems}; 
+ \node [minimum height=0.7cm,draw,inner xsep=0.11cm,thick] (s) at(4.2,-8) {spatialparameters}; 
+
+\node [minimum height=0.7cm,draw,inner xsep=0.74cm,thick] (non) at(0.5,-9) {nonlinear}; 
+\node [minimum height=0.7cm,draw,inner xsep=0.9cm,thick] (para) at(0.5,-10) {parallel};
+
+\draw (d)--(lin);
+\draw (-1.4,0)--(-1.4,9)--(c3);
+\draw (-1.4,0)--(-1.4,-10)--(para);
+\draw (-1.4,7.5)--(dec);
+\draw (-1.4,6)--(free);
+\draw (-1.4,3.5)--(imp);
+\draw (-1.4,1)--(io);
+\draw (-1.4,-4.5)--(m);
+\draw (-1.4,-9)--(non);
+
+\draw (dec)--(2.4,7.5);
+\draw (spec3)--(2.4,8)--(2.4,7)--(c2);
+\draw (free)--(spec2);
+\draw (imp)--(2.4,3.5);
+\draw (spec1)--(2.4,5)--(2.4,2)--(c1);
+\draw (box)--(2.4,4);
+\draw (cell)--(2.4,3);
+\draw (m)--(2.4,-4.5);
+\draw (bin)--(2.4,-1)--(2.4,-8)--(s);
+\draw (comp)--(2.4,-2);
+\draw (con)--(2.4,-3);
+\draw (eos)--(2.4,-4);
+\draw (fi)--(2.4,-5);
+\draw (fstate)--(2.4,-6);
+\draw (fsys)--(2.4,-7);
+
+\draw [->](c3)--(6.5,9) node [right,text width=12.5cm,align=left] 
+  {Common files of the implicit (box- and cell-centered) models and the de-\\[-4pt]coupled models: time integration, start routine, the  property system, ...};
+\draw [->](spec3)--(6.5,8) node [right,text width=12.5cm,align=left] 
+  {Specific model definition for the decoupled formulation. In each model \\[-4pt]folder are subdirectories for the implicit pressure  equation, sorted by \\[-4pt]discretization method, and for the explicit transport.};
+\draw [->](c2)--(6.5,7) node [right,text width=12.5cm,align=left] 
+  {Base classes and general files for the decoupled formulation.};
+\draw [->](spec2)--(6.5,6) node [right,text width=12.5cm,align=left] 
+  {Specific model definition for free flow problems using the Strokes \\[-4pt]equation: non-isothermal, compositional, one-phase models.};
+\draw [->](spec1)--(6.5,5) node [right,text width=12.5cm,align=left] 
+  {Model and problem definition: implementation of equations, model spe-\\[-4pt]cific properties and indices.};
+\draw [->](box)--(6.5,4) node [right,text width=12.5cm,align=left] 
+  {Specific files for gerenal fully implicit boxmethod: boxassembler, dual \\[-5pt]mesh geometry in boxfvelementgeometry.hh, base classes for model and \\[-5pt]problem definition.};
+\draw [->](cell)--(6.5,3) node [right,text width=12.5cm,align=left] 
+  {Specific files for fully implicit cell centered method: ccassembler, mesh \\[-5pt]geometry in ccfvelementgeometry.hh, base classes for model and problem \\[-5pt]definition.};
+\draw [->](c1)--(6.5,2) node [right,text width=12.5cm,align=left] 
+  {Common functionality of cell centered and box formulation: assembling \\[-5pt]in implicitlocaljacobian.hh, evaluation of partial derivative in \\[-5pt]implicitlocalresidual.hh, base classes for model and problem definition.};
+\draw [->](io)--(6.5,1) node [right,text width=12.5cm,align=left] 
+  {Additional in-/output possibilities like restart files and a VTKWriter \\[-4pt]extension. Grid Creator files.};
+\draw [->](lin)--(6.5,0) node [right,text width=12.5cm,align=left] {Linear solver backend.};
+\draw [->](bin)--(6.5,-1) node [right,text width=12.5cm,align=left] 
+  {Binary coefficients (like binary diffusion coefficients) and those needed for \\[-4pt]the constitutive relationships (e.g. Henry coefficient).};
+\draw [->](comp)--(6.5,-2) node [right,text width=12.5cm,align=left] 
+  {Properties of a pure chemical substance (e.g. water) \\[-4pt]or pseudo substance (e.g. air).};
+\draw [->](con)--(6.5,-3) node [right,text width=12.5cm,align=left] 
+  {Constraint solvers specify a well defined set of input variables and make \\[-4pt]sure that the resulting fluid state is consistent with a given set of \\[-4pt]thermodynamic equations.};
+\draw [->](eos)--(6.5,-4) node [right,text width=12.5cm,align=left] 
+  {Equations of state (eos) are auxiliary classes which provide relations \\[-4pt]between a fluid phase's temperature, pressure, composition and density.};
+\draw [->](fi)--(6.5,-5) node [right,text width=12.5cm,align=left] 
+  {Constitutive relationships (e.g. capillary pressure - saturation - curve).};
+\draw [->](fstate)--(6.5,-6) node [right,text width=12.5cm,align=left] 
+  {Fluid states are responsible for representing the complete thermodynamic \\[-4pt]configuration of a system at a given spatial and temporal position.};
+\draw [->](fsys)--(6.5,-7) node [right,text width=12.5cm,align=left] 
+  {Fluid systems express the thermodynamic relations between quantities.};
+\draw [->](s)--(6.5,-8) node [right,text width=12.5cm,align=left] 
+  {Base class for all spatially dependent variables, like permeability and \\[-4pt]porosity. Includes spatial averaging routines. All other properties are \\[-4pt]specified in the specific files of the respective models.};
+\draw [->](non)--(6.5,-9) node [right,text width=12.5cm,align=left] 
+  {Newton's method.};
+\draw [->](para)--(6.5,-10) node [right,text width=12.5cm,align=left] 
+  {Files for parallel programming.};
+\end{tikzpicture}
+\end{sidewaysfigure}
+
+% \begin{landscape}
+% \begin{figure}[hbt]
+%   \centering 
+%   \includegraphics[width=\linewidth, keepaspectratio]{EPS/dumux_strucutre_flowchart_horizontal_explained.eps}
+%   \caption{
+%     \label{fig:dumux-structure}
+%     Structure of the directory \texttt{dumux} containing the \Dumux source files.
+%   }
+% \end{figure}
+% \end{landscape}
 
 \input{guidelines}
 \input{newFolder}
-- 
GitLab