From 658bdb3e8954287014efa536095f87c80d1ae995 Mon Sep 17 00:00:00 2001
From: Timo Koch <timo.koch@iws.uni-stuttgart.de>
Date: Wed, 17 Oct 2018 11:08:46 +0200
Subject: [PATCH] [changelog] Start changelog for 2.12 >> 3.0

---
 CHANGELOG.md | 326 +++++++++++++++++++++++++++++----------------------
 1 file changed, 183 insertions(+), 143 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3ada79a044..9e740b319f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,43 @@
+Differences Between DuMuX 2.12 and DuMuX 3.0
+=============================================
+
+* __IMPORTANT NOTES:__
+    - DuMuX 3.0 is a major version update. Hence, it is not backward compatible in all aspect to 2.12.
+      The following minor version updated will be, as before for the DuMuX 2-series, always backward compatible
+      to at least the last minor version update.
+
+    - DuMuX 3.0 is based on Dune 2.6 and is expected to run with the current Dune master.
+      We will try to keep the compatibility with the Dune master
+      as long as it is technically feasible and our resources allow it.
+
+    - DuMux 3.0 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.
+      However, we suggest to use newer compiler versions, as we cannot test against all previous compiler versions.
+
+    - For employing corner-point grids by means of opm-grid, the OPM release 2018.04 has to be used.
+
+* __IMPROVEMENTS and ENHANCEMENTS:__
+    - Support for grid managers dune-subgrid (a meta grid selecting only certain elements from a host grid)
+      and dune-spgrid (a structured parallel grid manager, supporting periodic boundaries)
+
+* __IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:__
+    - The `GridCreator` has been replaced by the `GridManager`, which no longer uses a singleton for the grid object.
+      This makes it possible to create two grids of the exact same type.
+
+* __Deprecated CLASSES/FILES, to be removed after 3.0:__
+    - All classes of the sequential models are deprecated. The sequential models will be ported to the new structure
+      of porous medium models (formerly called implicit models). This way sequential and implicit model implementations
+      no longer differ and use the same numerical infrastructure.
+    - The `TimeManager` class is to be replaced by the class `TimeLoop`.
+    - The `VtkMultiWriter` class is to be replaced by the class `VtkOutputModule`.
+    - The file `start.hh` is replaced by new style main files.
+
+* __Deprecated MEMBER FUNCTIONS, to be removed after 3.0:__
+
+* __DELETED classes/files, property names, constants/enums,
+  member functions, which have been deprecated in DuMuX 2.12:__
+  - Everything listed as deprecated below has been removed.
+
+
 Differences Between DuMuX 2.11 and DuMuX 2.12
 =============================================
 
@@ -129,8 +169,8 @@ Differences Between DuMuX 2.9 and DuMuX 2.10
     - Using the geostatistical tool gstat for generating random fields has been
       facilitated. See `test_cc1pwithgstat` in `test/porousmediumflow/1p/implicit`.
       This tool can be installed using the `bin/installexternal.sh` script.
-      If cmake does not find gstat, one has to specify the GSTAT_ROOT variable, 
-      see the standard optim.opts or debug.opts. 
+      If cmake does not find gstat, one has to specify the GSTAT_ROOT variable,
+      see the standard optim.opts or debug.opts.
 
     - The multidomain models should now run with all compilers without
       segfaults, both with optimization and debug options.
@@ -246,7 +286,7 @@ Differences Between DuMuX 2.8 and DuMuX 2.9
       ```
       find . -name '*.[ch][ch]' -exec bash ../dumux/bin/fix_includes.sh {} \;
       ```
-      inside the folder that contains your files.  
+      inside the folder that contains your files.
       A patch is available to remove deprecated header files:
       ```
       patch -p1 < patches/dumux-2.9-no-deprecated-headers.patch
@@ -270,7 +310,7 @@ Differences Between DuMuX 2.8 and DuMuX 2.9
           ```
           with the new
           ```
-          #include <dumux/multidomain/2cnistokes2p2cni/localoperator.hh> 
+          #include <dumux/multidomain/2cnistokes2p2cni/localoperator.hh>
           ```
       The structure change is reflected in the `test` folder:
         + The tests from`test/implicit/particular_model` have been moved to
@@ -324,7 +364,7 @@ Differences Between DuMuX 2.8 and DuMuX 2.9
       constructors are deprecated, model implementers might be required to make
       their flux variables default-constructible too. In particular, this affects
       you if you develop your own flux variables that
-        + inherit from flux variables from dumux-stable, such as the 
+        + inherit from flux variables from dumux-stable, such as the
           `ImplicitDaryFluxVariables`,
         + and/or are used in a local residual from dumux-stable.
       See the
@@ -642,7 +682,7 @@ Differences Between DuMuX 2.6 and DuMuX 2.7
     classes FVSpatialParamsOneP and ImplicitSpatialParamsOneP.
 
 * Deprecated protected MEMBER VARIABLES, to be removed after 2.7: BEWARE: Older
-  compilers will not print any warning if a deprecated protected member variable 
+  compilers will not print any warning if a deprecated protected member variable
   is used.
   - In dumux/nonlinear/newtoncontroller.hh:
     "error_" -> "shift_"
@@ -743,7 +783,7 @@ Differences Between DuMuX 2.5 and DuMuX 2.6
     have been deprecated: subProblemX, subModelX, subIDX, gridViewX with X=1,2.
     They are replaced by sdProblemX, sdModelX, sdIDX, sdGridViewX.
 
-* DELETED classes/files, property names, constants/enums, 
+* DELETED classes/files, property names, constants/enums,
   member functions, which have been deprecated in DuMuX 2.5:
   Everything listed as deprecated below has been removed.
 
@@ -756,11 +796,11 @@ Differences Between DuMuX 2.4 and DuMuX 2.5
     available for the decoupled compositional 2p2c models. It also allows
     for simulation on an adaptive grid.
   - Coupling of 2c2p with stokesnc and 2p2cNI with Stokesncni was
-    added. The stokes2c and stokes2cni are now DEPRECATED and will be kicked 
-    out by the next release. Instead generalized stokesnc and stokesncni 
-    models are introduced. Unlike 2c models the transport equations in 
+    added. The stokes2c and stokes2cni are now DEPRECATED and will be kicked
+    out by the next release. Instead generalized stokesnc and stokesncni
+    models are introduced. Unlike 2c models the transport equations in
     the nc models are capapable of using both mass and mole fractions.
-    NOTE: For coupling test examples be aware of the harsh version 
+    NOTE: For coupling test examples be aware of the harsh version
     restrictions mentioned in dumux/test/modelcoupling/README.
 
 * IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:
@@ -770,7 +810,7 @@ Differences Between DuMuX 2.4 and DuMuX 2.5
   - Stokes2cModel was replaced by StokesNCModel, similar for more
     Stokes2c* classes.
 
-* DELETED classes/files, property names, constants/enums, 
+* DELETED classes/files, property names, constants/enums,
   member functions, which have been deprecated in DuMuX 2.4:
   Everything listed as deprecated below has been removed.
 
@@ -785,8 +825,8 @@ Differences Between DuMuX 2.3 and DuMuX 2.4
     error is thrown during compilation if the flag is not set. For reference see
     the commented part in optim.opts and debug.opts.
 
-  - All two-component models (1p2c, 2p2c, 2p2cni, co2, co2ni) can now be used 
-    with either mole or mass fractions. The property useMoles has to be set in 
+  - All two-component models (1p2c, 2p2c, 2p2cni, co2, co2ni) can now be used
+    with either mole or mass fractions. The property useMoles has to be set in
     the problem file and the boundary conditions have to be choosen accordingly.
     . 1p2c, 2p2c, 2p2cni use MOLE fractions by default.
     . co2, co2ni use MASS fractions by default.
@@ -830,7 +870,7 @@ Differences Between DuMuX 2.3 and DuMuX 2.4
 
   - All fully-implicit porous-media models now provide the possibility to write
     the velocities to the VTK output. This can be achieved by setting the
-    parameter "AddVelocity" of the group "Vtk" or the corresponding property 
+    parameter "AddVelocity" of the group "Vtk" or the corresponding property
     "VtkAddVelocity." See test/implicit/1p2c for an example.
 
   - The CMake build system support uses the experimental mechanisms from DUNE.
@@ -845,7 +885,7 @@ Differences Between DuMuX 2.3 and DuMuX 2.4
     have been replaced by more generic ones. See the deprecation listings below
     or FS#194 for details.
 
-  - The ...FVElementGeometry classes have been cleaned up a bit. See the 
+  - The ...FVElementGeometry classes have been cleaned up a bit. See the
     deprecation listings below or FS#192 for details.
 
   - Added compiler support for Clang 3.2, Clang 3.3, and GCC 4.8.
@@ -854,23 +894,23 @@ Differences Between DuMuX 2.3 and DuMuX 2.4
   - OnePBoxModel, OnePTwoCBoxModel -> OnePModel, OnePTwoCModel
 
   - Headers containing capitalized letters are replaced by their non-capitalized
