diff --git a/dumux/porousmediumflow/sequential/gridadaptproperties.hh b/dumux/porousmediumflow/sequential/gridadaptproperties.hh index a6d929616865cdc4a9d9d701feef96cd89cb32ee..6bb904116e3cffe26598a72c22027e99b25c0bb7 100644 --- a/dumux/porousmediumflow/sequential/gridadaptproperties.hh +++ b/dumux/porousmediumflow/sequential/gridadaptproperties.hh @@ -31,6 +31,14 @@ namespace Dumux { +// forward declarations +template<class TypeTag> +class GridAdaptInitializationIndicatorDefault; + +template<class TypeTag, bool> +class GridAdapt; + + namespace Properties { //! Grid adaption type tag for all sequential models. @@ -39,6 +47,9 @@ NEW_TYPE_TAG(GridAdaptTypeTag); //! Defines if the grid is h-adaptive NEW_PROP_TAG( AdaptiveGrid); +//! The type of grid adaptation +NEW_PROP_TAG( GridAdaptModel ); + //! Class defining the refinement/coarsening indicator NEW_PROP_TAG(AdaptionIndicator); @@ -81,6 +92,12 @@ NEW_PROP_TAG(GridAdaptRefineAtSource); //no adaptive grid SET_BOOL_PROP(GridAdaptTypeTag, AdaptiveGrid, false); +//Set default class for adaptation initialization indicator +SET_TYPE_PROP(GridAdaptTypeTag, AdaptionInitializationIndicator, GridAdaptInitializationIndicatorDefault<TypeTag>); +//Set default class for adaptation +SET_TYPE_PROP(GridAdaptTypeTag, GridAdaptModel, GridAdapt<TypeTag, false>); + + //standard setting SET_INT_PROP(GridAdaptTypeTag, GridAdaptMinLevel, 0); SET_INT_PROP(GridAdaptTypeTag, GridAdaptMaxLevel, 1); diff --git a/dumux/porousmediumflow/sequential/impetproblem.hh b/dumux/porousmediumflow/sequential/impetproblem.hh index bfc96b6d40222ec0629c8a23f47b05e62d3ecb2a..0cd59f80f6bacc8727458a6f8aba662b8045937e 100644 --- a/dumux/porousmediumflow/sequential/impetproblem.hh +++ b/dumux/porousmediumflow/sequential/impetproblem.hh @@ -81,7 +81,7 @@ private: typedef typename GridView::Traits::template Codim<0>::Entity Element; typedef typename GridView::Intersection Intersection; // The module to adapt grid. If adaptiveGrid is false, this model does nothing. - typedef GridAdapt<TypeTag, adaptiveGrid> GridAdaptModel; + typedef typename GET_PROP_TYPE(TypeTag, GridAdaptModel) GridAdaptModel; typedef typename SolutionTypes::PrimaryVariables PrimaryVariables; typedef typename GET_PROP_TYPE(TypeTag, BoundaryTypes) BoundaryTypes; @@ -590,10 +590,6 @@ public: */ GridAdaptModel& gridAdapt() { - if (!adaptiveGrid) - Dune::dgrave << "adaptivity module was called despite " - << "adaptivity is disabled in property system \n;" << adaptiveGrid; - return *gridAdapt_; } @@ -606,9 +602,6 @@ public: */ void preAdapt() { - if (!adaptiveGrid) - Dune::dgrave << "adaptivity functionality was called despite " - << "adaptivity is disabled in property system \n;" << adaptiveGrid; } /*! @@ -620,9 +613,6 @@ public: */ void postAdapt() { - if (!adaptiveGrid) - Dune::dgrave << "adaptivity functionality was called despite " - << "adaptivity is disabled in property system \n;" << adaptiveGrid; // write out new grid // Dune::VTKWriter<LeafGridView> vtkwriter(problem_.gridView()); // vtkwriter.write("latestgrid",Dune::VTK::appendedraw); diff --git a/dumux/porousmediumflow/sequential/properties.hh b/dumux/porousmediumflow/sequential/properties.hh index a142e3d62333a716db15d27f8cc5f0cde461dcb3..3b4858cb27e2a22c63a0903e87f6ec7d793de0a9 100644 --- a/dumux/porousmediumflow/sequential/properties.hh +++ b/dumux/porousmediumflow/sequential/properties.hh @@ -78,9 +78,6 @@ NEW_PROP_TAG( MaxIntersections ); //!< Gives maximum number of intersections of namespace Dumux { -template<class TypeTag> -class GridAdaptInitializationIndicatorDefault; - template<class TypeTag> class VariableClass; @@ -181,13 +178,7 @@ SET_PROP(SequentialModel, BoundaryTypes) public: typedef BoundaryTypes<numEq> type; }; - -//Set default class for adaptation initialization indicator -SET_TYPE_PROP(GridAdaptTypeTag, AdaptionInitializationIndicator, GridAdaptInitializationIndicatorDefault<TypeTag>); - } } -#include "gridadaptinitializationindicatordefault.hh" - #endif