From c6095d92c5bef2f7d919ecfed19a1e6b1b27368f Mon Sep 17 00:00:00 2001
From: Simon Praetorius <simon.praetorius@tu-dresden.de>
Date: Mon, 16 Jan 2012 13:00:22 +0000
Subject: [PATCH] parameter documentation

---
 doc/csv2latex.php                        |  63 ++++++
 doc/parallel_parameters.tex              | 234 +++++++++++++++--------
 doc/parameters/AdaptInfo.inc             |  10 +
 doc/parameters/AdaptInfo_ScalContent.inc |   9 +
 doc/parameters/AdaptInstationary.inc     |   9 +
 doc/parameters/AdaptStationary.inc       |   2 +
 doc/parameters/HL_SignedDistTraverse.inc |   6 +
 doc/parameters/Mesh.inc                  |   8 +
 doc/parameters/MeshDistributor.inc       |  11 ++
 doc/parameters/OEMSolver.inc             |   9 +
 10 files changed, 282 insertions(+), 79 deletions(-)
 create mode 100644 doc/csv2latex.php
 create mode 100644 doc/parameters/AdaptInfo.inc
 create mode 100644 doc/parameters/AdaptInfo_ScalContent.inc
 create mode 100644 doc/parameters/AdaptInstationary.inc
 create mode 100644 doc/parameters/AdaptStationary.inc
 create mode 100644 doc/parameters/HL_SignedDistTraverse.inc
 create mode 100644 doc/parameters/Mesh.inc
 create mode 100644 doc/parameters/MeshDistributor.inc
 create mode 100644 doc/parameters/OEMSolver.inc

diff --git a/doc/csv2latex.php b/doc/csv2latex.php
new file mode 100644
index 00000000..6f367e81
--- /dev/null
+++ b/doc/csv2latex.php
@@ -0,0 +1,63 @@
+<?php
+// script to convert a csv-like file to latex code
+
+$latex = '\documentclass[10pt,a4paper]{article}'."\n"
+	  .'\usepackage[a4paper, left=2cm, right=2cm, top=2cm, bottom=2cm,landscape]{geometry}'."\n"
+	  .'\usepackage{amsmath}'."\n"
+	  .'\usepackage{amsfonts}'."\n"
+	  .'\usepackage{amssymb}'."\n"
+	  .'\usepackage{array}'."\n"
+	  .'\usepackage{longtable}'."\n"
+	  .'\usepackage{textcomp}'."\n"
+	  .'\author{IWR}'."\n"
+	  .'\parindent0cm'."\n"
+	  .'\parsep.5ex'."\n"
+	  .'\newcommand{\basis}{{(name)->}}'."\n"
+	  .'\begin{document}'."\n";
+
+$filesToRead = array();
+$dir = './parameters';
+if ($handle = opendir($dir)) {
+  while (false !== ($file = readdir($handle))) {
+    if ($file != "." && $file != ".." && preg_match('/\.inc$/',$file)>0) {
+      $filesToRead[] = $dir.'/'.$file;
+    }
+  }
+  closedir($handle);
+}
+sort($filesToRead, SORT_STRING);
+
+foreach($filesToRead as $file) {
+$row = 1;
+if (($handle = fopen($file, "r")) !== FALSE) {
+    $writeData = false;
+    if (($data = fgetcsv($handle, 1000, "|")) !== FALSE) {
+      if (strlen(trim($data[0]))>0)
+	$latex .= '\section{'.$data[0].'}'."\n";
+      $latex .= $data[1]."\n";
+      $latex .= '{'."\n";
+	$latex .= '\small'."\n";
+	if (count($data)>2)
+	  $latex .= $data[2]."\n";
+	$latex .= '\begin{longtable}[l]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}'."\n"
+		  .'\hline'."\n"
+		  .'\textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\\\'."\n"
+		  .'\hline\hline'."\n\n".'\hline';
+	$writeData = true;
+    }
+    if ($writeData) {
+      while (($data = fgetcsv($handle, 1000, "|")) !== FALSE) {
+	$latex .= '\basis '.$data[0].' & \textbf{'.$data[1].'} & ['.$data[2].'] & '.$data[3].'\\\\ \hline'."\n";
+      }
+      $latex .= '\end{longtable}'."\n".'}'."\n\n";
+    }
+    fclose($handle);
+}
+}
+
+$latex .= '\end{document}';
+
+if (($handle = fopen('parameters.tex', "w")) !== FALSE) {
+  fwrite($handle, $latex);
+}
+?>
\ No newline at end of file
diff --git a/doc/parallel_parameters.tex b/doc/parallel_parameters.tex
index cb02f5e5..bec99378 100644
--- a/doc/parallel_parameters.tex
+++ b/doc/parallel_parameters.tex
@@ -1,91 +1,167 @@
 \documentclass[10pt,a4paper]{article}