-    analogs. 
-    In dumux/decoupled: 1p/cellData1p.hh, 1p/fluxData1p.hh, 
+    analogs.
+    In dumux/decoupled: 1p/cellData1p.hh, 1p/fluxData1p.hh,
     2p/cellData2padaptive.hh, 2p/fluxData2p.hh, 2p/cellData2p.hh,
     2p2c/cellData2p2c.hh, 2p2c/cellData2p2cadaptive.hh, 2p2c/fluxData2p2c.hh,
     2p2c/cellData2p2cmultiphysics.hh.
     In dumux/material/fluidmatrixinteractions/3p: parkerVanGen3p.hh,
     parkerVanGen3pparams.hh.
 
-* Deprecated CONSTANTS/ENUMS, to be removed after 2.4: BEWARE: Older compilers 
+* Deprecated CONSTANTS/ENUMS, to be removed after 2.4: BEWARE: Older compilers
   will not print any warning if a deprecated constant/enum is used.
-  - saturation indices: S0Idx, SnIdx, SnOrXIdx, SOrX1Idx, SOrX2Idx, SwIdx, 
+  - saturation indices: S0Idx, SnIdx, SnOrXIdx, SOrX1Idx, SOrX2Idx, SwIdx,
     SwOrXIdx
     -> s0Idx, snIdx, snOrXIdx, sOrX1Idx, sOrX2Idx, swIdx, swOrXIdx
 
   - two-phase formulations: pnSn, pnSw, pwSn, pwSw -> pnsn, pnsw, pwsn, pwsw
 
-  - DecoupledTwoPCommonIndices: pressureNW, saturationNW, velocityNW 
+  - DecoupledTwoPCommonIndices: pressureNW, saturationNW, velocityNW
     -> pressureNw, saturationNw, velocityNw
 
   - DecoupledTwoPIndices: pressEqIdx -> pressureEqIdx
@@ -879,7 +919,7 @@ Differences Between DuMuX 2.3 and DuMuX 2.4
     -> numPrimaryEnergyVars, numPrimaryVars
 
 * Deprecated public MEMBER VARIABLES, to be removed after 2.4: BEWARE: Older
-  compilers will not print any warning if a deprecated public member variable 
+  compilers will not print any warning if a deprecated public member variable
   is used.
   - ...FVElementGeometry: numEdges, numFaces, numFap, numVertices
     -> numScvf, -, numFap of each subcontrolvolume face, numScv
@@ -896,33 +936,33 @@ Differences Between DuMuX 2.3 and DuMuX 2.4
   - ImplicitProblem: boxSDNeumann(), boxSDSource()
     -> solDependentNeumann(), solDependentSource()
 
-  - ImplicitPorousMediaProblem: boxGravity(), boxTemperature() 
+  - ImplicitPorousMediaProblem: boxGravity(), boxTemperature()
     -> gravityAtPos(), temperatureAtPos() (different signatures!)
 
-  - fluid-matrix-interactions: dkrn_dSw(), dkrw_dSw(), dpc_dSw(), pC(), 
+  - fluid-matrix-interactions: dkrn_dSw(), dkrw_dSw(), dpc_dSw(), pC(),
     dSw_dpC(), Sgr(), Snr(), SnToSne(), Sw(), Swr(), SwToSwe()
-    -> dkrn_dsw(), dkrw_dsw(), dpc_dsw(), pc(), dsw_dpc(), sgr(), snr(), 
+    -> dkrn_dsw(), dkrw_dsw(), dpc_dsw(), pc(), dsw_dpc(), sgr(), snr(),
     snToSne(), sw(), swr(), swToSwe()
 
-  - LinearMaterial(Params): entryPC(), maxPC(), setEntryPC(), setMaxPC() 
+  - LinearMaterial(Params): entryPC(), maxPC(), setEntryPC(), setMaxPC()
     -> entryPc(), maxPc(), setEntryPc(), setMaxPc()
 
-  - RegularizedVanGenuchten(Params): pCHighSw(), pCLowSw() 
+  - RegularizedVanGenuchten(Params): pCHighSw(), pCLowSw()
     -> pcHighSw(), pcLowSw()
 
   - VanGenuchtenParams, ParkerVanGen3PParams: setVgM(), setVgN(), vgM(), vgN()
     -> setVgm(), setVgn(), vgm(), vgn()
 
-  - ParkerVanGen3P(Params): betaGN(), betaGW(), betaNW(), pCAlpha(), pCGN(), 
+  - ParkerVanGen3P(Params): betaGN(), betaGW(), betaNW(), pCAlpha(), pCGN(),
     pCGW(), pCNW(), setBeta..., setkrRegardsSnr(), Swrx()
