diff --git a/dumux/boxmodels/common/boxvolumevariables.hh b/dumux/boxmodels/common/boxvolumevariables.hh index 2044415b8271f31f186cf715d4e32da010aef972..0c6eda10814c4e2d3ee1735ade66cb564c46b6bf 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 f3aade58833547c2ad6c0ac00fb4561c3ffad395..e18357526360776750570a66613ce5d114d1dbe3 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 01cbeab00b7809f6c3dee6c1fcdd9856c2ea75d3..cb28a58189ea107f66a07921804188f6b39240be 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 bdaf369fb3999b6949f0b8232e8d650b26db3725..9b05aff50cab008032f7e035fdb335d6a98dcd22 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 b2e093f6a61d3968cae28001b2d588958c4fc19c..114e430e0dd6670605b44fe9b5a043424c88182a 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 1c17a0abc30b4b504ac15b99b66590d7b0d1b0c4..0546e6258f5fe0eda76a9ce150c6a55bcc18e0a1 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 c6228202bfbafcea96519384240859d2a0f3a3f2..6ddf552ea243b6b3a794a8f950dd33ca82806b75 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 68ce6e67959c28babe12ca7e20bcba61a6aaeefc..a3911de2e8a0aa60a5e35ee7d3e5c9483832344d 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 ae52a6df221d6cfddd84867eae681084885d024c..d3804ab6bec8cb72f26f36b267b771d4c123eec9 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 734c3e370b728917a53298864ec75753edb53f76..f4f4ef35708847560ec8824d913ef238ba5f8794 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 67694ca3a1ee682f986ea21f3618c2ecc0951793..499ffb6392d8f192191fe140d8caeb608b394628 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 70d71b80ec4f5a0ad954a3aa007287215c803db0..49b96ba12db6d10b6c358677b627c877a04ede05 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 0c0bb6d8f6516e166c31d4ffce1e3613c52be5a1..0000000000000000000000000000000000000000 --- 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 3ccac9987ab3ed1afd8a86eb3486c8c5c9a81e1a..3d346443ec22f302830551b3f7d7ea366ba606c9 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 89222bda2891e9935a2a7cad152f265fa6e130c5..f4a3894548884be094543478457ffff1d2ea813d 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 726a274f53777fe6bbe3c354f35ed332a8fe2962..69bdeb04a1475ade88b8acd1ee26cb210073dc7e 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 3909f32a62affbc21c941c5111562bf5adba60d6..150b38e7468bc1509b5648193bf09105807e4930 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 53e09ece4d3c1414203980d55a0b1bf8314f5781..78a9f8ad5b4ca4763e118856861eaa474fc7bbf0 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 abd645f4424f35874824d21a4aa4f0caefccff90..13c3c3c50090b896b601c7e56bf95b1ca3e6a143 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,