-\usepackage[a4paper, left=1.5cm, right=2cm, top=2cm, bottom=2cm]{geometry}
+\usepackage[a4paper, left=2cm, right=2cm, top=2cm, bottom=2cm,landscape]{geometry}
 \usepackage{amsmath}
 \usepackage{amsfonts}
 \usepackage{amssymb}
 \usepackage{array}
-\usepackage{longtable} 
+\usepackage{longtable}
 \usepackage{textcomp}
 \author{IWR}
-\newcommand{\basis}{{[name]->}}
+\parindent0cm
+\parsep.5ex
+\newcommand{\basis}{{(name)->}}
 \begin{document}
-\section{MeshDistributor}
-The label \texttt{[name]} represents the string that is passed to the
-constructor of MeshDistributor.  {\small
-
-\begin{longtable}[c]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}
-  \hline
-  \textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\
-  \hline\hline
-  
-  \hline
- 
-  \basis repartitioning & \textbf{bool} & [0] & En/disables
-  repartitioning of the macro mesh, when derivation of mean number of
-  DOFs exceeds a threshold value. \\\hline
-
-  \basis repartition ith change & \textbf{int} & [20] & Sets number of
-  mesh changes to wait before threshold check for repartitioning will
-  be performed.\\\hline
-
-  \basis partitioner & \textbf{enum}\{parmetis, zoltan, simple\} &
-  [parmetis] & Defines the external tool that performs the
-  partitioning of the, e.g.~by graph-partitioning. {\em simple} does
-  not change the initial partitioning, i.e., its a random distribution
-  of the macro elements to the processors.\\\hline
-
-  \basis box partitioning & \textbf{bool} & [0] & If the macro mesh is
-  globally refined from macro.stand.2d or macro.stand.3d, than the
-  partitioner may compute the partitioning not based on triangled or
-  tetrahedron, but on (composed) rectangles or boxes. Till now this is
-  implemented only for 3D and Zoltan partitioner. \\\hline
-
-  \basis log main rank & \textbf{bool} & [0] & If set to {\em true},
-  stdout output will be printed only by the main rank 0. Otherwise,
-  all ranks stdout output will be created. \\\hline
-
-  \basis pre refine & \textbf{int} & [-1] & If set to -1, the number
-  of pre refinements for the macro mesh will be calculated for the
-  given number of processors. This value can be overwritten by setting
-  a value $>= 0$. \\\hline
-
-  \basis output->serialization filename & \textbf{string} & [] & Name
-  of the parallel serialization file. If at least one stationary
-  problem is serialized, this parameter must be set. \\\hline
-
-  \basis input->serialization filename & \textbf{string} & [] & Name
-  of the parallel deserialization file. If at least one stationary
-  problem is deserialized, this parameter must be set. \\\hline
-
-  \basis debug output dir & \textbf{string} & [] & Path name where
-  debug data should be written to. \\\hline 
-
-  \basis write parallel debug file & \textbf{bool} & [0] & If set to
-  {\em true}, the parallelization will create for each rank a file
-  with the name ``mpi-dbg-\{rank-no\}.dat''. This files contain
-  information about all DOF indices in ranks domain. They may be
-  useful for debugging or some postprocessing steps. \\\hline
-\end{longtable}}
+\section{AdaptInfo}
+Parameters for AdaptInfo(\texttt{[name]},\texttt{nComponents})
+{
+\small
+\begin{longtable}[l]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}
+\hline
+\textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\
+\hline\hline
+
+\hline\basis start time & \textbf{double} & [0.0] & Initial time\\ \hline
+\basis timestep & \textbf{double} & [0.0] & Time step size to be used\\ \hline
+\basis end time & \textbf{double} & [1.0] & Final time\\ \hline
+\basis max iteration & \textbf{int} & [-1] & maximal allowed number of iterations of the adaptive procedure; if maxIteration $\leq$ 0, no iteration bound is used\\ \hline
+\basis max timestep iteration & \textbf{int} & [30] & Maximal number of iterations for choosing a timestep\\ \hline
+\basis max time iteration & \textbf{int} & [30] & Maximal number of time iterations\\ \hline
+\basis min timestep & \textbf{double} & [0.0] & Minimal step size\\ \hline
+\basis max timestep & \textbf{double} & [1.0] & Maximal step size\\ \hline
+\basis number of timesteps & \textbf{int} & [0] & Per default this value is 0 and not used. If it is set to a non-zero value, the computation of the stationary problem is done nTimesteps times with a fixed timestep.\\ \hline
+\end{longtable}
+}
+
+Parameters for AdaptInfo for each component separately. \texttt{(name):=(name)[$i$]} for $i=0,\ldots,$\texttt{nComponents}$-1$
+{
+\small
+\renewcommand{\basis}{{(name)[i]->}}
+\begin{longtable}[l]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}
+\hline
+\textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\
+\hline\hline
+
+\hline\basis tolerance & \textbf{double} & [0.0] & Tolerance for the (absolute or relative) error\\ \hline
+\basis time tolerance & \textbf{double} & [0.0] & Time tolerance.\\ \hline
+\basis coarsen allowed & \textbf{int \{0,1\}} & [0] & true if coarsening is allowed, false otherwise.\\ \hline
+\basis refinement allowed & \textbf{int \{0,1\}} & [1] & true if refinement is allowed, false otherwise.\\ \hline
+\basis refine bisections & \textbf{int} & [1] & parameter to tell the marking strategy how many bisections should be performed when an element is marked for refinement; usually the value is 1 or DIM\\ \hline
+\basis coarsen bisections & \textbf{int} & [1] & parameter to tell the marking strategy how many bisections should be undone when an element is marked for coarsening; usually the value is 1 or DIM\\ \hline
+\basis sum factor & \textbf{double} & [1.0] & factors to combine max and integral time estimate\\ \hline
+\basis max factor & \textbf{double} & [0.0] & factors to combine max and integral time estimate\\ \hline
+\end{longtable}
+}
+
+\section{AdaptInstationary}
+\texttt{(name)} ist the first argument of the constructor: AdaptInstationary(\texttt{(name)},\ldots)
+{
+\small
+\begin{longtable}[l]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}
+\hline
+\textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\
+\hline\hline
+
+\hline\basis strategy & \textbf{int} & [0] & Strategy for choosing one timestep: strategy 0: Explicit strategy, strategy 1: Implicit strategy.\\ \hline
+\basis time delta 1 & \textbf{double} & [0.7071] & Parameter $\delta_1$ used in time step reduction\\ \hline
+\basis time delta 2 & \textbf{double} & [1.4142] & Parameter $\delta_2$ used in time step enlargement\\ \hline
+\basis info & \textbf{int} & [10] & Info level (from AdaptBase)\\ \hline
+\basis break when stable & \textbf{int} & [0] & If this parameter is 1 and the instationary problem is stable, hence the number of solver iterations to solve the problem is zero, the adaption loop will stop.\\ \hline
+\basis time adaptivity debug mode & \textbf{bool} & [0] & In debug mode, the adapt loop will print information about timestep decreasing and increasing.\\ \hline
+\basis queue->runtime & \textbf{int} & [-1] & Runtime of the queue (of the servers batch system) in seconds. If the problem runs on a computer/server without a time limited queue, the value is -1.\\ \hline
+\basis queue->serialization filename & \textbf{string} & [\_\_serialized\_problem.ser] & Name of the file used to automatically serialize the problem.\\ \hline
+\end{longtable}
+}
+
+\section{AdaptStationary}
+\texttt{(name)} ist the first argument of the constructor: AdaptStationary(\texttt{(name)},\ldots)
+{
+\small
+\begin{longtable}[l]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}
+\hline
+\textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\
+\hline\hline
+
+\hline\basis info & \textbf{int} & [10] & Info level (from AdaptBase)\\ \hline
+\end{longtable}
+}
 
 \section{HL\_SignedDistTraverse}