-    -> betaGn(), betaGw(), betaNw(), pcAlpha(), pcgn(), pcgw(), pcnw(), 
+    -> betaGn(), betaGw(), betaNw(), pcAlpha(), pcgn(), pcgw(), pcnw(),
     setBeta..., setKrRegardsSnr(), swrx()
 
   - MPLinearMaterialParams: Sreg() -> sReg()
 
   - EvalCflFlux...: getCFLFluxFunction() -> getCflFluxFunction
 
-  - FVMPFAOInteractionVolume: getNTKNu_by_dF(), getNTKNu(), getNTKrKNu_by_dF(), 
+  - FVMPFAOInteractionVolume: getNTKNu_by_dF(), getNTKNu(), getNTKrKNu_by_dF(),
     getNTKrKNu()
     -> getNtkNu_df(), getNtkNu(), getNtkrkNu_df(), getNtkrkNu()
 
@@ -930,12 +970,12 @@ Differences Between DuMuX 2.3 and DuMuX 2.4
 
   - Stokes...Variables: viscosity() -> dynamicViscosity()
 
-  - IAPWS water: ddgamma_ddpi, ddgamma_ddtau, ddgamma_dtaudpi, dgamma_dpi, 
-    dgamma_dtau, dp_dpi, dpi_dp, dtau_dt 
-    -> ddGamma_ddPi, ddGamma_ddTau, ddGamma_dTaudPi, dGamma_dPi, dGamma_dTau, 
+  - IAPWS water: ddgamma_ddpi, ddgamma_ddtau, ddgamma_dtaudpi, dgamma_dpi,
+    dgamma_dtau, dp_dpi, dpi_dp, dtau_dt
+    -> ddGamma_ddPi, ddGamma_ddTau, ddGamma_dTaudPi, dGamma_dPi, dGamma_dTau,
     dp_dPi, dPi_dp, dTau_dt
 
-* DELETED classes/files, property names, constants/enums, 
+* DELETED classes/files, property names, constants/enums,
   member functions/variables, which have been deprecated in DuMuX 2.3:
   Everything listed as deprecated below has been removed.
 
@@ -944,7 +984,7 @@ Differences Between DuMuX 2.2 and DuMuX 2.3
 ===================================================
 
 * IMPROVEMENTS and ENHANCEMENTS:
-  - A fully implicit two-phase discrete-fracture-matrix model has been added, 
+  - A fully implicit two-phase discrete-fracture-matrix model has been added,
     see test/implicit/2pdfm.
 
   - Almost all porous media fully implicit models now can either use a
@@ -952,10 +992,10 @@ Differences Between DuMuX 2.2 and DuMuX 2.3
     of the spatial discretization method is controlled by deriving the problem
     type tag either from BoxModel or CCModel. This allows for a uniform problem
     description, as long as the boundaryTypesAtPos and dirichletAtPos methods
-    can be used. By evaluating the compile-time property ImplicitIsBox, it is 
-    easily possible to separately handle the different discretizations inside 
-    am common method. See the tests in test/implicit for examples. 
-    Correspondingly, the directory structure has been adapted. 
+    can be used. By evaluating the compile-time property ImplicitIsBox, it is
+    easily possible to separately handle the different discretizations inside
+    am common method. See the tests in test/implicit for examples.
+    Correspondingly, the directory structure has been adapted.
     Old:             New:
     dumux/           dumux/
       boxmodels/       implicit/
@@ -972,71 +1012,71 @@ Differences Between DuMuX 2.2 and DuMuX 2.3
                          ...
 
   - A backend for the ISTL AMG solver has been included, based on the
-    corresponding DUNE-PDELab backends. It can be used for the fully 
-    implicit and the decoupled models, see test_*1pwithamg in 
-    test/implicit/1p and test_impeswithamg in test/decoupled/2p. 
-    DUNE-PDELab and possibly DUNE-ISTL have to be patched, see the file 
-    README in the patches directory. 
+    corresponding DUNE-PDELab backends. It can be used for the fully
+    implicit and the decoupled models, see test_*1pwithamg in
+    test/implicit/1p and test_impeswithamg in test/decoupled/2p.
+    DUNE-PDELab and possibly DUNE-ISTL have to be patched, see the file
+    README in the patches directory.
 
-  - The decoupled models have been parallelized, see test_impeswithamg in 
-    test/decoupled/2p. They work in parallel only if the AMGBackend is used 
-    as linear solver. No dynamic loadbalancing can be done yet. 
+  - The decoupled models have been parallelized, see test_impeswithamg in
+    test/decoupled/2p. They work in parallel only if the AMGBackend is used
+    as linear solver. No dynamic loadbalancing can be done yet.
 
   - The MPNC model can use either the most wetting or the most non-wetting phase
-    pressure as primary variable. This is controlled via the property 
+    pressure as primary variable. This is controlled via the property
     "PressureFormulation."
 
