From d07428776acf5b6a53ab04c493e85dd05ba272b8 Mon Sep 17 00:00:00 2001
From: Bernd Flemisch <bernd@iws.uni-stuttgart.de>
Date: Fri, 30 Nov 2012 09:21:21 +0000
Subject: [PATCH] implicit branch: deprecate BoxVolumeVariables in favor of
 ImplicitVolumeVariables. Adapt includes and names.

git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/branches/implicit@9733 2fb0f335-1f38-0410-981e-8018bf24f1b0
---
 dumux/boxmodels/common/boxvolumevariables.hh  |  58 +++++-
 .../freeflow/stokes/stokesvolumevariables.hh  |   2 +-
 dumux/implicit/1p/1pvolumevariables.hh        |  10 +-
 dumux/implicit/1p2c/1p2cvolumevariables.hh    |  10 +-
 dumux/implicit/2p/2pvolumevariables.hh        |  10 +-
 dumux/implicit/2p2c/2p2cvolumevariables.hh    |   8 +-
 .../implicit/2p2cni/2p2cnivolumevariables.hh  |   2 +-
 dumux/implicit/2pdfm/2pdfmvolumevariables.hh  |   4 +-
 dumux/implicit/2pni/2pnivolumevariables.hh    |   2 +-
 dumux/implicit/3p3c/3p3cvolumevariables.hh    |   6 +-
 .../implicit/3p3cni/3p3cnivolumevariables.hh  |   2 +-
 dumux/implicit/box/boxpropertydefaults.hh     |   1 -
 dumux/implicit/box/boxvolumevariables.hh      | 190 ------------------
 dumux/implicit/co2/co2volumevariables.hh      |   4 +-
 dumux/implicit/co2ni/co2nivolumevariables.hh  |   2 +-
 .../common/implicitpropertydefaults.hh        |  28 +--
 .../common/implicitvolumevariables.hh         |  16 +-
 dumux/implicit/mpnc/mpncvolumevariables.hh    |  10 +-
 .../richards/richardsvolumevariables.hh       |  10 +-
 19 files changed, 114 insertions(+), 261 deletions(-)
 delete mode 100644 dumux/implicit/box/boxvolumevariables.hh

diff --git a/dumux/boxmodels/common/boxvolumevariables.hh b/dumux/boxmodels/common/boxvolumevariables.hh
index 2044415b82..0c6eda1081 100644
--- a/dumux/boxmodels/common/boxvolumevariables.hh
+++ b/dumux/boxmodels/common/boxvolumevariables.hh
@@ -1,3 +1,57 @@
-#warning This file is deprecated. Include dumux/implicit/box/boxvolumevariables.hh instead.
+// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+// vi: set et ts=4 sw=4 sts=4:
+/*****************************************************************************
+ *   See the file COPYING for full copying permissions.                      *
+ *                                                                           *
+ *   This program is free software: you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation, either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
+ *****************************************************************************/
+/*!
+ * \file
+ *
+ * \brief Base class for the model specific class which provides
+ *        access to all volume averaged quantities.
+ */
+#ifndef DUMUX_BOX_VOLUME_VARIABLES_HH
+#define DUMUX_BOX_VOLUME_VARIABLES_HH
 
-#include <dumux/implicit/box/boxvolumevariables.hh>
+#include <dumux/implicit/common/implicitvolumevariables.hh>
+
+namespace Dumux
+{
+
+/*!
+ * \ingroup BoxModel
+ * \ingroup BoxVolumeVariables
+ * \brief Base class for the model specific class which provides
+ *        access to all volume averaged quantities.
+ */
+template <class TypeTag>
+class BoxVolumeVariables : public ImplicitVolumeVariables<TypeTag>
+{
+    typedef ImplicitVolumeVariables<TypeTag> ParentType;
+
+public:
+    DUNE_DEPRECATED_MSG("Use ImplicitVolumeVariables from "
+                        "dumux/implicit/common/implicitvolumevariables.hh.")
+    BoxVolumeVariables() : ParentType() {}
+
+    DUNE_DEPRECATED_MSG("Use ImplicitVolumeVariables from "
+                        "dumux/implicit/common/implicitvolumevariables.hh.")
+    BoxVolumeVariables(const BoxVolumeVariables &v)
+    : ParentType(v) {}
+};
+
+} // end namepace
+
+#endif
diff --git a/dumux/freeflow/stokes/stokesvolumevariables.hh b/dumux/freeflow/stokes/stokesvolumevariables.hh
index f3aade5883..e183575263 100644
--- a/dumux/freeflow/stokes/stokesvolumevariables.hh
+++ b/dumux/freeflow/stokes/stokesvolumevariables.hh
@@ -26,7 +26,7 @@
 #define DUMUX_STOKES_VOLUME_VARIABLES_HH
 
 #include "stokesproperties.hh"