-Reinitialization class HL\_SignedDistTraverse gets the label \texttt{[name]} as first argument in the constructor. {\small
+Reinitialization class HL\_SignedDistTraverse(\texttt{(name)},\ldots) with \texttt{(name)} as first argument in the constructor.
+{
+\small
+\begin{longtable}[l]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}
+\hline
+\textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\
+\hline\hline
+
+\hline\basis tolerance & \textbf{double} & [] & Tolerance for Hopf-Lax update iteration loop.\\ \hline
+\basis maximal number of iteration steps & \textbf{int} & [] & Maximal number of mesh iterations for Hopf-Lax update.\\ \hline
+\basis Gauss-Seidel iteration & \textbf{bool} & [] & Indicates whether Gauss-Seidel or Jacobi iteration is used. 0: Jacobi, 1: Gauss-Seidel\\ \hline
+\basis infinity value & \textbf{double} & [] & Initialization value ``inifinity'' for non-boundary vertices. Must be $>$ 1000\\ \hline
+\basis boundary initialization & \textbf{int} & [] & Define boundary initialization strategy. 0: BoundaryElementLevelSetDist, 1: BoundaryElementTopDist, 2: BoundaryElementEdgeDist, 3: BoundaryElementNormalDist\\ \hline
+\end{longtable}
+}
+
+\section{Mesh}
+Mesh(\texttt{(name)},$\cdot$)
+{
+\small
+\begin{longtable}[l]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}
+\hline
+\textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\
+\hline\hline
+
+\hline\basis macro file name & \textbf{string} & [] & Filename for the macrofile\\ \hline
+\basis value file name & \textbf{string} & [] & Filename for value file. \\ \hline
+\basis periodic file & \textbf{string} & [] & filename for periodic file\\ \hline
+\basis check & \textbf{int} & [1] & Check the mesh structure\\ \hline
+\basis preserve coarse dofs & \textbf{bool} & [0] & When an element is refined, not all dofs of the coarse element must be part of the new elements. An example are centered dofs when using higher lagrange basis functions. The midpoint dof of the parents element is not a dof of the both children elements. Therefore, the dof can be deleted. In some situation, e.g., when using multigrid techniques, it can be necessary to store this coarse dofs. Then this variable must be set to true. If false, the not required coarse dofs will be deleted.\\ \hline
+\basis macro weights & \textbf{string} & [] & file of file that contains weight number for each element. The higher the weigh, the more this element will be refined and thus more processors share this element.\\ \hline
+\basis global refinements & \textbf{int} & [0] & Number of global refinements\\ \hline
+\end{longtable}
+}
+
+\section{Meshdistributor}
+The label \texttt{(name)} represents the string that is passed to the constructor of MeshDistributor.
+{
+\small
+\begin{longtable}[l]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}
+\hline
+\textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\
+\hline\hline
+
+\hline\basis repartitioning & \textbf{bool} & [0] & En/disables repartitioning of the macro mesh, when derivation of mean number of DOFs exceeds a threshold value.\\ \hline
+\basis repartition ith change & \textbf{int} & [20] & Sets number of mesh changes to wait before threshold check for repartitioning will be performed.\\ \hline
+\basis partitioner & \textbf{enum\{parmetis, zoltan, simple\}} & [parmetis] & Defines the external tool that performs the partitioning of the, e.g.~by graph-partitioning. {\em simple} does not change the initial partitioning, i.e., its a random distribution of the macro elements to the processors.\\ \hline
+\basis box partitioning & \textbf{bool} & [0] & If the macro mesh is globally refined from macro.stand.2d or macro.stand.3d, than the partitioner may compute the partitioning not based on triangled or tetrahedron, but on (composed) rectangles or boxes. Till now this is implemented only for 3D and Zoltan partitioner.\\ \hline
+\basis log main rank & \textbf{bool} & [0] & If set to {\em true}, stdout output will be printed only by the main rank 0. Otherwise, all ranks stdout output will be created.\\ \hline
+\basis pre refine & \textbf{int} & [-1] & If set to -1, the number of pre refinements for the macro mesh will be calculated for the given number of processors. This value can be overwritten by setting a value $>= 0$.\\ \hline
+\basis output->serialization filename & \textbf{string} & [] & Name of the parallel serialization file. If at least one stationary problem is serialized, this parameter must be set.\\ \hline
+\basis input->serialization filename & \textbf{string} & [] & Name of the parallel deserialization file. If at least one stationary problem is deserialized, this parameter must be set.\\ \hline
+\basis debug output dir & \textbf{string} & [] & Path name where debug data should be written to.\\ \hline
+\basis write parallel debug file & \textbf{bool} & [0] & If set to {\em true}, the parallelization will create for each rank a file with the name ``mpi-dbg-\{rank-no\}.dat''. This files contain information about all DOF indices in ranks domain. They may be useful for debugging or some postprocessing steps.\\ \hline
+\end{longtable}
+}
+
+\section{OEMSolver}
+Standard parameters for OEMSolver
+{
+\small
+\renewcommand{\basis}{{(solver)->}}
+\begin{longtable}[l]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}
+\hline
+\textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\
+\hline\hline
+
+\hline\basis left precon & \textbf{enum \{diag,ilu,ic,no\}} & [no] & left preconditioner\\ \hline
+\basis right precon & \textbf{enum \{diag,ilu,ic,no\}} & [no] & right preconditioner\\ \hline
+\basis ell & \textbf{int} & [1] & additional solver parameter\\ \hline
+\basis tolerance & \textbf{double} & [0.0] & Solver tolerance norm(r).\\ \hline
+\basis relative tolerance & \textbf{double} & [0.0] & Relative solver tolerance norm(r)/norm(r0).\\ \hline
+\basis max iteration & \textbf{int} & [1000] & maximal number of iterations.\\ \hline
+\basis print cycle & \textbf{int} & [100] & Print cycle, after how many iterations the residuum norm is logged.\\ \hline
+\basis info & \textbf{int} & [0] & info level during solving the system.\\ \hline
+\end{longtable}
+}
 