-  - The table of available parameters has been improved, see 
+  - The table of available parameters has been improved, see
     http://www.dumux.org/doxygen-stable/html-2.2/a00838.php
 
-  - Improved handling of the conductive heat fluxes in the non-isothermal implicit  
+  - Improved handling of the conductive heat fluxes in the non-isothermal implicit
     two-phase models, see the problem files in test/implicit/2p(2c)ni.
 
   - Introduced new selection of start/stop messages.
 
 * IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:
-  - The property Salinity used in the BrineCO2FluidSystem 
-    has been renamed to ProblemSalinity. 
+  - The property Salinity used in the BrineCO2FluidSystem
+    has been renamed to ProblemSalinity.
 
   - The matrixHeatFlux(...) and boundaryMatrixHeatFlux(...) methods in the spatial
     parameters of nonisothermal implicit twophase models have been removed.
-    Instead, the computation of the effective thermal conductivity has been sourced 
-    out to the fluidmatrixinteractions in a separate file 
+    Instead, the computation of the effective thermal conductivity has been sourced
+    out to the fluidmatrixinteractions in a separate file
     dumux/material/fluidmatrixinteractions/thermalconductivitysomerton.hh, which
-    can be exchanged. The spatial parameters file needs a method 
+    can be exchanged. The spatial parameters file needs a method
     thermalConductivitySolid(...), where the thermal conductivity of the solid
     material only is specified. The rest is computed in the respective
     flux variables.
 
 * Deprecated CLASSES/FILES, to be removed after 2.3:
-  - The following headers in dumux/boxmodels/ have been deprecated and forward 
-    to the corresponding headers in dumux/implicit/box: 
+  - The following headers in dumux/boxmodels/ have been deprecated and forward
+    to the corresponding headers in dumux/implicit/box:
     boxassembler.hh, boxelementvolumevariables.hh, boxlocalresidual.hh,
     boxpropertydefaults.hh, boxelementboundarytypes.hh, boxfvelementgeometry.hh,
     boxproperties.hh, intersectiontovertexbc.hh
 
-  - All headers in the following subdirectories of dumux/boxmodels have been 
-    deprecated and forward to the headers in the corresponding subdirectories 
+  - All headers in the following subdirectories of dumux/boxmodels have been
+    deprecated and forward to the headers in the corresponding subdirectories
     of dumux/implicit:
-    1p, 1p2c, 2p, 2p2c, 2p2cni, 2pdfm, 2pni, 
+    1p, 1p2c, 2p, 2p2c, 2p2cni, 2pdfm, 2pni,
     3p3c, 3p3cni, co2, co2ni, mpnc, richards
 
-  - Some box-specific classes "Box..." in dumux/boxmodels/common could be 
-    completely replaced by unified "Implicit..." classes in 
-    dumux/implicit/common: 
-    ...DarcyFluxVariables, ...darcyfluxvariables.hh 
-    ...ForchheimerFluxVariables, ...forchheimerfluxvariables.hh 
+  - Some box-specific classes "Box..." in dumux/boxmodels/common could be
+    completely replaced by unified "Implicit..." classes in
+    dumux/implicit/common:
+    ...DarcyFluxVariables, ...darcyfluxvariables.hh
+    ...ForchheimerFluxVariables, ...forchheimerfluxvariables.hh
     ...LocalJacobian, ...localjacobian.hh
     ...Model, ...model.hh
     ...PorousMediaProblem, ...porousmediaproblem.hh
     ...Problem, ...problem.hh
     ...VolumeVariables, ...volumevariables.hh
 
-  - The box-specific spatial parameter classes BoxSpatialParams... in 
-    dumux/material/boxspatialparams....hh have been deprecated in favor of 
+  - The box-specific spatial parameter classes BoxSpatialParams... in
+    dumux/material/boxspatialparams....hh have been deprecated in favor of
     ImplicitSpatialParams... in dumux/material/implicitspatialparams....hh.
 
-  - The GridCreatorheaders from dumux/common have been moved to dumux/io: 
+  - The GridCreatorheaders from dumux/common have been moved to dumux/io:
     cubegridcreator.hh, dgfgridcreator.hh, simplexgridcreator.hh
 
 * Deprecated PROPERTY NAMES, to be removed after 2.3: BEWARE: The compiler will
@@ -1044,19 +1084,19 @@ Differences Between DuMuX 2.2 and DuMuX 2.3
   - CompositionFromFugacitiesSolver has been renamed to Constraintsolver.
 
 * Deprecated public MEMBER VARIABLES, to be removed after 2.3: BEWARE: The
