diff --git a/doc/doxygen/footer.html b/doc/doxygen/footer.html
index cef09716773f793098826f70dca3ef2cd939e2ae..e58f19e52a7c83a67317e6bd0222e22171302997 100644
--- a/doc/doxygen/footer.html
+++ b/doc/doxygen/footer.html
@@ -23,7 +23,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
 $generatedby&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
 </small></address>
 <!--END !GENERATE_TREEVIEW-->
-<!--BEGIN MERMAID GRAPHS-->
+<!--MERMAID GRAPHS-->
 <script>
   mermaid.initialize({
     startOnLoad: true,
@@ -35,6 +35,6 @@ $generatedby&#160;<a href="https://www.doxygen.org/index.html"><img class="foote
     },
   });
 </script>
-<!--END MERMAID GRAPHS-->
+<!--MERMAID GRAPHS-->
 </body>
 </html>
diff --git a/doc/doxygen/groups/models.md b/doc/doxygen/groups/models.md
index d7bb5eb5d1902b80f7e33a3cb6ae7e1727ff32aa..4b48fc340be5910d895a9ac44a8b2f6500642510 100644
--- a/doc/doxygen/groups/models.md
+++ b/doc/doxygen/groups/models.md
@@ -103,6 +103,11 @@
 @copydoc dumux/porousmediumflow/richards/model.hh
 @ingroup PorousmediumflowModels
 
+@defgroup ExtendedRichardsModel extended Richards' equation
+@brief extended Richards' equation
+@copydoc dumux/porousmediumflow/richardsextended/model.hh
+@ingroup PorousmediumflowModels
+
 @defgroup RichardsNCModel Richards multi-component
 @brief Richards multi-component flow
 @copydoc dumux/porousmediumflow/richardsnc/model.hh
diff --git a/doc/doxygen/groups/multidomain.md b/doc/doxygen/groups/multidomain.md
index 04f82d172283f2a2bff3f36b5865d8ad54068e38..93b8f26f88a2d83b17b40b79e3a15395bbba3920 100644
--- a/doc/doxygen/groups/multidomain.md
+++ b/doc/doxygen/groups/multidomain.md
@@ -20,6 +20,10 @@
 @brief Couples domains with equal-dimension multi-physics problems in a Stokes-Darcy coupling.
 @ingroup BoundaryCoupling
 
+@defgroup DualNetworkCoupling Coupling for dual network approach for pore network models
+@brief Coupling for dual network approach for pore network models
+@ingroup MultiDomain
+
 @defgroup EmbeddedCoupling Embedded mixed-dimension coupling mode
 @brief Couples problems of different dimensions where one or more lower-dimensional problems (lowdim) are embedded in a higher-dimensional domain (bulk). Examples are embedded one-dimensional networks for the simulation of blood tissue perfusion, or root-soil interaction, and embedded fracture models.
 @ingroup MultiDomain
diff --git a/doc/doxygen/header.html b/doc/doxygen/header.html
index 39c63eb57cdc353d421927e5e9f541ed8332d5c1..bc3f43841776a92d2668fe160f982b34100247b2 100644
--- a/doc/doxygen/header.html
+++ b/doc/doxygen/header.html
@@ -61,9 +61,9 @@ $extrastylesheet
 <svg id="logo_art" data-name="logo art" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 586 559"><g id="g44"><path id="path46" class="cls-r-1" d="M461.17,301.83l-18.91-58.12L404.84,128.43a6.47,6.47,0,0,0-12.27,0L355.15,243.64H230.82L193.4,128.43a6.46,6.46,0,0,0-12.26,0L143.78,243.64l-18.91,58.19a12.88,12.88,0,0,0,4.66,14.39L293,435,456.44,316.22a12.9,12.9,0,0,0,4.73-14.39"/></g><g id="g48"><path id="path50" class="cls-r-3" d="M293,434.91h0l62.16-191.28H230.87L293,434.91Z"/></g><g id="g56"><path id="path58" class="cls-r-2" d="M293,434.91,230.82,243.63h-87L293,434.91Z"/></g><g id="g64"><path id="path66" class="cls-r-1" d="M143.75,243.69h0l-18.91,58.12a12.88,12.88,0,0,0,4.66,14.39L293,435,143.75,243.69Z"/></g><g id="g72"><path id="path74" class="cls-r-6" d="M143.78,243.69h87.11L193.4,128.49a6.47,6.47,0,0,0-12.27,0l-37.35,115.2Z"/></g><g id="g76"><path id="path78" class="cls-r-4" d="M293,434.91l62.16-191.28H442.3L293,434.91Z"/></g><g id="g80"><path id="path82" class="cls-r-5" d="M442.24,243.69h0l18.91,58.12a12.85,12.85,0,0,1-4.66,14.39L293,434.91l149.2-191.22Z"/></g><g id="g84"><path id="path86" class="cls-r-6" d="M442.28,243.69h-87.1l37.42-115.2a6.46,6.46,0,0,1,12.26,0l37.42,115.2Z"/></g></svg></a>
 </div>
 
-<!--BEGIN MERMAID GRAPHS-->
+<!--MERMAID GRAPHS-->
 <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
-<!--END MERMAID GRAPHS-->
+<!--MERMAID GRAPHS-->
 
 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
 
diff --git a/dumux/common/balanceequationopts.hh b/dumux/common/balanceequationopts.hh
index 8da908ccf28b52a672b9c695e76a59d116134eff..134ec35174ff30d085c6f3a19b54c81f242e6681 100644
--- a/dumux/common/balanceequationopts.hh
+++ b/dumux/common/balanceequationopts.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Traits class to set options used by the local residual when
  *        when evaluating the balance equations.
  */
@@ -16,7 +16,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Traits class to set options used by the local residual when
  *        when evaluating the balance equations.
  * \todo include useMoles here
diff --git a/dumux/common/boundaryflag.hh b/dumux/common/boundaryflag.hh
index 4a67c217cffd60fdd41421825eb35ffacbddc614..7b12191c4ef0501da7158c0623846874f3583691 100644
--- a/dumux/common/boundaryflag.hh
+++ b/dumux/common/boundaryflag.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Boundary flag to store e.g. in sub control volume faces
  */
 #ifndef DUMUX_BOUNDARY_FLAG_HH
@@ -18,7 +18,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Class for accessing boundary flags
  * \note this works for all grid managers with gmsh meshes.
  */
@@ -45,7 +45,7 @@ private:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Boundary flag to store e.g. in sub control volume faces
  * \note Can be specialized for each grid manager (in the gridmanager headers)
  * \tparam Grid the type of the grid
diff --git a/dumux/common/boundarytypes.hh b/dumux/common/boundarytypes.hh
index 8f550414a28c736b2e223633d472b592b1b34ce4..5935efd209c989641de03c799011f0fc535259f9 100644
--- a/dumux/common/boundarytypes.hh
+++ b/dumux/common/boundarytypes.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Class to specify the type of a boundary.
  */
 #ifndef DUMUX_BOUNDARY_TYPES_HH
@@ -18,7 +18,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Class to specify the type of a boundary.
  */
 template <int numEq>
diff --git a/dumux/common/cubicspline.hh b/dumux/common/cubicspline.hh
index dd14f0d5192ad590515e8a0993fd2aba67897c4a..6b97dc784393bb367115947e8187b53cf881270a 100644
--- a/dumux/common/cubicspline.hh
+++ b/dumux/common/cubicspline.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief A simple implementation of a cubic spline
  */
 #ifndef DUMUX_COMMON_CUBIC_SPLINE_HH
@@ -24,7 +24,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A simple implementation of a natural cubic spline
  * \note We follow the notation at http://mathworld.wolfram.com/CubicSpline.html
  */
diff --git a/dumux/common/cubicsplinehermitebasis.hh b/dumux/common/cubicsplinehermitebasis.hh
index 3cdbaca27e03058dc075bce3b7699fb27d9515bd..91fbb0f92bbfaf058fa2b113ca21250475be530b 100644
--- a/dumux/common/cubicsplinehermitebasis.hh
+++ b/dumux/common/cubicsplinehermitebasis.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief The cubic hermite spline basis
  */
 #ifndef DUMUX_COMMON_CUBIC_SPLINE_HERMITE_BASIS_HH
@@ -15,7 +15,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief The cubic spline hermite basis
  * \note see https://en.wikipedia.org/wiki/Cubic_Hermite_spline
  */
diff --git a/dumux/common/defaultmappertraits.hh b/dumux/common/defaultmappertraits.hh
index a61a7ee27b25a8b7849a0621e93f79f6902049ce..a22c1db1842c6010e101c702058ebb4b90aee45d 100644
--- a/dumux/common/defaultmappertraits.hh
+++ b/dumux/common/defaultmappertraits.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Defines the default element and vertex mapper types
  */
 #ifndef DUMUX_DEFAULT_MAPPER_TRAITS_HH
diff --git a/dumux/common/defaultusagemessage.hh b/dumux/common/defaultusagemessage.hh
index 019d5b7a81f1f6f29b327526e085e49c12bbde03..db03069b738a733556d7919f5a5b1b1d0e586d95 100644
--- a/dumux/common/defaultusagemessage.hh
+++ b/dumux/common/defaultusagemessage.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Function printing a default usage message
  */
 #ifndef DUMUX_DEFAULT_USAGE_MESSAGE_HH
@@ -17,7 +17,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Provides a general text block, that is part of error/ help messages.
  *
  * \return The string that is the help / error message.