-\begin{longtable}[c]{|>{\ttfamily}lp{.15\textwidth}>{\ttfamily}lp{.4\textwidth}|}
-  \hline
-  \textrm{\textbf{keyword}} & \textrm{\textbf{data type}} & \textrm{\textbf{default}} & \textrm{\textbf{description}} \\
-  \hline\hline
-  
-  \hline
- 
-  \basis tolerance  & \textbf{double} &  & Tolerance for Hopf-Lax update iteration loop.\\\hline
-
-  \basis maximal number of iteration steps  & \textbf{int} &  & Maximal number of mesh iterations for Hopf-Lax update.\\\hline
-
-  \basis Gauss-Seidel iteration  & \textbf{bool} &  & Indicates whether Gauss-Seidel or Jacobi iteration is used. 0: Jacobi, 1: Gauss-Seidel\\\hline
-
-  \basis infinity value  & \textbf{double} &  & Initialization value ``inifinity'' for non-boundary vertices. Must be $>$ 1000\\\hline
-
-  \basis boundary initialization  & \textbf{int} &  & Define boundary initialization strategy. 0: BoundaryElementLevelSetDist, 1: BoundaryElementTopDist, 2: BoundaryElementEdgeDist, 3: BoundaryElementNormalDist\\\hline
-
-\end{longtable}}
 \end{document}