-  compiler will not print any warning if a deprecated public member variable 
+  compiler will not print any warning if a deprecated public member variable
   is used.
-  - numFAP and numSCV in Box(CC)FVElementGeometry have been renamed to 
+  - numFAP and numSCV in Box(CC)FVElementGeometry have been renamed to
     numFap and numScv, respectively.
 
 * Deprecated MEMBER FUNCTIONS, to be removed after 2.3:
-  - boundaryMatrixHeatFlux, markVertexRed and relativeErrorVertex 
-    from ImplicitSpatialParams, ImplicitAssembler and ImplicitModel, 
-    respectively. In favor of using 
-    thermalConductivitySolid (see above), markDofRed and relativeErrorDof, 
-    respectively. 
+  - boundaryMatrixHeatFlux, markVertexRed and relativeErrorVertex
+    from ImplicitSpatialParams, ImplicitAssembler and ImplicitModel,
+    respectively. In favor of using
+    thermalConductivitySolid (see above), markDofRed and relativeErrorDof,
+    respectively.
 
-* DELETED classes/files, property names, constants/enums, 
+* DELETED classes/files, property names, constants/enums,
   member functions, which have been deprecated in DuMuX 2.2:
   Everything listed as deprecated below has been removed.
 
@@ -1064,41 +1104,41 @@ Differences Between DuMuX 2.2 and DuMuX 2.3
 Differences Between DuMuX 2.1 and DuMuX 2.2
 ===================================================
 
-* IMPROVEMENTS and ENHANCEMENTS: 
+* IMPROVEMENTS and ENHANCEMENTS:
   - Two new fully implicit models dedicated to simulate compositional
-    (non-isothermal) CO2-brine systems have been added, together with 
-    corresponding components and a fluid system. See test/boxmodels/co2(ni) 
-    for details. These tests also illustrate the usage of element and vertex 
-    parameters as well as boundary ids provided by DGF files for setting 
+    (non-isothermal) CO2-brine systems have been added, together with
+    corresponding components and a fluid system. See test/boxmodels/co2(ni)
+    for details. These tests also illustrate the usage of element and vertex
+    parameters as well as boundary ids provided by DGF files for setting
     permeability and porosity as well as boundary conditions.
 
   - Decoupled Models: An h-adaptive model using an MPFA L-method was added
-    that simulates 2p and 2p2c flow on unstructured grids with hanging nodes 
+    that simulates 2p and 2p2c flow on unstructured grids with hanging nodes
     in two dimensions. See test/decoupled/2p(2c) for details.
 
-  - All fully implicit porous media models are now capable of employing 
-    the Forchheimer equation as an alternative to the commonly used 
-    Darcy law. See test_forchheimer*p in test/boxmodels/mpnc for details. 
+  - All fully implicit porous media models are now capable of employing
+    the Forchheimer equation as an alternative to the commonly used
+    Darcy law. See test_forchheimer*p in test/boxmodels/mpnc for details.
 
-  - The Stokes models are now able to simulate the full Navier-Stokes 
-    equations for momentum transport. See test/freeflow/navierstokes 
+  - The Stokes models are now able to simulate the full Navier-Stokes
+    equations for momentum transport. See test/freeflow/navierstokes
     for details.
 
-  - The fully implicit models have been (partially) generalized to allow 
-    for a cell-centered discretization in addition to the default 
-    vertex-centered (box) one. Cell-centered fully implicit 2p and 2p2c 
-    models are already available in the developers part of Dumux. Further 
-    generalizations and the inclusion in the stable part are planned for 
+  - The fully implicit models have been (partially) generalized to allow
+    for a cell-centered discretization in addition to the default
+    vertex-centered (box) one. Cell-centered fully implicit 2p and 2p2c
+    models are already available in the developers part of Dumux. Further
+    generalizations and the inclusion in the stable part are planned for
     Dumux 2.3.
 
-  - Several model-specific features and classes have been unified, like 
-    the calculation of the Darcy velocity for the fully implicit flux 
-    variables, or the temperature, gravity, and spatial parameter 
+  - Several model-specific features and classes have been unified, like
+    the calculation of the Darcy velocity for the fully implicit flux
+    variables, or the temperature, gravity, and spatial parameter
     functionalities of the fully implicit problems. Moreover, many
-    names have been made more consistent. This includes the naming 
-    and grouping of several parameters and corresponding properties, 
-    the indexing of phases and components, and the preference of the 
-    partial name "params" over "parameters." For details, see also the 
+    names have been made more consistent. This includes the naming
+    and grouping of several parameters and corresponding properties,
+    the indexing of phases and components, and the preference of the
+    partial name "params" over "parameters." For details, see also the
     deprecations listed below.
 
   - Added compiler support for GCC 4.7 and Clang 3.1.
