diff --git a/dumux/boxmodels/MpNc/diffusion/diffusion.hh b/dumux/boxmodels/MpNc/diffusion/diffusion.hh index 6e66c28f199e419b1c277b939b686d63a5506ab6..dc0408a6c87f359fee1f7e4779e6a0d47f20af40 100644 --- a/dumux/boxmodels/MpNc/diffusion/diffusion.hh +++ b/dumux/boxmodels/MpNc/diffusion/diffusion.hh @@ -28,6 +28,11 @@ #ifndef DUMUX_MPNC_DIFFUSION_HH #define DUMUX_MPNC_DIFFUSION_HH +#include <dune/common/fmatrix.hh> +#include <dune/common/fvector.hh> + +#include <dumux/boxmodels/MpNc/MpNcproperties.hh> + namespace Dumux { template <class TypeTag, bool enableDiffusion> diff --git a/dumux/boxmodels/MpNc/energy/MpNcfluxvariablesenergy.hh b/dumux/boxmodels/MpNc/energy/MpNcfluxvariablesenergy.hh index 72e57580207bfb63ff504f8aea088a6c5d90e16b..a7309e296fc630c772e06005264a90c38a5e727c 100644 --- a/dumux/boxmodels/MpNc/energy/MpNcfluxvariablesenergy.hh +++ b/dumux/boxmodels/MpNc/energy/MpNcfluxvariablesenergy.hh @@ -30,6 +30,12 @@ #ifndef DUMUX_MPNC_ENERGY_FLUX_VARIABLES_HH #define DUMUX_MPNC_ENERGY_FLUX_VARIABLES_HH +#include <dune/common/fmatrix.hh> +#include <dune/common/fvector.hh> + +#include <dumux/boxmodels/MpNc/MpNcproperties.hh> +#include <dumux/common/spline.hh> + namespace Dumux { diff --git a/dumux/boxmodels/MpNc/energy/MpNclocalresidualenergy.hh b/dumux/boxmodels/MpNc/energy/MpNclocalresidualenergy.hh index 63a587edbe33a601b328e3e2b4c061082d53049b..2c0ab067765b9874927441eb40026490364acf51 100644 --- a/dumux/boxmodels/MpNc/energy/MpNclocalresidualenergy.hh +++ b/dumux/boxmodels/MpNc/energy/MpNclocalresidualenergy.hh @@ -29,6 +29,8 @@ #ifndef DUMUX_MPNC_LOCAL_RESIDUAL_ENERGY_HH #define DUMUX_MPNC_LOCAL_RESIDUAL_ENERGY_HH +#include <dumux/boxmodels/MpNc/MpNcproperties.hh> + namespace Dumux { /*! diff --git a/dumux/boxmodels/MpNc/energy/MpNcvolumevariablesenergy.hh b/dumux/boxmodels/MpNc/energy/MpNcvolumevariablesenergy.hh index 9dd35b569ae486481322a9edc559c0e2ddcbfec2..9a1b428726614f7b9e732c0133efca20d9f98503 100644 --- a/dumux/boxmodels/MpNc/energy/MpNcvolumevariablesenergy.hh +++ b/dumux/boxmodels/MpNc/energy/MpNcvolumevariablesenergy.hh @@ -29,6 +29,7 @@ #ifndef DUMUX_MPNC_ENERGY_VOLUME_VARIABLES_HH #define DUMUX_MPNC_ENERGY_VOLUME_VARIABLES_HH +#include <dumux/boxmodels/MpNc/MpNcproperties.hh> #include <dumux/material/fluidstates/compositionalfluidstate.hh> namespace Dumux diff --git a/dumux/boxmodels/MpNc/mass/MpNcindicesmass.hh b/dumux/boxmodels/MpNc/mass/MpNcindicesmass.hh index 9ab81d0666b29c6d8e0780b453167005cb01d0d5..a816f90f98d5afafe0bd73dbac121b644076bb32 100644 --- a/dumux/boxmodels/MpNc/mass/MpNcindicesmass.hh +++ b/dumux/boxmodels/MpNc/mass/MpNcindicesmass.hh @@ -27,6 +27,8 @@ #ifndef DUMUX_MPNC_MASS_INDICES_HH #define DUMUX_MPNC_MASS_INDICES_HH +#include <dumux/boxmodels/MpNc/MpNcproperties.hh> + namespace Dumux { /*! diff --git a/dumux/boxmodels/MpNc/mass/MpNclocalresidualmass.hh b/dumux/boxmodels/MpNc/mass/MpNclocalresidualmass.hh index 8ec88dcfe8d0cff6b0d15c7313e928ecdfb5ba51..e3e89fe8036bd2c4ba89e7504c6588b14bf51e1c 100644 --- a/dumux/boxmodels/MpNc/mass/MpNclocalresidualmass.hh +++ b/dumux/boxmodels/MpNc/mass/MpNclocalresidualmass.hh @@ -24,9 +24,15 @@ #define DUMUX_MPNC_LOCAL_RESIDUAL_MASS_HH #include <dune/common/fvector.hh> + +#include <dumux/boxmodels/MpNc/MpNcproperties.hh> #include <dumux/material/constraintsolvers/compositionfromfugacities.hh> +#include <dumux/common/math.hh> +#include <dumux/common/spline.hh> + #include "../diffusion/diffusion.hh" +#include "../energy/MpNclocalresidualenergy.hh" namespace Dumux { diff --git a/dumux/boxmodels/MpNc/mass/MpNcvolumevariablesmass.hh b/dumux/boxmodels/MpNc/mass/MpNcvolumevariablesmass.hh index a5c41ecadd1e966badca3951aa1d4926ac6024b9..d57ca476329f819f8ac8cc9b89df5af3c535e2a1 100644 --- a/dumux/boxmodels/MpNc/mass/MpNcvolumevariablesmass.hh +++ b/dumux/boxmodels/MpNc/mass/MpNcvolumevariablesmass.hh @@ -27,6 +27,8 @@ #ifndef DUMUX_MPNC_VOLUME_VARIABLES_MASS_HH #define DUMUX_MPNC_VOLUME_VARIABLES_MASS_HH +#include <dumux/boxmodels/MpNc/MpNcproperties.hh> + #include <dumux/material/fluidstates/compositionalfluidstate.hh> namespace Dumux diff --git a/dumux/decoupled/1p/1pproperties.hh b/dumux/decoupled/1p/1pproperties.hh index b8f67786d94cceff0ae89de04410cb909d4b7c41..6ba714978b92d73180ecacb3411fd1a82a58d588 100644 --- a/dumux/decoupled/1p/1pproperties.hh +++ b/dumux/decoupled/1p/1pproperties.hh @@ -35,8 +35,6 @@ //Dumux-includes #include <dumux/decoupled/common/decoupledproperties.hh> -#include <dumux/linear/seqsolverbackend.hh> -#include "1pindices.hh" namespace Dumux { @@ -44,12 +42,15 @@ namespace Dumux //////////////////////////////// // forward declarations //////////////////////////////// +template <class TypeTag> +class CellData1P; //////////////////////////////// // properties //////////////////////////////// namespace Properties { + ////////////////////////////////////////////////////////////////// // Type tags ////////////////////////////////////////////////////////////////// @@ -61,17 +62,18 @@ NEW_TYPE_TAG(DecoupledOneP, INHERITS_FROM(DecoupledModel)); // Property tags ////////////////////////////////////////////////////////////////// -NEW_PROP_TAG( SpatialParameters ) -; //!< The type of the spatial parameters object -NEW_PROP_TAG( EnableGravity) -; //!< Returns whether gravity is considered in the problem -NEW_PROP_TAG( Fluid ) -; //!< The fluid for one-phase models +NEW_PROP_TAG( SpatialParameters ); //!< The type of the spatial parameters object +NEW_PROP_TAG( EnableGravity); //!< Returns whether gravity is considered in the problem +NEW_PROP_TAG( Fluid ); //!< The fluid for one-phase models +NEW_PROP_TAG( Indices ); +NEW_PROP_TAG( CellData ); } } +#include <dumux/linear/seqsolverbackend.hh> #include <dumux/decoupled/common/variableclass.hh> #include <dumux/decoupled/1p/cellData1p.hh> +#include <dumux/decoupled/1p/1pindices.hh> namespace Dumux { diff --git a/dumux/decoupled/1p/cellData1p.hh b/dumux/decoupled/1p/cellData1p.hh index 9b02de0f9fcf38641c50e70ccd98ed7be2a40081..863dee5434ed4e75ae630c8c7cb247d456cb8853 100644 --- a/dumux/decoupled/1p/cellData1p.hh +++ b/dumux/decoupled/1p/cellData1p.hh @@ -17,8 +17,8 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * *****************************************************************************/ -#ifndef DUMUX_ELEMENTDATA1P_HH -#define DUMUX_ELEMENTDATA1P_HH +#ifndef DUMUX_CELLDATA1P_HH +#define DUMUX_CELLDATA1P_HH #include "1pproperties.hh" #include "fluxData1p.hh" @@ -31,6 +31,9 @@ namespace Dumux { +template<class TypeTag> +class FluxData1P; + /*! * \ingroup IMPES */ diff --git a/dumux/decoupled/1p/diffusion/fv/fvvelocity1p.hh b/dumux/decoupled/1p/diffusion/fv/fvvelocity1p.hh index 3f89aaa9be268a72476bade22984def71355f48e..7c6c889ede4334e88bbb5e657fe03011f1c3233a 100644 --- a/dumux/decoupled/1p/diffusion/fv/fvvelocity1p.hh +++ b/dumux/decoupled/1p/diffusion/fv/fvvelocity1p.hh @@ -22,6 +22,8 @@ #ifndef DUMUX_FVVELOCITY1P_HH #define DUMUX_FVVELOCITY1P_HH +#include<dumux/decoupled/1p/1pproperties.hh> + /** * @file * @brief Single Phase Finite Volume Model diff --git a/dumux/decoupled/2p/2pproperties.hh b/dumux/decoupled/2p/2pproperties.hh index 7b2dba8f4a532c9046b3caf46234b379b8814739..11d7a2176bb78fe72336619dc79772015c0dd843 100644 --- a/dumux/decoupled/2p/2pproperties.hh +++ b/dumux/decoupled/2p/2pproperties.hh @@ -41,10 +41,11 @@ namespace Dumux { - //////////////////////////////// // forward declarations //////////////////////////////// +template <class TypeTag, bool enableCompressibility> +class CellData2P; //////////////////////////////// // properties diff --git a/dumux/decoupled/2p/2pproperties_old.hh b/dumux/decoupled/2p/2pproperties_old.hh index eb881dac1b366e15bc28bbcf3c006cc486c3170b..cb0bd30b7c351187abf83509185288e18b008119 100644 --- a/dumux/decoupled/2p/2pproperties_old.hh +++ b/dumux/decoupled/2p/2pproperties_old.hh @@ -37,7 +37,7 @@ //Dumux-includes #include <dumux/decoupled/common/impetproperties.hh> -#include <dumux/decoupled/2p/transport/transportproperties.hh> +#include <dumux/decoupled/common/transportproperties.hh> #include "2pindices.hh" namespace Dumux diff --git a/dumux/decoupled/2p/cellData2p.hh b/dumux/decoupled/2p/cellData2p.hh index caabc541a0d906e0228666c93fc14c613a87882e..a9d4a9bc754167e2940b83c9c582c078d7828437 100644 --- a/dumux/decoupled/2p/cellData2p.hh +++ b/dumux/decoupled/2p/cellData2p.hh @@ -31,6 +31,9 @@ namespace Dumux { +template<class TypeTag> +class FluxData2P; + /*! * \ingroup IMPES */ @@ -44,8 +47,6 @@ namespace Dumux template<class TypeTag, bool enableCompressibility> class CellData2P; - - template<class TypeTag> class CellData2P<TypeTag, false> { diff --git a/dumux/decoupled/2p/diffusion/fv/fvvelocity2p.hh b/dumux/decoupled/2p/diffusion/fv/fvvelocity2p.hh index 522d19dcdd650553ca0dfd0ef9dbb673a9f7dd13..0f0063c9f1332f419285bcd76d2db25bbeaa5b8c 100644 --- a/dumux/decoupled/2p/diffusion/fv/fvvelocity2p.hh +++ b/dumux/decoupled/2p/diffusion/fv/fvvelocity2p.hh @@ -29,6 +29,7 @@ */ #include <dune/grid/common/gridenums.hh> +#include <dumux/decoupled/2p/2pproperties.hh> namespace Dumux { diff --git a/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaopressure2p.hh b/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaopressure2p.hh index ef58655fab760bb9c5bdc68c2f87897fdc17caee..2a537253bfc62aefb6ca13c87cad3c38c04072b2 100644 --- a/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaopressure2p.hh +++ b/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaopressure2p.hh @@ -26,6 +26,8 @@ // dumux environment #include <dumux/decoupled/common/fv/fvpressure.hh> +#include "fvmpfaopressureproperties2p.hh" + /** * @file * @brief Finite Volume MPFA O-method discretization of a pressure equation. diff --git a/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaopressureproperties2p.hh b/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaopressureproperties2p.hh index 322836c70106e9f17e396c7b22216a1c831c1cb9..d17f82701b72e7926268b2ff7216ddbc774bd489 100644 --- a/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaopressureproperties2p.hh +++ b/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaopressureproperties2p.hh @@ -37,18 +37,13 @@ namespace Dumux { +template <class TypeTag> +class FVMPFAOVelocity2P; + namespace Properties { NEW_TYPE_TAG(FVMPFAOPressurePropertiesTwoP, INHERITS_FROM(PressureTwoP, MPFAProperties)); -} -} - -#include <dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaovelocity2p.hh> -namespace Dumux -{ -namespace Properties -{ SET_TYPE_PROP(FVMPFAOPressurePropertiesTwoP, PressureModel, Dumux::FVMPFAOVelocity2P<TypeTag>); } }// end of Dune namespace diff --git a/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaovelocity2p.hh b/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaovelocity2p.hh index 65db4533e70d4a8d09c675743ad4ec6d2072b0c3..e4fb22600e87f27e9f3f2e325be10fa8b577c56c 100644 --- a/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaovelocity2p.hh +++ b/dumux/decoupled/2p/diffusion/fvmpfa/fvmpfaovelocity2p.hh @@ -34,6 +34,9 @@ namespace Dumux { +template<class TypeTag> +class FVMPFAOPressure2P; + /*! \ingroup FV2p * * \brief Velocity calculation for the MPFA-O method diff --git a/dumux/decoupled/2p/diffusion/mimetic/localstiffness.hh b/dumux/decoupled/2p/diffusion/mimetic/localstiffness.hh index f95a7c3c45b8df9f6f2807f3e3601c47ef6f1dd2..1c82d9874df0e891d39ca651da9fdc3de1237dd4 100644 --- a/dumux/decoupled/2p/diffusion/mimetic/localstiffness.hh +++ b/dumux/decoupled/2p/diffusion/mimetic/localstiffness.hh @@ -35,7 +35,7 @@ #include<dune/istl/bvector.hh> #include<dune/istl/matrix.hh> #include<dumux/common/boundaryconditions.hh> - +#include<dumux/decoupled/common/decoupledproperties.hh> /** * @file * @brief defines a class for piecewise linear finite element functions diff --git a/dumux/decoupled/2p/diffusion/mimetic/mimeticgroundwater.hh b/dumux/decoupled/2p/diffusion/mimetic/mimeticgroundwater.hh index 8da2600ea89da5dbce92de6a06fe66eee5f38181..a79addc92f787f80e0bc5a8987ce753f55227fe8 100644 --- a/dumux/decoupled/2p/diffusion/mimetic/mimeticgroundwater.hh +++ b/dumux/decoupled/2p/diffusion/mimetic/mimeticgroundwater.hh @@ -40,7 +40,10 @@ #include<dune/grid/common/quadraturerules.hh> #include<dumux/common/boundaryconditions.hh> + #include "localstiffness.hh" +#include "mimeticpressureproperties2p.hh" + namespace Dumux { /*! diff --git a/dumux/decoupled/2p/diffusion/mimetic/mimeticpressure2p.hh b/dumux/decoupled/2p/diffusion/mimetic/mimeticpressure2p.hh index d15510ecd8a70bf65acb683076208c61638afd5d..2af8c306cb080d7a48543c399357b027b7215117 100644 --- a/dumux/decoupled/2p/diffusion/mimetic/mimeticpressure2p.hh +++ b/dumux/decoupled/2p/diffusion/mimetic/mimeticpressure2p.hh @@ -37,6 +37,7 @@ // dumux environment #include <dumux/decoupled/2p/diffusion/mimetic/mimeticoperator.hh> +#include "mimeticpressureproperties2p.hh" namespace Dumux { diff --git a/dumux/decoupled/2p/diffusion/mimetic/mimeticpressureproperties2p.hh b/dumux/decoupled/2p/diffusion/mimetic/mimeticpressureproperties2p.hh index ef210a556a92e7e56e3468c5615667b2d88567fc..ffe38c802f1380e62667cd7c5d7a711eaa6b0046 100644 --- a/dumux/decoupled/2p/diffusion/mimetic/mimeticpressureproperties2p.hh +++ b/dumux/decoupled/2p/diffusion/mimetic/mimeticpressureproperties2p.hh @@ -21,7 +21,6 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * *****************************************************************************/ - /*! * \ingroup IMPES * \ingroup Properties @@ -43,7 +42,11 @@ namespace Dumux //////////////////////////////// // forward declarations //////////////////////////////// +template <class TypeTag> +class MimeticGroundwaterEquationLocalStiffness; +template <class TypeTag> +class MimeticPressure2P; //////////////////////////////// // properties @@ -55,24 +58,13 @@ namespace Properties ////////////////////////////////////////////////////////////////// //! The type tag for the two-phase problems -NEW_TYPE_TAG(MimeticPressureTwoP, INHERITS_FROM(PressureTwoP)) -; +NEW_TYPE_TAG(MimeticPressureTwoP, INHERITS_FROM(PressureTwoP)); ////////////////////////////////////////////////////////////////// // Property tags ////////////////////////////////////////////////////////////////// NEW_PROP_TAG( LocalStiffness); //!< The type of communication needed for the mimetic operator -} -} - -#include <dumux/decoupled/2p/diffusion/mimetic/mimeticpressure2p.hh> -#include <dumux/decoupled/2p/diffusion/mimetic/mimeticgroundwater.hh> - -namespace Dumux -{ -namespace Properties -{ SET_TYPE_PROP(MimeticPressureTwoP, PressureModel, MimeticPressure2P<TypeTag>); SET_TYPE_PROP(MimeticPressureTwoP, LocalStiffness, MimeticGroundwaterEquationLocalStiffness<TypeTag>); } diff --git a/dumux/decoupled/2p/transport/fv/capillarydiffusion.hh b/dumux/decoupled/2p/transport/fv/capillarydiffusion.hh index fd846cc4b0c7c514613bc4613f0bec798665b1c9..6c8e96db0d5aa35b681735c485cff604aa2c5b2c 100644 --- a/dumux/decoupled/2p/transport/fv/capillarydiffusion.hh +++ b/dumux/decoupled/2p/transport/fv/capillarydiffusion.hh @@ -23,8 +23,8 @@ #ifndef DUMUX_CAPILLARYDIFFUSION_HH #define DUMUX_CAPILLARYDIFFUSION_HH -#include "dumux/decoupled/2p/transport/fv/diffusivepart.hh" - +#include <dumux/decoupled/2p/transport/fv/diffusivepart.hh> +#include <dumux/decoupled/2p/transport/fv/fvtransportproperties2p.hh> /** * @file * @brief Class for defining the diffusive capillary pressure term of a 2p saturation equation diff --git a/dumux/decoupled/2p/transport/fv/fvtransportproperties2p.hh b/dumux/decoupled/2p/transport/fv/fvtransportproperties2p.hh index 2fbc08c8f90251d93be212dfa6c417df442ec66a..8e064f1615aa4125e0e05ce53ce3783807469829 100644 --- a/dumux/decoupled/2p/transport/fv/fvtransportproperties2p.hh +++ b/dumux/decoupled/2p/transport/fv/fvtransportproperties2p.hh @@ -34,12 +34,18 @@ */ namespace Dumux { +////////////////////////////////////////////////////////////////// +// Forward Declarations +////////////////////////////////////////////////////////////////// +template <class TypeTag> +class FVSaturation2P; + namespace Properties { // \{ ////////////////////////////////////////////////////////////////// -// Type tags tags +// Type tags ////////////////////////////////////////////////////////////////// //! The type tag for models based on the diffusion-scheme diff --git a/dumux/decoupled/2p/transport/fv/gravitypart.hh b/dumux/decoupled/2p/transport/fv/gravitypart.hh index 6af0d9b17e018cdcf08382a248e8f8d41a4014f4..6689fbfb8c0c130bc5b998447c7541a34b42b427 100644 --- a/dumux/decoupled/2p/transport/fv/gravitypart.hh +++ b/dumux/decoupled/2p/transport/fv/gravitypart.hh @@ -22,8 +22,8 @@ #ifndef DUMUX_GRAVITYPART_HH #define DUMUX_GRAVITYPART_HH -#include "dumux/decoupled/2p/transport/fv/convectivepart.hh" - +#include <dumux/decoupled/2p/transport/fv/convectivepart.hh> +#include "fvtransportproperties2p.hh" /** * @file diff --git a/dumux/decoupled/2p/transport/gridadaptionindicator2p.hh b/dumux/decoupled/2p/transport/gridadaptionindicator2p.hh index a3ab09712f0e7aa2a4c045ef2236274bede03e26..a33a7570c570c9fc05b1bd91d7edda3216409024 100644 --- a/dumux/decoupled/2p/transport/gridadaptionindicator2p.hh +++ b/dumux/decoupled/2p/transport/gridadaptionindicator2p.hh @@ -20,6 +20,8 @@ #ifndef DUMUX_GRIDADAPTIONINDICATOR2P_HH #define DUMUX_GRIDADAPTIONINDICATOR2P_HH +#include <dumux/decoupled/2p/impes/impesproperties2padaptive.hh> + /** * @file * @brief Base class for implementations of an saturation dependent indicator for grid adaption diff --git a/dumux/decoupled/2p2c/2p2cproperties.hh b/dumux/decoupled/2p2c/2p2cproperties.hh index 98a04ff344648993a50d6453872fcbcd253fc0b7..bebaadaa694cdd456be745b21dd10f6959ca7518 100644 --- a/dumux/decoupled/2p2c/2p2cproperties.hh +++ b/dumux/decoupled/2p2c/2p2cproperties.hh @@ -29,13 +29,9 @@ #ifndef DUMUX_2P2CPROPERTIES_HH #define DUMUX_2P2CPROPERTIES_HH -//DUMUX includes #include <dumux/decoupled/common/pressureproperties.hh> #include <dumux/decoupled/common/transportproperties.hh> #include <dumux/decoupled/common/impetproperties.hh> -#include <dumux/decoupled/2p/2pindices.hh> -#include <dumux/decoupled/2p2c/cellData2p2c.hh> -#include <dumux/decoupled/2p2c/dec2p2cfluidstate.hh> namespace Dumux { @@ -86,6 +82,16 @@ NEW_PROP_TAG( FluidState ); NEW_PROP_TAG( EnableMultiPointFluxApproximationOnAdaptiveGrids ); // Two-point flux approximation (false) or mpfa (true) NEW_PROP_TAG( EnableVolumeIntegral ); NEW_PROP_TAG( EnableSecondHalfEdge ); + +}} + +//DUMUX includes +#include <dumux/decoupled/2p/2pindices.hh> +#include <dumux/decoupled/2p2c/cellData2p2c.hh> +#include <dumux/decoupled/2p2c/dec2p2cfluidstate.hh> + +namespace Dumux { +namespace Properties { ////////////////////////////////////////////////////////////////// // Properties ////////////////////////////////////////////////////////////////// diff --git a/dumux/decoupled/2p2c/dec2p2cfluidstate.hh b/dumux/decoupled/2p2c/dec2p2cfluidstate.hh index b3b5e5cbeb4c6b2abed313c76e0e0b5059497b9d..477c477d472f981552e9bf6e9371a5135291227f 100644 --- a/dumux/decoupled/2p2c/dec2p2cfluidstate.hh +++ b/dumux/decoupled/2p2c/dec2p2cfluidstate.hh @@ -27,7 +27,7 @@ #ifndef DUMUX_DEC2P2C_FLUID_STATE_HH #define DUMUX_DEC2P2C_FLUID_STATE_HH -#include <dumux/decoupled/2p2c/2p2cproperties.hh> +#include "2p2cproperties.hh" namespace Dumux { diff --git a/dumux/decoupled/2p2c/fvpressurecompositional.hh b/dumux/decoupled/2p2c/fvpressurecompositional.hh index 774f757f211d6ff56529e5992c21c810fe124f41..d1e4f1cc6130405f181e855f0302104d4f36e629 100644 --- a/dumux/decoupled/2p2c/fvpressurecompositional.hh +++ b/dumux/decoupled/2p2c/fvpressurecompositional.hh @@ -28,6 +28,7 @@ #include "dumux/common/math.hh" #include <dumux/decoupled/common/fv/fvpressure.hh> #include <dumux/decoupled/2p2c/2p2cproperties.hh> +#include <dumux/io/vtkmultiwriter.hh> /** diff --git a/dumux/decoupled/common/decoupledproperties.hh b/dumux/decoupled/common/decoupledproperties.hh index 3f8d764e7375c2d560d3c507addf23ce68c72e71..eef0b356514770fe766b2854d639ebe7ce06df57 100644 --- a/dumux/decoupled/common/decoupledproperties.hh +++ b/dumux/decoupled/common/decoupledproperties.hh @@ -88,6 +88,12 @@ namespace Dumux { namespace Properties { +////////////////////////////////////////////////////////////////// +// Forward declarations +////////////////////////////////////////////////////////////////// +template <class TypeTag> +class VariableClass; + ////////////////////////////////////////////////////////////////// // Properties ////////////////////////////////////////////////////////////////// diff --git a/dumux/decoupled/common/fv/fvpressure.hh b/dumux/decoupled/common/fv/fvpressure.hh index 42c682ce4974b2ebab76ebd1a4b45044ebf1f3c2..9414c43024cf4e454c6ac8b137bf1a1dcbcc77bc 100644 --- a/dumux/decoupled/common/fv/fvpressure.hh +++ b/dumux/decoupled/common/fv/fvpressure.hh @@ -27,7 +27,7 @@ // dumux environment #include "dumux/common/math.hh" #include <dumux/decoupled/common/decoupledproperties.hh> - +#include <dumux/decoupled/common/pressureproperties.hh> /** * @file * @brief Finite Volume Diffusion Model diff --git a/dumux/decoupled/common/fv/velocitydefault.hh b/dumux/decoupled/common/fv/velocitydefault.hh index 3853abd9104cb9975e409642e81e8aaf4632afcf..096474e50661ca1c3a5939e1c5640f8ce60f6664 100644 --- a/dumux/decoupled/common/fv/velocitydefault.hh +++ b/dumux/decoupled/common/fv/velocitydefault.hh @@ -30,6 +30,8 @@ #include <dune/grid/common/gridenums.hh> +#include <dumux/decoupled/1p/1pproperties.hh> + namespace Dumux { //! \ingroup FV2p diff --git a/dumux/decoupled/common/impetproperties.hh b/dumux/decoupled/common/impetproperties.hh index 363ff2d0f38510822e94be269e648e93a49562c7..f77effddc3052c3afed43dd511bd55da52cb0c7e 100644 --- a/dumux/decoupled/common/impetproperties.hh +++ b/dumux/decoupled/common/impetproperties.hh @@ -65,6 +65,7 @@ NEW_PROP_TAG(IterationFlag); //!< Flag to switch the iteration type of the IMPET NEW_PROP_TAG(IterationNumber); //!< Number of iterations if IMPET iterations are enabled by the IterationFlags NEW_PROP_TAG(MaximumDefect); //!< Maximum Defect if IMPET iterations are enabled by the IterationFlags NEW_PROP_TAG(RelaxationFactor); //!< Used for IMPET iterations +NEW_PROP_TAG(Indices); //forward declaration! NEW_PROP_TAG( Model );//! The model of the specific problem diff --git a/dumux/decoupled/common/pressureproperties.hh b/dumux/decoupled/common/pressureproperties.hh index b9b182cb6e55b1ad493856c6f57a5d53cc7a1436..185984c46c67d7d7164ecc828cab3576d5eb2ccb 100644 --- a/dumux/decoupled/common/pressureproperties.hh +++ b/dumux/decoupled/common/pressureproperties.hh @@ -68,6 +68,7 @@ NEW_TYPE_TAG(Pressure, INHERITS_FROM(LinearSolverTypeTag, DecoupledModel)); NEW_PROP_TAG(PressureCoefficientMatrix);//!< Type of the coefficient matrix given to the linear solver NEW_PROP_TAG(PressureRHSVector);//!< Type of the right hand side vector given to the linear solver NEW_PROP_TAG( VisitFacesOnlyOnce); //!< Indicates if faces are only regarded from one side +NEW_PROP_TAG(Velocity); } } diff --git a/dumux/freeflow/stokes/stokesfluxvariables.hh b/dumux/freeflow/stokes/stokesfluxvariables.hh index 6ad0bf1504eddd3c27e8ab4340b0b1cc259ced7d..08a5f25fc31805ddaffb18db8b90100b2b34a2c7 100644 --- a/dumux/freeflow/stokes/stokesfluxvariables.hh +++ b/dumux/freeflow/stokes/stokesfluxvariables.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * @@ -30,6 +32,9 @@ #define DUMUX_STOKES_FLUX_VARIABLES_HH #include <dumux/common/math.hh> +#include <dumux/common/valgrind.hh> + +#include "stokesproperties.hh" namespace Dumux { diff --git a/dumux/freeflow/stokes/stokesindices.hh b/dumux/freeflow/stokes/stokesindices.hh index 33ef174290e98842460edbe66859ee7dfa5f4f35..4fc3117d5bc30dff2312ddaad438e54f289a7079 100644 --- a/dumux/freeflow/stokes/stokesindices.hh +++ b/dumux/freeflow/stokes/stokesindices.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2011 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * @@ -27,6 +29,8 @@ #ifndef DUMUX_STOKES_INDICES_HH #define DUMUX_STOKES_INDICES_HH +#include "stokesproperties.hh" + namespace Dumux { // \{ diff --git a/dumux/freeflow/stokes/stokeslocaljacobian.hh b/dumux/freeflow/stokes/stokeslocaljacobian.hh index 53005ec23cabbbbfed2325dbb502aa755faa980d..9b53fb756677339369a1e5cc9ab8657bc3d16286 100644 --- a/dumux/freeflow/stokes/stokeslocaljacobian.hh +++ b/dumux/freeflow/stokes/stokeslocaljacobian.hh @@ -1,9 +1,6 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** - * Copyright (C) 2007 by Peter Bastian * - * Institute of Parallel and Distributed System * - * Department Simulation of Large Systems * - * University of Stuttgart, Germany * - * * * Copyright (C) 2008-2009 by Klaus Mosthaf * * Copyright (C) 2007-2009 by Bernd Flemisch * * Institute of Hydraulic Engineering * @@ -30,6 +27,8 @@ #ifndef DUMUX_STOKES_LOCAL_JACOBIAN_HH #define DUMUX_STOKES_LOCAL_JACOBIAN_HH +#include "stokesproperties.hh" +#include <dumux/boxmodels/common/boxlocaljacobian.hh> #include <dune/istl/matrix.hh> #include <dumux/boxmodels/common/boxlocaljacobian.hh> diff --git a/dumux/freeflow/stokes/stokeslocalresidual.hh b/dumux/freeflow/stokes/stokeslocalresidual.hh index 2ef3ef3697bfd1c24d62175917e1e14f7585a6e7..726a6de29b774ebf689d18abab35030a135dc1f1 100644 --- a/dumux/freeflow/stokes/stokeslocalresidual.hh +++ b/dumux/freeflow/stokes/stokeslocalresidual.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2009-2011 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes/stokesmodel.hh b/dumux/freeflow/stokes/stokesmodel.hh index 723bbc7cb03e919072f8f62867857ea3ce9ffe07..b559a42bf65c50746b23dd8373be94f90074588b 100644 --- a/dumux/freeflow/stokes/stokesmodel.hh +++ b/dumux/freeflow/stokes/stokesmodel.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2007 by Peter Bastian * * Institute of Parallel and Distributed System * @@ -281,4 +283,6 @@ public: }; } +#include "stokespropertydefaults.hh" + #endif diff --git a/dumux/freeflow/stokes/stokesnewtoncontroller.hh b/dumux/freeflow/stokes/stokesnewtoncontroller.hh index fde679b2bc1728672eb68ab64f170ba411615d31..eea9a8d6ead5507d3506d0431e8f083fc550f1a9 100644 --- a/dumux/freeflow/stokes/stokesnewtoncontroller.hh +++ b/dumux/freeflow/stokes/stokesnewtoncontroller.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes/stokesproblem.hh b/dumux/freeflow/stokes/stokesproblem.hh index a8efab9652036d5a16b96da297948f3d922f42ae..1d78146392edc8f02d58e49b362e67e659187c77 100644 --- a/dumux/freeflow/stokes/stokesproblem.hh +++ b/dumux/freeflow/stokes/stokesproblem.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes/stokesproperties.hh b/dumux/freeflow/stokes/stokesproperties.hh index a1a2de4a2f5184e3c65f25a23f3a51f48604575d..6c9d58434913bfac7348dc011f8d5acb581e05ad 100644 --- a/dumux/freeflow/stokes/stokesproperties.hh +++ b/dumux/freeflow/stokes/stokesproperties.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * @@ -31,44 +33,11 @@ #ifndef DUMUX_STOKESPROPERTIES_HH #define DUMUX_STOKESPROPERTIES_HH -#include "stokesindices.hh" - #include <dumux/boxmodels/common/boxproperties.hh> -#include "stokeslocaljacobian.hh" -#include "stokesnewtoncontroller.hh" - -#include <dumux/material/fluidsystems/gasphase.hh> -#include <dumux/material/fluidsystems/liquidphase.hh> -#include <dumux/material/components/nullcomponent.hh> - -#include <dumux/material/fluidsystems/1pfluidsystem.hh> -#include <dumux/material/fluidstates/immisciblefluidstate.hh> - - namespace Dumux { -//////////////////////////////// -// forward declarations -//////////////////////////////// -template<class TypeTag> -class StokesModel; - -template<class TypeTag> -class StokesLocalResidual; - -template <class TypeTag> -class StokesVolumeVariables; - -template <class TypeTag> -class StokesFluxVariables; - -template <class TypeTag> -class StokesNewtonController; - -// \} - //////////////////////////////// // properties //////////////////////////////// @@ -106,79 +75,6 @@ NEW_PROP_TAG(PhaseIndex); NEW_PROP_TAG(SpatialParameters); NEW_PROP_TAG(Scaling); //!Defines Scaling of the model -////////////////////////////////////////////////////////////////// -// Properties -////////////////////////////////////////////////////////////////// - -//! The local jacobian operator for the stokes box scheme -SET_TYPE_PROP(BoxStokes, LocalJacobian, Dumux::StokesLocalJacobian<TypeTag>); - -SET_PROP(BoxStokes, NumEq) //!< set the number of equations -{ - typedef typename GET_PROP_TYPE(TypeTag, Grid) Grid; - static const int dim = Grid::dimension; - public: - static constexpr int value = 1 + dim; -}; - -SET_SCALAR_PROP(BoxStokes, Scaling, 1); //!< set scaling to 1 by default - -//! Use the Stokes local residual function for the Stokes model -SET_TYPE_PROP(BoxStokes, - LocalResidual, - StokesLocalResidual<TypeTag>); - -// Use the Stokes specific newton controller for the Stokes model -SET_PROP(BoxStokes, NewtonController) -{public: - typedef StokesNewtonController<TypeTag> type; -}; - -#if HAVE_SUPERLU -SET_TYPE_PROP(BoxStokes, LinearSolver, SuperLUBackend<TypeTag>); -#endif - -//! the Model property -SET_TYPE_PROP(BoxStokes, Model, StokesModel<TypeTag>); - -//! the VolumeVariables property -SET_TYPE_PROP(BoxStokes, VolumeVariables, StokesVolumeVariables<TypeTag>); - -//! the FluxVariables property -SET_TYPE_PROP(BoxStokes, FluxVariables, StokesFluxVariables<TypeTag>); - -//! the upwind factor for the mobility. -SET_SCALAR_PROP(BoxStokes, MassUpwindWeight, 1.0); - -//! The fluid system to use by default -SET_PROP(BoxStokes, FluidSystem) -{ private: - typedef typename GET_PROP_TYPE(TypeTag, Fluid) Fluid; - typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; -public: - typedef FluidSystems::OneP<Scalar, Fluid> type; -}; - -SET_PROP(BoxStokes, Fluid) -{ private: - typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; -public: - typedef Dumux::LiquidPhase<Scalar, Dumux::NullComponent<Scalar> > type; -}; - -SET_TYPE_PROP(BoxStokes, StokesIndices, StokesCommonIndices<TypeTag>); - -//! Choose the type of the employed fluid state -SET_PROP(BoxStokes, FluidState) -{ - typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; - typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem; -public: - typedef Dumux::ImmiscibleFluidState<Scalar, FluidSystem> type; - -}; - -SET_INT_PROP(BoxStokes, PhaseIndex, 0); // \} diff --git a/dumux/freeflow/stokes/stokespropertydefaults.hh b/dumux/freeflow/stokes/stokespropertydefaults.hh new file mode 100644 index 0000000000000000000000000000000000000000..8c5a26482e159c587ac6c002bb947a00d3deeb95 --- /dev/null +++ b/dumux/freeflow/stokes/stokespropertydefaults.hh @@ -0,0 +1,161 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf * + * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * + * Institute of Hydraulic Engineering * + * University of Stuttgart, Germany * + * email: <givenname>.<name>@iws.uni-stuttgart.de * + * * + * 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/>. * + *****************************************************************************/ +/*! + * \ingroup Properties + * \ingroup BoxProperties + * \ingroup BoxStokesModel + * + * \file + * + * \brief Defines the properties required for the Stokes BOX model. + */ + +#ifndef DUMUX_STOKES_PROPERTY_DEFAULTS_HH +#define DUMUX_STOKES_PROPERTY_DEFAULTS_HH + +#include "stokesproperties.hh" +#include "stokesindices.hh" +#include "stokeslocaljacobian.hh" +#include "stokesnewtoncontroller.hh" + +#include <dumux/material/fluidsystems/gasphase.hh> +#include <dumux/material/fluidsystems/liquidphase.hh> +#include <dumux/material/components/nullcomponent.hh> + +#include <dumux/material/fluidsystems/1pfluidsystem.hh> +#include <dumux/material/fluidstates/immisciblefluidstate.hh> + +namespace Dumux +{ + +//////////////////////////////// +// forward declarations +//////////////////////////////// +template<class TypeTag> +class StokesModel; + +template<class TypeTag> +class StokesLocalResidual; + +template <class TypeTag> +class StokesVolumeVariables; + +template <class TypeTag> +class StokesFluxVariables; + +template <class TypeTag> +class StokesNewtonController; + +// \} + +//////////////////////////////// +// properties +//////////////////////////////// +namespace Properties +{ + +/*! + * \addtogroup BoxStokesModel + */ +// \{ + +////////////////////////////////////////////////////////////////// +// Properties +////////////////////////////////////////////////////////////////// + +//! The local jacobian operator for the stokes box scheme +SET_TYPE_PROP(BoxStokes, LocalJacobian, Dumux::StokesLocalJacobian<TypeTag>); + +SET_PROP(BoxStokes, NumEq) //!< set the number of equations +{ + typedef typename GET_PROP_TYPE(TypeTag, Grid) Grid; + static const int dim = Grid::dimension; + public: + static constexpr int value = 1 + dim; +}; + +SET_SCALAR_PROP(BoxStokes, Scaling, 1); //!< set scaling to 1 by default + +//! Use the Stokes local residual function for the Stokes model +SET_TYPE_PROP(BoxStokes, + LocalResidual, + StokesLocalResidual<TypeTag>); + +// Use the Stokes specific newton controller for the Stokes model +SET_PROP(BoxStokes, NewtonController) +{public: + typedef StokesNewtonController<TypeTag> type; +}; + +#if HAVE_SUPERLU +SET_TYPE_PROP(BoxStokes, LinearSolver, SuperLUBackend<TypeTag>); +#endif + +//! the Model property +SET_TYPE_PROP(BoxStokes, Model, StokesModel<TypeTag>); + +//! the VolumeVariables property +SET_TYPE_PROP(BoxStokes, VolumeVariables, StokesVolumeVariables<TypeTag>); + +//! the FluxVariables property +SET_TYPE_PROP(BoxStokes, FluxVariables, StokesFluxVariables<TypeTag>); + +//! the upwind factor for the mobility. +SET_SCALAR_PROP(BoxStokes, MassUpwindWeight, 1.0); + +//! The fluid system to use by default +SET_PROP(BoxStokes, FluidSystem) +{ private: + typedef typename GET_PROP_TYPE(TypeTag, Fluid) Fluid; + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; +public: + typedef FluidSystems::OneP<Scalar, Fluid> type; +}; + +SET_PROP(BoxStokes, Fluid) +{ private: + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; +public: + typedef Dumux::LiquidPhase<Scalar, Dumux::NullComponent<Scalar> > type; +}; + +SET_TYPE_PROP(BoxStokes, StokesIndices, StokesCommonIndices<TypeTag>); + +//! Choose the type of the employed fluid state +SET_PROP(BoxStokes, FluidState) +{ + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem; +public: + typedef Dumux::ImmiscibleFluidState<Scalar, FluidSystem> type; + +}; + +SET_INT_PROP(BoxStokes, PhaseIndex, 0); + +// \} + +} +} + +#endif diff --git a/dumux/freeflow/stokes/stokesvolumevariables.hh b/dumux/freeflow/stokes/stokesvolumevariables.hh index b99360c585efba4e41afb2a4194bac2071aeede8..dab172949da2bf92dcf3717c0e0f391f2aac1714 100644 --- a/dumux/freeflow/stokes/stokesvolumevariables.hh +++ b/dumux/freeflow/stokes/stokesvolumevariables.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes2c/stokes2cfluxvariables.hh b/dumux/freeflow/stokes2c/stokes2cfluxvariables.hh index de7b047bf32f49410887cc0c69977db67977798e..c4cacb84cdb90015286bcd5fd85f114b280ef686 100644 --- a/dumux/freeflow/stokes2c/stokes2cfluxvariables.hh +++ b/dumux/freeflow/stokes2c/stokes2cfluxvariables.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes2c/stokes2cindices.hh b/dumux/freeflow/stokes2c/stokes2cindices.hh index af70d4ccdf41d12f7329cc0257e6b9844cb3e030..687562325ce52c392acf8b58726f5f6777ba6961 100644 --- a/dumux/freeflow/stokes2c/stokes2cindices.hh +++ b/dumux/freeflow/stokes2c/stokes2cindices.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2011 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes2c/stokes2clocalresidual.hh b/dumux/freeflow/stokes2c/stokes2clocalresidual.hh index 089b6e267f969bfaa3cf6cc1e37a3d7485c20c2c..cf00c3ff313ade57a49a62ce8ec16689a6c1f775 100644 --- a/dumux/freeflow/stokes2c/stokes2clocalresidual.hh +++ b/dumux/freeflow/stokes2c/stokes2clocalresidual.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes2c/stokes2cmodel.hh b/dumux/freeflow/stokes2c/stokes2cmodel.hh index 023ea8e6f7e9291c6ff4e443885546fbdc03aa1c..e49a9e7f6028e284d9487b31069c6c0ebdbca868 100644 --- a/dumux/freeflow/stokes2c/stokes2cmodel.hh +++ b/dumux/freeflow/stokes2c/stokes2cmodel.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * @@ -161,4 +163,6 @@ public: } +#include "stokes2cpropertydefaults.hh" + #endif diff --git a/dumux/freeflow/stokes2c/stokes2cproperties.hh b/dumux/freeflow/stokes2c/stokes2cproperties.hh index 5020c94694f1cf32f0164a9129a0dae19d1f897a..bafea1f0196519d7e67d0958fea5fb4d304c03df 100644 --- a/dumux/freeflow/stokes2c/stokes2cproperties.hh +++ b/dumux/freeflow/stokes2c/stokes2cproperties.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2008 by Klaus Mosthaf, Andreas Lauser, Bernd Flemisch * * Institute of Hydraulic Engineering * @@ -30,12 +32,7 @@ #ifndef DUMUX_STOKES2CPROPERTIES_HH #define DUMUX_STOKES2CPROPERTIES_HH -#include "stokes2cindices.hh" - #include <dumux/freeflow/stokes/stokesproperties.hh> -#include <dumux/material/fluidstates/compositionalfluidstate.hh> - -#include "stokes2clocalresidual.hh" namespace Dumux { @@ -43,24 +40,6 @@ namespace Dumux * \addtogroup BoxStokes2cModel */ // \{ -//////////////////////////////// -// forward declarations -//////////////////////////////// -template<class TypeTag> -class Stokes2cModel; - -template<class TypeTag> -class Stokes2cLocalResidual; - -template <class TypeTag> -class Stokes2cVolumeVariables; - -template <class TypeTag> -class Stokes2cFluxVariables; - -//////////////////////////////// -// properties -//////////////////////////////// namespace Properties { @@ -78,59 +57,8 @@ NEW_TYPE_TAG(BoxStokes2c, INHERITS_FROM(BoxStokes)); NEW_PROP_TAG(Stokes2cIndices); //!< Enumerations for the compositional stokes models NEW_PROP_TAG(NumComponents); //!< Number of components -////////////////////////////////////////////////////////////////// -// Properties -////////////////////////////////////////////////////////////////// - -SET_PROP(BoxStokes2c, NumEq) //!< set the number of equations -{ - typedef typename GET_PROP_TYPE(TypeTag, Grid) Grid; - static const int dim = Grid::dimension; - public: - static constexpr int value = 2 + dim; -}; - -//! Use the stokes2c local jacobian operator for the compositional stokes model -SET_TYPE_PROP(BoxStokes2c, - LocalResidual, - Stokes2cLocalResidual<TypeTag>); - -//! the Model property -SET_TYPE_PROP(BoxStokes2c, Model, Stokes2cModel<TypeTag>); - -//! the VolumeVariables property -SET_TYPE_PROP(BoxStokes2c, VolumeVariables, Stokes2cVolumeVariables<TypeTag>); - -//! the FluxVariables property -SET_TYPE_PROP(BoxStokes2c, FluxVariables, Stokes2cFluxVariables<TypeTag>); - -//! the Indices for the Stokes2c model -SET_TYPE_PROP(BoxStokes2c, - Stokes2cIndices, - Stokes2cCommonIndices<TypeTag>); - -//! Set the number of components to 2 -SET_INT_PROP(BoxStokes2c, NumComponents, 2); - -//! Choose the type of the employed fluid state -SET_PROP(BoxStokes2c, FluidState) -{ - typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; - typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem; -public: - typedef Dumux::CompositionalFluidState<Scalar, FluidSystem> type; - -}; - -//! Choose the considered phase -SET_PROP(BoxStokes2c, PhaseIndex) -{ - typedef typename GET_PROP_TYPE(TypeTag, Stokes2cIndices) Indices; -public: - static constexpr int value = Indices::gPhaseIdx; -}; - } } + #endif diff --git a/dumux/freeflow/stokes2c/stokes2cpropertydefaults.hh b/dumux/freeflow/stokes2c/stokes2cpropertydefaults.hh new file mode 100644 index 0000000000000000000000000000000000000000..95ccb92c1ef5d5954538a7defdaf19acae107cae --- /dev/null +++ b/dumux/freeflow/stokes2c/stokes2cpropertydefaults.hh @@ -0,0 +1,123 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * Copyright (C) 2008 by Klaus Mosthaf, Andreas Lauser, Bernd Flemisch * + * Institute of Hydraulic Engineering * + * University of Stuttgart, Germany * + * email: <givenname>.<name>@iws.uni-stuttgart.de * + * * + * 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/>. * + *****************************************************************************/ +/*! + * \ingroup Properties + * \ingroup BoxProperties + * \ingroup BoxStokes2cModel + * + * \file + * + * \brief Defines the properties required for the compositional + * stokes BOX model. + */ +#ifndef DUMUX_STOKES2C_PROPERTY_DEFAULTS_HH +#define DUMUX_STOKES2C_PROPERTY_DEFAULTS_HH + +#include "stokes2cproperties.hh" +#include "stokes2cindices.hh" +#include "stokes2clocalresidual.hh" + +#include <dumux/material/fluidstates/compositionalfluidstate.hh> + +namespace Dumux +{ +/*! + * \addtogroup BoxStokes2cModel + */ +// \{ +//////////////////////////////// +// forward declarations +//////////////////////////////// +template<class TypeTag> +class Stokes2cModel; + +template<class TypeTag> +class Stokes2cLocalResidual; + +template <class TypeTag> +class Stokes2cVolumeVariables; + +template <class TypeTag> +class Stokes2cFluxVariables; + +//////////////////////////////// +// properties +//////////////////////////////// + +namespace Properties +{ +////////////////////////////////////////////////////////////////// +// Properties +////////////////////////////////////////////////////////////////// + +SET_PROP(BoxStokes2c, NumEq) //!< set the number of equations +{ + typedef typename GET_PROP_TYPE(TypeTag, Grid) Grid; + static const int dim = Grid::dimension; + public: + static constexpr int value = 2 + dim; +}; + +//! Use the stokes2c local jacobian operator for the compositional stokes model +SET_TYPE_PROP(BoxStokes2c, + LocalResidual, + Stokes2cLocalResidual<TypeTag>); + +//! the Model property +SET_TYPE_PROP(BoxStokes2c, Model, Stokes2cModel<TypeTag>); + +//! the VolumeVariables property +SET_TYPE_PROP(BoxStokes2c, VolumeVariables, Stokes2cVolumeVariables<TypeTag>); + +//! the FluxVariables property +SET_TYPE_PROP(BoxStokes2c, FluxVariables, Stokes2cFluxVariables<TypeTag>); + +//! the Indices for the Stokes2c model +SET_TYPE_PROP(BoxStokes2c, + Stokes2cIndices, + Stokes2cCommonIndices<TypeTag>); + +//! Set the number of components to 2 +SET_INT_PROP(BoxStokes2c, NumComponents, 2); + +//! Choose the type of the employed fluid state +SET_PROP(BoxStokes2c, FluidState) +{ + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + typedef typename GET_PROP_TYPE(TypeTag, FluidSystem) FluidSystem; +public: + typedef Dumux::CompositionalFluidState<Scalar, FluidSystem> type; + +}; + +//! Choose the considered phase +SET_PROP(BoxStokes2c, PhaseIndex) +{ + typedef typename GET_PROP_TYPE(TypeTag, Stokes2cIndices) Indices; +public: + static constexpr int value = Indices::gPhaseIdx; +}; + +} + +} +#endif diff --git a/dumux/freeflow/stokes2c/stokes2cvolumevariables.hh b/dumux/freeflow/stokes2c/stokes2cvolumevariables.hh index 5788f0daa21a3045e27f89dbfcfbff2e9c363733..f270a4215c46b2998b72052b7035f78969ca8a68 100644 --- a/dumux/freeflow/stokes2c/stokes2cvolumevariables.hh +++ b/dumux/freeflow/stokes2c/stokes2cvolumevariables.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes2cni/stokes2cnifluxvariables.hh b/dumux/freeflow/stokes2cni/stokes2cnifluxvariables.hh index 12a8637c1f34b67b9f286090461687b3fc9a1a4d..e418744621b21fbb63ee9325fde8771a9dcbba5e 100644 --- a/dumux/freeflow/stokes2cni/stokes2cnifluxvariables.hh +++ b/dumux/freeflow/stokes2cni/stokes2cnifluxvariables.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes2cni/stokes2cniindices.hh b/dumux/freeflow/stokes2cni/stokes2cniindices.hh index 8eccab6d1d1689f43ea65721237e2d45579e4c9e..cebddcbfb7ece612594aeb0127a72fc9cee2b894 100644 --- a/dumux/freeflow/stokes2cni/stokes2cniindices.hh +++ b/dumux/freeflow/stokes2cni/stokes2cniindices.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2011 by Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes2cni/stokes2cnilocalresidual.hh b/dumux/freeflow/stokes2cni/stokes2cnilocalresidual.hh index 71e49cb00a49b048a527b6947cb4c0edb85b95ad..55f7735aeb5c79136454a9e37bc7c3a3380e6b55 100644 --- a/dumux/freeflow/stokes2cni/stokes2cnilocalresidual.hh +++ b/dumux/freeflow/stokes2cni/stokes2cnilocalresidual.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * diff --git a/dumux/freeflow/stokes2cni/stokes2cnimodel.hh b/dumux/freeflow/stokes2cni/stokes2cnimodel.hh index 0e92df28f22c7070ce11fa9963d17675c401549d..0459b28fddfeeaaedfcdaedc3df6b95846082cec 100644 --- a/dumux/freeflow/stokes2cni/stokes2cnimodel.hh +++ b/dumux/freeflow/stokes2cni/stokes2cnimodel.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser * @@ -177,4 +179,7 @@ public: }; } + +#include "stokes2cnipropertydefaults.hh" + #endif diff --git a/dumux/freeflow/stokes2cni/stokes2cniproperties.hh b/dumux/freeflow/stokes2cni/stokes2cniproperties.hh index 585068055fbf2c8aaa22ba73a5ab3578fa45782e..e43697a5529e48d39b489fc059d8597d32aff49d 100644 --- a/dumux/freeflow/stokes2cni/stokes2cniproperties.hh +++ b/dumux/freeflow/stokes2cni/stokes2cniproperties.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2008 by Klaus Mosthaf, Andreas Lauser, Bernd Flemisch * * Institute of Hydraulic Engineering * @@ -27,43 +29,13 @@ * \brief Defines the properties required for the non-isothermal compositional * stokes BOX model. */ -#ifndef DUMUX_STOKES2CNIPROPERTIES_HH -#define DUMUX_STOKES2CNIPROPERTIES_HH - -#include "stokes2cniindices.hh" +#ifndef DUMUX_STOKES2CNI_PROPERTIES_HH +#define DUMUX_STOKES2CNI_PROPERTIES_HH #include <dumux/freeflow/stokes2c/stokes2cproperties.hh> -#include "stokes2cnilocalresidual.hh" - namespace Dumux { -/*! - * \addtogroup BoxStokes2cniModel - */ -// \{ -//////////////////////////////// -// forward declarations -//////////////////////////////// -template<class TypeTag> -class Stokes2cniModel; - -template<class TypeTag> -class Stokes2cniLocalResidual; - -template <class TypeTag> -class Stokes2cniVolumeVariables; - -template <class TypeTag> -class Stokes2cniFluxVariables; - -template <class TypeTag> -class Stokes2cniIndices; - -//////////////////////////////// -// properties -//////////////////////////////// - namespace Properties { ////////////////////////////////////////////////////////////////// @@ -79,40 +51,6 @@ NEW_TYPE_TAG(BoxStokes2cni, INHERITS_FROM(BoxStokes2c)); NEW_PROP_TAG(Stokes2cniIndices); //!< Enumerations for the compositional stokes models NEW_PROP_TAG(NumComponents); //!< Number of components - -////////////////////////////////////////////////////////////////// -// Properties -////////////////////////////////////////////////////////////////// - -SET_PROP(BoxStokes2cni, NumEq) //!< set the number of equations -{ - typedef typename GET_PROP_TYPE(TypeTag, Grid) Grid; - static const int dim = Grid::dimension; - public: - static constexpr int value = 3 + dim; -}; - -//! Use the stokes2cni local jacobian operator for the compositional stokes model -SET_TYPE_PROP(BoxStokes2cni, - LocalResidual, - Stokes2cniLocalResidual<TypeTag>); - -//! the Model property -SET_TYPE_PROP(BoxStokes2cni, Model, Stokes2cniModel<TypeTag>); - -//! the VolumeVariables property -SET_TYPE_PROP(BoxStokes2cni, VolumeVariables, Stokes2cniVolumeVariables<TypeTag>); - -//! the FluxVariables property -SET_TYPE_PROP(BoxStokes2cni, FluxVariables, Stokes2cniFluxVariables<TypeTag>); - -// the indices for the Stokes2cni model -SET_TYPE_PROP(BoxStokes2cni, - Stokes2cniIndices, - Stokes2cniCommonIndices<TypeTag>); - -//! Set the number of components to 2 -SET_INT_PROP(BoxStokes2cni, NumComponents, 2); } } diff --git a/dumux/freeflow/stokes2cni/stokes2cnipropertydefaults.hh b/dumux/freeflow/stokes2cni/stokes2cnipropertydefaults.hh new file mode 100644 index 0000000000000000000000000000000000000000..119c64735686a2afb7529efc5427c839f382394a --- /dev/null +++ b/dumux/freeflow/stokes2cni/stokes2cnipropertydefaults.hh @@ -0,0 +1,103 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * Copyright (C) 2008 by Klaus Mosthaf, Andreas Lauser, Bernd Flemisch * + * Institute of Hydraulic Engineering * + * University of Stuttgart, Germany * + * email: <givenname>.<name>@iws.uni-stuttgart.de * + * * + * 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/>. * + *****************************************************************************/ +/*! + * \ingroup Properties + * \ingroup BoxProperties + * \ingroup BoxStokes2cniModel + * + * \file + * + * \brief Defines the properties required for the non-isothermal compositional + * stokes BOX model. + */ +#ifndef DUMUX_STOKES2CNI_PROPERTY_DEFAULTS_HH +#define DUMUX_STOKES2CNI_PROPERTY_DEFAULTS_HH + +#include "stokes2cniindices.hh" + +#include <dumux/freeflow/stokes2c/stokes2cproperties.hh> + +#include "stokes2cnilocalresidual.hh" + +namespace Dumux +{ +/*! + * \addtogroup BoxStokes2cniModel + */ +// \{ +//////////////////////////////// +// forward declarations +//////////////////////////////// +template<class TypeTag> +class Stokes2cniModel; + +template<class TypeTag> +class Stokes2cniLocalResidual; + +template <class TypeTag> +class Stokes2cniVolumeVariables; + +template <class TypeTag> +class Stokes2cniFluxVariables; + +template <class TypeTag> +class Stokes2cniIndices; + +namespace Properties +{ +////////////////////////////////////////////////////////////////// +// Properties +////////////////////////////////////////////////////////////////// + +SET_PROP(BoxStokes2cni, NumEq) //!< set the number of equations +{ + typedef typename GET_PROP_TYPE(TypeTag, Grid) Grid; + static const int dim = Grid::dimension; + public: + static constexpr int value = 3 + dim; +}; + +//! Use the stokes2cni local jacobian operator for the compositional stokes model +SET_TYPE_PROP(BoxStokes2cni, + LocalResidual, + Stokes2cniLocalResidual<TypeTag>); + +//! the Model property +SET_TYPE_PROP(BoxStokes2cni, Model, Stokes2cniModel<TypeTag>); + +//! the VolumeVariables property +SET_TYPE_PROP(BoxStokes2cni, VolumeVariables, Stokes2cniVolumeVariables<TypeTag>); + +//! the FluxVariables property +SET_TYPE_PROP(BoxStokes2cni, FluxVariables, Stokes2cniFluxVariables<TypeTag>); + +// the indices for the Stokes2cni model +SET_TYPE_PROP(BoxStokes2cni, + Stokes2cniIndices, + Stokes2cniCommonIndices<TypeTag>); + +//! Set the number of components to 2 +SET_INT_PROP(BoxStokes2cni, NumComponents, 2); +} + +} +#endif diff --git a/dumux/freeflow/stokes2cni/stokes2cnivolumevariables.hh b/dumux/freeflow/stokes2cni/stokes2cnivolumevariables.hh index e39c605b455077a6cf5f4617164d630cc5033c6b..94f55d11409f6583c40a31fa0ed1281a398e9c2e 100644 --- a/dumux/freeflow/stokes2cni/stokes2cnivolumevariables.hh +++ b/dumux/freeflow/stokes2cni/stokes2cnivolumevariables.hh @@ -1,3 +1,5 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2010 by Klaus Mosthaf * * Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser *