/*!
 *\file
 *\ingroup Parameter
 *
 *\brief List of currently useable run-time parameters
 *
 * The listed run-time parameters are available in general,
 * but we point out that a certain model might not be able
 * to use every parameter!
 *
 * | Group                    | Parameter                                | Type                              | Default Value                      | Explanation |
 * | :-                       | :-                                       | :-                                | :-                                 | :-         |
 * | -                        | A00                                      | Scalar                            | 0.0                                | A coefficient for capillary-pressure-saturation-interfacial-area relations described by a polynomial of second order. |
 * | -                        | A01                                      | Scalar                            | -                                  | A coefficient for capillary-pressure-saturation-interfacial-area relations described by a polynomial of second order. |
 * | -                        | A02                                      | Scalar                            | -                                  | A coefficient for capillary-pressure-saturation-interfacial-area relations described by a polynomial of second order. |
 * | -                        | A1                                       | Scalar                            | -                                  | A coefficient for capillary-pressure-saturation-interfacial-area relations described by a polynomial of second order. |
 * | -                        | A10                                      | Scalar                            | -                                  | A coefficient for capillary-pressure-saturation-interfacial-area relations described by a polynomial of second order. |
 * | -                        | A11                                      | Scalar                            | -                                  | A coefficient for capillary-pressure-saturation-interfacial-area relations described by a polynomial of second order. |
 * | -                        | A2                                       | Scalar                            | -                                  | A coefficient for capillary-pressure-saturation-interfacial-area relations described by a polynomial of second order. |
 * | -                        | A20                                      | Scalar                            | -                                  | A coefficient for capillary-pressure-saturation-interfacial-area relations described by a polynomial of second order. |
 * | -                        | A3                                       | Scalar                            | -                                  | A coefficient for capillary-pressure-saturation-interfacial-area relations described by a polynomial of second order. |
 * | -                        | BrooksCoreyLambda                        | Scalar                            | -                                  | Parameter lambda in Brooks Corey. |
 * | -                        | BrooksCoreyPcEntry                       | Scalar                            | -                                  | Entry capillary pressure in Brooks Corey. |
 * | -                        | BrooksCoreyPcLowSweThreshold             | Scalar                            | 0.01                               | For effective wetting phase saturations below this value, capillary pressure is given by a regularized capillary pressure-saturation curve. |
 * | -                        | HeatpipeLawGamma                         | Scalar                            | -                                  | Parameter gamma in heat pipe law. |
 * | -                        | HeatpipeLawP0                            | Scalar                            | -                                  | Parameter p0 in heat pipe law. |
 * | -                        | KrnData                                  | std::vector<Scalar>               | -                                  | Relative permeability for the non-wetting phase data for spline material law. |
 * | -                        | KrwData                                  | std::vector<Scalar>               | -                                  | Relative permeability for the wetting phase data for spline material law. |
 * | -                        | LinearPcEntry                            | Scalar                            | -                                  | Entry capillary pressure for the linear capillary pressure and relative permeability <-> saturation relations. |
 * | -                        | LinearPcMax                              | Scalar                            | -                                  | Maximum capillary pressure for the linear capillary pressure and relative permeability <-> saturation relations. |
 * | -                        | ParameterFile                            | std::string                       | executablename.input               | Command line argument: overwrite parameter file if one was specified on the command line |
 * | -                        | ParkerVanGenuchtenAlpha                  | Scalar                            | -                                  | Shape parameter \f$\mathrm{\alpha}\f$ \f$\mathrm{[1/Pa]}\f$ in Parker/vanGenuchten laws. |
 * | -                        | ParkerVanGenuchtenBetaGn                 | Scalar                            | 1.0                                | Scaling parameter \f$\mathrm{betaGn}\f$ \f$\mathrm{[-]}\f$ in Parker/vanGenuchten laws. |
 * | -                        | ParkerVanGenuchtenBetaGw                 | Scalar                            | 1.0                                | Scaling parameter \f$\mathrm{betaGw}\f$ \f$\mathrm{[-]}\f$ in Parker/vanGenuchten laws. |
 * | -                        | ParkerVanGenuchtenBetaNw                 | Scalar                            | 1.0                                | Scaling parameter \f$\mathrm{betaNw}\f$ \f$\mathrm{[-]}\f$ in Parker/vanGenuchten laws. |
 * | -                        | ParkerVanGenuchtenKrgLowSteThreshold     | Scalar                            | 1e-3                               | The threshold saturation below which the relative permeability of the nonwetting phase gets regularized in Parker/vanGenuchten laws. |
 * | -                        | ParkerVanGenuchtenKrnLowSweThreshold     | Scalar                            | 0.1                                | The threshold saturation below which the relative permeability of the nonwetting phase gets regularized in Parker/vanGenuchten laws. |
 * | -                        | ParkerVanGenuchtenKrwHighSweThreshold    | Scalar                            | 0.9                                | The threshold saturation above which the relative permeability of the wetting phase gets regularized in Parker/vanGenuchten laws. |
 * | -                        | ParkerVanGenuchtenN                      | Scalar                            | -                                  | Shape parameter \f$\mathrm{n}\f$ \f$\mathrm{[-]}\f$ in Parker/vanGenuchten laws. |
 * | -                        | ParkerVanGenuchtenPcHighSweThreshold     | Scalar                            | 0.99                               | Threshold saturation above which the capillary pressure is regularized in Parker/vanGenuchten laws. |
 * | -                        | ParkerVanGenuchtenPcLowSweThreshold      | Scalar                            | 0.01                               | Threshold saturation below which the capillary pressure is regularized in Parker/vanGenuchten laws. Most problems are very sensitive to this value (e.g. making it smaller might result in very high capillary pressures). |
 * | -                        | ParkerVanGenuchtenRegardSnrForKrn        | bool                              | false                              | In Parker/vanGenuchten laws regard the relative non-wetting saturation in the permeability of the non-wetting phase, see Helmig1997. |
 * | -                        | PcData                                   | std::vector<Scalar>               | -                                  | Capillary pressure data for spline material law. |
 * | -                        | PcMax                                    | Scalar                            | -                                  | Maximum capillary pressure for calculating the interfacial area between the nonwetting and wetting phase as in Nuske 2014 (https://elib.uni-stuttgart.de/handle/11682/614, page 60) \cite nuske2014. |
 * | -                        | Restart                                  | double                            | -                                  | The restart time stamp for a previously interrupted simulation |
 * | -                        | Sgr                                      | Scalar                            | 0.0                                | Residual gas phase saturation. |
 * | -                        | SmoothedLinearLawKrHighS                 | Scalar                            | -                                  | If the saturation is higher than this value, smoothed linear material law changes to a spline for the relative permeability. |
 * | -                        | SmoothedLinearLawKrLowS                  | Scalar                            | -                                  | If the saturation is lower than this value, smoothed linear material law changes to a spline for the relative permeability. |
 * | -                        | SmoothedLinearLawPcMax                   | Scalar                            | -                                  | The maximum capillary pressure used in the smoothed linear law. |
 * | -                        | SmoothedLinearLawPe                      | Scalar                            | -                                  | The entry pressure used in the smoothed linear law. |
 * | -                        | Snr                                      | Scalar                            | 0.0                                | Residual non-wetting phase saturation. |
 * | -                        | SplineNumSwSamples                       | Scalar                            | 30                                 | Number of sample points from which the wetting saturation spline is built. |
 * | -                        | SplineSweInterval                        | std::array<Scalar, 2>             | std::array<Scalar, 2> default{{ 0.01, 1.0 }} | Effective wetting saturation interval for spline material law. |
 * | -                        | SwData                                   | std::vector<Scalar>               | -                                  | Wetting saturation pressure data for spline material law. |
 * | -                        | Swr                                      | Scalar                            | 0.0                                | Residual wetting phase saturation. |
 * | -                        | ThreePNAPLAdsorptionKdNAPL               | Scalar                            | -                                  | kd parameter for the adsportion of NAPL in a 3 phase simulation. |
 * | -                        | ThreePNAPLAdsorptionRhoBulk              | Scalar                            | -                                  | bulk density for calculating the adsorption of NAPL in a 3 phase simulation. |
 * | -                        | VanGenuchtenAlpha                        | Scalar                            | -                                  | Shape parameter \f$\mathrm{\alpha}\f$ \f$\mathrm{[1/Pa]}\f$ in vanGenuchten laws. |
 * | -                        | VanGenuchtenConstantRegularization       | bool                              | false                              | If specified, a constant value is used for regularization in Parker/vanGenuchten. |
 * | -                        | VanGenuchtenKrnLowSweThreshold           | Scalar                            | 0.1                                | The threshold saturation below which the relative permeability of the nonwetting phase gets regularized in vanGenuchten laws. |
 * | -                        | VanGenuchtenKrwHighSweThreshold          | Scalar                            | 0.9                                | The threshold saturation above which the relative permeability of the wetting phase gets regularized in vanGenuchten laws. |
 * | -                        | VanGenuchtenL                            | Scalar                            | 0.5                                | Shape parameter \f$\mathrm{m}\f$ \f$\mathrm{[-]}\f$ in vanGenuchten laws. |
 * | -                        | VanGenuchtenN                            | Scalar                            | -                                  | Shape parameter \f$\mathrm{n}\f$ \f$\mathrm{[-]}\f$ in vanGenuchten laws. |
 * | -                        | VanGenuchtenPcHighSweThreshold           | Scalar                            | 0.99                               | Threshold saturation above which the capillary pressure is regularized in vanGenuchten laws. |
 * | -                        | VanGenuchtenPcLowSweThreshold            | Scalar                            | 0.01                               | Threshold saturation below which the capillary pressure is regularized in vanGenuchten laws. |
 * | \b Adaptive              | BCRefinementThreshold                    | Scalar                            | 1e-10                              | The threshold above which fluxes are treated as non-zero |
 * | Adaptive                 | MaxLevel                                 | int                               | -                                  | The maximum refinement level |
 * | Adaptive                 | MinLevel                                 | int                               | -                                  | The minimum refinement level |
 * | Adaptive                 | RefineAtDirichletBC                      | bool                              | true                               | Whether to refine at Dirichlet boundaries |
 * | Adaptive                 | RefineAtFluxBC                           | bool                              | true                               | Whether to refine at Neumann/Robin boundaries |
 * | Adaptive                 | RefineAtSource                           | bool                              | true                               | Whether to refine where source terms are specified |
 * | \b Assembly              | NumericDifference.BaseEpsilon            | Scalar                            | 1e-10                              | The basic numeric epsilon used in the differentiation  for deflecting primary variables |
 * | Assembly                 | NumericDifference.PriVarMagnitude        | NumEqVector                       | NumEqVector(-1)                    | The magnitude of the primary variables used for finding a good numeric epsilon for deflecting primary variables. |
 * | Assembly                 | NumericDifferenceMethod                  | int                               | 1                                  | The numeric difference method (1: foward differences (default), 0: central differences, -1: backward differences) |
 * | \b BinaryCoefficients    | GasDiffCoeff                             | Scalar                            | -                                  | The binary diffusion coefficient in gas |
 * | BinaryCoefficients       | LiquidDiffCoeff                          | Scalar                            | -                                  | The binary diffusion coefficient in liquid |
 * | \b Brine                 | Salinity                                 | Scalar                            | -                                  | The salinity |
 * | \b Component             | GasDensity                               | Scalar                            | -                                  | The density of the gas |
 * | Component                | GasDiffusionCoefficient                  | Scalar                            | 1.0                                | Binary diffusion coefficient for molecular water and the constant component |
 * | Component                | GasKinematicViscosity                    | Scalar                            | -                                  | The gas kinematic viscosity |
 * | Component                | HenryComponentInWater                    | Scalar                            | 1.0                                | Henry coefficient for the constant component in liquid water |
 * | Component                | HenryWaterInComponent                    | Scalar                            | 1.0                                | Henry coefficient for water in the constant component |
 * | Component                | LiquidDensity                            | Scalar                            | -                                  | The density of the liquid |
 * | Component                | LiquidDiffusionCoefficient               | Scalar                            | 1.0                                | Diffusion coefficient for the constant component in liquid water |
 * | Component                | LiquidKinematicViscosity                 | Scalar                            | -                                  | The liquid kinematic viscosity |
 * | Component                | MolarMass                                | Scalar                            | -                                  | The mass in one mole of the component |
 * | Component                | Name                                     | std::string                       | component                          | A human readable name for the component |
 * | Component                | SolidDensity                             | Scalar                            | -                                  | The density of the component in solid state |
 * | Component                | SolidHeatCapacity                        | Scalar                            | -                                  | Specific isobaric heat capacity of the component as a solid |
 * | Component                | SolidThermalConductivity                 | Scalar                            | -                                  | Thermal conductivity of the component as a solid |
 * | \b ElectroChemistry      | ActivationBarrier                        | Scalar                            | -                                  | The activation barrier to calculate the exchange current density.  |
 * | ElectroChemistry         | CellVoltage                              | Scalar                            | -                                  | The voltage of the fuel cell. |
 * | ElectroChemistry         | MaxIterations                            | int                               | -                                  | The maximum number of iterations in iteatively (Newton solver) calculating the current density. |
 * | ElectroChemistry         | NumElectrons                             | Scalar                            | -                                  | The number of electrons for the calculation of activation and concentration losses.  |
 * | ElectroChemistry         | RefCurrentDensity                        | Scalar                            | -                                  | The reference current density to calculate the exchange current density. |
 * | ElectroChemistry         | RefO2PartialPressure                     | Scalar                            | -                                  | The reference oxygen partial pressure. |
 * | ElectroChemistry         | RefTemperature                           | Scalar                            | -                                  | The reference temperature to calculate the exchange current density. |
 * | ElectroChemistry         | ReversibleVoltage                        | Scalar                            | -                                  | The reversible voltage. |
 * | ElectroChemistry         | SpecificResistance                       | Scalar                            | -                                  | The specific resistance, see \cite A3:acosta:2006. |
 * | ElectroChemistry         | SurfaceIncreasingFactor                  | Scalar                            | -                                  | The surface-increasing factor to calculate the exchange current density. |
 * | ElectroChemistry         | ThermoneutralVoltage                     | Scalar                            | -                                  | Thermoneutral voltage for the non-isothermal electrochemistry model. |
 * | ElectroChemistry         | TransferCoefficient                      | Scalar                            | -                                  | The transport coefficient. |
 * | ElectroChemistry         | TransportNumberH20                       | Scalar                            | -                                  | The water transport number to calculate the osmotic term in the membrane. |
 * | ElectroChemistry         | pO2Inlet                                 | Scalar                            | -                                  | The oxygen pressure at the inlet. |
 * | \b FacetCoupling         | Xi                                       | Scalar                            | 1.0                                | The xi factor for coupling conditions |
 * | \b Flux                  | DifferencingScheme                       | std::string                       | Minmod                             | Choice of a staggered TVD method |
 * | Flux                     | TvdApproach                              | std::string                       | Uniform                            | If you use a staggered grid with a TVD approach: For a uniform grid "Uniform" is fine. For a nonuniform grid decide between "Li" and "Hou" (two literature-based methods). |
 * | Flux                     | UpwindWeight                             | Scalar                            | -                                  | Upwind weight in staggered upwind method |
 * | \b FluxLimiterLET        | LowerWaterDepth                          | Scalar                            | 1e-5                               | The lower water depth |
 * | FluxLimiterLET           | UpperWaterDepth                          | Scalar                            | 1e-3                               | The upper water depth |
 * | FluxLimiterLET           | UpwindFluxLimiting                       | bool                              | false                              | If this is set true, the upwind water depth from the flux direction is used. This can improve stability. |
 * | \b FluxOverSurface       | Verbose                                  | bool                              | false                              | For enabling or disabling the console output |
 * | \b Forchheimer           | MaxIterations                            | std::size_t                       | 30                                 | The maximum number of Newton iterations for solving the Forchheimer equation |
 * | Forchheimer              | NewtonTolerance                          | Scalar                            | 1e-12                              | The error tolerance in the Newton method for solving the Forchheimer equation |
 * | \b FreeFlow              | EnableUnsymmetrizedVelocityGradient      | bool                              | false                              | For enabling unsymmetrized velocity gradient. If false consider the shear stress caused by the gradient of the velocities normal to our face of interest. |
 * | Freeflow                 | EnableUnsymmetrizedVelocityGradientForBeaversJoseph | bool                   | false                              | For enabling unsymmetrized velocity gradient for the Beavers Joseph coupling condition. If true and if the current scvf is on a boundary and if a Dirichlet BC for the pressure or a BJ condition for the slip velocity is set there, assume a tangential velocity gradient of zero along the lateral face. |
 * | \b Grid                  | Angular0/1/2                             | std::vector<Scalar>               | -                                  | min/max value for angular coordinate. Cake grids can be created by either specifying Radial,Angular or Axial in all coordinate directions. |
 * | Grid                     | Axial0/1/2                               | std::vector<Scalar>               | -                                  | min/max value for axial coordinate. Cake grids can be created by either specifying Radial,Angular or Axial in all coordinate directions. |
 * | Grid                     | BoundarySegments                         | bool                              | false                              | For the dune gmsh reader: Whether to insert boundary segments into the grid |
 * | Grid                     | CellType                                 | std::string                       | Cube                               | "Cube" or "Simplex" to be used for structured grids |
 * | Grid                     | Cells                                    | std::array<int, dim>              | -                                  | The number of elements in a structured uniform grid in x, y and z direction |
 * | Grid                     | Cells0                                   | std::vector<int>                  | -                                  | For a grid with zones, number of cells of the leftmost zone, number of cells of the second-leftmost zone, ..., number of cells of the rightmost zone, spaceseparated. (assuming x-axis points to the right) |
 * | Grid                     | Cells1                                   | std::vector<int>                  | -                                  | Spaceseparated list of the number of cells per zone in y-direction (see more details for x-direction in Cells1). |
 * | Grid                     | Cells2                                   | std::vector<int>                  | -                                  | Spaceseparated list of the number of cells per zone in z-direction (see more details for x-direction in Cells1). |
 * | Grid                     | ClosureType                              | std::string                       | Green                              | Decide whether to add a green closure to locally refined grid sections or not: "Green" (Standard red/green refinement) or "None" (No closure, results in nonconforming meshes) |
 * | Grid                     | Coordinates                              | std::vector<ctype>                | -                                  | To construct a 1D grid with just a coordinates vector |
 * | Grid                     | DomainMarkers                            | bool                              | false                              | Whether the grid managers work with domain markers. |
 * | Grid                     | File                                     | std::string                       | -                                  | A DGF or gmsh file to load from |
 * | Grid                     | GmshPhysicalEntityThreshold              | std::size_t                       | 0                                  |  |
 * | Grid                     | Grading0                                 | std::vector<Scalar>               | -                                  | For a grid with zones, grading factors for the x-zones. 1.0 means all cells within this zone have equal extension in x-direction. Negative factors are possible. |
 * | Grid                     | Grading1                                 | std::vector<Scalar>               | -                                  | For a grid with zones, grading factors for the y-zones. |
 * | Grid                     | Grading2                                 | std::vector<Scalar>               | -                                  | For a grid with zones, grading factors for the z-zones. |
 * | Grid                     | Image                                    | std::string                       | -                                  | The image file if the sub grid is constructed from a raster image |
 * | Grid                     | KeepPhysicalOverlap                      | bool                              | true                               | Whether to keep the physical overlap in physical size or in number of cells upon refinement |
 * | Grid                     | LeftBoundary                             | Scalar                            | 0.0                                | The start coordinate of a 1D grid |
 * | Grid                     | LowerLeft                                | GlobalPosition                    | -                                  | The lowerLeft corner of a structured grid |
 * | Grid                     | Marker                                   | bool                              | 0                                  | To customize the subgrid generation. |
 * | Grid                     | Overlap                                  | int                               | 1                                  | The overlap size in cells |
 * | Grid                     | Partitioning                             | std::array<int, dim>              | -                                  | A non-standard load-balancing, number of processors per direction |
 * | Grid                     | Periodic                                 | std::bitset<dim>                  | std::bitset<dim>()                 | True or false for each direction |
 * | Grid                     | Positions0                               | std::vector<ctype>                | -                                  | For a grid with zones, x-positions of the left of the leftmost zone followed by the right of all zones (from left to right). (assuming x-axis points to the right) |
 * | Grid                     | Positions1                               | std::vector<ctype>                | -                                  | For a grid with zones, y-positions for zoning in y (more details in Positions0 for x). |
 * | Grid                     | Positions2                               | std::vector<ctype>                | -                                  | For a grid with zones, z-positions for zoning in z (more details in Positions0 for x).|
 * | Grid                     | Radial0/1/2                              | std::vector<Scalar>               | -                                  | min/max value for radial coordinate. Cake grids can be created by either specifying Radial,Angular or Axial in all coordinate directions. |
 * | Grid                     | Refinement                               | int                               | 0                                  | The number of global refines to perform |
 * | Grid                     | RefinementType                           | std::string                       | Local                              | e.g. UGGrid "Local" (New level consists only of the refined elements and the closure) or "Copy" (New level consists of the refined elements and the unrefined ones, too) |
 * | Grid                     | RightBoundary                            | Scalar                            | -                                  | The end coordinate of a 1D grid |
 * | Grid                     | UpperRight                               | GlobalPosition                    | -                                  | The upperright corner of a structured grid |
 * | Grid                     | Verbosity                                | bool                              | false                              | Whether the grid construction should output to standard out |
 * | \b GridAdapt             | AdaptionInterval                         | int                               | 1                                  | The time step interval for adaption |
 * | GridAdapt                | CoarsenTolerance                         | Scalar                            | 0.001                              | Coarsening threshold to decide whether a cell should be marked for coarsening |
 * | GridAdapt                | EnableInitializationIndicator            | bool                              | false                              | Whether to use initial grid adaption |
 * | GridAdapt                | EnableMultiPointFluxApproximation        | bool                              | true                               | Whether to enable mpfa on hanging nodes |
 * | GridAdapt                | MaxInteractionVolumes                    | int                               | 4                                  | The maximum number of interaction volumes considered |
 * | GridAdapt                | MaxLevel                                 | int                               | 1                                  | The maximum allowed level |
 * | GridAdapt                | MinLevel                                 | int                               | 0                                  | The minimum allowed level |
 * | GridAdapt                | RefineAtDirichletBC                      | bool                              | false                              | To switch for refinement at Dirichlet BCs |
 * | GridAdapt                | RefineAtFluxBC                           | bool                              | false                              | To switch for refinement at Neumann BCs |
 * | GridAdapt                | RefineAtSource                           | bool                              | false                              | To switch for refinement at sources |
 * | GridAdapt                | RefineTolerance                          | Scalar                            | 0.05                               | Coarsening threshold to decide whether a cell should be marked for refinement |
 * | \b Impet                 | CFLFactor                                | Scalar                            | 1.0                                | Scalar factor for additional scaling of the time step |
 * | Impet                    | DtVariationRestrictionFactor             | Scalar                            | std::numeric_limits<Scalar>::max() |  |
 * | Impet                    | EnableVolumeIntegral                     | bool                              | true                               | Whether to regard volume integral in pressure equation |
 * | Impet                    | ErrorTermFactor                          | Scalar                            | 0.5                                | Scaling factor for the error term |
 * | Impet                    | ErrorTermLowerBound                      | Scalar                            | 0.1                                | Lower threshold used for the error term evaluation |
 * | Impet                    | ErrorTermUpperBound                      | Scalar                            | 0.9                                | Upper threshold used for the error term evaluation |
 * | Impet                    | IterationFlag                            | int                               | 0                                  | The flag to switch the iteration type of the IMPET scheme |
 * | Impet                    | IterationNumber                          | int                               | 2                                  | The number of iterations if IMPET iterations are enabled by IterationFlag |
 * | Impet                    | MaximumDefect                            | Scalar                            | 1e-5                               | The maximum defect if IMPET iterations are enabled by IterationFlag |
 * | Impet                    | PorosityThreshold                        | Scalar                            | 1e-6                               | The threshold for the porosity |
 * | Impet                    | RelaxationFactor                         | Scalar                            | 1.0                                | 1 = new solution is new solution, 0 = old solution is new solution |
 * | Impet                    | RestrictFluxInTransport                  | int                               | 0                                  | Restriction of flux on new pressure field if direction reverses from the pressure equation |
 * | Impet                    | SubCFLFactor                             | Scalar                            | 1.0                                | Scalar factor for scaling of local sub-time-step |
 * | Impet                    | SwitchNormals                            | bool                              | false                              | Whether to switch direction of face normal vectors |
 * | \b KEpsilon              | EnableZeroEqScaling                      | bool                              | true                               | Whether to match the potential zeroeq eddy viscosities for two-layer model at the matching point |
 * | KEpsilon                 | YPlusThreshold                           | Scalar                            | 30                                 | yPlus below this value is considered as near-wall region |
 * | \b KOmega                | EnableDissipationLimiter                 | bool                              | true                               | Whether to enable the dissipation limiter |
 * | KOmega                   | EnableProductionLimiter                  | bool                              | false                              | Whether to enable the production limiter |
 * | \b LinearSolver          | GMResRestart                             | int                               | 10                                 | cycles before restarting |
 * | LinearSolver             | MaxIterations                            | int                               | 250                                | The maximum iterations of the linear solver |
 * | LinearSolver             | MaxOrthogonalizationVectors              | int                               | 10                                 | Maximal number of previous vectors which are orthogonalized against the new search direction |
 * | LinearSolver             | Preconditioner.AmgAccumulationMode       | std::string                       | -                                  | If and how data is agglomerated on coarser level to fewer processors. ("atOnce": do agglomeration once and to one process; "successive": Multiple agglomerations to fewer proceses until all data is on one process; "none": Do no agglomeration at all and solve coarse level iteratively). |
 * | LinearSolver             | Preconditioner.AmgAdditive               | bool                              | -                                  | Whether to use additive multigrid. |
 * | LinearSolver             | Preconditioner.AmgAlpha                  | double                            | -                                  | Scaling value for marking connections as strong. |
 * | LinearSolver             | Preconditioner.AmgBeta                   | double                            | -                                  | Threshold for marking nodes as isolated. |
 * | LinearSolver             | Preconditioner.AmgCoarsenTarget          | int                               | -                                  | Maximum number of unknowns on the coarsest level. |
 * | LinearSolver             | Preconditioner.AmgCriterionSymmetric     | bool                              | true                               | If true use SymmetricCriterion (default), else UnSymmetricCriterion |
 * | LinearSolver             | Preconditioner.AmgDefaultAggregationDimension| std::size_t                   | std::to_string(dimension)          | Dimension of the problem (used for setting default aggregate size). |
 * | LinearSolver             | Preconditioner.AmgDefaultAggregationSizeMode | std::string                   | isotropic                          | Whether to set default values depending on isotropy of problem uses parameters "defaultAggregationDimension" and "maxAggregateDistance" (isotropic: For and isotropic problem; anisotropic: for an anisotropic problem). |
 * | LinearSolver             | Preconditioner.AmgDiagonalRowIndex       | int                               | 0                                  | The index to use for the diagonal strength (default 0) if this is i and strengthMeasure is "diagonal", then block[i][i] will be used when determining strength of connection. |
 * | LinearSolver             | Preconditioner.AmgGamma                  | std::size_t                       | -                                  | 1 for V-cycle, 2 for W-cycle. |
 * | LinearSolver             | Preconditioner.AmgMaxAggregateDistance   | std::size_t                       | 2                                  | Maximum distance in an aggregte (in term of minimum edges needed to travel. one vertex to another within the aggregate). |
 * | LinearSolver             | Preconditioner.AmgMaxAggregateSize       | std::size_t                       | -                                  | Maximum number of vertices an aggregate should consist of. |
 * | LinearSolver             | Preconditioner.AmgMaxLevel               | int                               | 100                                | Maximum number of levels allowed in the hierarchy. |
 * | LinearSolver             | Preconditioner.AmgMinAggregateSize       | std::size_t                       | -                                  | Minimum number of vertices an aggregate should consist of. |
 * | LinearSolver             | Preconditioner.AmgMinCoarseningRate      | int                               | -                                  | Coarsening will stop if the rate is below this threshold. |
 * | LinearSolver             | Preconditioner.AmgPostSmoothingSteps     | std::size_t                       | -                                  | Number of postsmoothing steps. |
 * | LinearSolver             | Preconditioner.AmgPreSmoothingSteps      | std::size_t                       | -                                  | Number of presmoothing steps. |
 * | LinearSolver             | Preconditioner.AmgProlongationDampingFactor | double                         | -                                  | Damping factor for the prolongation. |
 * | LinearSolver             | Preconditioner.AmgSmootherIterations     | int                               | -                                  | The number of iterations to perform.|
 * | LinearSolver             | Preconditioner.AmgSmootherRelaxation     | typename SmootherArgs::RelaxationFactor| -                             | The relaxation factor |
 * | LinearSolver             | Preconditioner.AmgStrengthMeasure        | std::string                       | diagonal                           | What conversion to use to convert a matrix block to a scalar when determining strength of connection: diagonal (use a diagonal of row diagonalRowIndex, class Diagonal, default); rowSum (rowSum norm), frobenius (Frobenius norm); one (use always one and neglect the actual entries). |
 * | LinearSolver             | Preconditioner.DetermineRelaxationFactor | bool                              | true                               | Whether within the Uzawa algorithm the parameter omega is the relaxation factor is estimated by use of AMG |
 * | LinearSolver             | Preconditioner.DirectSolverForA          | bool                              | false                              | Whether within the Uzawa algorithm a direct solver is used for inverting the 00 matrix block. |
 * | LinearSolver             | Preconditioner.ILUOrder                  | int                               | 0                                  | The order of the ILU decomposition. |
 * | LinearSolver             | Preconditioner.ILUResort                 | bool                              | false                              | true if a resort of the computed ILU for improved performance should be done. |
 * | LinearSolver             | Preconditioner.Iterations                | int                               | 1                                  | Usually specifies the number of times the preconditioner is applied |
 * | LinearSolver             | Preconditioner.PowerLawIterations        | std::size_t                       | 5                                  | Number of iterations done to estimate the relaxation factor within the Uzawa algorithm. |
 * | LinearSolver             | Preconditioner.Relaxation                | double                            | 1                                  | The relaxation parameter for the preconditioner |
 * | LinearSolver             | Preconditioner.Type                      | std::string                       | -                                  | The preconditioner type. |
 * | LinearSolver             | Preconditioner.Verbosity                 | int                               | 0                                  | The preconditioner verbosity level |
 * | LinearSolver             | ResidualReduction                        | double                            |1e-13(linear solver),1e-6(nonlinear)| The residual reduction threshold, i.e. stopping criterion |
 * | LinearSolver             | Restart                                  | int                               | 10                                 | cycles before restarting |
 * | LinearSolver             | Type                                     | std::string                       | -                                  | The type of linear solver, e.g. restartedflexiblegmressolver or uzawa |
 * | LinearSolver             | Verbosity                                | int                               | 0                                  | The verbosity level of the linear solver |
 * | \b LoadSolution          | CellCenterPriVarNames                    | std::vector<std::string>          | -                                  | Names of cell-centered primary variables of a model with staggered grid discretization |
 * | LoadSolution             | FacePriVarNames                          | std::vector<std::string>          | -                                  | Names of primary variables on the cell faces of a model with staggered grid discretization |
 * | LoadSolution             | PriVarNames                              | std::vector<std::string>          | -                                  | Primary variable names |
 * | LoadSolution             | PriVarNamesState1                        | std::vector<std::string>          | -                                  | Primary variable names state, e.g. p_liq x^N2_liq |
 * | LoadSolution             | PriVarNamesState2                        | std::vector<std::string>          | -                                  | Primary variable names state, e.g. p_liq x^H2O_gas |
 * | LoadSolution             | PriVarNamesState...                      | std::vector<std::string>          | -                                  | Primary variable names state, e.g. p_liq S_gas |
 * | \b MPFA                  | CalcVelocityInTransport                  | bool                              | -                                  | Indicates if velocity is reconstructed in the pressure step or in the transport step |
 * | MPFA                     | EnableComplexLStencil                    | bool                              | true                               | Whether to enable the two non-centered flux stencils |
 * | MPFA                     | EnableSimpleLStencil                     | bool                              | true                               | Whether to enable the two centered flux stencils |
 * | MPFA                     | EnableTPFA                               | bool                              | false                              | Whether to enable the use of TPFA if neighboring cells are of the same grid level |
 * | MPFA                     | Q                                        | CoordScalar                       | -                                  | The quadrature point parameterizaion to be used on scvfs |
 * | MPFA                     | TransmissibilityCriterion                | int                               | 0                                  |  |
 * | MPFA                     | TransmissibilityCriterionThreshold       | Scalar                            | 1e-8                               |  |
 * | \b MatrixConverter       | DeletePatternEntriesBelowAbsThreshold    | Scalar                            | -1.0                               | Only set non-zero value if original matrix entry is larger than this. |
 * | \b MixedDimension        | IntegrationOrder                         | int                               | 1                                  | The integration order for coupling source |
 * | MixedDimension           | KernelIntegrationCRL                     | double                            | 0.1                                | The characteristic relative length |
 * | MixedDimension           | KernelWidthFactor                        | Scalar                            | -                                  | The kernel width factor |
 * | MixedDimension           | NumCircleSegments                        | int                               | -                                  | The number of circle segements in the context of integration points. |
 * | MixedDimension           | UseCircleAverage                         | bool                              | true                               | if we use the circle average as the 3D values or a point evaluation |
 * | MixedDimension           | WriteIntegrationPointsToFile             | bool                              | false                              | Whether to write integration points to a file |
 * | \b Newton                | EnableAbsoluteResidualCriterion          | bool                              | -                                  | For Newton iterations to stop the absolute residual is demanded to be below a threshold value. At least two iterations. |
 * | Newton                   | EnableChop                               | bool                              | -                                  | chop the Newton update at the beginning of the non-linear solver |
 * | Newton                   | EnableDynamicOutput                      | bool                              | true                               | Prints current information about assembly and solution process in the coarse of the simulation. |
 * | Newton                   | EnablePartialReassembly                  | bool                              | -                                  | Every entity where the primary variables exhibit a relative shift summed up since the last linearization above 'eps' will be reassembled. |
 * | Newton                   | EnableResidualCriterion                  | bool                              | -                                  | declare convergence if the initial residual is reduced by the factor ResidualReduction |
 * | Newton                   | EnableShiftCriterion                     | bool                              | -                                  | For Newton iterations to stop the maximum relative shift abs(uLastIter - uNew)/scalarmax(1.0, abs(uLastIter + uNew)*0.5) is demanded to be below a threshold value. At least two iterations. |
 * | Newton                   | MaxAbsoluteResidual                      | Scalar                            | -                                  | The maximum acceptable absolute residual for declaring convergence |
 * | Newton                   | MaxRelativeShift                         | Scalar                            | -                                  | Set the maximum acceptable difference of any primary variable between two iterations for declaring convergence |
 * | Newton                   | MaxSteps                                 | int                               | -                                  | The number of iterations after we give up |
 * | Newton                   | MaxTimeStepDivisions                     | std::size_t                       | 10                                 | The maximum number of time-step divisions |
 * | Newton                   | MinSteps                                 | int                               | -                                  | The minimum number of iterations |
 * | Newton                   | ReassemblyMaxThreshold                   | Scalar                            | 1e2*shiftTolerance_                | 'maxEps' in reassembly threshold max( minEps, min(maxEps, omega*(currently achieved maximum relative shift)) ). Increasing/decreasing 'maxEps' leads to less/more reassembly if 'omega*shift' is large, i.e., for the first Newton iterations. |
 * | Newton                   | ReassemblyMinThreshold                   | Scalar                            | 1e-1*shiftTolerance_               | 'minEps' in reassembly threshold max( minEps, min(maxEps, omega*(currently achieved maximum relative shift)) ). Increasing/decreasing 'minEps' leads to less/more reassembly if 'omega*shift' is small, i.e., for the last Newton iterations. |
 * | Newton                   | ReassemblyShiftWeight                    | Scalar                            | 1e-3                               | 'omega' in reassembly threshold max( minEps, min(maxEps, omega*(currently achieved maximum relative shift)) ). Increasing/decreasing 'maxEps' leads to less/more reassembly if 'omega*shift' is large, i.e., for the first Newton iterations.  |
 * | Newton                   | ResidualReduction                        | Scalar                            | -                                  | The maximum acceptable residual norm reduction |
 * | Newton                   | RetryTimeStepReductionFactor             | Scalar                            | 0.5                                | Factor for reducing the current time-step |
 * | Newton                   | SatisfyResidualAndShiftCriterion         | bool                              | -                                  | declare convergence only if both criteria are met |
 * | Newton                   | TargetSteps                              | int                               | -                                  | The number of iterations which are considered "optimal" |
 * | Newton                   | UseLineSearch                            | bool                              | -                                  | Whether to use line search |
 * | Newton                   | Verbosity                                | int                               | 2                                  | The verbosity level of the Newton solver |
 * | \b PointSource           | EnableBoxLumping                         | bool                              | true                               | For a DOF-index to point source map distribute source using a check if point sources are inside a subcontrolvolume instead of using basis function weights. |
 * | \b PrimaryVariableSwitch | Verbosity                                | int                               | 1                                  | Verbosity level of the primary variable switch. |
 * | \b Problem               | EnableGravity                            | bool                              | -                                  | Whether to enable the gravity term |
 * | Problem                  | EnableInertiaTerms                       | bool                              | -                                  | Whether to enable the inertia terms |
 * | Problem                  | Name                                     | std::string                       | -                                  | Set a name for a problem |
 * | Problem                  | SandGrainRoughness                       | Scalar                            | -                                  | The sand grain roughness |
 * | Problem                  | UsePrimaryVariableSwitch                 | bool                              | -                                  | Whether to perform variable switch at a degree of freedom location |
 * | \b RANS                  | EddyViscosityModel                       | std::string                       | vanDriest                          | Choose the eddy viscosity model |
 * | RANS                     | FlowDirectionAxis                        | int                               | 0                                  | The flow direction axis |
 * | RANS                     | IsFlatWallBounded                        | bool                              | false                              | Set to true, if geometry consists of flat walls |
 * | RANS                     | TurbulentPrandtlNumber                   | Scalar                            | 1.0                                | The turbulent Prandtl number |
 * | RANS                     | TurbulentSchmidtNumber                   | Scalar                            | 1.0                                | The turbulent Schmidt number |
 * | RANS                     | UseStoredEddyViscosity                   | bool                              | true for lowrekepsilon, false else | Whether to use the stored eddy viscosity |
 * | RANS                     | WallNormalAxis                           | int                               | 1                                  | The normal wall axis of a flat wall bounded flow |
 * | RANS                     | WriteFlatWallBoundedFields               | bool                              | isFlatWallBounded                  | Whether to write output fields for flat wall geometries |
 * | \b SpatialParams         | ComputeAwsFromAnsAndPcMax                | bool                              | true                               | Compute volume-specific interfacial area between the wetting and solid phase from interfacial area between nonwetting and solid phase and maximum capillary pressure. |
 * | SpatialParams            | ForchCoeff                               | Scalar                            | 0.55                               | The Forchheimer coefficient |
 * | SpatialParams            | MinBoundaryPermeability                  | Scalar                            | -                                  | The minimum permeability |
 * | SpatialParams            | Permeability                             | Scalar                            | -                                  | The permeability |
 * | SpatialParams            | Porosity                                 | Scalar                            | -                                  | The porosity |
 * | SpatialParams            | Tortuosity                               | Scalar                            | 0.5                                | The tortuosity |
 * | \b TimeLoop              | Restart                                  | double                            | 0.0                                | The restart time stamp for a previously interrupted simulation |
 * | \b TimeManager           | DtInitial                                | Scalar                            | -                                  | The initial time step size |
 * | TimeManager              | MaxTimeStepSize                          | Scalar                            | std::numeric_limits<Scalar>::max() | The maximum allowed time step size |
 * | TimeManager              | Restart                                  | Scalar                            | -                                  | The restart time stamp for a previously interrupted simulation |
 * | TimeManager              | SubTimestepVerbosity                     | int                               | -                                  | The verbosity level in local sub-time-steps |
 * | TimeManager              | TEnd                                     | Scalar                            | -                                  | The end time |
 * | \b Vtk                   | AddProcessRank                           | bool                              | -                                  | Whether to add a process rank |
 * | Vtk                      | AddVelocity                              | bool                              | true                               | Whether to enable velocity output |
 * | Vtk                      | CoordPrecision                           | std::string                       | value set to Vtk.Precision before  | The output precision of coordinates. |
 * | Vtk                      | OutputLevel                              | int                               | -                                  | in sequential models: indicates which values the VTK output contains, e.g. if the OutputLevel is zero, only primary variables are written |
 * | Vtk                      | Precision                                | std::string                       | Float32                            | Precision of the vtk output |
 * | Vtk                      | WriteFaceData                            | bool                              | false                              | For the staggered grid approach, write face-related data into vtp files. |
 */