@@ -1107,23 +1147,23 @@ Differences Between DuMuX 2.1 and DuMuX 2.2
   - From Dune 2.2 on, FieldVector::size is a method rather than an enum value.
     It is mandatory to add the flag --enable-fieldvector-size-is-method to the
     CONFIGURE_FLAGS. An example is given in the opts file dumux/debug.opts.
-  - Implicit models: TwoPIndices, TwoPNIIndices, and RichardsIndices 
-    additionally get TypeTag as template parameter. If the Indices are not 
+  - Implicit models: TwoPIndices, TwoPNIIndices, and RichardsIndices
+    additionally get TypeTag as template parameter. If the Indices are not
     obtained via the property, this has to be adapted.
 
-  - Implicit models: All model-specific computeFlux functions in 
-    ...localresidual.hh have to get an additional bool parameter onBoundary, 
-    which is by default set to false. If outflow conditions should 
-    be properly implemented, also the constructor of the flux variables in 
-    ...fluxvariables.hh has to get the additional argument and the 
+  - Implicit models: All model-specific computeFlux functions in
+    ...localresidual.hh have to get an additional bool parameter onBoundary,
+    which is by default set to false. If outflow conditions should
+    be properly implemented, also the constructor of the flux variables in
+    ...fluxvariables.hh has to get the additional argument and the
     class has to be adapted to deal with boundary faces. See FS#117 and #99
     for details.
-    
+
 * Deprecated CLASSES/FILES, to be removed after 2.2:
-  - Model specific base box problems: The common functionality has been 
-    collected in PorousMediaBoxProblem in 
-    dumux/boxmodels/common/porousmediaboxproblem.hh. The problem can be derived 
-    from PorousMediaBoxProblem, instead of the model specific base problem: 
+  - Model specific base box problems: The common functionality has been
+    collected in PorousMediaBoxProblem in
+    dumux/boxmodels/common/porousmediaboxproblem.hh. The problem can be derived
+    from PorousMediaBoxProblem, instead of the model specific base problem:
     OnePBoxProblem, dumux/boxmodels/1p/1pproblem.hh,
     OnePTwoCBoxProblem, dumux/boxmodels/1p2c/1p2cproblem.hh,
     TwoPProblem, dumux/boxmodels/2p/2pproblem.hh,
@@ -1133,83 +1173,83 @@ Differences Between DuMuX 2.1 and DuMuX 2.2
     ThreePThreeCProblem, dumux/boxmodels/3p3c/3p3cproblem.hh,
     ThreePThreeCNIProblem, dumux/boxmodels/3p3cni/3p3cniproblem.hh,
     MPNCProblem, dumux/boxmodels/mpnc/mpncproblem.hh.
-    
-  - All "...SpatialParameters" base classes have been replaced by 
+
+  - All "...SpatialParameters" base classes have been replaced by
     "...SpatialParams" classes:
     BoxSpatialParameters, dumux/material/spatialparameters/boxspatialparameters.hh,
     BoxSpatialParametersOneP, dumux/material/spatialparameters/boxspatialparameters1p.hh,
     FVSpatialParameters, dumux/material/spatialparameters/fvspatialparameters.hh,
     FVSpatialParametersOneP, dumux/material/spatialparameters/fvspatialparameters1p.hh.
 
-  - Due to the unification of flux variables for the fully implicit models, 
-    some model-specific flux variables have become obsolete: 
+  - Due to the unification of flux variables for the fully implicit models,
+    some model-specific flux variables have become obsolete:
     OnePFluxVariables, dumux/boxmodels/1p/1pfluxvariables.hh,
     TwoPFluxVariables, dumux/boxmodels/2p/2pfluxvariables.hh,
     RichardsFluxVariables, dumux/boxmodels/richards/richardsfluxvariables.hh.
 
-  - Two components have new names and locations in dumux/material/components: 
+  - Two components have new names and locations in dumux/material/components:
     SimpleDNAPL, simplednapl.hh -> DNAPL, napl.hh
     Oil, oil.hh -> LNAPL, lnapl.hh
 
-  - Some MPFA-O method files/classes have been moved to a new subdirectory 
-    "omethod" in dumux/decoupled/2p/diffusion/fvmpfa: 
+  - Some MPFA-O method files/classes have been moved to a new subdirectory
+    "omethod" in dumux/decoupled/2p/diffusion/fvmpfa:
     fvmpfaopressure2p.hh, fvmpfaovelocity2p.hh, fvmpfaopressureproperties2p.hh
 
-  - DUMUX_UNUSED is deprecated and will be removed after 2.2. It should be 
+  - DUMUX_UNUSED is deprecated and will be removed after 2.2. It should be
     replaced by the upstream version DUNE_UNUSED.
