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