\ No newline at end of file
diff --git a/doc/parameters/AdaptInfo.inc b/doc/parameters/AdaptInfo.inc
new file mode 100644
index 00000000..f4748bb4
--- /dev/null
+++ b/doc/parameters/AdaptInfo.inc
@@ -0,0 +1,10 @@
+AdaptInfo|Parameters for AdaptInfo(\texttt{[name]},\texttt{nComponents})
+start time|double|0.0|Initial time
+timestep|double|0.0|Time step size to be used
+end time|double|1.0|Final time
+max iteration|int|-1|maximal allowed number of iterations of the adaptive procedure; if maxIteration $\leq$ 0, no iteration bound is used
+max timestep iteration|int|30|Maximal number of iterations for choosing a timestep
+max time iteration|int|30|Maximal number of time iterations
+min timestep|double|0.0|Minimal step size
+max timestep|double|1.0|Maximal step size
+number of timesteps|int|0|Per default this value is 0 and not used. If it is set to a non-zero value, the computation of the stationary problem is done nTimesteps times with a fixed timestep.
\ No newline at end of file
diff --git a/doc/parameters/AdaptInfo_ScalContent.inc b/doc/parameters/AdaptInfo_ScalContent.inc
new file mode 100644
index 00000000..f6f8c217
--- /dev/null
+++ b/doc/parameters/AdaptInfo_ScalContent.inc
@@ -0,0 +1,9 @@
+|Parameters for AdaptInfo for each component separately. \texttt{(name):=(name)[$i$]} for $i=0,\ldots,$\texttt{nComponents}$-1$|\renewcommand{\basis}{{(name)[i]->}}
+tolerance|double|0.0|Tolerance for the (absolute or relative) error
+time tolerance|double|0.0|Time tolerance.
+coarsen allowed|int \{0,1\}|0|true if coarsening is allowed, false otherwise.
+refinement allowed|int \{0,1\}|1|true if refinement is allowed, false otherwise.
+refine bisections|int|1|parameter to tell the marking strategy how many bisections should be performed when an element is marked for refinement; usually the value is 1 or DIM
+coarsen bisections|int|1|parameter to tell the marking strategy how many bisections should be undone when an element is marked for coarsening; usually the value is 1 or DIM
+sum factor|double|1.0|factors to combine max and integral time estimate
+max factor|double|0.0|factors to combine max and integral time estimate
\ No newline at end of file
diff --git a/doc/parameters/AdaptInstationary.inc b/doc/parameters/AdaptInstationary.inc
new file mode 100644
index 00000000..20d39cd1
--- /dev/null
+++ b/doc/parameters/AdaptInstationary.inc
@@ -0,0 +1,9 @@
+AdaptInstationary|\texttt{(name)} ist the first argument of the constructor: AdaptInstationary(\texttt{(name)},\ldots)
+strategy|int|0|Strategy for choosing one timestep: strategy 0: Explicit strategy, strategy 1: Implicit strategy.
+time delta 1|double|0.7071|Parameter $\delta_1$ used in time step reduction
+time delta 2|double|1.4142|Parameter $\delta_2$ used in time step enlargement
+info|int|10|Info level (from AdaptBase)
+break when stable|int|0|If this parameter is 1 and the instationary problem is stable, hence the number of solver iterations to solve the problem is zero, the adaption loop will stop.
+time adaptivity debug mode|bool|0|In debug mode, the adapt loop will print information about timestep decreasing and increasing.
+queue->runtime|int|-1|Runtime of the queue (of the servers batch system) in seconds. If the problem runs on a computer/server without a time limited queue, the value is -1.
+queue->serialization filename|string|\_\_serialized\_problem.ser|Name of the file used to automatically serialize the problem.
\ No newline at end of file
diff --git a/doc/parameters/AdaptStationary.inc b/doc/parameters/AdaptStationary.inc
new file mode 100644
index 00000000..bac2a2ee
--- /dev/null
+++ b/doc/parameters/AdaptStationary.inc
@@ -0,0 +1,2 @@
+AdaptStationary|\texttt{(name)} ist the first argument of the constructor: AdaptStationary(\texttt{(name)},\ldots)
+info|int|10|Info level (from AdaptBase)
\ No newline at end of file
diff --git a/doc/parameters/HL_SignedDistTraverse.inc b/doc/parameters/HL_SignedDistTraverse.inc
new file mode 100644
index 00000000..97ecec69
--- /dev/null
+++ b/doc/parameters/HL_SignedDistTraverse.inc
@@ -0,0 +1,6 @@
+HL\_SignedDistTraverse|Reinitialization class HL\_SignedDistTraverse(\texttt{(name)},\ldots) with \texttt{(name)} as first argument in the constructor.
+tolerance|double||Tolerance for Hopf-Lax update iteration loop.
+maximal number of iteration steps|int||Maximal number of mesh iterations for Hopf-Lax update.
+Gauss-Seidel iteration|bool||Indicates whether Gauss-Seidel or Jacobi iteration is used. 0: Jacobi, 1: Gauss-Seidel
+infinity value|double||Initialization value ``inifinity'' for non-boundary vertices. Must be $>$ 1000
+boundary initialization|int||Define boundary initialization strategy. 0: BoundaryElementLevelSetDist, 1: BoundaryElementTopDist, 2: BoundaryElementEdgeDist, 3: BoundaryElementNormalDist
\ No newline at end of file
diff --git a/doc/parameters/Mesh.inc b/doc/parameters/Mesh.inc
new file mode 100644
index 00000000..0fa350d1
--- /dev/null
+++ b/doc/parameters/Mesh.inc
@@ -0,0 +1,8 @@
+Mesh|Mesh(\texttt{(name)},$\cdot$)
+macro file name|string||Filename for the macrofile
+value file name|string||Filename for value file. 
+periodic file|string||filename for periodic file
+check|int|1|Check the mesh structure
+preserve coarse dofs|bool|0|When an element is refined, not all dofs of the coarse element must be part of the new elements. An example are centered dofs when using higher lagrange basis functions. The midpoint dof of the parents element is not a dof of the both children elements. Therefore, the dof can be deleted. In some situation, e.g., when using multigrid techniques, it can be necessary to store this coarse dofs. Then this variable must be set to true. If false, the not required coarse dofs will be deleted.
+macro weights|string||file of file that contains weight number for each element. The higher the weigh, the more this element will be refined and thus more processors share this element.
+global refinements|int|0|Number of global refinements
\ No newline at end of file
diff --git a/doc/parameters/MeshDistributor.inc b/doc/parameters/MeshDistributor.inc
new file mode 100644
index 00000000..a5cb4649
--- /dev/null
+++ b/doc/parameters/MeshDistributor.inc
@@ -0,0 +1,11 @@
+Meshdistributor|The label \texttt{(name)} represents the string that is passed to the constructor of MeshDistributor.
+repartitioning|bool|0|En/disables repartitioning of the macro mesh, when derivation of mean number of DOFs exceeds a threshold value.
+repartition ith change|int|20|Sets number of mesh changes to wait before threshold check for repartitioning will be performed.
+partitioner|enum\{parmetis, zoltan, simple\}|parmetis|Defines the external tool that performs the partitioning of the, e.g.~by graph-partitioning. {\em simple} does not change the initial partitioning, i.e., its a random distribution of the macro elements to the processors.
+box partitioning|bool|0|If the macro mesh is globally refined from macro.stand.2d or macro.stand.3d, than the partitioner may compute the partitioning not based on triangled or tetrahedron, but on (composed) rectangles or boxes. Till now this is implemented only for 3D and Zoltan partitioner.
+log main rank|bool|0|If set to {\em true}, stdout output will be printed only by the main rank 0. Otherwise, all ranks stdout output will be created.
+pre refine|int|-1|If set to -1, the number of pre refinements for the macro mesh will be calculated for the given number of processors. This value can be overwritten by setting a value $>= 0$.
+output->serialization filename|string||Name of the parallel serialization file. If at least one stationary problem is serialized, this parameter must be set.
+input->serialization filename|string||Name of the parallel deserialization file. If at least one stationary problem is deserialized, this parameter must be set.
+debug output dir|string||Path name where debug data should be written to.
+write parallel debug file|bool|0|If set to {\em true}, the parallelization will create for each rank a file with the name ``mpi-dbg-\{rank-no\}.dat''. This files contain information about all DOF indices in ranks domain. They may be useful for debugging or some postprocessing steps.
\ No newline at end of file
diff --git a/doc/parameters/OEMSolver.inc b/doc/parameters/OEMSolver.inc
new file mode 100644
index 00000000..a92bda94
--- /dev/null
+++ b/doc/parameters/OEMSolver.inc
@@ -0,0 +1,9 @@
+OEMSolver|Standard parameters for OEMSolver|\renewcommand{\basis}{{(solver)->}}
+left precon|enum \{diag,ilu,ic,no\}|no|left preconditioner
+right precon|enum \{diag,ilu,ic,no\}|no|right preconditioner
+ell|int|1|additional solver parameter
+tolerance|double|0.0|Solver tolerance norm(r).
+relative tolerance|double|0.0|Relative solver tolerance norm(r)/norm(r0).
+max iteration|int|1000|maximal number of iterations.
+print cycle|int|100|Print cycle, after how many iterations the residuum norm is logged.
+info|int|0|info level during solving the system.
-- 
GitLab