From f92a1d42668f8c16ac4be4614643e0e34c4bc661 Mon Sep 17 00:00:00 2001 From: Kilian Weishaupt <kilian.weishaupt@iws.uni-stuttgart.de> Date: Mon, 26 Nov 2018 17:16:53 +0100 Subject: [PATCH] [handbook] Update structure and folder setup --- doc/handbook/4_newfoldersetup.tex | 21 ++++++++------ doc/handbook/4_structure.tex | 47 ++++++++++++++++++------------- 2 files changed, 39 insertions(+), 29 deletions(-) diff --git a/doc/handbook/4_newfoldersetup.tex b/doc/handbook/4_newfoldersetup.tex index c1700cd9a0..eff2a3c3c0 100644 --- a/doc/handbook/4_newfoldersetup.tex +++ b/doc/handbook/4_newfoldersetup.tex @@ -13,12 +13,15 @@ the build system there is a new one. \end{enumerate} \paragraph{Adding new Test Programs} -\noindent To add a test use the \texttt{add\_dumux\_test} macro. -The command has four arguments: -\begin{enumerate}[1)] - \item name of test (has to be unique) - \item name of executable - \item source file (*.cc) - \item command to be executed as test - either the executable or a - some helper script with arguments -\end{enumerate} +\noindent To add a test use the \texttt{add\_dune\_test} macro within the \texttt{CMakeList.txt} file. +The macro can be used with a variable amount of arguments. A simple call could look like this: + +\begin{lstlisting}[style=DumuxCode] +dune_add_test(NAME my_test + SOURCES mainfile.cc + CMD_ARGS my_test params.input) +\end{lstlisting} + +Here, we create an exectuable called \texttt{my\_test} from a source file \texttt{mainfile.cc}. +The name of the test will also be \texttt{my\_test} (has to be unique). The last argument specifies a command - here, we just run the executbable \texttt{my\_test} with an input file \texttt{params.input}. For more advanced uses of +the \texttt{add\_dune\_test} macro, have a look at the \texttt{test} directory. A complete documentation is given \href{https://www.dune-project.org/sphinx/core-2.5/}{here} diff --git a/doc/handbook/4_structure.tex b/doc/handbook/4_structure.tex index 649eb2f79a..0c1dfbf496 100644 --- a/doc/handbook/4_structure.tex +++ b/doc/handbook/4_structure.tex @@ -15,7 +15,6 @@ \texttt{*.cc}, the problem definition \texttt{*problem.hh}, and an input file \texttt{*.input}. If necessary, spatially dependent parameters are defined in \texttt{*spatialparameters.hh}. For more detailed descriptions of the tests, please have a look at the Doxygen documentation. -\item \texttt{tutorial}: contains the tutorials. \end{itemize} \begin{figure} @@ -71,20 +70,16 @@ [.\node[SecondLevel] {properties}; \node[ThirdLevel] {Base properties for all models.}; ] + [.\node[SecondLevel] {typetraits}; + \node[ThirdLevel] {Helper classes to query type information on compile-time. }; + ] ] [.\node[FirstLevel] {discretization}; -% [.\node[SecondLevel] {\emph{models}}; - \node[ThirdLevel] {Common methods for all discretizations: variable caching, advective and diffusive fluxes, upwinding...}; -% ] - [.\node[SecondLevel] {box}; - \node[ThirdLevel] {Specific files for the box finite volume method: - specifications for advective and diffusive fluxes...}; - ] - [.\node[SecondLevel] {cellcentered}; - \node[ThirdLevel] {Specific files for cell centered finite volume methods.}; - ] - [.\node[SecondLevel] {staggered}; - \node[ThirdLevel] {Specific files for staggered finite volume method.}; + \node[ThirdLevel] {Common methods for all discretizations (box, cell-centered TPFA/MPFA, staggered grid): variable caching, advective and diffusive fluxes, ...}; + ] + [.\node[FirstLevel] {flux}; + [\node[ThirdLevel] { + Collection of classes used to calculate advective and diffusive fluxes.}; ] ] [.\node[FirstLevel] {freeflow}; @@ -93,6 +88,11 @@ and eddy-viscosity based Reynolds-averaged Navier-Stokes turbulence models.}; ] ] + [.\node[FirstLevel] {geomechanics}; + [.\node[SecondLevel] {\emph{models}}; + \node[ThirdLevel] {Elastic and poro-elastic geomechanics models.}; + ] + ] [.\node[FirstLevel] {io}; \node[ThirdLevel] {Additional in-/output possibilities like restart files, gnuplot-interface, VTKWriter extensions and files for grid generation.}; @@ -126,28 +126,35 @@ ] [.\node[SecondLevel] {fluidstates}; \node[ThirdLevel] {Fluid states are responsible for caching the thermodynamic - configuration of a system at a given spatial and temporal position.}; + configuration of a fluid system at a given spatial and temporal position.}; ] [.\node[SecondLevel] {fluidsystems}; \node[ThirdLevel] {Fluid systems express the thermodynamic relations between quantities.}; ] + [.\node[SecondLevel] {solidstates}; + \node[ThirdLevel] {Solid states are responsible for caching the thermodynamic + configuration of a solid system at a given spatial and temporal position.}; + ] + [.\node[SecondLevel] {solidsystems}; + \node[ThirdLevel] {Solid systems express the thermodynamic properties of a solid.}; + ] [.\node[SecondLevel] {spatialparams}; \node[ThirdLevel] {Base class for all spatially dependent variables, like permeability and porosity. Includes spatial averaging routines. All other properties are specified in the specific files of the respective models.}; ] ] - [.\node[FirstLevel] {mixeddimension}; + [.\node[FirstLevel] {multidomain}; \node[ThirdLevel] { - Coupled model with different dimensions.}; + Common infrastructure to couple multiple domains, models or physics.}; [.\node[SecondLevel] {embedded}; - \node[ThirdLevel] {Embedded mixed dimension method.}; + \node[ThirdLevel] {Embedding of a lower-dimensional model into a higher-dimensional one}; ] [.\node[SecondLevel] {facet}; - \node[ThirdLevel] {Facet mixed dimension method.}; + \node[ThirdLevel] {Mixed-dimensional coupling at facets.}; ] - [.\node[SecondLevel] {glue}; - \node[ThirdLevel] {Grid glue backend.}; + [.\node[SecondLevel] {boundary}; + \node[ThirdLevel] {Coupling at the domain boundaries.}; ] ] [.\node[FirstLevel] {nonlinear}; -- GitLab