-  
+
   - DUMUX_DEPRECATED_MSG is deprecated and will be removed after 2.2. It should
     be replaced by the upstream version DUNE_DEPRECATED_MSG.
 
 * Deprecated PROPERTY NAMES, to be removed after 2.2: BEWARE: The compiler will
-  not print any warning if a deprecated property name is used. 
+  not print any warning if a deprecated property name is used.
   - The "SpatialParameters" property has been renamed to "SpatialParams".
-  
+
   - The model specific "...Indices" property has been renamed to "Indices".
 
 * Deprecated CONSTANTS/ENUMS, to be removed after 2.2: BEWARE: The compiler will
   not print any warning if a deprecated constant/enum is used.
-  - In the 2p2c/ni and 3p3c/ni models, all indices related to phase and 
-    components can be pre/suffixed with "w", "n" and, 
-    for three phases, with "g". 
+  - In the 2p2c/ni and 3p3c/ni models, all indices related to phase and
+    components can be pre/suffixed with "w", "n" and,
+    for three phases, with "g".
     boxmodels/2p2c/...: "l", "g" pre/suffixes have been replaced by "w", "n".
     boxmodels/3p3c/...: "c", "a" pre/suffixes have been replaced by "n", "g".
 
 * Deprecated MEMBER FUNCTIONS, to be removed after 2.2:
-  - Spatial parameters: The spatialParameters member functions of the base 
-    problems have been replaced by spatialParams: 
-    dumux/boxmodels/common/porousmediaboxproblem.hh, 
+  - Spatial parameters: The spatialParameters member functions of the base
+    problems have been replaced by spatialParams:
+    dumux/boxmodels/common/porousmediaboxproblem.hh,
     dumux/decoupled/1p/diffusion/diffusionproblem...hh,
     dumux/decoupled/2p/impes/impesproblem2p.hh,
     dumux/decoupled/2p/transport/transportproblem2p.hh.
-  
-  - Flux variables: Renaming of members 
-    "...AtIP" -> "...", 
+
+  - Flux variables: Renaming of members
+    "...AtIP" -> "...",
     "concentration..." -> "massFraction...",
     "molarConc..." -> "moleFraction..."
-    The "massFraction..." members have been deprecated, instead 
+    The "massFraction..." members have been deprecated, instead
     "moleFraction..." should be used.
     Affected files:
-    dumux/boxmodels/1p2c/1p2cfluxvariables.hh, 
+    dumux/boxmodels/1p2c/1p2cfluxvariables.hh,
     dumux/boxmodels/2p2c/2p2cfluxvariables.hh,
     dumux/boxmodels/mpnc/.../...fluxvariables.hh,
     dumux/freeflow/stokes.../stokes...fluxvariables.hh.
 
-  - Box models: The primaryVarWeight() functions are no longer used for the 
-    evaluation of the relative error. 
+  - Box models: The primaryVarWeight() functions are no longer used for the
+    evaluation of the relative error.
 
   - Element and FVElementGeometry: The elem_() and fvElemGeom_() member function
-    of BoxLocalResidual have been replaced by element_() and fvGeometry_(). 
-    
+    of BoxLocalResidual have been replaced by element_() and fvGeometry_().
+
   - Primary variables: All "...primaryVar/s" member functions have been replaced
-    by "...priVar/s": 
-    dumux/boxmodels/common/boxlocalresidual.hh, 
+    by "...priVar/s":
+    dumux/boxmodels/common/boxlocalresidual.hh,
     dumux/boxmodels/common/boxvolumevariables.hh.
 
-  - Start functionality in dumux/common/start.hh: printUsageDGF and 
+  - Start functionality in dumux/common/start.hh: printUsageDGF and
     printUsageGrid are no longer needed.
-  
-* DELETED member functions, which have been deprecated in DuMuX 2.1: 
+
+* DELETED member functions, which have been deprecated in DuMuX 2.1:
   - dumux/material/spatialparameters/boxspatialparameters1p.hh:
     extrusionFactorScv and extrusionFactorScvf, now part of the volume variables
 
@@ -1242,7 +1282,7 @@ Differences Between DuMuX 2.1 and DuMuX 2.2
     IMPETProblem2P2C(..., SpatialParameters&, ...) replaced by IMPETProblem2P2C(TimeManager&, ...),
     initSat(const GlobalPosition&, const Element&) replaced by initSat(const Element&)
     initConcentration(const GlobalPosition&, const Element&) replaced by initConcentration(const Element&)
-    
+
   - DUMUX_DEPRECATED has been removed.
 
 
-- 
GitLab