-#include "dumux/implicit/box/boxvolumevariables.hh"
+#include "dumux/implicit/common/implicitvolumevariables.hh"
 
 #include <dumux/material/fluidstates/immisciblefluidstate.hh>
 
diff --git a/dumux/implicit/1p/1pvolumevariables.hh b/dumux/implicit/1p/1pvolumevariables.hh
index 01cbeab00b..cb28a58189 100644
--- a/dumux/implicit/1p/1pvolumevariables.hh
+++ b/dumux/implicit/1p/1pvolumevariables.hh
@@ -25,7 +25,7 @@
 #define DUMUX_1P_VOLUME_VARIABLES_HH
 
 #include "1pproperties.hh"
-#include <dumux/implicit/box/boxvolumevariables.hh>
+#include <dumux/implicit/common/implicitvolumevariables.hh>
 
 #include <dumux/material/fluidstates/immisciblefluidstate.hh>
 
@@ -34,14 +34,14 @@ namespace Dumux
 
 /*!
  * \ingroup OnePBoxModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Contains the quantities which are constant within a
  *        finite volume in the one-phase model.
  */
 template <class TypeTag>
-class OnePVolumeVariables : public BoxVolumeVariables<TypeTag>
+class OnePVolumeVariables : public ImplicitVolumeVariables<TypeTag>
 {
-    typedef BoxVolumeVariables<TypeTag> ParentType;
+    typedef ImplicitVolumeVariables<TypeTag> ParentType;
 
     typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
     typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
@@ -59,7 +59,7 @@ public:
     typedef Dumux::ImmiscibleFluidState<Scalar, FluidSystem> FluidState;
 
     /*!
-     * \copydoc BoxVolumeVariables::update
+     * \copydoc ImplicitVolumeVariables::update
      */
     void update(const PrimaryVariables &priVars,
                 const Problem &problem,
diff --git a/dumux/implicit/1p2c/1p2cvolumevariables.hh b/dumux/implicit/1p2c/1p2cvolumevariables.hh
index bdaf369fb3..9b05aff50c 100644
--- a/dumux/implicit/1p2c/1p2cvolumevariables.hh
+++ b/dumux/implicit/1p2c/1p2cvolumevariables.hh
@@ -24,7 +24,7 @@
 #ifndef DUMUX_1P2C_VOLUME_VARIABLES_HH
 #define DUMUX_1P2C_VOLUME_VARIABLES_HH
 
-#include <dumux/implicit/box/boxvolumevariables.hh>
+#include <dumux/implicit/common/implicitvolumevariables.hh>
 #include <dumux/material/fluidstates/compositionalfluidstate.hh>
 
 #include "1p2cproperties.hh"
@@ -34,14 +34,14 @@ namespace Dumux
 
 /*!
  * \ingroup OnePTwoCBoxModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Contains the quantities which are constant within a
  *        finite volume in the single-phase, two-component model.
  */
 template <class TypeTag>
-class OnePTwoCVolumeVariables : public BoxVolumeVariables<TypeTag>
+class OnePTwoCVolumeVariables : public ImplicitVolumeVariables<TypeTag>
 {
-    typedef BoxVolumeVariables<TypeTag> ParentType;
+    typedef ImplicitVolumeVariables<TypeTag> ParentType;
 
     typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
     typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
@@ -74,7 +74,7 @@ public:
     typedef Dumux::CompositionalFluidState<Scalar, FluidSystem> FluidState;
 
     /*!
-     * \copydoc BoxVolumeVariables::update
+     * \copydoc ImplicitVolumeVariables::update
      */
     void update(const PrimaryVariables &priVars,
                 const Problem &problem,
diff --git a/dumux/implicit/2p/2pvolumevariables.hh b/dumux/implicit/2p/2pvolumevariables.hh
index b2e093f6a6..114e430e0d 100644
--- a/dumux/implicit/2p/2pvolumevariables.hh
+++ b/dumux/implicit/2p/2pvolumevariables.hh
@@ -27,7 +27,7 @@
 
 #include "2pproperties.hh"
 
-#include <dumux/implicit/box/boxvolumevariables.hh>
+#include <dumux/implicit/common/implicitvolumevariables.hh>
 
 #include <dune/common/fvector.hh>
 
@@ -35,14 +35,14 @@ namespace Dumux
 {
 /*!
  * \ingroup TwoPBoxModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Contains the quantities which are are constant within a
  *        finite volume in the two-phase model.
  */
 template <class TypeTag>
-class TwoPVolumeVariables : public BoxVolumeVariables<TypeTag>
+class TwoPVolumeVariables : public ImplicitVolumeVariables<TypeTag>
 {
-    typedef BoxVolumeVariables<TypeTag> ParentType;
+    typedef ImplicitVolumeVariables<TypeTag> ParentType;
 
     typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
     typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
@@ -71,7 +71,7 @@ class TwoPVolumeVariables : public BoxVolumeVariables<TypeTag>
 
 public:
     /*!
-     * \copydoc BoxVolumeVariables::update
+     * \copydoc ImplicitVolumeVariables::update
      */
     void update(const PrimaryVariables &priVars,
                 const Problem &problem,
diff --git a/dumux/implicit/2p2c/2p2cvolumevariables.hh b/dumux/implicit/2p2c/2p2cvolumevariables.hh
index 1c17a0abc3..0546e6258f 100644
--- a/dumux/implicit/2p2c/2p2cvolumevariables.hh
+++ b/dumux/implicit/2p2c/2p2cvolumevariables.hh
@@ -44,14 +44,14 @@ namespace Dumux
 
 /*!
  * \ingroup TwoPTwoCModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Contains the quantities which are are constant within a
  *        finite volume in the two-phase, two-component model.
  */
 template <class TypeTag>
-class TwoPTwoCVolumeVariables : public BoxVolumeVariables<TypeTag>
+class TwoPTwoCVolumeVariables : public ImplicitVolumeVariables<TypeTag>
 {
-    typedef BoxVolumeVariables<TypeTag> ParentType;
+    typedef ImplicitVolumeVariables<TypeTag> ParentType;
 
     typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
     typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
@@ -106,7 +106,7 @@ public:
     typedef Dumux::CompositionalFluidState<Scalar, FluidSystem> FluidState;
 
     /*!
-     * \copydoc BoxVolumeVariables::update
+     * \copydoc ImplicitVolumeVariables::update
      */
     void update(const PrimaryVariables &priVars,
                 const Problem &problem,
diff --git a/dumux/implicit/2p2cni/2p2cnivolumevariables.hh b/dumux/implicit/2p2cni/2p2cnivolumevariables.hh
index c6228202bf..6ddf552ea2 100644
--- a/dumux/implicit/2p2cni/2p2cnivolumevariables.hh
+++ b/dumux/implicit/2p2cni/2p2cnivolumevariables.hh
@@ -33,7 +33,7 @@ namespace Dumux
 
 /*!
  * \ingroup TwoPTwoCNIModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Contains the quantities which are are constant within a
  *        finite volume in the non-isothermal two-phase, two-component
  *        model.
diff --git a/dumux/implicit/2pdfm/2pdfmvolumevariables.hh b/dumux/implicit/2pdfm/2pdfmvolumevariables.hh
index 68ce6e6795..a3911de2e8 100644
--- a/dumux/implicit/2pdfm/2pdfmvolumevariables.hh
+++ b/dumux/implicit/2pdfm/2pdfmvolumevariables.hh
@@ -33,7 +33,7 @@ namespace Dumux
 {
 /*!
  * \ingroup TwoPDFMBoxModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Contains the quantities which are are constant within a
  *        finite volume in the two-phase discrete fracture-matrix model.
  */
@@ -78,7 +78,7 @@ class TwoPDFMVolumeVariables : public TwoPVolumeVariables<TypeTag>
 
 public:
     /*!
-     * \copydoc BoxVolumeVariables::update
+     * \copydoc ImplicitVolumeVariables::update
      */
     void update(const PrimaryVariables &priVars,
                 const Problem &problem,
diff --git a/dumux/implicit/2pni/2pnivolumevariables.hh b/dumux/implicit/2pni/2pnivolumevariables.hh
index ae52a6df22..d3804ab6be 100644
--- a/dumux/implicit/2pni/2pnivolumevariables.hh
+++ b/dumux/implicit/2pni/2pnivolumevariables.hh
@@ -32,7 +32,7 @@ namespace Dumux
 
 /*!
  * \ingroup TwoPNIModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Contains the quantities which are constant within a
  *        finite volume in the non-isothermal two-phase model.
  */
diff --git a/dumux/implicit/3p3c/3p3cvolumevariables.hh b/dumux/implicit/3p3c/3p3cvolumevariables.hh
index 734c3e370b..f4f4ef3570 100644
--- a/dumux/implicit/3p3c/3p3cvolumevariables.hh
+++ b/dumux/implicit/3p3c/3p3cvolumevariables.hh
@@ -48,9 +48,9 @@ namespace Dumux
  *        finite volume in the two-phase, two-component model.
  */
 template <class TypeTag>
-class ThreePThreeCVolumeVariables : public BoxVolumeVariables<TypeTag>
+class ThreePThreeCVolumeVariables : public ImplicitVolumeVariables<TypeTag>
 {
-    typedef BoxVolumeVariables<TypeTag> ParentType;
+    typedef ImplicitVolumeVariables<TypeTag> ParentType;
     typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
 
     typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
@@ -106,7 +106,7 @@ public:
 
 
     /*!
-     * \copydoc BoxVolumeVariables::update
+     * \copydoc ImplicitVolumeVariables::update
      */
     void update(const PrimaryVariables &priVars,
                 const Problem &problem,
diff --git a/dumux/implicit/3p3cni/3p3cnivolumevariables.hh b/dumux/implicit/3p3cni/3p3cnivolumevariables.hh
index 67694ca3a1..499ffb6392 100644
--- a/dumux/implicit/3p3cni/3p3cnivolumevariables.hh
+++ b/dumux/implicit/3p3cni/3p3cnivolumevariables.hh
@@ -61,7 +61,7 @@ class ThreePThreeCNIVolumeVariables : public ThreePThreeCVolumeVariables<TypeTag
 
 public:
     /*!
-     * \copydoc BoxVolumeVariables::update
+     * \copydoc ImplicitVolumeVariables::update
      */
     void update(const PrimaryVariables &priVars,
                 const Problem &problem,
diff --git a/dumux/implicit/box/boxpropertydefaults.hh b/dumux/implicit/box/boxpropertydefaults.hh
index 70d71b80ec..49b96ba12d 100644
--- a/dumux/implicit/box/boxpropertydefaults.hh
+++ b/dumux/implicit/box/boxpropertydefaults.hh
@@ -35,7 +35,6 @@
 #include "boxlocaljacobian.hh"
 #include "boxlocalresidual.hh"
 #include "boxelementvolumevariables.hh"
-#include "boxvolumevariables.hh"
 #include "boxproperties.hh"
 
 namespace Dumux {
diff --git a/dumux/implicit/box/boxvolumevariables.hh b/dumux/implicit/box/boxvolumevariables.hh
deleted file mode 100644
index 0c0bb6d8f6..0000000000
--- a/dumux/implicit/box/boxvolumevariables.hh
+++ /dev/null
@@ -1,190 +0,0 @@
-// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-// vi: set et ts=4 sw=4 sts=4:
-/*****************************************************************************
- *   See the file COPYING for full copying permissions.                      *
- *                                                                           *
- *   This program is free software: you can redistribute it and/or modify    *
- *   it under the terms of the GNU General Public License as published by    *
- *   the Free Software Foundation, either version 2 of the License, or       *
- *   (at your option) any later version.                                     *
- *                                                                           *
- *   This program is distributed in the hope that it will be useful,         *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the            *
- *   GNU General Public License for more details.                            *
- *                                                                           *
- *   You should have received a copy of the GNU General Public License       *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
- *****************************************************************************/
-/*!
- * \file
- *
- * \brief Base class for the model specific class which provides
- *        access to all volume averaged quantities.
- */
-#ifndef DUMUX_BOX_VOLUME_VARIABLES_HH
-#define DUMUX_BOX_VOLUME_VARIABLES_HH
-
-#include "boxproperties.hh"
-
-#include <dumux/common/valgrind.hh>
-
-namespace Dumux
-{
-
-/*!
- * \ingroup BoxModel
- * \ingroup BoxVolumeVariables
- * \brief Base class for the model specific class which provides
- *        access to all volume averaged quantities.
- */
-template <class TypeTag>
-class BoxVolumeVariables
-{
-    typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
-
-    typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
-    typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
-    typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView;
-    typedef typename GridView::template Codim<0>::Entity Element;
-    typedef typename GET_PROP_TYPE(TypeTag, FVElementGeometry) FVElementGeometry;
-
-    typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
-
-public:
-    // default constructor
-    BoxVolumeVariables()
-    { evalPoint_ = 0; };
-
-    // copy constructor
-    BoxVolumeVariables(const BoxVolumeVariables &v)
-    {
-        evalPoint_ = 0;
-        priVars_ = v.priVars_;
-        extrusionFactor_ = v.extrusionFactor_;
-    };
-
-    /*!
-     * \brief Assignment operator
-     */
-    BoxVolumeVariables &operator=(const BoxVolumeVariables &v)
-    {
-        evalPoint_ = 0;
-        priVars_ = v.priVars_;
-        extrusionFactor_ = v.extrusionFactor_;
-
-        return *this;
-    };
-
-    /*!
-     * \brief Sets the evaluation point used by the local jacobian.
-     *
-     * The evaluation point is only used by semi-smooth models.
-     */
-    void setEvalPoint(const Implementation *ep)
-    {
-        evalPoint_ = ep;
-        Valgrind::CheckDefined(evalPoint_);
-    }
-
-    /*!
-     * \brief Returns the evaluation point used by the local jacobian.
-     *
-     * The evaluation point is only used by semi-smooth models.
-     */
-    const Implementation &evalPoint() const
-    { return (evalPoint_ == 0)?asImp_():*evalPoint_; }
-
-    /*!
-     * \brief Set the volume variables which should be used as initial
-     *        conditions for complex calculations.
-     */
-    void setHint(const Implementation *hint)
-    {};
-
-    /*!
-     * \brief Update all quantities for a given control volume
-     *
-     * \param priVars A vector containing the primary variables for the control volume
-     * \param problem The object specifying the problem which ought to
-     *                be simulated
-     * \param element An element which contains part of the control volume
-     * \param fvGeometry The finite volume geometry for the element
-     * \param scvIdx Local index of the sub control volume which is inside the element
-     * \param isOldSol Specifies whether this is the previous solution or the current one
-     *
-     * \todo Eliminate the 'isOldSol' parameter. This implies that the
-     *       'pseudo-primary variables' must be somehow be stored
-     *       inside the PrimaryVariables. (e.g. we need to know the
-     *       phase state in the 2p2c model)
-     */
-    void update(const PrimaryVariables &priVars,
-                const Problem &problem,
-                const Element &element,
-                const FVElementGeometry &fvGeometry,
-                const int scvIdx,
-                const bool isOldSol)
-    {
-        Valgrind::CheckDefined(priVars);
-        priVars_ = priVars;
-        extrusionFactor_ = problem.boxExtrusionFactor(element, fvGeometry, scvIdx);
-    }
-
-    /*!
-     * \brief Return the vector of primary variables
-     */
-    const PrimaryVariables &priVars() const
-    { return priVars_; }
-
-    /*!
-     * \brief Return a component of primary variable vector
-     *
-     * \param pvIdx The index of the primary variable of interest
-     */
-    Scalar priVar(const int pvIdx) const
-    {
-        return priVars_[pvIdx];
-    }
-
-    /*!
-     * \brief Return how much the sub-control volume is extruded.
-     *
-     * This means the factor by which a lower-dimensional (1D or 2D)
-     * entity needs to be expanded to get a full dimensional cell. The
-     * default is 1.0 which means that 1D problems are actually
-     * thought as pipes with a cross section of 1 m^2 and 2D problems
-     * are assumed to extend 1 m to the back.
-     */
-    Scalar extrusionFactor() const
-    { return extrusionFactor_; }
-
-    /*!
-     * \brief If running in valgrind this makes sure that all
-     *        quantities in the volume variables are defined.
-     */
-    void checkDefined() const
-    {
-#if !defined NDEBUG && HAVE_VALGRIND
-        Valgrind::CheckDefined(priVars_);
-        Valgrind::CheckDefined(evalPoint_);
-        if (evalPoint_ && evalPoint_ != this)
-            evalPoint_->checkDefined();
-#endif
-    };
-
-protected:
-    const Implementation &asImp_() const
-    { return *static_cast<const Implementation*>(this); }
-    Implementation &asImp_()
-    { return *static_cast<Implementation*>(this); }
-
-    // the evaluation point of the local jacobian
-    const Implementation *evalPoint_;
-
-    PrimaryVariables priVars_;
-    Scalar extrusionFactor_;
-};
-
-} // end namepace
-
-#endif
diff --git a/dumux/implicit/co2/co2volumevariables.hh b/dumux/implicit/co2/co2volumevariables.hh
index 3ccac9987a..3d346443ec 100644
--- a/dumux/implicit/co2/co2volumevariables.hh
+++ b/dumux/implicit/co2/co2volumevariables.hh
@@ -28,7 +28,7 @@ namespace Dumux
 {
 /*!
  * \ingroup CO2Model
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Contains the quantities which are are constant within a
  *        finite volume in the non-isothermal two-phase, two-component
  *        model.
@@ -37,7 +37,7 @@ template <class TypeTag>
 class CO2VolumeVariables: public TwoPTwoCVolumeVariables<TypeTag>
 {
     typedef TwoPTwoCVolumeVariables<TypeTag> ParentType;
-    typedef BoxVolumeVariables<TypeTag> BaseClassType;
+    typedef ImplicitVolumeVariables<TypeTag> BaseClassType;
 
     typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
 
diff --git a/dumux/implicit/co2ni/co2nivolumevariables.hh b/dumux/implicit/co2ni/co2nivolumevariables.hh
index 89222bda28..f4a3894548 100644
--- a/dumux/implicit/co2ni/co2nivolumevariables.hh
+++ b/dumux/implicit/co2ni/co2nivolumevariables.hh
@@ -36,7 +36,7 @@ namespace Dumux
 
 /*!
  * \ingroup CO2NIModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Contains the quantities which are are constant within a
  *        finite volume in the non-isothermal two-phase, two-component
  *        model.
diff --git a/dumux/implicit/common/implicitpropertydefaults.hh b/dumux/implicit/common/implicitpropertydefaults.hh
index 726a274f53..69bdeb04a1 100644
--- a/dumux/implicit/common/implicitpropertydefaults.hh
+++ b/dumux/implicit/common/implicitpropertydefaults.hh
@@ -31,11 +31,9 @@
 #include <dumux/nonlinear/newtoncontroller.hh>
 #include <dumux/common/boundarytypes.hh>
 #include <dumux/common/timemanager.hh>
-#include <dumux/implicit/box/boxvolumevariables.hh>
 
 #include "implicitproperties.hh"
-
-#include <limits>
+#include "implicitvolumevariables.hh"
 
 namespace Dumux {
 
@@ -75,33 +73,25 @@ SET_TYPE_PROP(ImplicitBase,
                                                         Dune::MCMGElementLayout>);
 
 //! The volume variable class, to be overloaded by the model
-SET_TYPE_PROP(BoxModel, VolumeVariables, Dumux::BoxVolumeVariables<TypeTag>);
+SET_TYPE_PROP(BoxModel, VolumeVariables, Dumux::ImplicitVolumeVariables<TypeTag>);
 
-/*!
- * \brief The type of a solution for the whole grid at a fixed time.
- */
+//! The type of a solution for the whole grid at a fixed time
 SET_TYPE_PROP(ImplicitBase,
               SolutionVector,
               Dune::BlockVector<typename GET_PROP_TYPE(TypeTag, PrimaryVariables)>);
 
-/*!
- * \brief The type of a solution for a whole element.
- */
+//! The type of a solution for a whole element
 SET_TYPE_PROP(ImplicitBase,
               ElementSolutionVector,
               Dune::BlockVector<typename GET_PROP_TYPE(TypeTag, PrimaryVariables)>);
 
-/*!
- * \brief A vector of primary variables.
- */
+//! A vector of primary variables
 SET_TYPE_PROP(ImplicitBase,
               PrimaryVariables,
               Dune::FieldVector<typename GET_PROP_TYPE(TypeTag, Scalar),
                                 GET_PROP_VALUE(TypeTag, NumEq)>);
 
-/*!
- * \brief Boundary types at a single degree of freedom.
- */
+//! Boundary types at a single degree of freedom
 SET_TYPE_PROP(ImplicitBase,
               BoundaryTypes,
               Dumux::BoundaryTypes<GET_PROP_VALUE(TypeTag, NumEq)>);
@@ -115,10 +105,10 @@ SET_INT_PROP(ImplicitBase, ImplicitNumericDifferenceMethod, +1);
 //! do not use hints by default
 SET_BOOL_PROP(ImplicitBase, ImplicitEnableHints, false);
 
-// disable jacobian matrix recycling by default
+//! disable jacobian matrix recycling by default
 SET_BOOL_PROP(ImplicitBase, ImplicitEnableJacobianRecycling, false);
 
-// disable partial reassembling by default
+//! disable partial reassembling by default
 SET_BOOL_PROP(ImplicitBase, ImplicitEnablePartialReassemble, false);
 
 //! Set the type of a global jacobian matrix from the solution types
@@ -132,7 +122,7 @@ public:
     typedef typename Dune::BCRSMatrix<MatrixBlock> type;
 };
 
-// use the stabilized BiCG solver preconditioned by the ILU-0 by default
+//! use the stabilized BiCG solver preconditioned by the ILU-0 by default
 SET_TYPE_PROP(ImplicitBase, LinearSolver, Dumux::BoxBiCGStabILU0Solver<TypeTag> );
 
 // if the deflection of the newton method is large, we do not
diff --git a/dumux/implicit/common/implicitvolumevariables.hh b/dumux/implicit/common/implicitvolumevariables.hh
index 3909f32a62..150b38e746 100644
--- a/dumux/implicit/common/implicitvolumevariables.hh
+++ b/dumux/implicit/common/implicitvolumevariables.hh
@@ -22,8 +22,8 @@
  * \brief Base class for the model specific class which provides
  *        access to all volume averaged quantities.
  */
-#ifndef DUMUX_BOX_VOLUME_VARIABLES_HH
-#define DUMUX_BOX_VOLUME_VARIABLES_HH
+#ifndef DUMUX_IMPLICIT_VOLUME_VARIABLES_HH
+#define DUMUX_IMPLICIT_VOLUME_VARIABLES_HH
 
 #include "implicitproperties.hh"
 
@@ -33,13 +33,13 @@ namespace Dumux
 {
 
 /*!
- * \ingroup BoxModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitModel
+ * \ingroup ImplicitVolumeVariables
  * \brief Base class for the model specific class which provides
  *        access to all volume averaged quantities.
  */
 template <class TypeTag>
-class BoxVolumeVariables
+class ImplicitVolumeVariables
 {
     typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
 
@@ -53,11 +53,11 @@ class BoxVolumeVariables
 
 public:
     // default constructor
-    BoxVolumeVariables()
+    ImplicitVolumeVariables()
     { evalPoint_ = 0; };
 
     // copy constructor
-    BoxVolumeVariables(const BoxVolumeVariables &v)
+    ImplicitVolumeVariables(const ImplicitVolumeVariables &v)
     {
         evalPoint_ = 0;
         priVars_ = v.priVars_;
@@ -67,7 +67,7 @@ public:
     /*!
      * \brief Assignment operator
      */
-    BoxVolumeVariables &operator=(const BoxVolumeVariables &v)
+    ImplicitVolumeVariables &operator=(const ImplicitVolumeVariables &v)
     {
         evalPoint_ = 0;
         priVars_ = v.priVars_;
diff --git a/dumux/implicit/mpnc/mpncvolumevariables.hh b/dumux/implicit/mpnc/mpncvolumevariables.hh
index 53e09ece4d..78a9f8ad5b 100644
--- a/dumux/implicit/mpnc/mpncvolumevariables.hh
+++ b/dumux/implicit/mpnc/mpncvolumevariables.hh
@@ -31,26 +31,26 @@
 #include "mass/mpncvolumevariablesmass.hh"
 #include "mpncvolumevariablesia.hh"
 
-#include <dumux/implicit/box/boxvolumevariables.hh>
+#include <dumux/implicit/common/implicitvolumevariables.hh>
 #include <dumux/material/constraintsolvers/ncpflash.hh>
 
 namespace Dumux
 {
 /*!
  * \ingroup MPNCModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Contains the quantities which are are constant within a
  *        finite volume in the M-phase, N-component model.
  */
 template <class TypeTag>
 class MPNCVolumeVariables
-    : public BoxVolumeVariables<TypeTag>
+    : public ImplicitVolumeVariables<TypeTag>
     , public MPNCVolumeVariablesIA<TypeTag, GET_PROP_VALUE(TypeTag, EnableKinetic), GET_PROP_VALUE(TypeTag, EnableKineticEnergy)>
     , public MPNCVolumeVariablesMass<TypeTag, GET_PROP_VALUE(TypeTag, EnableKinetic)>
     , public MPNCVolumeVariablesDiffusion<TypeTag, GET_PROP_VALUE(TypeTag, EnableDiffusion) || GET_PROP_VALUE(TypeTag, EnableKinetic)>
     , public MPNCVolumeVariablesEnergy<TypeTag, GET_PROP_VALUE(TypeTag, EnableEnergy), GET_PROP_VALUE(TypeTag, EnableKineticEnergy)>
 {
-    typedef BoxVolumeVariables<TypeTag> ParentType;
+    typedef ImplicitVolumeVariables<TypeTag> ParentType;
     typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
     typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
     typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
@@ -93,7 +93,7 @@ public:
     }
 
     /*!
-     * \copydoc BoxVolumeVariables::update
+     * \copydoc ImplicitVolumeVariables::update
      */
     void update(const PrimaryVariables &priVars,
                 const Problem &problem,
diff --git a/dumux/implicit/richards/richardsvolumevariables.hh b/dumux/implicit/richards/richardsvolumevariables.hh
index abd645f442..13c3c3c500 100644
--- a/dumux/implicit/richards/richardsvolumevariables.hh
+++ b/dumux/implicit/richards/richardsvolumevariables.hh
@@ -27,23 +27,23 @@
 #include "richardsproperties.hh"
 
 #include <dumux/material/fluidstates/immisciblefluidstate.hh>
-#include <dumux/implicit/box/boxvolumevariables.hh>
+#include <dumux/implicit/common/implicitvolumevariables.hh>
 
 namespace Dumux
 {
 
 /*!
  * \ingroup RichardsModel
- * \ingroup BoxVolumeVariables
+ * \ingroup ImplicitVolumeVariables
  * \brief Volume averaged quantities required by the Richards model.
  *
  * This contains the quantities which are are constant within a finite
  * volume in the Richards model
  */
 template <class TypeTag>
-class RichardsVolumeVariables : public BoxVolumeVariables<TypeTag>
+class RichardsVolumeVariables : public ImplicitVolumeVariables<TypeTag>
 {
-    typedef BoxVolumeVariables<TypeTag> ParentType;
+    typedef ImplicitVolumeVariables<TypeTag> ParentType;
 
     typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) Implementation;
     typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
@@ -69,7 +69,7 @@ public:
     typedef Dumux::ImmiscibleFluidState<Scalar, FluidSystem> FluidState;
 
     /*!
-     * \copydoc BoxVolumeVariables::update
+     * \copydoc ImplicitVolumeVariables::update
      */
     void update(const PrimaryVariables &priVars,
                 const Problem &problem,
-- 
GitLab