Commit 88b9cebd authored by Beatrix Becker's avatar Beatrix Becker
Browse files

[handbook] update to next

parent 551612b4
......@@ -24,8 +24,8 @@ Line of code 2 //!< Short comment on line of code 2 that will show in doxygen
//! Short comment on the following line (line of code 3) that will show in doxygen
Line of code 3
/*!
* Longer comment on line of code 4
* with several lines of length
* Longer comment on line of code 4
* with several lines of length
* that will show in doxygen
*/
Line of code 4
......@@ -33,18 +33,18 @@ Line of code 4
The third and fourth of the above shown options can also be used to document functions with
neither method parameters nor return value.\\
For doxygen to be able to group the \textbf{files} correctly, please add before the headerguard:
\begin{lstlisting}[style=DumuxCode]
\begin{lstlisting}[style=DumuxCode]
/*!
* \file
* \ingroup GroupName
* \brief A short description of the file.
*/
#ifndef HEADERGUARD
#define HEADERGUARD
\end{lstlisting}
For doxygen to be able to group the \textbf{classes} correctly, please add before each class:
\begin{lstlisting}[style=DumuxCode]
\begin{lstlisting}[style=DumuxCode]
/*!
* \ingroup GroupName
* \brief A short description of the class.
......@@ -59,7 +59,7 @@ see the file\\ \texttt{doc/doxygen/modules.txt} from the \texttt{dumux} module.\
Please add before each \textbf{function} with method parameters or return value:
\begin{lstlisting}[style=DumuxCode]
/*!
* \brief A short description of the function.
* \brief A short description of the function.
*
* Optional detailed description of the function
* over several lines.
......@@ -68,7 +68,7 @@ Please add before each \textbf{function} with method parameters or return value:
* \return returnName Very short description of returnName
*/
paramType functionName(paramType paramName)
{
{
...
return returnName
}
......
\section{Parameters in \Dumux}
\label{sc_parameterfiles}
Simulation parameters can be parsed to the program via a parameter file or the command line.
A list of all available parameters is provided in the Doxygen documentation
of the file \texttt{parameterfile}, which is accessible via \texttt{Modules -> Parameters}.
A list of all available parameters is provided in the Doxygen documentation: \texttt{Parameter List}.
After having run the example application from section \ref{quick-start-guide} you will
get the following output at the end of the simulation run
\footnote{If you did not get the output, restart the application the following way:
\texttt{./test{\_}box2p -PrintParameters true},
\texttt{./test{\_}2p{\_}incompressible{\_}tpfa test{\_}2p.input -PrintParameters true},
this will print the parameters once your simulation is finished}:
\begin{lstlisting}[style=Bash]
# Run-time specified parameters:
# Runtime-specified parameters used:
[ Grid ]
File = "./grids/test_2p.dgf"
[ Implicit ]
EnableJacobianRecycling = "1"
EnablePartialReassemble = "1"
Cells = "48 32"
UpperRight = "6 4"
[ Problem ]
Name = "lensbox"
EnableGravity = "true"
Name = "2p"
[ SpatialParams ]
LensLowerLeftX = "1.0"
LensLowerLeftY = "2.0"
LensUpperRightX = "4.0"
LensUpperRightY = "3.0"
[ TimeManager ]
LensLowerLeft = "1.0 2.0"
LensUpperRight = "4.0 3.0"
[ TimeLoop ]
DtInitial = "250"
TEnd = "3000"
# DEPRECATED run-time specified parameters:
PrintParameters = "1"
# Replace by:
[ TimeManager ]
PrintParameters = "1"
# Compile-time specified parameters:
# Default parameters used:
[ Implicit ]
EnableHints = "0"
MassUpwindWeight = "1"
MaxTimeStepDivisions = "10"
MobilityUpwindWeight = "1"
NumericDifferenceMethod = "1"
UseTwoPointFlux = "0"
UpwindWeight = "1.0"
[ LinearSolver ]
MaxIterations = "250"
PreconditionerRelaxation = "1"
ResidualReduction = "1e-06"
PreconditionerIterations = "1"
PreconditionerRelaxation = "1.0"
ResidualReduction = "1e-13"
Verbosity = "0"
[ Newton ]
WriteConvergence = "0"
[ Problem ]
EnableGravity = "1"
[ TimeManager ]
MaxTimeStepSize = "1.79769e+308"
EnableAbsoluteResidualCriterion = "false"
EnableResidualCriterion = "false"
EnableShiftCriterion = "true"
MaxAbsoluteResidual = "1e-5"
MaxRelativeShift = "1e-8"
MaxSteps = "18"
ResidualReduction = "1e-5"
SatisfyResidualAndShiftCriterion = "false"
TargetSteps = "10"
UseLineSearch = "false"
[ TimeLoop ]
MaxTimeStepDivisions = "10"
MaxTimeStepSize = "1e300"
[ Vtk ]
AddVelocity = "0"
# UNUSED parameters:
ImportantVariable = "1"
AddProcessRank = "true"
AddVelocity = "false"
# Unused parameters:
Grid.LowerLeft = "0 0"
\end{lstlisting}
A number of things can be learned:
\begin{itemize}
\item \emph{run-time} parameters can be changed without re-compiling
\item \emph{deprecated run-time} parameters will be removed in the next release
\item \emph{compile-time} parameters cannot be overwritten by the input file
\item \emph{unused} are not used by the simulation (maybe typo or wrong group)
\item \emph{default parameters} are set by default
\item \emph{unused} parameters are not used by the simulation (maybe typo or wrong group in input file)
\end{itemize}
All applications have a help message which you can read by giving
\texttt{--help} as a command line argument to the application.
For further details, please have a look for \texttt{Dune::ParameterTree}
For further details, please have a look at \texttt{Dune::ParameterTree}
in the \Dune documentation.
\section{Restart \Dumux Simulations}
\label{sc_restartsimulations}
Restart is currently not available in the \DumuxVersion~release. We are working on it!
You can restart the simulation
from a specific point in time or extend the simulation beyond the originally
end of simulation. What you need is a \texttt{*.drs} file (which contains the
all necessary restart information.
Then you can simply restart a simulation via
\begin{lstlisting}[style=Bash]
./test_program -TimeManager.Restart RESTART_TIME
\end{lstlisting}
To test restart behavior, use the \texttt{test\_box1p2cni} problem
in the \texttt{test/implicit/1p2c} folder.
You get the \texttt{RESTART\_TIME} from the name of your \texttt{.drs} file.
Restarting will only work when the exact time from an existing restart file is given.
If you need more restart files, you can change the frequency
by including the function into your problem:
\begin{lstlisting}[style=DumuxCode]
// Writes a restart file every 5th time step
bool shouldWriteRestartFile() const
{
return (this->timeManager().timeStepIndex() % 5 == 0);
}
\end{lstlisting}
% You can restart the simulation
% from a specific point in time or extend the simulation beyond the originally
% end of simulation. What you need is a \texttt{*.drs} file (which contains the
% all necessary restart information.
% Then you can simply restart a simulation via
% \begin{lstlisting}[style=Bash]
% ./test_program -TimeManager.Restart RESTART_TIME
% \end{lstlisting}
% To test restart behavior, use the \texttt{test\_box1p2cni} problem
% in the \texttt{test/implicit/1p2c} folder.
% You get the \texttt{RESTART\_TIME} from the name of your \texttt{.drs} file.
% Restarting will only work when the exact time from an existing restart file is given.
% If you need more restart files, you can change the frequency
% by including the function into your problem:
% \begin{lstlisting}[style=DumuxCode]
% // Writes a restart file every 5th time step
% bool shouldWriteRestartFile() const
% {
% return (this->timeManager().timeStepIndex() % 5 == 0);
% }
% \end{lstlisting}
......@@ -6,7 +6,7 @@
\item \texttt{bin}: binaries, e.g. used for the automatic testing, postprocessing, installation
\item \texttt{cmake}: the configuration options for building \Dumux
\item \texttt{doc}: files necessary for the Doxygen documentation and this handbook, and various logos
\item \texttt{dumux}: the main folder, containing the source files, see \ref{fig:dumux-structure}
\item \texttt{dumux}: the main folder, containing the source files. see \ref{fig:dumux-structure}
for a visualized structure. For more information on the models have a look at the
Doxygen documentation.
\item \texttt{test}: tests for each numerical model and some functionality.
......@@ -15,7 +15,7 @@
\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 described in Chapter \ref{chp:tutorial}.
\item \texttt{tutorial}: contains the tutorials.
\end{itemize}
\begin{figure}
......@@ -53,44 +53,45 @@
\Tree
[.\node[draw=dumuxYellow, ultra thick] {dumux};
[.\node[FirstLevel] {common};
[.\node[FirstLevel] {adaptive};
\node[ThirdLevel] {
Common files of the implicit and the sequential models:
time integration, start routine \texttt{start.hh}, the property system, ...};
Data transfer on new grid, adaptation indicators.};
]
[.\node[FirstLevel] {freeflow};
[.\node[SecondLevel] {\emph{models}};
\node[ThirdLevel] {Single-phase free flow models using Navier-Stokes
and algebraic turbulence models.
All models are discretized with the box-method.};
]
[.\node[FirstLevel] {assembly};
\node[ThirdLevel] {
Matrix assembler and residual for all discretization methods: cell centered, box, staggered grid.};
]
[.\node[FirstLevel] {geomechanics};
[.\node[SecondLevel] {\emph{models}};
\node[ThirdLevel] {Specific model files for coupling flow and rock mechanisms.};
[.\node[FirstLevel] {common};
\node[ThirdLevel] {
Common files of all models:
definition of boundary conditions, time stepping, splines, dimensionless numbers ...};
[.\node[SecondLevel] {geometry};
\node[ThirdLevel] {Common definitions of geometrical properties.};
]
[.\node[SecondLevel] {properties};
\node[ThirdLevel] {Base properties for all models.};
]
]
[.\node[FirstLevel] {implicit};
[.\node[FirstLevel] {discretization};
% [.\node[SecondLevel] {\emph{models}};
\node[ThirdLevel] {Common functionality of cell centered and box formulation:
assembling in localjacobian.hh, evaluation of partial derivative
in localresidual.hh, base classes for model and problem definition.};
\node[ThirdLevel] {Common methods for all discretizations: variable caching, advective and diffusive fluxes, upwinding...};
% ]
[.\node[SecondLevel] {adaptive};
\node[ThirdLevel] {Contains the methods for grid adaption.};
]
[.\node[SecondLevel] {box};
\node[ThirdLevel] {Specific files for the gerenal fully implicit boxmethod:
assembler, dual mesh geometry in fvelementgeometry.hh,
base classes for model and problem definition.};
\node[ThirdLevel] {Specific files for the gerenal fully implicit box method:
specifications for advective and diffusive fluxes...};
]
[.\node[SecondLevel] {cellcentered};
\node[ThirdLevel] {Specific files for fully implicit cell centered method: assembler,
mesh geometry in fvelementgeometry.hh, base classes for model and
problem definition.};
\node[ThirdLevel] {Specific files for fully implicit cell centered method (mpfa and tpfa).};
]
[.\node[SecondLevel] {cornerpoint};
\node[ThirdLevel] {Files need for handling cornerpoint grids.};
[.\node[SecondLevel] {staggered};
\node[ThirdLevel] {Specific files for staggered grid.};
]
]
[.\node[FirstLevel] {freeflow};
[.\node[SecondLevel] {\emph{models}};
\node[ThirdLevel] {Single-phase free flow models using Navier-Stokes
and algebraic turbulence models.
All models are discretized with the box-method.};
]
]
[.\node[FirstLevel] {io};
......@@ -122,7 +123,7 @@
and density.};
]
[.\node[SecondLevel] {fluidmatrixint.};
\node[ThirdLevel] {Constitutive relationships (e.g. capillary pressures, relative permeabilities};
\node[ThirdLevel] {Constitutive relationships (e.g. capillary pressures, relative permeabilities)};
]
[.\node[SecondLevel] {fluidstates};
\node[ThirdLevel] {Fluid states are responsible for caching the thermodynamic
......@@ -137,16 +138,17 @@
specified in the specific files of the respective models.};
]
]
[.\node[FirstLevel] {multidomain};
[.\node[SecondLevel] {\emph{models}};
\node[ThirdLevel] {Localoperators, which implement the coupling and communication
between models in different subdomains, and model specific properties.};
[.\node[FirstLevel] {mixeddimension};
\node[ThirdLevel] {
Mixeddimension model.};
[.\node[SecondLevel] {embedded};
\node[ThirdLevel] {Embedded.};
]
[.\node[SecondLevel] {common};
\node[ThirdLevel] {The multidomain wrappers, generic functions, and properties.};
[.\node[SecondLevel] {facet};
\node[ThirdLevel] {Facet.};
]
[.\node[SecondLevel] {couplinglocalres.};
\node[ThirdLevel] {The localresiduals extending the baselocalresiduals for coupling.};
[.\node[SecondLevel] {glue};
\node[ThirdLevel] {Glue.};
]
]
[.\node[FirstLevel] {nonlinear};
......@@ -157,8 +159,7 @@
]
[.\node[FirstLevel] {porousmediumflow};
[.\node[SecondLevel] {\emph{models}};
\node[ThirdLevel] {Specific model definition for porous medium flow simulations,
in both \texttt{implicit} or \texttt{sequential} formulation:
\node[ThirdLevel] {Specific definition for porous medium flow simulations for all models:
implementation of equations,
model specific properties and indices.};
]
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment