diff --git a/dumux/implicit/cellcentered/elementboundarytypes.hh b/dumux/implicit/cellcentered/elementboundarytypes.hh index 90cf787b6e484c861f2c3491ee02ba552a9a3db8..474e52a6fad8bf6e340389025ccc8271d72221a6 100644 --- a/dumux/implicit/cellcentered/elementboundarytypes.hh +++ b/dumux/implicit/cellcentered/elementboundarytypes.hh @@ -86,18 +86,19 @@ public: (*this)[0].reset(); - if (!problem.model().onBoundary(element)) - return; - - for (const auto& intersection : intersections(problem.gridView(), element)) { - if (!intersection.boundary()) - continue; - - problem.boundaryTypes((*this)[0], intersection); - - hasDirichlet_ = hasDirichlet_ || (*this)[0].hasDirichlet(); - hasNeumann_ = hasNeumann_ || (*this)[0].hasNeumann(); - hasOutflow_ = hasOutflow_ || (*this)[0].hasOutflow(); + if (problem.model().onBoundary(element)) + { + for (const auto& intersection : intersections(problem.gridView(), element)) + { + if (intersection.boundary()) + { + problem.boundaryTypes((*this)[0], intersection); + + hasDirichlet_ = hasDirichlet_ || (*this)[0].hasDirichlet(); + hasNeumann_ = hasNeumann_ || (*this)[0].hasNeumann(); + hasOutflow_ = hasOutflow_ || (*this)[0].hasOutflow(); + } + } } } diff --git a/dumux/implicit/cellcentered/elementvolumevariables.hh b/dumux/implicit/cellcentered/elementvolumevariables.hh index 4710013f4b9bcca3003887bf22c061587fe2b039..dfa3ae46af0d1c5a494e19ad34832b689d3a13e2 100644 --- a/dumux/implicit/cellcentered/elementvolumevariables.hh +++ b/dumux/implicit/cellcentered/elementvolumevariables.hh @@ -47,12 +47,6 @@ class CCElementVolumeVariables : public std::vector<typename GET_PROP_TYPE(TypeT typedef typename GridView::template Codim<0>::Entity Element; public: - /*! - * \brief The constructor. - */ - CCElementVolumeVariables() - { } - /*! * \brief Construct the volume variables for all of vertices of an element. * @@ -105,31 +99,32 @@ public: this->resize(numNeighbors + element.subEntities(1)); // add volume variables for the boundary faces - for (const auto& intersection : intersections(problem.gridView(), element)) { - if (!intersection.boundary()) - continue; - - BoundaryTypes bcTypes; - problem.boundaryTypes(bcTypes, intersection); - - int fIdx = intersection.indexInInside(); - int indexInVariables = numNeighbors + fIdx; - - if (bcTypes.hasDirichlet()) - { - PrimaryVariables dirichletValues; - problem.dirichlet(dirichletValues, intersection); - - (*this)[indexInVariables].update(dirichletValues, - problem, - element, - fvGeometry, - /*scvIdx=*/0, - oldSol); - } - else + for (const auto& intersection : intersections(problem.gridView(), element)) + { + if (intersection.boundary()) { - (*this)[indexInVariables] = (*this)[0]; + BoundaryTypes bcTypes; + problem.boundaryTypes(bcTypes, intersection); + + int fIdx = intersection.indexInInside(); + int indexInVariables = numNeighbors + fIdx; + + if (bcTypes.hasDirichlet()) + { + PrimaryVariables dirichletValues; + problem.dirichlet(dirichletValues, intersection); + + (*this)[indexInVariables].update(dirichletValues, + problem, + element, + fvGeometry, + /*scvIdx=*/0, + oldSol); + } + else + { + (*this)[indexInVariables] = (*this)[0]; + } } } } diff --git a/dumux/implicit/cellcentered/localresidual.hh b/dumux/implicit/cellcentered/localresidual.hh index 2e4b094e12fd57d7ea772b297a36202b0b1f3e6b..582a043681988916f76805d796ad828aafadc126 100644 --- a/dumux/implicit/cellcentered/localresidual.hh +++ b/dumux/implicit/cellcentered/localresidual.hh @@ -74,24 +74,23 @@ protected: { for (const auto& intersection : intersections(this->gridView_(), this->element_())) { - // handle only faces on the boundary - if (!intersection.boundary()) - continue; - - BoundaryTypes bcTypes; - this->problem_().boundaryTypes(bcTypes, intersection); + if (intersection.boundary()) + { + BoundaryTypes bcTypes; + this->problem_().boundaryTypes(bcTypes, intersection); - // evaluate the Neumann conditions at the boundary face - if (bcTypes.hasNeumann()) - this->asImp_().evalNeumannSegment_(&intersection, bcTypes); + // evaluate the Neumann conditions at the boundary face + if (bcTypes.hasNeumann()) + this->asImp_().evalNeumannSegment_(&intersection, bcTypes); - // evaluate the outflow conditions at the boundary face - if (bcTypes.hasOutflow()) - this->asImp_().evalOutflowSegment_(&intersection, bcTypes); + // evaluate the outflow conditions at the boundary face + if (bcTypes.hasOutflow()) + this->asImp_().evalOutflowSegment_(&intersection, bcTypes); - // evaluate the pure Dirichlet conditions at the boundary face - if (bcTypes.hasDirichlet() && !bcTypes.hasNeumann()) - this->asImp_().evalDirichletSegment_(&intersection, bcTypes); + // evaluate the pure Dirichlet conditions at the boundary face + if (bcTypes.hasDirichlet() && !bcTypes.hasNeumann()) + this->asImp_().evalDirichletSegment_(&intersection, bcTypes); + } } } @@ -103,15 +102,14 @@ protected: { for (const auto& intersection : intersections(this->gridView_(), this->element_())) { - // handle only faces on the boundary - if (!intersection.boundary()) - continue; - - BoundaryTypes bcTypes; - this->problem_().boundaryTypes(bcTypes, intersection); + if (intersection.boundary()) + { + BoundaryTypes bcTypes; + this->problem_().boundaryTypes(bcTypes, intersection); - if (bcTypes.hasDirichlet() && bcTypes.hasNeumann()) - this->asImp_().evalDirichletSegmentMixed_(&intersection, bcTypes); + if (bcTypes.hasDirichlet() && bcTypes.hasNeumann()) + this->asImp_().evalDirichletSegmentMixed_(&intersection, bcTypes); + } } } @@ -265,20 +263,21 @@ protected: // calculate the mass flux over the faces and subtract // it from the local rates int fIdx = -1; - for (const auto& intersection : intersections(this->gridView_(), this->element_())) { - if (!intersection.neighbor()) - continue; - - fIdx++; - PrimaryVariables flux; + for (const auto& intersection : intersections(this->gridView_(), this->element_())) + { + if (intersection.neighbor()) + { + fIdx++; + PrimaryVariables flux; - Valgrind::SetUndefined(flux); - this->asImp_().computeFlux(flux, fIdx); - Valgrind::CheckDefined(flux); + Valgrind::SetUndefined(flux); + this->asImp_().computeFlux(flux, fIdx); + Valgrind::CheckDefined(flux); - flux *= this->curVolVars_(0).extrusionFactor(); + flux *= this->curVolVars_(0).extrusionFactor(); - this->residual_[0] += flux; + this->residual_[0] += flux; + } } } }; diff --git a/dumux/implicit/model.hh b/dumux/implicit/model.hh index 59711a2fc398dc3054220d662882f1809a2f94a6..e8c11b989882e608f75383e4138357295e1d3671 100644 --- a/dumux/implicit/model.hh +++ b/dumux/implicit/model.hh @@ -479,9 +479,7 @@ public: hintsUsable_.end(), false); } - } - } @@ -814,9 +812,9 @@ public: { if (isBox) return asImp_().onBoundary(vertexMapper().subIndex(element, vIdx, dim)); - else - DUNE_THROW(Dune::InvalidStateException, - "requested for cell-centered model"); + + DUNE_THROW(Dune::InvalidStateException, + "requested for cell-centered model"); } @@ -832,9 +830,8 @@ public: if (!isBox) return asImp_().onBoundary(elementMapper().index(element)); - else - DUNE_THROW(Dune::InvalidStateException, - "requested for box model"); + DUNE_THROW(Dune::InvalidStateException, + "requested for box model"); } /*! diff --git a/dumux/porousmediumflow/1p/sequential/indices.hh b/dumux/porousmediumflow/1p/sequential/indices.hh index 5f2054bd3ceab34bf90cdef4f41dcf27352da543..597b3cdec379087e99e911a9cf2a270a1087f4e7 100644 --- a/dumux/porousmediumflow/1p/sequential/indices.hh +++ b/dumux/porousmediumflow/1p/sequential/indices.hh @@ -25,6 +25,8 @@ #ifndef DUMUX_SEQUENTIAL_1P_INDICES_HH #define DUMUX_SEQUENTIAL_1P_INDICES_HH +#include <dune/common/deprecated.hh> + namespace Dumux { /*! diff --git a/dumux/porousmediumflow/2p/sequential/indices.hh b/dumux/porousmediumflow/2p/sequential/indices.hh index ae5e10d91f8e9e773e0ab113d5b273fad6f2cdc8..80709875bad4a0b79a37a6d345b629cad12fac78 100644 --- a/dumux/porousmediumflow/2p/sequential/indices.hh +++ b/dumux/porousmediumflow/2p/sequential/indices.hh @@ -25,6 +25,8 @@ #ifndef DUMUX_SEQUENTIAL_2P_INDICES_HH #define DUMUX_SEQUENTIAL_2P_INDICES_HH +#include <dune/common/deprecated.hh> + namespace Dumux { /*! diff --git a/test/geomechanics/el1p2c/el1p2cproblem.hh b/test/geomechanics/el1p2c/el1p2cproblem.hh index 8b491c954ff5779f2d113c260f1c9fd9dfd3641c..bb5c93122b759ee071265c2403c57414152e3e84 100644 --- a/test/geomechanics/el1p2c/el1p2cproblem.hh +++ b/test/geomechanics/el1p2c/el1p2cproblem.hh @@ -25,11 +25,6 @@ #ifndef DUMUX_EL1P2CPROBLEM_HH #define DUMUX_EL1P2CPROBLEM_HH -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include <iostream> - #include <dune/grid/yaspgrid.hh> #include <dumux/geomechanics/el1p2c/model.hh> #include <dumux/porousmediumflow/implicit/problem.hh> diff --git a/test/porousmediumflow/2p/implicit/pointsources/lensproblem.hh b/test/porousmediumflow/2p/implicit/pointsources/lensproblem.hh index 87168c8b74a20d2aa4ba559cb82e5885d05cc010..dc2006f0faf00e7d8eed329cf12a1c1908def3d5 100644 --- a/test/porousmediumflow/2p/implicit/pointsources/lensproblem.hh +++ b/test/porousmediumflow/2p/implicit/pointsources/lensproblem.hh @@ -28,6 +28,7 @@ #include "../lensproblem.hh" +#if HAVE_UG namespace Dumux { template <class TypeTag> @@ -43,7 +44,7 @@ NEW_PROP_TAG(BaseProblem); SET_TYPE_PROP(LensProblemPointSource, BaseProblem, ImplicitPorousMediaProblem<TypeTag>); SET_BOOL_PROP(LensProblemPointSource, AdaptiveGrid, true); SET_TYPE_PROP(LensProblemPointSource, AdaptionIndicator, TwoPImplicitGridAdaptIndicator<TypeTag>); -SET_TYPE_PROP(LensProblemPointSource, AdaptionInitializationIndicator, ImplicitGridAdaptInitializationIndicator<TypeTag>); +SET_TYPE_PROP(LensProblemPointSource, AdaptionInitializationIndicator, ImplicitGridAdaptInitializationIndicator<TypeTag>); SET_TYPE_PROP(LensProblemPointSource, Grid, Dune::UGGrid<2>); SET_TYPE_PROP(LensProblemPointSource, Problem, LensProblemPointSource<TypeTag>); } @@ -126,4 +127,6 @@ public: } //end namespace +#endif // HAVE_UG + #endif diff --git a/tutorial/solutions_implicit/ex5_tutorialproblem_implicit.hh b/tutorial/solutions_implicit/ex5_tutorialproblem_implicit.hh index a648b758f68b5be34a5d23b3dbc8332b35c68744..b3e1bd5b144b5e3255839bf1f96d283269c8ea12 100644 --- a/tutorial/solutions_implicit/ex5_tutorialproblem_implicit.hh +++ b/tutorial/solutions_implicit/ex5_tutorialproblem_implicit.hh @@ -144,15 +144,15 @@ public: { const Scalar time = this->timeManager().time() + this->timeManager().timeStepSize(); - return - this->timeManager().timeStepIndex() > 0 && - (this->timeManager().timeStepIndex() % 10 == 0) || time == (this->timeManager().endTime()); + return (time == this->timeManager().endTime() + || (this->timeManager().timeStepIndex() > 0 + && (this->timeManager().timeStepIndex() % 10 == 0))); } //! Returns the temperature within a finite volume. We use constant //! 10 degrees Celsius. Scalar temperature() const - { return 283.15; }; + { return 283.15; } //! Specifies which kind of boundary condition should be used for //! which equation for a finite volume on the boundary. diff --git a/tutorial/solutions_sequential/ex2tutorialproblem_sequential.hh b/tutorial/solutions_sequential/ex2tutorialproblem_sequential.hh index 9ab91a948ad0b268095339975c8cbc571a989259..53d9c56a8ba5abdf5ba9616b2ff01bed5605030e 100644 --- a/tutorial/solutions_sequential/ex2tutorialproblem_sequential.hh +++ b/tutorial/solutions_sequential/ex2tutorialproblem_sequential.hh @@ -34,7 +34,7 @@ #include <dumux/porousmediumflow/2p/sequential/impes/problem.hh> /*@\label{tutorial-sequential:parent-problem}@*/ // assign parameters dependent on space (e.g. spatial parameters) -#include "ex2tutorialspatialparams_decoupled.hh" /*@\label{tutorial-sequential:spatialparameters}@*/ +#include "ex2tutorialspatialparams_sequential.hh" /*@\label{tutorial-sequential:spatialparameters}@*/ // include cfl-criterion after coats: more suitable if the problem is not advection dominated #include<dumux/porousmediumflow/2p/sequential/transport/cellcentered/evalcflfluxcoats.hh> diff --git a/tutorial/solutions_sequential/ex5_tutorialproblem_sequential.hh b/tutorial/solutions_sequential/ex5_tutorialproblem_sequential.hh index 253318116abbdf4aa6d130c13b7c51cd99cdf00f..63f61ccd7ef9a485557ca5f2202196ee410d62db 100644 --- a/tutorial/solutions_sequential/ex5_tutorialproblem_sequential.hh +++ b/tutorial/solutions_sequential/ex5_tutorialproblem_sequential.hh @@ -34,7 +34,7 @@ #include <dumux/porousmediumflow/2p/sequential/impes/problem.hh> /*@\label{tutorial-sequential:parent-problem}@*/ // assign parameters dependent on space (e.g. spatial parameters) -#include "ex5_tutorialspatialparams_decoupled.hh" /*@\label{tutorial-sequential:spatialparameters}@*/ +#include "ex5_tutorialspatialparams_sequential.hh" /*@\label{tutorial-sequential:spatialparameters}@*/ // include cfl-criterion after coats: more suitable if the problem is not advection dominated #include<dumux/porousmediumflow/2p/sequential/transport/cellcentered/evalcflfluxcoats.hh> diff --git a/tutorial/tutorialproblem_implicit.hh b/tutorial/tutorialproblem_implicit.hh index 87528bc4bd9a24d5f16b16805abc18b6bd6ae50c..b8a6bc3bbe1784a717ddec2c993dd94c1bc86c0b 100644 --- a/tutorial/tutorialproblem_implicit.hh +++ b/tutorial/tutorialproblem_implicit.hh @@ -144,14 +144,14 @@ public: bool shouldWriteOutput() const /*@\label{tutorial-implicit:output}@*/ { return - this->timeManager().timeStepIndex() > 0 && - (this->timeManager().timeStepIndex() % 1 == 0); + (this->timeManager().timeStepIndex() > 0 + && (this->timeManager().timeStepIndex() % 1 == 0)); } //! Returns the temperature within a finite volume. We use constant //! 10 degrees Celsius. Scalar temperature() const - { return 283.15; }; + { return 283.15; } //! Specifies which kind of boundary condition should be used for //! which equation for a finite volume on the boundary.