diff --git a/dumux/common/deprecated.hh b/dumux/common/deprecated.hh
index 4e272472a52c05130c9effbc2836b6779adcbf5c..2ac6e4b1c87737d1c0b1435e42b65164799b8314 100644
--- a/dumux/common/deprecated.hh
+++ b/dumux/common/deprecated.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Helpers for deprecation
  */
 
diff --git a/dumux/common/dimensionlessnumbers.hh b/dumux/common/dimensionlessnumbers.hh
index 27b612a343114fe9616d426a5609c698a5a8f91f..946b369b582d3be3b6bd5a823fbaaf05c30568c4 100644
--- a/dumux/common/dimensionlessnumbers.hh
+++ b/dumux/common/dimensionlessnumbers.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Collection of functions, calculating dimensionless numbers.
  *
  * All the input to the dimensionless numbers has to be provided as function arguments.
@@ -42,7 +42,7 @@ enum class SherwoodFormulation
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Collection of functions which calculate dimensionless numbers.
  * Each number has it's own function.
  * All the parameters for the calculation have to be handed over.
diff --git a/dumux/common/doubleexpintegrationconstants.hh b/dumux/common/doubleexpintegrationconstants.hh
index 5c6f488462944dd4aac97577011be207a82eb68c..43640a586e17477d93a629ebb7f693ce4939abdd 100644
--- a/dumux/common/doubleexpintegrationconstants.hh
+++ b/dumux/common/doubleexpintegrationconstants.hh
@@ -44,7 +44,7 @@
  *****************************************************************************/
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Exponential integration abcissas
  */
 #ifndef DUMUX_COMMON_DOUBLEEXP_INTEGRATION_CONSTANTS_HH
diff --git a/dumux/common/doubleexpintegrator.hh b/dumux/common/doubleexpintegrator.hh
index 545b36825d85af628f73363e0a3f1bafee765f33..e26b7682ad6b5b91af635bbf4e2ff398c139d0ac 100644
--- a/dumux/common/doubleexpintegrator.hh
+++ b/dumux/common/doubleexpintegrator.hh
@@ -44,7 +44,7 @@
  *****************************************************************************/
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief A double exponential integrator
  */
 #ifndef DUMUX_COMMON_DOUBLEEXP_INTEGRATOR_HH
diff --git a/dumux/common/dumuxmessage.hh b/dumux/common/dumuxmessage.hh
index 6709dbef56a41661e6cbc101ff5ba7709ec981f3..abd0b9daaa25c42f2a2ebdbbca42e85909eeb673 100644
--- a/dumux/common/dumuxmessage.hh
+++ b/dumux/common/dumuxmessage.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Provides the class creating the famous DuMu<sup>x</sup> start and end messages
  */
 #ifndef DUMUX_MESSAGE_HH
@@ -21,7 +21,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief DuMu<sup>x</sup> start and end message.
  */
 class DumuxMessage
diff --git a/dumux/common/entitymap.hh b/dumux/common/entitymap.hh
index 64eb8a037e56afac1b3f6e4d0ef19afdbdf8a76e..9294e45b86c8bf6a7cd0ab5ba6f91051d3b738f7 100644
--- a/dumux/common/entitymap.hh
+++ b/dumux/common/entitymap.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief A map from indices to entities using grid entity seeds
  */
 #ifndef DUMUX_ENTITY_INDEX_MAP_HH
@@ -19,7 +19,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A map from indices to entities using grid entity seeds
  */
 template <class GridView, int codim = 0>
diff --git a/dumux/common/enumerate.hh b/dumux/common/enumerate.hh
index c47418c8184551adef0f359717687a19759506cc..5c9c576d4e72744e5bb9a921acd8f26454448732 100644
--- a/dumux/common/enumerate.hh
+++ b/dumux/common/enumerate.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief A Python-like enumerate function
  */
 
diff --git a/dumux/common/exceptions.hh b/dumux/common/exceptions.hh
index bc49e2d9af751ed2242517688c7fbbca62a6c974..abb73d731d84ab2eacf907efd2b89a1ef2cbe99f 100644
--- a/dumux/common/exceptions.hh
+++ b/dumux/common/exceptions.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Some exceptions thrown in DuMu<sup>x</sup>
  */
 #ifndef DUMUX_EXCEPTIONS_HH
@@ -18,7 +18,7 @@
 
 namespace Dumux {
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Exception thrown if a fixable numerical problem occurs.
  *
  * (e.g. time step too big, etc.)
@@ -41,7 +41,7 @@ public:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Exception thrown if a run-time parameter is not specified correctly.
  */
 class ParameterException : public Dune::Exception
diff --git a/dumux/common/fixedlengthspline_.hh b/dumux/common/fixedlengthspline_.hh
index 4f8c12eff68101436c39ed7b5455548264236f42..92714793f2ea6203b7b34db877598b874eef0d89 100644
--- a/dumux/common/fixedlengthspline_.hh
+++ b/dumux/common/fixedlengthspline_.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Implements a spline with a fixed number of sampling points
  */
 #ifndef DUMUX_FIXED_LENGTH_SPLINE_HH
@@ -21,7 +21,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief The common code for all 3rd order polynomial splines with
  *        more than two sampling points.
  */
diff --git a/dumux/common/functionfromstringexpression.hh b/dumux/common/functionfromstringexpression.hh
index c0c6f3077b57ab5c7a34f27a2a6a4d962d58e456..91cdb6d0ccb554af3ccf4e0b468e45d6a377975e 100644
--- a/dumux/common/functionfromstringexpression.hh
+++ b/dumux/common/functionfromstringexpression.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup Core
  * \brief Evaluating string math expressions containing named variables
  */
 #ifndef DUMUX_COMMON_FUNCTION_FROM_STRING_EXPRESSION_HH
@@ -26,6 +27,7 @@
 namespace Dumux {
 
 /*!
+ * \ingroup Core
  * \brief Evaluating string math expressions containing named variables
  * \tparam numVars number of variables in the expression; number of function arguments of the call operator
  * \tparam Scalar type of numerical values in the expression
diff --git a/dumux/common/fvporousmediumspatialparams.hh b/dumux/common/fvporousmediumspatialparams.hh
index bac31365c93ed6e197891fdabbd4dd57ac1588d0..d7b30a97d357221f54d9370704ae3f1536026525 100644
--- a/dumux/common/fvporousmediumspatialparams.hh
+++ b/dumux/common/fvporousmediumspatialparams.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \ingroup SpatialParameters
  * \brief The base class for spatial parameters in porous medium problems.
  */
@@ -41,7 +41,7 @@ struct hasPorosityAtPos
 #endif
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \ingroup SpatialParameters
  * \brief The base class for spatial parameters of porous-medium problems.
  */
diff --git a/dumux/common/fvproblem.hh b/dumux/common/fvproblem.hh
index 9f786c15d58984a45e1164b880b749f1a0b37db6..a787cca561c67d4dc084c561254803c0d3c0ca16 100644
--- a/dumux/common/fvproblem.hh
+++ b/dumux/common/fvproblem.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Base class for all finite volume problems
  */
 #ifndef DUMUX_COMMON_FV_PROBLEM_HH
@@ -30,7 +30,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Base class for all finite-volume problems
  *
  * \note All quantities (regarding the units) are specified assuming a
diff --git a/dumux/common/fvproblemwithspatialparams.hh b/dumux/common/fvproblemwithspatialparams.hh
index ba53461870daa3e3101445667e7d3b49eb390a86..f2c556f0e3cd91ca18174e3a87a17796c61aed5b 100644
--- a/dumux/common/fvproblemwithspatialparams.hh
+++ b/dumux/common/fvproblemwithspatialparams.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Base class for all finite volume problems that are parameterized.
  */
 #ifndef DUMUX_COMMON_FV_PROBLEM_WITH_SPATIAL_PARAMS_HH
@@ -20,7 +20,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Base class for all finite-volume problems using spatial parameters.
  */
 template<class TypeTag>
diff --git a/dumux/common/fvspatialparams.hh b/dumux/common/fvspatialparams.hh
index dd7f048836fd3ea691eca608d4072fa1b61677dd..e397d44837bd8658521c1d89d7110496e43cea09 100644
--- a/dumux/common/fvspatialparams.hh
+++ b/dumux/common/fvspatialparams.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \ingroup SpatialParameters
  * \brief Basic spatial parameters to be used with finite-volume schemes.
  */
@@ -23,7 +23,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \ingroup SpatialParameters
  * \brief The base class for spatial parameters used with finite-volume schemes.
  */
diff --git a/dumux/common/gridcapabilities.hh b/dumux/common/gridcapabilities.hh
index 0a5708f83e08f3cd449a64be73a0e32bbaea3815..dc76866dcba9e981ceaca9879e506f774ed4c25c 100644
--- a/dumux/common/gridcapabilities.hh
+++ b/dumux/common/gridcapabilities.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief dune-grid capabilities compatibility layer
  */
 #ifndef DUMUX_COMMON_GRID_CAPABILITIES_HH
diff --git a/dumux/common/indextraits.hh b/dumux/common/indextraits.hh
index deb0383113f16fb5f7b01e0cf2984d369b2949d2..33d31360c540cc95d8d391f1133952d15fd5f3e7 100644
--- a/dumux/common/indextraits.hh
+++ b/dumux/common/indextraits.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Defines the index types used for grid and local indices.
  */
 #ifndef DUMUX_COMMON_INDEX_TRAITS_HH
@@ -17,7 +17,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Structure to define the index types used for grid and local indices.
  * \tparam GridView The grid view type
  */
diff --git a/dumux/common/initialize.hh b/dumux/common/initialize.hh
index b3829bfe7e0dd8293aeb645f31a677e029aaf76e..54a0c71e6087e936594443a0639b5c67c0e859cf 100644
--- a/dumux/common/initialize.hh
+++ b/dumux/common/initialize.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief The initialize function to be called before using Dumux
  */
 #ifndef DUMUX_COMMON_INITIALIZE_HH
diff --git a/dumux/common/integrate.hh b/dumux/common/integrate.hh
index 5029ffb94ae9a389b1e896766748c5eb4a037386..d5633a1c07c2660f36c0fa08e9c949b2e23936db 100644
--- a/dumux/common/integrate.hh
+++ b/dumux/common/integrate.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Define helper functions for integration
  */
 #ifndef DUMUX_COMMON_INTEGRATE_HH
diff --git a/dumux/common/intersectionmapper.hh b/dumux/common/intersectionmapper.hh
index 652577a41b7150fdcd88c5e01cf481b1178bf2a1..7b3e2f5a7bb138bd967f4f9e4b25a614329afb1f 100644
--- a/dumux/common/intersectionmapper.hh
+++ b/dumux/common/intersectionmapper.hh
@@ -5,7 +5,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief defines intersection mappers.
  */
 #ifndef DUMUX_INTERSECTIONITERATOR_HH
@@ -20,7 +20,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief defines a standard intersection mapper for mapping of global DOFs assigned
  *        to faces. It only works for conforming grids, without hanging nodes.
  */
@@ -77,7 +77,7 @@ private:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief defines an intersection mapper for mapping of global DOFs assigned
  *        to faces which also works for non-conforming grids and corner-point grids.
  */
@@ -191,7 +191,7 @@ private:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief defines an intersection mapper for mapping of global DOFs assigned
  *        to faces which also works for adaptive grids.
  */
diff --git a/dumux/common/math.hh b/dumux/common/math.hh
index d4d4471859b11f21ad606d2ba919209261e16d63..314bc2d2f2b15509ff9ee9c94321396c0bbf4c5c 100644
--- a/dumux/common/math.hh
+++ b/dumux/common/math.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Define some often used mathematical functions
  */
 #ifndef DUMUX_MATH_HH
@@ -26,7 +26,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Calculate the (weighted) arithmetic mean of two scalar values.
  *
  * \param x The first input value
@@ -45,7 +45,7 @@ constexpr Scalar arithmeticMean(Scalar x, Scalar y, Scalar wx = 1.0, Scalar wy =
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Calculate the (weighted) harmonic mean of two scalar values.
  *
  * \param x The first input value
@@ -64,7 +64,7 @@ constexpr Scalar harmonicMean(Scalar x, Scalar y, Scalar wx = 1.0, Scalar wy = 1
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Calculate the geometric mean of two scalar values.
  *
  * \param x The first input value
@@ -83,7 +83,7 @@ Scalar geometricMean(Scalar x, Scalar y) noexcept
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Calculate the harmonic mean of a fixed-size matrix.
  *
  * This is done by calculating the harmonic mean for each entry
@@ -112,7 +112,7 @@ void harmonicMeanMatrix(Dune::FieldMatrix<Scalar, m, n> &K,
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Invert a linear polynomial analytically
  *
  * The polynomial is defined as
@@ -138,7 +138,7 @@ int invertLinearPolynomial(SolContainer &sol,
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Invert a quadratic polynomial analytically
  *
  * The polynomial is defined as
@@ -216,7 +216,7 @@ void invertCubicPolynomialPostProcess_(SolContainer &sol,
 //! \endcond
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Invert a cubic polynomial analytically
  *
  * The polynomial is defined as
@@ -413,7 +413,7 @@ int invertCubicPolynomial(SolContainer *sol,
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Comparison of two position vectors
  *
  * Compares an current position vector with a reference vector, and returns true
@@ -439,7 +439,7 @@ bool isLarger(const Dune::FieldVector<Scalar, dim> &pos,
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Comparison of two position vectors
  *
  * Compares an current position vector with a reference vector, and returns true
@@ -465,7 +465,7 @@ bool isSmaller(const Dune::FieldVector<Scalar, dim> &pos,
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Comparison of three position vectors
  *
  * Compares an current position vector with two reference vector, and returns true
@@ -497,7 +497,7 @@ bool isBetween(const Dune::FieldVector<Scalar, dim> &pos,
 namespace InterpolationPolicy { struct Linear; }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief a generic function to interpolate given a set of parameters and an interpolation point
  * \param params the parameters used for interpolation (depends on the policy used)
  * \param ip the interpolation point
@@ -507,13 +507,13 @@ Scalar interpolate(Scalar ip, Parameter&& ... params)
 { return Policy::interpolate(ip, std::forward<Parameter>(params) ...); }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Interpolation policies
  */
 namespace InterpolationPolicy  {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief interpolate linearly between two given values
  */
 struct Linear
@@ -531,7 +531,7 @@ struct Linear
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief interpolate linearly in a piecewise linear function (tabularized function)
  */
 struct LinearTable
@@ -570,7 +570,7 @@ struct LinearTable
 } // end namespace InterpolationPolicy
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Generates linearly spaced vectors
  *
  * \param begin The first value in the vector
@@ -595,7 +595,7 @@ std::vector<Scalar> linspace(const Scalar begin, const Scalar end,
 
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Evaluates the Antoine equation used to calculate the vapour
  *        pressure of various liquids.
  *
@@ -618,7 +618,7 @@ Scalar antoine(Scalar temperature,
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Sign or signum function.
  *
  * Returns 1 for a positive argument.
@@ -632,7 +632,7 @@ constexpr int sign(const ValueType& value) noexcept
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Cross product of two vectors in three-dimensional Euclidean space
  *
  * \param vec1 The first vector
@@ -648,7 +648,7 @@ Dune::FieldVector<Scalar, 3> crossProduct(const Dune::FieldVector<Scalar, 3> &ve
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Cross product of two vectors in two-dimensional Euclidean space retuning scalar
  *
  * \param vec1 The first vector
@@ -660,7 +660,7 @@ Scalar crossProduct(const Dune::FieldVector<Scalar, 2> &vec1,
 {   return vec1[0]*vec2[1]-vec1[1]*vec2[0]; }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Triple product of three vectors in three-dimensional Euclidean space retuning scalar
  *
  * \param vec1 The first vector
@@ -674,7 +674,7 @@ Scalar tripleProduct(const Dune::FieldVector<Scalar, 3> &vec1,
 {   return crossProduct<Scalar>(vec1, vec2)*vec3; }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Transpose a FieldMatrix
  *
  * \param M The matrix to be transposed
@@ -691,7 +691,7 @@ Dune::FieldMatrix<Scalar, n, m> getTransposed(const Dune::FieldMatrix<Scalar, m,
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Transpose a DynamicMatrix
  *
  * \param M The matrix to be transposed
@@ -712,7 +712,7 @@ Dune::DynamicMatrix<Scalar> getTransposed(const Dune::DynamicMatrix<Scalar>& M)
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Multiply two dynamic matrices
  *
  * \param M1 The first dynamic matrix
@@ -738,7 +738,7 @@ Dune::DynamicMatrix<Scalar> multiplyMatrices(const Dune::DynamicMatrix<Scalar> &
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Multiply two field matrices
  *
  * \param M1 The first field matrix
@@ -761,7 +761,7 @@ Dune::FieldMatrix<Scalar, rows1, cols2> multiplyMatrices(const Dune::FieldMatrix
 
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Trace of a dense matrix
  *
  * \param M The dense matrix
@@ -783,7 +783,7 @@ trace(const Dune::DenseMatrix<MatrixType>& M)
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Returns the result of the projection of
  *        a vector v with a Matrix M.
  *
@@ -806,7 +806,7 @@ mv(const Dune::DenseMatrix<MAT>& M,
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Returns the result of a vector v multiplied by a scalar m.
  *
  *        Note: We use DenseVector and DenseMatrix here so that
@@ -833,7 +833,7 @@ mv(const FieldScalar m, const Dune::DenseVector<V>& v)
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Evaluates the scalar product of a vector v2, projected by
  *        a matrix M, with a vector v1.
  *
@@ -856,7 +856,7 @@ vtmv(const Dune::DenseVector<V1>& v1,
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Evaluates the scalar product of a vector v2, scaled by
  *        a scalar m, with a vector v1.
  *
@@ -884,7 +884,7 @@ vtmv(const Dune::DenseVector<V1>& v1,
 }
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Returns the [intercept, slope] of the regression line
  *        fitted to a set of (x, y) data points.
  *
diff --git a/dumux/common/metadata.hh b/dumux/common/metadata.hh
index 5b745a543682090a9f82ee9fa5330781dd063a3e..6c2c5aae7e82a5089ab4c8d790bebc6866f87c6a 100644
--- a/dumux/common/metadata.hh
+++ b/dumux/common/metadata.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief The infrastructure to retrieve metadata information.
  */
 #ifndef DUMUX_COMMON_METADATA_HH
@@ -106,7 +106,7 @@ void collectTypeTagsFromTuple(Collector& collector, int depth=0, int parentBranc
 } // end namespace Detail
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Class to collect metadata
  */
 class Collector
diff --git a/dumux/common/monotonecubicspline.hh b/dumux/common/monotonecubicspline.hh
index 030d4ef9bc2bdf107b4baf92d8a34e0670e875f3..174cb9a15797fe408a91826f7e33e6a36fbc464f 100644
--- a/dumux/common/monotonecubicspline.hh
+++ b/dumux/common/monotonecubicspline.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief A monotone cubic spline
  */
 #ifndef DUMUX_COMMON_MONOTONE_CUBIC_SPLINE_HH
@@ -29,7 +29,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A monotone cubic spline
  * \note Construction after Fritsch & Butland (1984) (see https://doi.org/10.1137/0905021)
  * \note The resulting interpolation is globally monotone but only C^1
diff --git a/dumux/common/numeqvector.hh b/dumux/common/numeqvector.hh
index 88c7cc8960f6efd0e6ab94574df0f28d13e0a708..5c352d4c91b16c6338fd0145ff42f4a5955afc53 100644
--- a/dumux/common/numeqvector.hh
+++ b/dumux/common/numeqvector.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief A helper to deduce a vector with the same size as numbers of equations
  */
 #ifndef DUMUX_COMMON_NUMEQVECTOR_HH
@@ -24,7 +24,7 @@ struct NumEqVectorTraits
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A vector with the same size as numbers of equations
  * This is the default implementation and has to be specialized for
  * all custom primary variable vector types
diff --git a/dumux/common/numericdifferentiation.hh b/dumux/common/numericdifferentiation.hh
index b0c4856cf1d8a54f5a5f3d96f1d1994cf1e97015..d1b02cb883ccbc395b91e20ddbf6040861759e15 100644
--- a/dumux/common/numericdifferentiation.hh
+++ b/dumux/common/numericdifferentiation.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief A class for numeric differentiation
  *
  */
@@ -19,7 +19,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A class for numeric differentiation with respect to a scalar parameter
  */
 class NumericDifferentiation
diff --git a/dumux/common/optionalscalar.hh b/dumux/common/optionalscalar.hh
index 83f4aabe66f62d46a415fb3755ec4dd19fe43b2e..f4d6c861de0258fb7d619c50d2cb0a3791d1b749 100644
--- a/dumux/common/optionalscalar.hh
+++ b/dumux/common/optionalscalar.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief A wrapper that can either contain a valid Scalar or NaN
  */
 #ifndef DUMUX_COMMON_OPTIONAL_SCALAR_HH
@@ -18,7 +18,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A type for an optional scalar (contains either a valid number or NaN)
  * \tparam T Type of the underlying floating point number type
  */
diff --git a/dumux/common/parameters.cc b/dumux/common/parameters.cc
index d2fe8d9d7b21c4eb13b237b87d242702cbdd4fb2..30744f908857df28623513533bb39dd77f10d8f3 100644
--- a/dumux/common/parameters.cc
+++ b/dumux/common/parameters.cc
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief The infrastructure to retrieve run-time parameters from Dune::ParameterTrees.
  */
 
diff --git a/dumux/common/partial.hh b/dumux/common/partial.hh
index 3a0bbcd6715d134c57448f241321d790f9b39116..c1a0dab528cb1bcc57c9f722c3cd767616cf7956 100644
--- a/dumux/common/partial.hh
+++ b/dumux/common/partial.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Get only parts of a container or tuple
  */
 #ifndef DUMUX_COMMON_PARTIAL_HH
diff --git a/dumux/common/pdesolver.hh b/dumux/common/pdesolver.hh
index 83f588d5b01f3c8fb8b3a83db34ae2003cabc29d..dcfa50c14eef99dd8abe273c197f119a26241b4f 100644
--- a/dumux/common/pdesolver.hh
+++ b/dumux/common/pdesolver.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Defines a high-level interface for a PDESolver
  */
 #ifndef DUMUX_COMMON_PDESOLVER_HH
@@ -46,7 +46,7 @@ using AssemblerVariables = typename VariablesChooser<Assembler>::Type;
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A high-level interface for a PDESolver
  *
  * A PDESolver is constructed with an assembler and a linear solver
diff --git a/dumux/common/pointsource.hh b/dumux/common/pointsource.hh
index 1de7024464614ebcd44c8c3f0a5cba91bf4ed209..497d36f28f8214aa9465afc1a7d3cd0193a689a3 100644
--- a/dumux/common/pointsource.hh
+++ b/dumux/common/pointsource.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief A point source class,
  *        i.e. sources located at a single point in space
  */
@@ -29,7 +29,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A point source base class
  * \tparam PositionType the position type
  * \tparam ValueType the a vector type storing the source for all equations
@@ -145,7 +145,7 @@ private:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A point source class with an identifier to attach data
  * \tparam GlobalPosition the position type
  * \tparam SourceValues the a vector type storing the source for all equations
@@ -193,7 +193,7 @@ private:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A point source class for time dependent point sources
  */
 template<class TypeTag>
@@ -257,7 +257,7 @@ private:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A helper class calculating a sub control volume to point source map
  * This class uses the bounding box tree implementation to identify in which
  * sub control volume(s) a point source falls.
diff --git a/dumux/common/random.hh b/dumux/common/random.hh
index c1480fc3b2dc9ecdf50bed63c8d23379f4818666..d275a67b1ee8495a6bbfd163a1dffd799bb05407 100644
--- a/dumux/common/random.hh
+++ b/dumux/common/random.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Some tools for random number generation
  */
 #ifndef DUMUX_COMMON_RANDOM_HH
diff --git a/dumux/common/reorderingdofmapper.hh b/dumux/common/reorderingdofmapper.hh
index 28956de2387d5342e7a9fdf7db76c38c7d50b373..d38b9d43e0a045bdb8adcc4b1797fcec876232d3 100644
--- a/dumux/common/reorderingdofmapper.hh
+++ b/dumux/common/reorderingdofmapper.hh
@@ -7,7 +7,7 @@
 
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief An SCSG element mapper that sorts the indices in order to optimize the matrix sparsity pattern
  * \note The reordering needs the SCOTCH library
  */
@@ -24,7 +24,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief An SCSG element mapper that sorts the indices in order to optimize the matrix sparsity pattern
  * \note The reordering needs the SCOTCH library
  */
diff --git a/dumux/common/reservedblockvector.hh b/dumux/common/reservedblockvector.hh
index a6adf58df69306f78c39dfde3fa607f5d6732848..4c3564708ceaabac905661c2932244bead01da45 100644
--- a/dumux/common/reservedblockvector.hh
+++ b/dumux/common/reservedblockvector.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief A arithmetic block vector type based on DUNE's reserved vector
  */
 #ifndef DUMUX_RESERVED_BLOCK_VECTOR_HH
@@ -18,7 +18,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A arithmetic block vector type based on DUNE's reserved vector
  */
 template<class BlockType, int capacity>
diff --git a/dumux/common/spline.hh b/dumux/common/spline.hh
index a4fcda71dd0101b01d43bf65c86bf284fd66eff8..1ebd9899b3c745ca936739509b1ef7c427510237 100644
--- a/dumux/common/spline.hh
+++ b/dumux/common/spline.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Provides 3rd order polynomial splines.
  */
 #ifndef DUMUX_SPLINE_HH
@@ -19,7 +19,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A 3rd order polynomial spline.
 
  * This class implements a spline \f$s(x)\f$ for which, given \f$n\f$ sampling
@@ -100,7 +100,7 @@ public:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Specialization of a spline with the number of sampling
  *        points only known at run time.
  *
@@ -254,7 +254,7 @@ class Spline<Scalar, /*numSamples=*/1>
 { private: Spline() { }; };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Spline for two sampling points.
  *
  * For this type of spline there is no natural spline.
diff --git a/dumux/common/splinecommon_.hh b/dumux/common/splinecommon_.hh
index 2b7df3cbe0e10f96e96f91af5874cd137078eccc..e38a5859ad42ab6cc7d5836dfe7056bd1c33551b 100644
--- a/dumux/common/splinecommon_.hh
+++ b/dumux/common/splinecommon_.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief The common code for all 3rd order polynomial splines.
  */
 #ifndef DUMUX_SPLINE_COMMON__HH
@@ -24,7 +24,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief The common code for all 3rd order polynomial splines.
  */
 template<class ScalarT, class ImplementationT>
diff --git a/dumux/common/staggeredfvproblem.hh b/dumux/common/staggeredfvproblem.hh
index e9751806fede12b144cadb8b864d1ab192bd798f..436e7e81e46b9b7131b8cf3745115103203d61b5 100644
--- a/dumux/common/staggeredfvproblem.hh
+++ b/dumux/common/staggeredfvproblem.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \ingroup StaggeredDiscretization
  * \brief Base class for all staggered fv problems
  */
@@ -22,7 +22,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \ingroup StaggeredDiscretization
  * \brief Base class for all staggered finite-volume problems
  *
diff --git a/dumux/common/stringutilities.hh b/dumux/common/stringutilities.hh
index 325b6c1eb1ad77cc3285f1318f7154db17274cf5..7be8e773613aa98f7e21b2d76f6b072c43594db8 100644
--- a/dumux/common/stringutilities.hh
+++ b/dumux/common/stringutilities.hh
@@ -7,7 +7,7 @@
 
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Helpers for working with strings
  */
 
@@ -23,7 +23,7 @@ namespace Dumux {
 
 /*
  * \brief Tokenize a string splitting at a given delimiter
- * \ingroup Common
+ * \ingroup Core
  * \param str a string to be tokenized
  * \param delim a set of delimiter characters separating the tokens
  * \note this works without copying the original string, make sure that string
@@ -51,7 +51,7 @@ std::vector<std::string_view> tokenize(std::string_view str, std::string_view de
 
 /*
  * \brief Split a string at a given separator string
- * \ingroup Common
+ * \ingroup Core
  * \param str a string to be split
  * \param delim a set of delimiter characters separating the tokens
  * \param removeEmpty if empty string between two separator should be removed from the result
diff --git a/dumux/common/tabulated2dfunction.hh b/dumux/common/tabulated2dfunction.hh
index 121a51c89af09e75f820549e745bb7cb9a2051b6..7dd546b33aa1f1732ab4d9a64847b8293bc00d37 100644
--- a/dumux/common/tabulated2dfunction.hh
+++ b/dumux/common/tabulated2dfunction.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Implements tabulation for a two-dimensional function.
  */
 #ifndef DUMUX_TABULATED_2D_FUNCTION_HH
@@ -19,7 +19,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Implements tabulation for a two-dimensional function.
  *
  * This class can be used to tabulate a two dimensional function
diff --git a/dumux/common/tag.hh b/dumux/common/tag.hh
index ac408b52a1a16d13d4bac621cab4ed19ed326833..b8f058344e1b56dd3d9058396c1b6611f249dda0 100644
--- a/dumux/common/tag.hh
+++ b/dumux/common/tag.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Helper class to create (named and comparable) tagged types
  */
 #ifndef DUMUX_COMMON_TAG_HH
@@ -21,7 +21,7 @@
 namespace Dumux::Utility {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Helper class to create (named and comparable) tagged types
  * Tags any given type. The tagged type is equality comparable and can be written to streams.
  * A custom name can be provided by implementing the `name()` member function.
diff --git a/dumux/common/timeloop.hh b/dumux/common/timeloop.hh
index 2f9e5ac999e913e27756b9581dbb673db62260cf..a34e90ef9abfec17d25d9b201138eb4794b43c1b 100644
--- a/dumux/common/timeloop.hh
+++ b/dumux/common/timeloop.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Manages the handling of time dependent problems
  */
 #ifndef DUMUX_TIME_LOOP_HH
@@ -30,7 +30,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Manages the handling of time dependent problems.
  *
  * This class facilitates the time management of the simulation.
@@ -93,7 +93,7 @@ public:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief The default time loop for instationary simulations
  */
 template <class Scalar>
@@ -390,7 +390,7 @@ protected:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A time loop with a check point mechanism
  */
 template <class Scalar>
diff --git a/dumux/common/variablelengthspline_.hh b/dumux/common/variablelengthspline_.hh
index 42e62bbd92f90418121a3800da53038c9357c58e..4f33341098fba09d7df5e31ef9a1c04f9ecde807 100644
--- a/dumux/common/variablelengthspline_.hh
+++ b/dumux/common/variablelengthspline_.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Implements a spline with a variable number of sampling points
  */
 #ifndef DUMUX_VARIABLE_LENGTH_SPLINE_HH
@@ -22,7 +22,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief The common code for all 3rd order polynomial splines with
  *        where the number of sampling points only known at run-time.
  */
diff --git a/dumux/common/variablesbackend.hh b/dumux/common/variablesbackend.hh
index f58f9551a0cd56076f90f0ddd0189d19ee75ecf7..3ddce255425d2305c9f294da74838db97f9beae3 100644
--- a/dumux/common/variablesbackend.hh
+++ b/dumux/common/variablesbackend.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Backends for operations on different solution vector types
  *        or more generic variable classes to be used in places where
  *        several different types/layouts should be supported.
@@ -35,14 +35,14 @@ class MultiTypeBlockVector;
 namespace Dumux {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Class providing operations with primary variable vectors
  */
 template<class DofVector, bool isScalar = Dune::IsNumber<DofVector>::value>
 class DofBackend;
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Specialization providing operations for scalar/number types
  */
 template<class Scalar>
@@ -67,7 +67,7 @@ public:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Specialization providing operations for block vectors
  * \tparam Vector a type that is
  *   - default-constructible
@@ -100,7 +100,7 @@ public:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Specialization providing operations for multitype block vectors
  */
 template<class... Blocks>
@@ -159,7 +159,7 @@ template<class Vars, bool varsExportSolution>
 class VariablesBackend;
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Class providing operations for primary variable vector/scalar types
  * \note We assume the variables being simply a dof vector if we
  *       do not find the variables class to export `SolutionVector`.
@@ -188,7 +188,7 @@ public:
 };
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Class providing operations for generic variable classes,
  *        containing primary and possibly also secondary variables.
  */
@@ -215,7 +215,7 @@ public:
 } // end namespace Detail
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief Class providing operations for generic variable classes
  *        that represent the state of a numerical solution, possibly
  *        consisting of primary/secondary variables and information on
diff --git a/dumux/common/volumevariables.hh b/dumux/common/volumevariables.hh
index 3db785d087466ae7fa152bd9c7051eb6e7a735bb..b7f4340723c6e1a47e59200899521fb35148bfbb 100644
--- a/dumux/common/volumevariables.hh
+++ b/dumux/common/volumevariables.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \brief Basic volume variables for finite volume methods
  */
 #ifndef DUMUX_COMMON_BASIC_VOLUME_VARIABLES_HH
diff --git a/dumux/discretization/cellcentered/mpfa/interactionvolumedatahandle.hh b/dumux/discretization/cellcentered/mpfa/interactionvolumedatahandle.hh
index cb35cad49b170a78a75c4a203d14a5cba65835d9..990a3b9112c1a2b35b73aeba275e44bb172ce0ec 100644
--- a/dumux/discretization/cellcentered/mpfa/interactionvolumedatahandle.hh
+++ b/dumux/discretization/cellcentered/mpfa/interactionvolumedatahandle.hh
@@ -130,7 +130,10 @@ protected:
 //! Empty data handle class
 class EmptyDataHandle {};
 
-//! Data handle for quantities related to advection
+/*!
+ * \ingroup CCMpfaDiscretization
+ * \brief Data handle for quantities related to advection
+ */
 template<class MatVecTraits, class PhysicsTraits, bool EnableAdvection>
 class AdvectionDataHandle
 : public CCMpfaDataHandleBases::SystemMatricesHandle<MatVecTraits, 1, 1>
@@ -171,7 +174,10 @@ private:
     std::array< OutsideGravityStorage, numPhases > outsideG_;  //!< The gravitational acceleration on "outside" faces (only on surface grids)
 };
 
-//! Data handle for quantities related to diffusion
+/*!
+ * \ingroup CCMpfaDiscretization
+ * \brief Data handle for quantities related to diffusion
+ */
 template<class MatVecTraits, class PhysicsTraits, bool EnableDiffusion>
 class DiffusionDataHandle
 : public CCMpfaDataHandleBases::SystemMatricesHandle<MatVecTraits, PhysicsTraits::numPhases, PhysicsTraits::numComponents>
@@ -190,7 +196,10 @@ public:
     { Base1::setContextIndex2(compIdx); Base2::setContextIndex2(compIdx); }
 };
 
-//! Data handle for quantities related to heat conduction
+/*!
+ * \ingroup CCMpfaDiscretization
+ * \brief Data handle for quantities related to heat conduction
+ */
 template<class MatVecTraits, class PhysicsTraits, bool enableHeatConduction>
 class HeatConductionDataHandle
 : public CCMpfaDataHandleBases::SystemMatricesHandle<MatVecTraits, 1, 1>
diff --git a/dumux/discretization/cvfe/elementsolution.hh b/dumux/discretization/cvfe/elementsolution.hh
index a8c97a659bae1f5cb10ebc07191fa5f09f05125e..abfc1881948c6d91258bb8231085211b7320ec01 100644
--- a/dumux/discretization/cvfe/elementsolution.hh
+++ b/dumux/discretization/cvfe/elementsolution.hh
@@ -111,10 +111,7 @@ private:
     Dune::ReservedVector<PrimaryVariables, numCubeDofs> priVars_;
 };
 
-/*!
- * \ingroup CVFEDiscretization
- * \brief  Make an element solution for control-volume finite element schemes
- */
+//! Make an element solution for control-volume finite element schemes
 template<class Element, class SolutionVector, class GridGeometry>
 auto elementSolution(const Element& element, const SolutionVector& sol, const GridGeometry& gg)
 -> std::enable_if_t<DiscretizationMethods::isCVFE<typename GridGeometry::DiscretizationMethod>,
@@ -126,10 +123,7 @@ auto elementSolution(const Element& element, const SolutionVector& sol, const Gr
     return CVFEElementSolution<typename GridGeometry::LocalView, PrimaryVariables>(element, sol, gg);
 }
 
-/*!
- * \ingroup CVFEDiscretization
- * \brief  Make an element solution for control-volume finite element schemes
- */
+//!  Make an element solution for control-volume finite element schemes
 template<class Element, class ElementVolumeVariables, class FVElementGeometry>
 auto elementSolution(const Element& element, const ElementVolumeVariables& elemVolVars, const FVElementGeometry& gg)
 -> std::enable_if_t<DiscretizationMethods::isCVFE<typename FVElementGeometry::GridGeometry::DiscretizationMethod>,
diff --git a/dumux/experimental/assembly/cclocalassembler.hh b/dumux/experimental/assembly/cclocalassembler.hh
index d65358740a2295603521538b97613b1080f9508b..1245daeff9a0a8bf1226e221a36590f0d6c713d9 100644
--- a/dumux/experimental/assembly/cclocalassembler.hh
+++ b/dumux/experimental/assembly/cclocalassembler.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CCDiscretization
  * \brief An assembler for Jacobian and residual contribution per element (cell-centered methods)
@@ -35,6 +36,7 @@
 namespace Dumux::Experimental {
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CCDiscretization
  * \brief A base class for all local cell-centered assemblers
@@ -167,6 +169,7 @@ public:
 };
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CCDiscretization
  * \brief An assembler for Jacobian and residual contribution per element (cell-centered methods)
@@ -178,6 +181,7 @@ template<class TypeTag, class Assembler, DiffMethod diffMethod = DiffMethod::num
 class CCLocalAssembler;
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CCDiscretization
  * \brief Cell-centered scheme local assembler using numeric differentiation
@@ -213,9 +217,7 @@ public:
 
     /*!
      * \brief Computes the derivatives with respect to the given element and adds them
-     *        to the global matrix.
-     *
-     * \return The element residual at the current solution.
+     *        to the global matrix. Calculates the element residual at the current solution.
      */
     void assembleJacobian(JacobianMatrix& A, GridVariables& gridVariables, const NumEqVector& origResidual)
     {
@@ -229,7 +231,7 @@ private:
 
     /*!
      * \brief Computes the derivatives with respect to the given element and adds them to the global matrix.
-     * \return The element residual at the current solution.
+     *        Calculates the element residual at the current solution.
      */
     void assembleJacobianImplicit_(JacobianMatrix& A, GridVariables& gridVariables, const NumEqVector& origResidual)
     {
@@ -420,9 +422,7 @@ private:
 
     /*!
      * \brief Computes the derivatives with respect to the given element and adds them
-     *        to the global matrix.
-     *
-     * \return The element residual at the current solution.
+     *        to the global matrix. Calculates the element residual at the current solution.
      */
     void assembleJacobianExplicit_(JacobianMatrix& A, GridVariables& gridVariables, const NumEqVector& origResidual)
     {
diff --git a/dumux/experimental/assembly/cvfelocalassembler.hh b/dumux/experimental/assembly/cvfelocalassembler.hh
index f2254d0b121a8d1dbf85d2890b9f86308a361c5d..623252142ddbdb48a1d25d215da4b5dbe39127fa 100644
--- a/dumux/experimental/assembly/cvfelocalassembler.hh
+++ b/dumux/experimental/assembly/cvfelocalassembler.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CVFEDiscretization
  * \brief An assembler for Jacobian and residual contribution per element (CVFE methods)
@@ -38,6 +39,7 @@
 namespace Dumux::Experimental {
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CVFEDiscretization
  * \brief A base class for all local CVFE assemblers
@@ -312,6 +314,7 @@ public:
 };
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CVFEDiscretization
  * \brief An assembler for Jacobian and residual contribution per element (CVFE methods)
@@ -323,6 +326,7 @@ template<class TypeTag, class Assembler, DiffMethod diffMethod = DiffMethod::num
 class CVFELocalAssembler;
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CVFEDiscretization
  * \brief Control volume finite element local assembler using numeric differentiation
diff --git a/dumux/experimental/assembly/fvlocalassemblerbase.hh b/dumux/experimental/assembly/fvlocalassemblerbase.hh
index 18f59cdf5eaf9217e9476cc2402f3383fb892cf9..b6fd21edfac8246f581281c6e85b1280b30c267d 100644
--- a/dumux/experimental/assembly/fvlocalassemblerbase.hh
+++ b/dumux/experimental/assembly/fvlocalassemblerbase.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup Experimental
  * \ingroup Assembly
  * \copydoc Dumux::FVLocalAssemblerBase
  */
@@ -25,6 +26,7 @@
 namespace Dumux::Experimental {
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \brief A base class for all local assemblers
  * \tparam TypeTag The TypeTag
diff --git a/dumux/experimental/assembly/multistagefvassembler.hh b/dumux/experimental/assembly/multistagefvassembler.hh
index 252c670ebfda1f477401ef54e6afcfbf34d05911..41b383b4eed678d01059c28fa94bae27cc3dab4c 100644
--- a/dumux/experimental/assembly/multistagefvassembler.hh
+++ b/dumux/experimental/assembly/multistagefvassembler.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup Experimental
  * \ingroup Assembly
  * \brief A linear system assembler (residual and Jacobian) for finite volume schemes
  */
@@ -77,6 +78,7 @@ using LocalAssemblerChooser_t = typename LocalAssemblerChooser<
 namespace Dumux::Experimental {
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \brief A linear system assembler (residual and Jacobian) for finite volume schemes (box, tpfa, mpfa, ...)
  * \tparam TypeTag The TypeTag
diff --git a/dumux/experimental/assembly/multistagefvlocaloperator.hh b/dumux/experimental/assembly/multistagefvlocaloperator.hh
index e895437df3ca3386d0204349a004ee223e485a06..8845d6943236dbcd5141dbf9e8f89f740303b1fb 100644
--- a/dumux/experimental/assembly/multistagefvlocaloperator.hh
+++ b/dumux/experimental/assembly/multistagefvlocaloperator.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup Experimental
  * \ingroup Assembly
  * \brief A local operator wrapper for multi-stage time stepping schemes
  */
diff --git a/dumux/experimental/assembly/multistagemultidomainfvassembler.hh b/dumux/experimental/assembly/multistagemultidomainfvassembler.hh
index 13ac94c3720835b86d84af7339ab8b58c48a2ef5..59b87381de80e2753111cd2f8c2ffe5838217ebf 100644
--- a/dumux/experimental/assembly/multistagemultidomainfvassembler.hh
+++ b/dumux/experimental/assembly/multistagemultidomainfvassembler.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup Experimental
  * \ingroup MultiDomain
  * \ingroup Assembly
  * \brief A linear system assembler (residual and Jacobian) for finite volume schemes
@@ -66,6 +67,7 @@ bool allGridsSupportsMultithreading(const std::tuple<GG...>& gridGeometries)
 namespace Dumux {
 
 /*!
+ * \ingroup Experimental
  * \ingroup MultiDomain
  * \ingroup Assembly
  * \brief Type trait that is specialized for coupling manager supporting multithreaded assembly
@@ -80,6 +82,7 @@ struct CouplingManagerSupportsMultithreadedAssembly : public std::false_type
 namespace Dumux::Experimental {
 
 /*!
+ * \ingroup Experimental
  * \ingroup MultiDomain
  * \ingroup Assembly
  * \brief A linear system assembler (residual and Jacobian) for finite volume schemes (box, tpfa, mpfa, ...)
diff --git a/dumux/experimental/assembly/subdomaincclocalassembler.hh b/dumux/experimental/assembly/subdomaincclocalassembler.hh
index 0fdf96dd698320d33fdc1701a9e6e8499cb5c4a4..be932e0f7c3302fa8a4f56959f11f31459e26b20 100644
--- a/dumux/experimental/assembly/subdomaincclocalassembler.hh
+++ b/dumux/experimental/assembly/subdomaincclocalassembler.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CCDiscretization
  * \ingroup MultiDomain
@@ -35,6 +36,7 @@
 namespace Dumux::Experimental {
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CCDiscretization
  * \ingroup MultiDomain
@@ -179,6 +181,7 @@ private:
 };
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CCDiscretization
  * \ingroup MultiDomain
@@ -192,6 +195,7 @@ template<std::size_t id, class TypeTag, class Assembler, DiffMethod DM = DiffMet
 class SubDomainCCLocalAssembler;
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CCDiscretization
  * \ingroup MultiDomain
diff --git a/dumux/experimental/assembly/subdomaincvfelocalassembler.hh b/dumux/experimental/assembly/subdomaincvfelocalassembler.hh
index 9a995e4c2efccc493d953dc030a671548b75659f..f4c91283c7e3dee957b832d0cf0ea98230a9f9ee 100644
--- a/dumux/experimental/assembly/subdomaincvfelocalassembler.hh
+++ b/dumux/experimental/assembly/subdomaincvfelocalassembler.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CVFEDiscretization
  * \ingroup MultiDomain
@@ -36,6 +37,7 @@
 namespace Dumux::Experimental {
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CVFEDiscretization
  * \ingroup MultiDomain
@@ -190,6 +192,7 @@ private:
 };
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CVFEDiscretization
  * \ingroup MultiDomain
@@ -203,6 +206,7 @@ template<std::size_t id, class TypeTag, class Assembler, DiffMethod DM = DiffMet
 class SubDomainCVFELocalAssembler;
 
 /*!
+ * \ingroup Experimental
  * \ingroup Assembly
  * \ingroup CVFEDiscretization
  * \ingroup MultiDomain
diff --git a/dumux/experimental/common/variables.hh b/dumux/experimental/common/variables.hh
index 4e339df1b84f3ef99a11e0d0dc5af054db1570f9..d385c47e555a60e0a13116172d0365ad534c9151 100644
--- a/dumux/experimental/common/variables.hh
+++ b/dumux/experimental/common/variables.hh
@@ -7,7 +7,7 @@
 /*!
  * \file
  * \ingroup Experimental
- * \ingroup Common
+ * \ingroup Core
  * \copydoc Dumux::Experimental::Variables
  */
 #ifndef DUMUX_COMMON_VARIABLES_HH
@@ -22,7 +22,7 @@ namespace Dumux::Experimental {
 
 /*!
  * \ingroup Experimental
- * \ingroup Common
+ * \ingroup Core
  * \brief Class that represents the variables of a model.
  *        We assume that models are formulated on the basis of primary and
  *        possibly secondary variables, where the latter may non-linearly
diff --git a/dumux/flux/porenetwork/grainfourierslaw.hh b/dumux/flux/porenetwork/grainfourierslaw.hh
index 6ee48abe3f096f820a0e5175bc706d8851c3dceb..5e4438063d3b2c8d3128241748f2af4b5e456b53 100644
--- a/dumux/flux/porenetwork/grainfourierslaw.hh
+++ b/dumux/flux/porenetwork/grainfourierslaw.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup PoreNetworkFlux
  * \brief This file contains the data which is required to calculate
  *        diffusive heat fluxes with Fourier's law.
  */
@@ -18,6 +19,7 @@
 namespace Dumux::PoreNetwork {
 
 /*!
+ * \ingroup PoreNetworkFlux
  * \brief Specialization of Fourier's Law for the pore-network SOLID model.
  * \note See Koch et al (2021) https://doi.org/10.1007/s11242-021-01602-5
  *       and Khan et al (2019) https://doi.org/10.1016/j.compchemeng.2018.12.025 
@@ -93,6 +95,7 @@ struct TruncatedPyramidGrainFouriersLaw
 };
 
 /*!
+ * \ingroup PoreNetworkFlux
  * \brief Specialization of Fourier's Law for the pore-network SOLID model.
  * \note See Koch et al (2021) https://doi.org/10.1007/s11242-021-01602-5
  */
diff --git a/dumux/freeflow/shallowwater/boundaryfluxes.hh b/dumux/freeflow/shallowwater/boundaryfluxes.hh
index e2653128a63531bb98a3da8e6c573ca7b3c8a3d8..b594ba4efad77cacabc8258eb8c1ff5662bf02b5 100644
--- a/dumux/freeflow/shallowwater/boundaryfluxes.hh
+++ b/dumux/freeflow/shallowwater/boundaryfluxes.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \brief Compute boundary conditions for the Riemann Solver
  *
  * The boundary conditions are given at the the outer face of the
diff --git a/dumux/freeflow/shallowwater/fluxvariables.hh b/dumux/freeflow/shallowwater/fluxvariables.hh
index ffebebb5af7c636de412a16cd7d273a7661cef03..59ea09d90736fa587c629193e88237ad2ebd1e88 100644
--- a/dumux/freeflow/shallowwater/fluxvariables.hh
+++ b/dumux/freeflow/shallowwater/fluxvariables.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \copydoc Dumux::ShallowWaterFluxVariables
  */
 #ifndef DUMUX_FREEFLOW_SHALLOW_WATER_FLUXVARIABLES_HH
@@ -19,7 +19,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \brief The flux variables class for the shallow water model.
  *
  */
diff --git a/dumux/freeflow/shallowwater/indices.hh b/dumux/freeflow/shallowwater/indices.hh
index 54acaaccec97b8a08cd2e641a5ac551857729f08..521f4e8f2b554613530259d6a841f4fdf397a5c3 100644
--- a/dumux/freeflow/shallowwater/indices.hh
+++ b/dumux/freeflow/shallowwater/indices.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \copydoc Dumux::ShallowWaterIndices
  */
 #ifndef DUMUX_FREEFLOW_SHALLOW_WATER_INDICES_HH
@@ -16,7 +16,7 @@ namespace Dumux {
 
 // \{
 /*!
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \brief The common indices for the shallow water equations model.
  */
 struct ShallowWaterIndices
diff --git a/dumux/freeflow/shallowwater/iofields.hh b/dumux/freeflow/shallowwater/iofields.hh
index 328097b18268995c5083d9e919522ef44f31e3ad..ecb8bd634a7d634df9aa6502c2e6c1df51531328 100644
--- a/dumux/freeflow/shallowwater/iofields.hh
+++ b/dumux/freeflow/shallowwater/iofields.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \brief Add I/O fields specific to shallow water
  */
 #ifndef DUMUX_FREEFLOW_SHALLOW_WATER_IO_FIELDS_HH
@@ -18,7 +18,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \brief Adds vtk output fields for the shallow water model
  */
 class ShallowWaterIOFields
diff --git a/dumux/freeflow/shallowwater/localresidual.hh b/dumux/freeflow/shallowwater/localresidual.hh
index 5a7209b460e381c7ab77253ce34b6cbcbbfff463..7d1b100aef8b0880194765c056dac71436310697 100644
--- a/dumux/freeflow/shallowwater/localresidual.hh
+++ b/dumux/freeflow/shallowwater/localresidual.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \copydoc Dumux::ShallowWaterResidual
  */
 #ifndef DUMUX_FREEFLOW_SHALLOW_WATER_LOCAL_RESIDUAL_HH
@@ -19,7 +19,7 @@
 namespace Dumux{
 
 /*!
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \brief Element-wise calculation of the residual for the shallow water equations
  */
 template<class TypeTag>
diff --git a/dumux/freeflow/shallowwater/model.hh b/dumux/freeflow/shallowwater/model.hh
index e96ff30ed9fcce57fd3db9746fe34126920d1e50..9bb055e7bb142019229c3f23d24bf0d268255a2f 100644
--- a/dumux/freeflow/shallowwater/model.hh
+++ b/dumux/freeflow/shallowwater/model.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  *
  * \brief A two-dimensional shallow water equations model
  *
@@ -76,7 +76,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \brief Specifies a number properties of shallow water models.
  */
 struct ShallowWaterModelTraits
@@ -91,7 +91,7 @@ struct ShallowWaterModelTraits
 };
 
 /*!
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \brief Traits class for the volume variables of the shallow water model.
  *
  * \tparam PV The type used for primary variables
diff --git a/dumux/freeflow/shallowwater/problem.hh b/dumux/freeflow/shallowwater/problem.hh
index a722efcf7996e495741abc0b60e8d52facf67029..881802a450964dbaefa68afc301457bc5c1c99fe 100644
--- a/dumux/freeflow/shallowwater/problem.hh
+++ b/dumux/freeflow/shallowwater/problem.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \copydoc Dumux::ShallowWaterProblem
  */
 #ifndef DUMUX_FREEFLOW_SHALLOW_WATER_PROBLEM_HH
@@ -19,7 +19,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \brief Shallow water problem base class.
  */
 template<class TypeTag>
diff --git a/dumux/freeflow/shallowwater/volumevariables.hh b/dumux/freeflow/shallowwater/volumevariables.hh
index 2dde5972619951414ecf9b2069882793d8a9b720..77cbe69868ad84ab9ac997dffab112ab0f5219a8 100644
--- a/dumux/freeflow/shallowwater/volumevariables.hh
+++ b/dumux/freeflow/shallowwater/volumevariables.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \copydoc Dumux::ShallowWaterVolumeVariables
  */
 #ifndef DUMUX_FREEFLOW_SHALLOW_WATER_VOLUME_VARIABLES_HH
@@ -15,7 +15,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup ShallowWaterModel
+ * \ingroup ShallowWaterModels
  * \brief Volume variables for the shallow water equations model.
  */
 template <class Traits>
diff --git a/dumux/geomechanics/fvproblem.hh b/dumux/geomechanics/fvproblem.hh
index e2219a66df8a99fbb6812bbf117946ab1a9cf334..d4743f8a10aab74b333b457b3f2c904dc9b203a3 100644
--- a/dumux/geomechanics/fvproblem.hh
+++ b/dumux/geomechanics/fvproblem.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Geomechanics
+ * \ingroup GeomechanicsModels
  * \brief Base class for all geomechanical problems
  */
 #ifndef DUMUX_GEOMECHANICS_FV_PROBLEM_HH
@@ -18,7 +18,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Geomechanics
+ * \ingroup GeomechanicsModels
  * \brief Base class for all geomechanical problems
  * \note We require only little additional functionality to the
  *       porous medium flow problem, which is why we inherit from that here.
diff --git a/dumux/geomechanics/hyperelastic/model.hh b/dumux/geomechanics/hyperelastic/model.hh
index 3f9d3fce1da9b2d72b8d20fdefd187e40bc56e9b..9e56ddc254753f469d741252910e5144c7a2fa92 100644
--- a/dumux/geomechanics/hyperelastic/model.hh
+++ b/dumux/geomechanics/hyperelastic/model.hh
@@ -72,7 +72,7 @@ struct HyperelasticIndices
 };
 
 /*!
- * \ingroup HyperelasticModel
+ * \ingroup Hyperelastic
  * \brief HyperelasticModelTraits
  */
 template<int dim>
diff --git a/dumux/geomechanics/lameparams.hh b/dumux/geomechanics/lameparams.hh
index 3ab9191bb1bfb0a7c15cbf879b5bfce65e17dfc1..c883af3df4f81d2ac5e9432c746947cf366d4883 100644
--- a/dumux/geomechanics/lameparams.hh
+++ b/dumux/geomechanics/lameparams.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Geomechanics
+ * \ingroup GeomechanicsModels
  * \brief \copydoc Dumux::LameParams
  */
 #ifndef DUMUX_GEOMECHANICS_LAME_PARAMS_HH
@@ -15,7 +15,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Geomechanics
+ * \ingroup GeomechanicsModels
  * \brief Structure encapsulating the lame parameters
  */
 template<class Scalar>
diff --git a/dumux/geomechanics/properties.hh b/dumux/geomechanics/properties.hh
index 18fe743df47ba780ae55ba97ba5618fd09855527..a7d5a0cda3fc952f5dfcd4c30e85955c85061700 100644
--- a/dumux/geomechanics/properties.hh
+++ b/dumux/geomechanics/properties.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Geomechanics
+ * \ingroup GeomechanicsModels
  * \brief Defines a type tag and some properties for geomechanical DuMuX models.
  */
 
diff --git a/dumux/geomechanics/spatialparamstraits_.hh b/dumux/geomechanics/spatialparamstraits_.hh
index ddcccc05700c1b693c02074d365eb898d8a3290a..a5b41ac2602a7a33c5b3f379d553112e646dd0f7 100644
--- a/dumux/geomechanics/spatialparamstraits_.hh
+++ b/dumux/geomechanics/spatialparamstraits_.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Geomechanics
+ * \ingroup GeomechanicsModels
  * \brief helper struct detecting if the user-defined spatial params class has a lameParamsAtPos function
  */
 #ifndef DUMUX_GEOMECHANICS_SPATIAL_PARAMS_TRAITS__HH
diff --git a/dumux/geomechanics/stressvariablescache.hh b/dumux/geomechanics/stressvariablescache.hh
index ef9382bd6b18ec8562026616aa9024f51ef5da54..9e9dfb7de59e7cad0e8276d8adc2cc298fd19038 100644
--- a/dumux/geomechanics/stressvariablescache.hh
+++ b/dumux/geomechanics/stressvariablescache.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Geomechanics
+ * \ingroup GeomechanicsModels
  * \brief Base class for the stress variables cache
  */
 #ifndef DUMUX_GEOMECHANICS_STRESSVARIABLESCACHE_HH
@@ -21,7 +21,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Geomechanics
+ * \ingroup GeomechanicsModels
  * \brief The stress variables cache classes for models involving geomechanics.
  *        Store data required for stress calculation.
  */
diff --git a/dumux/geomechanics/velocityoutput.hh b/dumux/geomechanics/velocityoutput.hh
index df127af03b3dd28c259e7b415bb96f458b82b3ef..62a76f519f6ca73d97e40ae4b03e5f7cb4b84f9d 100644
--- a/dumux/geomechanics/velocityoutput.hh
+++ b/dumux/geomechanics/velocityoutput.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Geomechanics
+ * \ingroup GeomechanicsModels
  * \brief Velocity output for geomechanical models
  */
 #ifndef DUMUX_GEOMECHANICS_VELOCITYOUTPUT_HH
@@ -19,7 +19,7 @@
 namespace Dumux {
 
 /*!
- * \ingroup Geomechanics
+ * \ingroup GeomechanicsModels
  * \brief Velocity output for geomechanical models.
  *        This class could be used to compute the temporal derivative
  *        of the displacement. Currently this is not implemented and
diff --git a/dumux/io/json.hh b/dumux/io/json.hh
index 9c56cdad424154278896915ef6caf26b2ad19ea5..76958d97479ba32e0016a76dc7dc9140b3a50e73 100644
--- a/dumux/io/json.hh
+++ b/dumux/io/json.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Json
+ * \ingroup InputOutput
  * \brief Collection of json classes from JSON for Modern C++ library
  */
 #include "dumux/io/json/json.hpp"
diff --git a/dumux/linear/solvercategory.hh b/dumux/linear/solvercategory.hh
index 3aaa2ea2849881de2ebe107f74456070ef6b6c53..db501ff587a744b3318320c34801a7ca394b2b90 100644
--- a/dumux/linear/solvercategory.hh
+++ b/dumux/linear/solvercategory.hh
@@ -4,6 +4,11 @@
 // SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
 // SPDX-License-Identifier: GPL-3.0-or-later
 //
+/*!
+ * \file
+ * \ingroup Linear
+ * \brief Solver category
+ */
 #ifndef DUMUX_LINEAR_SOLVERCATEGORY_HH
 #define DUMUX_LINEAR_SOLVERCATEGORY_HH
 
diff --git a/dumux/multidomain/dualnetwork/couplingmanager.hh b/dumux/multidomain/dualnetwork/couplingmanager.hh
index 628b516a1ad69debd487603e61d7f566b4e04a95..27bbf3eac24fab5c5eb1948d1daeb0d0a302f117 100644
--- a/dumux/multidomain/dualnetwork/couplingmanager.hh
+++ b/dumux/multidomain/dualnetwork/couplingmanager.hh
@@ -6,6 +6,7 @@
 //
 /*!
  * \file
+ * \ingroup DualNetworkCoupling
  * \ingroup DarcyDarcyCoupling
  * \brief Coupling manager for equal-dimension boundary coupling
  */
@@ -36,6 +37,7 @@
 namespace Dumux::PoreNetwork {
 
 /*!
+ * \ingroup DualNetworkCoupling
  * \ingroup DarcyDarcyCoupling
  * \brief Coupling manager for dual network approach for pore network models
  * \note Concept and algorithms described in Koch et al (2021) https://doi.org/10.1007/s11242-021-01602-5
diff --git a/dumux/multidomain/dualnetwork/couplingmapper.hh b/dumux/multidomain/dualnetwork/couplingmapper.hh
index 32c76259ed424398c9add55d54c9d0ff5d301c6a..3a79effc115d63843fe16c966683c3e5a537e772 100644
--- a/dumux/multidomain/dualnetwork/couplingmapper.hh
+++ b/dumux/multidomain/dualnetwork/couplingmapper.hh
@@ -6,7 +6,8 @@
 //
 /*!
  * \file
- * \ingroup PoreNetwork
+ * \ingroup DualNetworkCoupling
+ * \ingroup PoreNetworkModels
  * \copydoc Dumux::PoreNetwork::DualNetworkCouplingMapper
  */
 
@@ -25,7 +26,8 @@
 namespace Dumux::PoreNetwork {
 
 /*!
- * \ingroup PoreNetwork
+ * \ingroup DualNetworkCoupling
+ * \ingroup PoreNetworkModels
  * \brief Coupling mapper for Stokes and Darcy domains with equal dimension.
  */
 
diff --git a/dumux/multidomain/dualnetwork/extendedsourcestencil.hh b/dumux/multidomain/dualnetwork/extendedsourcestencil.hh
index 2463bd23a44b3a69e22d29ef8f4a77ddbb3e27f8..3382700fc9c7ade3bfda12c12e8210cf0685bdb1 100644
--- a/dumux/multidomain/dualnetwork/extendedsourcestencil.hh
+++ b/dumux/multidomain/dualnetwork/extendedsourcestencil.hh
@@ -6,7 +6,8 @@
 //
 /*!
  * \file
- * \ingroup PoreNetwork
+ * \ingroup DualNetworkCoupling
+ * \ingroup PoreNetworkModels
  * \brief Extended source stencil helper class for coupling managers
  */
 
@@ -25,7 +26,8 @@
 namespace Dumux::PoreNetwork {
 
 /*!
- * \ingroup PoreNetwork
+ * \ingroup DualNetworkCoupling
+ * \ingroup PoreNetworkModels
  * \brief A class managing an extended source stencil
  * \tparam CouplingManager the coupling manager type
  */
diff --git a/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh b/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh
index a255f128feac910c665e378355bb9ddb6739376e..75c54178afc07322ef83bf8e788228bf11410776 100644
--- a/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh
+++ b/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh
@@ -203,6 +203,10 @@ public:
     } // end source
 };
 
+/*!
+ * \ingroup ThermalNonEquilibriumModel
+ * \brief TODO docme
+ */
 template<class TypeTag>
 class EnergyLocalResidualNonEquilibrium<TypeTag, 2/*numEnergyEqFluid*/>
 : public EnergyLocalResidualNonEquilibrium<TypeTag, 1/*numEnergyEqFluid*/>
diff --git a/dumux/porousmediumflow/richardsextended/primaryvariableswitch.hh b/dumux/porousmediumflow/richardsextended/primaryvariableswitch.hh
index 32c6743d7ef624f31ffada152a4f2743c7e89061..19892fad61c8edb7f40b39b6afe82b698b831632 100644
--- a/dumux/porousmediumflow/richardsextended/primaryvariableswitch.hh
+++ b/dumux/porousmediumflow/richardsextended/primaryvariableswitch.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup ExtenndedRichardsModel
+ * \ingroup ExtendedRichardsModel
  * \brief The primary variable switch for the extended Richards model.
  */
 
diff --git a/dumux/python/common/fvproblem.hh b/dumux/python/common/fvproblem.hh
index 28b1eef675d13422c26b2281075caf1b4a16092b..2d08e3ad67a66016e7250ebde6be50e1cbe22422 100644
--- a/dumux/python/common/fvproblem.hh
+++ b/dumux/python/common/fvproblem.hh
@@ -28,7 +28,7 @@
 namespace Dumux::Python {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \brief A C++ wrapper for a Python problem
  */
 template<class GridGeometry_,  class SpatialParams_, class PrimaryVariables, bool enableInternalDirichletConstraints_>
diff --git a/dumux/python/common/fvspatialparams.hh b/dumux/python/common/fvspatialparams.hh
index f3bbc636a3509596f1d8d3559d98e6748f537b20..3d6c1999903d84ef08022855e927ec5cc78bbcfa 100644
--- a/dumux/python/common/fvspatialparams.hh
+++ b/dumux/python/common/fvspatialparams.hh
@@ -6,7 +6,7 @@
 //
 /*!
  * \file
- * \ingroup Common
+ * \ingroup Core
  * \ingroup SpatialParameters
  * \brief Basic spatial parameters to be used with finite-volume schemes.
  */
@@ -25,7 +25,7 @@
 namespace Dumux::Python {
 
 /*!
- * \ingroup Common
+ * \ingroup Core
  * \ingroup SpatialParameters
  * \brief The base class for spatial parameters used with finite-volume schemes.
  */