From 568cf2a1682ad663c794b2d3c76c116a8c4de782 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 18:32:15 +0200 Subject: [PATCH 01/17] [cleanup] Remove property system macros --- dumux/common/properties.hh | 11 - dumux/common/properties/CMakeLists.txt | 1 - .../common/properties/propertysystemmacros.hh | 290 ------------------ test/common/propertysystem/CMakeLists.txt | 3 - .../test_propertysystem_macros.cc | 186 ----------- 5 files changed, 491 deletions(-) delete mode 100644 dumux/common/properties/propertysystemmacros.hh delete mode 100644 test/common/propertysystem/test_propertysystem_macros.cc diff --git a/dumux/common/properties.hh b/dumux/common/properties.hh index 8d1d6e1b31..29fe1fcbae 100644 --- a/dumux/common/properties.hh +++ b/dumux/common/properties.hh @@ -31,17 +31,6 @@ // header doesn't need to be opened and checked all the time #ifndef DUMUX_PROPERTY_SYSTEM_HH #include - -// per default, we do not allow the old property macros -// remove this after release 3.2 -#ifndef DUMUX_ENABLE_OLD_PROPERTY_MACROS -#define DUMUX_ENABLE_OLD_PROPERTY_MACROS 0 -#endif - -// remove this after release 3.2 to remove macros completely -#if DUMUX_ENABLE_OLD_PROPERTY_MACROS -#include -#endif // DUMUX_ENABLE_OLD_PROPERTY_MACROS #endif // DUMUX_PROPERTY_SYSTEM_HH namespace Dumux { diff --git a/dumux/common/properties/CMakeLists.txt b/dumux/common/properties/CMakeLists.txt index 7246726ffb..52bf5515f1 100644 --- a/dumux/common/properties/CMakeLists.txt +++ b/dumux/common/properties/CMakeLists.txt @@ -2,5 +2,4 @@ install(FILES grid.hh model.hh propertysystem.hh -propertysystemmacros.hh DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/common/properties) diff --git a/dumux/common/properties/propertysystemmacros.hh b/dumux/common/properties/propertysystemmacros.hh deleted file mode 100644 index 650b445355..0000000000 --- a/dumux/common/properties/propertysystemmacros.hh +++ /dev/null @@ -1,290 +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 3 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 * - * MERCHANTBILITY 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 . * - *****************************************************************************/ -/*! - * \file - * \ingroup Properties - * \brief Provides the magic behind the DuMuX property system. - * - * Properties allow to associate arbitrary data types to - * identifiers. A property is always defined on a pair (TypeTag, - * PropertyTag) where TypeTag is the identifier for the object the - * property is defined for and PropertyTag is an unique identifier of - * the property. - * - * Type tags are hierarchic and inherit properties defined on their - * ancesters. At each level, properties defined on lower levels can be - * overwritten or even made undefined. It is also possible to define - * defaults for properties if it makes sense. - * - * Properties may make use other properties for the respective type - * tag and these properties can also be defined on an arbitrary level - * of the hierarchy. - */ -#ifndef DUMUX_PROPERTY_SYSTEM_MACROS_HH -#define DUMUX_PROPERTY_SYSTEM_MACROS_HH -#warning "Property macros are deprecated and will be removed after release 3.2. \ -If you are not using property macros you can disable this warning by \ -setting DUMUX_ENABLE_OLD_PROPERTY_MACROS to 0 (false) when configuring DuMux. \ -DUMUX_ENABLE_OLD_PROPERTY_MACROS defaults to 1 (true) until release 3.1. \ -After release 3.1 it will default to 0 (false) so you will have to manually \ -enable property macros in order to use them." - -#include - -#include - -namespace Dumux { -namespace Properties { - -namespace TTag {} - -/*! - * \brief Makes a type out of a type tag name - */ -#define TTAG(TypeTagName) ::Dumux::Properties::TTag::TypeTagName - -/*! - * \brief Makes a type out of a property tag name - */ -//#define PTAG(PropTagName) PropTagName - -/*! - * \brief Makes a type out of a property tag name - */ -#define PTAG_(PropTagName) ::Dumux::Properties::PropTagName - - -// in the old property system the order in inherit_from was the other way around -// this flips the order of a tuple to restore old behaviour when using the macro. -// when you are using non-macro version make sure to flip the order. -template -struct ReverseTupleImpl; - -template -struct ReverseTupleImpl> -{ - using type = std::tuple...>; -}; - -// revert tuple argument order -template -using ReverseTuple = typename ReverseTupleImpl::value>>::type; - -// a temporary hack to make the macro still work, we set using InheritsFrom = void, -// which gets picked up by the new property as non inheritance, this can be removed -// once all macros are gone -namespace Detail { -template -struct GetTypeTagInheritance; - -template -struct GetTypeTagInheritance> -{ - using type = void; -}; - -template -struct GetTypeTagInheritance> -{ - // reverse order to restore old behaviour - using type = ReverseTuple>; -}; -} // end namespace Detail - -/*! - * \ingroup Properties - * \brief Define a new type tag. - * - * A type tag can inherit the properties defined on up to five parent - * type tags. Examples: - * - * \code - * // The type tag doesn't inherit any properties from other type tags - * NEW_TYPE_TAG(FooTypeTag); - * - * // BarTypeTag inherits all properties from FooTypeTag - * NEW_TYPE_TAG(BarTypeTag, INHERITS_FROM(FooTypeTag)); - * - * // FooBarTypeTag inherits the properties of FooTypeTag as well as - * // those of BarTypeTag. Properties defined on BarTypeTag have - * // preceedence over those defined for FooTypeTag: - * NEW_TYPE_TAG(FooBarTypeTag, INHERITS_FROM(FooTypeTag, BarTypeTag)); - * \endcode - */ -#define DUMUX_GET_HEAD_(Arg1, ...) Arg1 - -#define NEW_TYPE_TAG(...) \ - namespace TTag { \ - struct DUMUX_GET_HEAD_(__VA_ARGS__) \ - { using InheritsFrom = Detail::GetTypeTagInheritance>::type; }; \ - } extern int semicolonHack_ - -/*! - * \ingroup Properties - * \brief Syntactic sugar for NEW_TYPE_TAG. - * - * See the documentation for NEW_TYPE_TAG. - */ -#define INHERITS_FROM(...) __VA_ARGS__ - -/*! - * \ingroup Properties - * \brief Define a property tag. - * - * A property tag is the unique identifier for a property. It may only - * be declared once in your program. There is also no hierarchy of - * property tags as for type tags. - * - * Examples: - * - * \code - * NEW_PROP_TAG(blubbPropTag); - * NEW_PROP_TAG(blabbPropTag); - * \endcode - */ -#define NEW_PROP_TAG(PTagName) \ - template \ - struct PTagName { using type = UndefinedProperty; }; \ - extern int semicolonHack_ - -/*! - * \ingroup Properties - * \brief Set a property for a specific type tag. - * - * After this macro, you must to specify a complete body of a class - * template, including the trailing semicolon. If you need to retrieve - * another property within the class body, you can use TypeTag as the - * argument for the type tag for the GET_PROP macro. - * - * Example: - * - * \code - * SET_PROP(FooTypeTag, blubbPropTag) - * { - * static int value = 10; - * static int calculate(int arg) - * { calculateInternal_(arg); } - * - * private: - * // retrieve the blabbProp property for the real TypeTag the - * // property is defined on. Note that blabbProb does not need to - * // be defined on FooTypeTag, but can also be defined for some - * // derived type tag. - * using blabb = typename GET_PROP(TypeTag, blabbProp); - * - * static int calculateInternal_(int arg) - * { return arg * blabb::value; }; - * \endcode - * }; - */ -#define SET_PROP(EffTypeTagName, PropTagName) \ - template \ - struct PropTagName - -/*! - * \ingroup Properties - * \brief Set a property to a simple constant integer value. - * - * The constant can be accessed by the 'value' attribute. - */ -#define SET_INT_PROP(EffTypeTagName, PropTagName, /*Value*/...) \ - template \ - struct PropTagName \ - { \ - using type = int; \ - static constexpr int value = __VA_ARGS__; \ - } - -/*! - * \ingroup Properties - * \brief Set a property to a simple constant boolean value. - * - * The constant can be accessed by the 'value' attribute. - */ -#define SET_BOOL_PROP(EffTypeTagName, PropTagName, /*Value*/...) \ - template \ - struct PropTagName \ - { \ - using type = bool; \ - static constexpr bool value = __VA_ARGS__; \ - } - -/*! - * \ingroup Properties - * \brief Set a property which defines a type. - * - * The type can be accessed by the 'type' attribute. - */ -#define SET_TYPE_PROP(EffTypeTagName, PropTagName, /*Value*/...) \ - template \ - struct PropTagName \ - { \ - using type = __VA_ARGS__; \ - } - -/*! - * \ingroup Properties - * \brief Set a property to a simple constant scalar value. - * - * The constant can be accessed by the 'value' attribute. In order to - * use this macro, the property tag "Scalar" needs to be defined for - * the real type tag. - */ -#define SET_SCALAR_PROP(EffTypeTagName, PropTagName, ...) \ - template \ - struct PropTagName \ - { \ - using Scalar = Dumux::GetPropType; \ - public: \ - using type = Scalar; \ - static const Scalar value; \ - }; \ - template \ - const typename PropTagName::type \ - PropTagName::value(__VA_ARGS__) - -/*! - * \ingroup Properties - * \brief Set a property to a simple constant string value. - * - * The constant can be accessed by the 'value' attribute and is of - * type std::string. - */ -#define SET_STRING_PROP(EffTypeTagName, PropTagName, ...) \ - template \ - struct PropTagName \ - { \ - public: \ - using type = std::string; \ - static const std::string value; \ - }; \ - template \ - const typename PropTagName::type \ - PropTagName::value(__VA_ARGS__) - - -// getters -#define GET_PROP(TypeTag, PropTagName) ::Dumux::Properties::Detail::GetPropImpl::type -#define GET_PROP_VALUE(TypeTag, PropTagName) ::Dumux::Properties::Detail::GetPropImpl::type::value -#define GET_PROP_TYPE(TypeTag, PropTagName) ::Dumux::Properties::Detail::GetPropImpl::type::type - -} // namespace Properties -} // namespace Dumux - -#endif // DUMUX_PROPERTY_SYSTEM_HH diff --git a/test/common/propertysystem/CMakeLists.txt b/test/common/propertysystem/CMakeLists.txt index b00536eafd..a023dbb47e 100644 --- a/test/common/propertysystem/CMakeLists.txt +++ b/test/common/propertysystem/CMakeLists.txt @@ -1,6 +1,3 @@ # build the test for the property system dumux_add_test(SOURCES test_propertysystem.cc LABELS unit) -# build the test for the property system using the old macros (deprecated) -dumux_add_test(SOURCES test_propertysystem_macros.cc - LABELS unit) diff --git a/test/common/propertysystem/test_propertysystem_macros.cc b/test/common/propertysystem/test_propertysystem_macros.cc deleted file mode 100644 index 0507287344..0000000000 --- a/test/common/propertysystem/test_propertysystem_macros.cc +++ /dev/null @@ -1,186 +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 3 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 . * - *****************************************************************************/ -/*! - * \file - * - * \brief This file tests the deprecated properties system macros. - * - * We define a few type tags and property tags, then we attach values - * to (TypeTag, PropertyTag) tuples and finally we use them in the - * main function and print some diagnostic messages. - */ -#include - -#include - -#include - -namespace Dumux { - -struct TankType { - static void print() { std::cout << "default tank type" << std::endl; } -}; - -namespace Properties { - -/////////////////// -// Define some hierarchy of type tags: -// -// Vehicle -- CompactCar -- Sedan -_ -// \ \. -// \ +- Pickup ---_ -// \ / \. -// +-- Truck ---------------^ \. -// \ \. -// +- Tank ----------------------------------+- HummerH1 -/////////////////// -NEW_TYPE_TAG(Vehicle); - -NEW_TYPE_TAG(CompactCar, INHERITS_FROM(Vehicle)); -NEW_TYPE_TAG(Truck, INHERITS_FROM(Vehicle)); -NEW_TYPE_TAG(Tank, INHERITS_FROM(Vehicle)); - -NEW_TYPE_TAG(Sedan, INHERITS_FROM(CompactCar)); -NEW_TYPE_TAG(Pickup, INHERITS_FROM(Sedan, Truck)); - -NEW_TYPE_TAG(HummerH1, INHERITS_FROM(Sedan, Pickup, Tank)); - -/////////////////// -// Define the property tags: -// TopSpeed, NumSeats, CanonCaliber, GasUsage, AutomaticTransmission, Payload -/////////////////// -NEW_PROP_TAG(TopSpeed); // [km/h] -NEW_PROP_TAG(NumSeats); // [] -NEW_PROP_TAG(CanonCaliber); // [mm] -NEW_PROP_TAG(GasUsage); // [l/100km] -NEW_PROP_TAG(AutomaticTransmission); // true/false -NEW_PROP_TAG(Payload); // [t] -NEW_PROP_TAG(TankType); // a C++ type - -/////////////////// -// Make the AutomaticTransmission default to false -SET_BOOL_PROP(Vehicle, AutomaticTransmission, false); - -/////////////////// -// Define some values for the properties on the type tags: -// -// (CompactCar, TopSpeed) = GasUsage*35 -// (CompactCar, NumSeats) = 5 -// (CompactCar, GasUsage) = 4 -// -// (Truck, TopSpeed) = 100 -// (Truck, NumSeats) = 2 -// (Truck, GasUsage) = 12 -// (Truck, Payload) = 35 -// -// (Tank, TopSpeed) = 60 -// (Tank, GasUsage) = 65 -// (Tank, CanonCaliber) = 120 -// -// (Sedan, GasUsage) = 7 -// (Sedan, AutomaticTransmission) = true -// -// (Pickup, TopSpeed) = 120 -// (Pickup, Payload) = 5 -// -// (HummmerH1, TopSpeed) = (Pickup, TopSpeed) -/////////////////// - -SET_INT_PROP(CompactCar, TopSpeed, GET_PROP_VALUE(TypeTag, GasUsage) * 30); -SET_INT_PROP(CompactCar, NumSeats, 5); -SET_INT_PROP(CompactCar, GasUsage, 4); - -SET_INT_PROP(Truck, TopSpeed, 100); -SET_INT_PROP(Truck, NumSeats, 2); -SET_INT_PROP(Truck, GasUsage, 12); -SET_INT_PROP(Truck, Payload, 35); - -SET_INT_PROP(Tank, TopSpeed, 60); -SET_INT_PROP(Tank, GasUsage, 65); -SET_INT_PROP(Tank, CanonCaliber, 120); - -SET_INT_PROP(Sedan, GasUsage, 7); -SET_BOOL_PROP(Sedan, AutomaticTransmission, true); - -SET_INT_PROP(Pickup, TopSpeed, 120); -SET_INT_PROP(Pickup, Payload, 5); - -SET_INT_PROP(HummerH1, TopSpeed, GET_PROP_VALUE(TTAG(Pickup), TopSpeed)); - -SET_TYPE_PROP(Vehicle, TankType, Dumux::TankType); - -} // namespace Properties -} // namespace Dumux - - -int main() -{ - // print all properties for all type tags - std::cout << "---------------------------------------\n"; - std::cout << "-- Property values\n"; - std::cout << "---------------------------------------\n"; - - std::cout << "---------- Values for CompactCar ----------\n"; - - std::cout << "(CompactCar, TopSpeed) = " << GET_PROP_VALUE(TTAG(CompactCar), TopSpeed) << "\n"; - std::cout << "(CompactCar, NumSeats) = " << GET_PROP_VALUE(TTAG(CompactCar), NumSeats) << "\n"; - std::cout << "(CompactCar, GasUsage) = " << GET_PROP_VALUE(TTAG(CompactCar), GasUsage) << "\n"; - std::cout << "(CompactCar, AutomaticTransmission) = " << GET_PROP_VALUE(TTAG(CompactCar), AutomaticTransmission) << "\n"; - - std::cout << "---------- Values for Truck ----------\n"; - - std::cout << "(Truck, TopSpeed) = " << GET_PROP_VALUE(TTAG(Truck), TopSpeed) << "\n"; - std::cout << "(Truck, NumSeats) = " << GET_PROP_VALUE(TTAG(Truck), NumSeats) << "\n"; - std::cout << "(Truck, GasUsage) = " << GET_PROP_VALUE(TTAG(Truck), GasUsage) << "\n"; - std::cout << "(Truck, Payload) = " << GET_PROP_VALUE(TTAG(Truck), Payload) << "\n"; - std::cout << "(Truck, AutomaticTransmission) = " << GET_PROP_VALUE(TTAG(Truck), AutomaticTransmission) << "\n"; - - std::cout << "---------- Values for Tank ----------\n"; - - std::cout << "(Tank, TopSpeed) = " << GET_PROP_VALUE(TTAG(Tank), TopSpeed) << "\n"; - std::cout << "(Tank, GasUsage) = " << GET_PROP_VALUE(TTAG(Tank), GasUsage) << "\n"; - std::cout << "(Tank, AutomaticTransmission) = " << GET_PROP_VALUE(TTAG(Tank), AutomaticTransmission) << "\n"; - std::cout << "(Tank, CanonCaliber) = " << GET_PROP_VALUE(TTAG(Tank), CanonCaliber) << "\n"; - - std::cout << "---------- Values for Sedan ----------\n"; - - std::cout << "(Sedan, TopSpeed) = " << GET_PROP_VALUE(TTAG(Sedan), TopSpeed) << "\n"; - std::cout << "(Sedan, NumSeats) = " << GET_PROP_VALUE(TTAG(Sedan), NumSeats) << "\n"; - std::cout << "(Sedan, GasUsage) = " << GET_PROP_VALUE(TTAG(Sedan), GasUsage) << "\n"; - std::cout << "(Sedan, AutomaticTransmission) = " << GET_PROP_VALUE(TTAG(Sedan), AutomaticTransmission) << "\n"; - - std::cout << "---------- Values for Pickup ----------\n"; - std::cout << "(Pickup, TopSpeed) = " << GET_PROP_VALUE(TTAG(Pickup), TopSpeed) << "\n"; - std::cout << "(Pickup, NumSeats) = " << GET_PROP_VALUE(TTAG(Pickup), NumSeats) << "\n"; - std::cout << "(Pickup, GasUsage) = " << GET_PROP_VALUE(TTAG(Pickup), GasUsage) << "\n"; - std::cout << "(Pickup, Payload) = " << GET_PROP_VALUE(TTAG(Pickup), Payload) << "\n"; - std::cout << "(Pickup, AutomaticTransmission) = " << GET_PROP_VALUE(TTAG(Pickup), AutomaticTransmission) << "\n"; - - std::cout << "---------- Values for HummerH1 ----------\n"; - std::cout << "(HummerH1, TopSpeed) = " << GET_PROP_VALUE(TTAG(HummerH1), TopSpeed) << "\n"; - std::cout << "(HummerH1, NumSeats) = " << GET_PROP_VALUE(TTAG(HummerH1), NumSeats) << "\n"; - std::cout << "(HummerH1, GasUsage) = " << GET_PROP_VALUE(TTAG(HummerH1), GasUsage) << "\n"; - std::cout << "(HummerH1, Payload) = " << GET_PROP_VALUE(TTAG(HummerH1), Payload) << "\n"; - std::cout << "(HummerH1, AutomaticTransmission) = " << GET_PROP_VALUE(TTAG(HummerH1), AutomaticTransmission) << "\n"; - - // print tank type - GET_PROP_TYPE(TTAG(HummerH1), TankType)::print(); - - return 0; -} -- GitLab From 102d1ae225635c43fa3c0b857710d206887317b0 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 18:43:51 +0200 Subject: [PATCH 02/17] [cleanup] Remove GridView property --- dumux/common/properties.hh | 2 - dumux/common/properties/grid.hh | 7 ---- dumux/discretization/box.hh | 5 +-- dumux/discretization/ccmpfa.hh | 9 +---- dumux/discretization/cctpfa.hh | 6 +-- .../staggered/freeflow/properties.hh | 6 +-- dumux/multidomain/facet/box/properties.hh | 6 +-- dumux/porousmediumflow/boxdfm/model.hh | 6 +-- .../porousmediumflow/sequential/properties.hh | 37 +++---------------- examples/1ptracer/main.cc | 2 +- examples/1ptracer/properties_tracer.hh | 2 +- examples/freeflowchannel/main.cc | 4 +- .../1p_1p/convergencetest/problem_darcy.hh | 2 +- .../1p_1p/convergencetest/problem_stokes.hh | 2 +- .../1p/implicit/network1d3d/problem.hh | 8 +--- 15 files changed, 20 insertions(+), 84 deletions(-) diff --git a/dumux/common/properties.hh b/dumux/common/properties.hh index 29fe1fcbae..2acccd0dc6 100644 --- a/dumux/common/properties.hh +++ b/dumux/common/properties.hh @@ -50,8 +50,6 @@ struct PrimaryVariables { using type = UndefinedProperty; }; //!< A vector template struct NumEqVector { using type = UndefinedProperty; }; //!< A vector of size number equations that can be used for Neumann fluxes, sources, residuals, ... template -struct [[deprecated("Access GridView via 'GridGeometry::GridView' or 'Grid::LeafGridView' instead. Will be removed after 3.2")]] GridView { using type = UndefinedProperty; }; //!< The type of the grid view according to the grid type -template struct ModelTraits { using type = UndefinedProperty; }; //!< Traits class encapsulating model specifications template struct BaseModelTraits { using type = UndefinedProperty; }; //!< Model traits to be used as a base for nonisothermal, mineralization ... models diff --git a/dumux/common/properties/grid.hh b/dumux/common/properties/grid.hh index 2fd9478deb..1adddcea02 100644 --- a/dumux/common/properties/grid.hh +++ b/dumux/common/properties/grid.hh @@ -24,7 +24,6 @@ #ifndef DUMUX_GRID_PROPERTIES_HH #define DUMUX_GRID_PROPERTIES_HH -#include #include #include @@ -38,12 +37,6 @@ namespace TTag { struct GridProperties {}; } -DUNE_NO_DEPRECATED_BEGIN -//! Use the leaf grid view if not defined otherwise -template -struct GridView { using type = typename GetPropType::LeafGridView; }; -DUNE_NO_DEPRECATED_END - //! Use the minimal point source implementation as default template struct PointSource diff --git a/dumux/discretization/box.hh b/dumux/discretization/box.hh index 9fb1526732..a9df7e72d9 100644 --- a/dumux/discretization/box.hh +++ b/dumux/discretization/box.hh @@ -25,7 +25,6 @@ #ifndef DUMUX_DISCRETIZTAION_BOX_HH #define DUMUX_DISCRETIZTAION_BOX_HH -#include #include #include @@ -58,9 +57,7 @@ struct GridGeometry { private: static constexpr bool enableCache = getPropValue(); - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END + using GridView = typename GetPropType::LeafGridView; using Scalar = GetPropType; public: using type = BoxFVGridGeometry; diff --git a/dumux/discretization/ccmpfa.hh b/dumux/discretization/ccmpfa.hh index 686dd176dd..0abdf72c34 100644 --- a/dumux/discretization/ccmpfa.hh +++ b/dumux/discretization/ccmpfa.hh @@ -25,7 +25,6 @@ #ifndef DUMUX_DISCRETIZATION_CC_MPFA_HH #define DUMUX_DISCRETIZATION_CC_MPFA_HH -#include #include #include @@ -62,9 +61,7 @@ template struct DualGridNodalIndexSet { private: - DUNE_NO_DEPRECATED_BEGIN - using GV = GetPropType; - DUNE_NO_DEPRECATED_END + using GV = typename GetPropType::LeafGridView; using Traits = NodalIndexSetDefaultTraits< GV >; public: @@ -104,9 +101,7 @@ template struct GridGeometry { private: - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END + using GridView = typename GetPropType::LeafGridView; using PrimaryIV = GetPropType; using SecondaryIV = GetPropType; using NodalIndexSet = GetPropType; diff --git a/dumux/discretization/cctpfa.hh b/dumux/discretization/cctpfa.hh index 825d560b77..b1c17411d5 100644 --- a/dumux/discretization/cctpfa.hh +++ b/dumux/discretization/cctpfa.hh @@ -26,8 +26,6 @@ #ifndef DUMUX_DISCRETIZATION_CC_TPFA_HH #define DUMUX_DISCRETIZATION_CC_TPFA_HH -#include - #include #include @@ -58,9 +56,7 @@ struct GridGeometry { private: static constexpr bool enableCache = getPropValue(); - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END + using GridView = typename GetPropType::LeafGridView; public: using type = CCTpfaFVGridGeometry; }; diff --git a/dumux/discretization/staggered/freeflow/properties.hh b/dumux/discretization/staggered/freeflow/properties.hh index ea64a567f2..9623f91f8f 100644 --- a/dumux/discretization/staggered/freeflow/properties.hh +++ b/dumux/discretization/staggered/freeflow/properties.hh @@ -28,8 +28,6 @@ #ifndef DUMUX_STAGGERD_FREE_FLOW_PROPERTIES_HH #define DUMUX_STAGGERD_FREE_FLOW_PROPERTIES_HH -#include - #include #include #include @@ -85,9 +83,7 @@ struct GridGeometry private: static constexpr auto upwindSchemeOrder = getPropValue(); static constexpr bool enableCache = getPropValue(); - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END + using GridView = typename GetPropType::LeafGridView; using Traits = StaggeredFreeFlowDefaultFVGridGeometryTraits; public: using type = StaggeredFVGridGeometry; diff --git a/dumux/multidomain/facet/box/properties.hh b/dumux/multidomain/facet/box/properties.hh index 07a0efe428..a1efedc612 100644 --- a/dumux/multidomain/facet/box/properties.hh +++ b/dumux/multidomain/facet/box/properties.hh @@ -29,8 +29,6 @@ #ifndef DUMUX_FACETCOUPLING_BOX_PROPERTIES_HH #define DUMUX_FACETCOUPLING_BOX_PROPERTIES_HH -#include - #include #include @@ -100,9 +98,7 @@ struct GridGeometry { private: static constexpr bool enableCache = getPropValue(); - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END + using GridView = typename GetPropType::LeafGridView; using Scalar = GetPropType; public: using type = BoxFacetCouplingFVGridGeometry; diff --git a/dumux/porousmediumflow/boxdfm/model.hh b/dumux/porousmediumflow/boxdfm/model.hh index 72478ecf26..3632e843b3 100644 --- a/dumux/porousmediumflow/boxdfm/model.hh +++ b/dumux/porousmediumflow/boxdfm/model.hh @@ -26,8 +26,6 @@ #ifndef DUMUX_POROUSMEDIUMFLOW_BOXDFM_MODEL_HH #define DUMUX_POROUSMEDIUMFLOW_BOXDFM_MODEL_HH -#include - #include #include "fvgridgeometry.hh" @@ -48,9 +46,7 @@ struct GridGeometry { private: static constexpr bool enableCache = getPropValue(); - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END + using GridView = typename GetPropType::LeafGridView; using Scalar = GetPropType; public: using type = BoxDfmFVGridGeometry; diff --git a/dumux/porousmediumflow/sequential/properties.hh b/dumux/porousmediumflow/sequential/properties.hh index bb0a550d5c..c4e5ba1350 100644 --- a/dumux/porousmediumflow/sequential/properties.hh +++ b/dumux/porousmediumflow/sequential/properties.hh @@ -19,8 +19,6 @@ #ifndef DUMUX_SEQUENTIAL_PROPERTIES_HH #define DUMUX_SEQUENTIAL_PROPERTIES_HH -#include - #include #include #include @@ -134,47 +132,27 @@ public: using type = DummyTraits; }; -DUNE_NO_DEPRECATED_BEGIN -//! Use the leaf grid view if not defined otherwise -template -struct GridView -{ -private: - using Grid = GetPropType; - -public: - using type = typename Grid::LeafGridView; -}; -DUNE_NO_DEPRECATED_END - //! Default number of intersections for quadrilaterals template struct MaxIntersections { private: - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END - enum - { - dim = GridView::dimension - }; + using GridView = typename GetPropType::GridView; public: - static const int value = 2*dim; + static constexpr int value = 2*GridView::dimension; }; //! A simplified grid geometry for compatibility with new style models template struct GridGeometry { -DUNE_NO_DEPRECATED_BEGIN + using GV = typename GetPropType::LeafGridView; struct MockFVGridGeometry - : public DefaultMapperTraits> + : public DefaultMapperTraits { static constexpr Dumux::DiscretizationMethod discMethod = Dumux::DiscretizationMethod::cctpfa; - using GridView = GetPropType; + using GridView = GV; }; -DUNE_NO_DEPRECATED_END public: using type = MockFVGridGeometry; }; @@ -196,10 +174,7 @@ template struct SolutionTypes { using Scalar = GetPropType; - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END - using Grid = typename GridView::Grid; + using GridView = typename GetPropType::GridView; using Variables = GetPropType; enum diff --git a/examples/1ptracer/main.cc b/examples/1ptracer/main.cc index d8406e8db8..c33269ab8d 100644 --- a/examples/1ptracer/main.cc +++ b/examples/1ptracer/main.cc @@ -153,7 +153,7 @@ int main(int argc, char** argv) try // problem defined in `problem_1p.hh`. Let us now write this solution to a VTK file using the Dune // `VTKWriter`. Moreover, we add the permeability distribution to the writer. // [[codeblock]] - using GridView = GetPropType; + using GridView = typename GridGeometry::GridView; Dune::VTKWriter onepWriter(leafGridView); onepWriter.addCellData(p, "p"); diff --git a/examples/1ptracer/properties_tracer.hh b/examples/1ptracer/properties_tracer.hh index 1ebcaac3c0..a7db2bd574 100644 --- a/examples/1ptracer/properties_tracer.hh +++ b/examples/1ptracer/properties_tracer.hh @@ -64,7 +64,7 @@ class TracerFluidSystem : public FluidSystems::Base; using Problem = GetPropType; - using GridView = GetPropType; + using GridView = typename GetPropType::GridView; using Element = typename GridView::template Codim<0>::Entity; using FVElementGeometry = typename GetPropType::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; diff --git a/examples/freeflowchannel/main.cc b/examples/freeflowchannel/main.cc index d42b694d71..eefdbe2fb3 100644 --- a/examples/freeflowchannel/main.cc +++ b/examples/freeflowchannel/main.cc @@ -178,9 +178,7 @@ int main(int argc, char** argv) try const Scalar offsetX = (numCellsX % 2 == 0) ? 0.0 : 0.5*((xMax - xMin) / numCellsX); - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END + using GridView = typename GridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/multidomain/boundary/stokesdarcy/1p_1p/convergencetest/problem_darcy.hh b/test/multidomain/boundary/stokesdarcy/1p_1p/convergencetest/problem_darcy.hh index 8312e44e9b..c6c1602e26 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_1p/convergencetest/problem_darcy.hh +++ b/test/multidomain/boundary/stokesdarcy/1p_1p/convergencetest/problem_darcy.hh @@ -81,7 +81,7 @@ template class DarcySubProblem : public PorousMediumFlowProblem { using ParentType = PorousMediumFlowProblem; - using GridView = GetPropType; + using GridView = typename GetPropType::GridView; using Scalar = GetPropType; using PrimaryVariables = GetPropType; using NumEqVector = GetPropType; diff --git a/test/multidomain/boundary/stokesdarcy/1p_1p/convergencetest/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p_1p/convergencetest/problem_stokes.hh index 25cd89a662..95e40d3f65 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_1p/convergencetest/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p_1p/convergencetest/problem_stokes.hh @@ -77,10 +77,10 @@ template class StokesSubProblem : public NavierStokesProblem { using ParentType = NavierStokesProblem; - using GridView = GetPropType; using Scalar = GetPropType; using BoundaryTypes = GetPropType; using GridGeometry = GetPropType; + using GridView = typename GridGeometry::GridView; using FVElementGeometry = typename GridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using Element = typename GridView::template Codim<0>::Entity; diff --git a/test/porousmediumflow/1p/implicit/network1d3d/problem.hh b/test/porousmediumflow/1p/implicit/network1d3d/problem.hh index fd3fbe29e2..369d491ba7 100644 --- a/test/porousmediumflow/1p/implicit/network1d3d/problem.hh +++ b/test/porousmediumflow/1p/implicit/network1d3d/problem.hh @@ -72,9 +72,7 @@ struct GridGeometry { private: static constexpr bool enableCache = getPropValue(); - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END + using GridView = typename GetPropType::LeafGridView; using ElementMapper = ReorderingDofMapper; using VertexMapper = Dune::MultipleCodimMultipleGeomTypeMapper; @@ -89,9 +87,7 @@ struct GridGeometry { private: static constexpr bool enableCache = getPropValue(); - DUNE_NO_DEPRECATED_BEGIN - using GridView = GetPropType; - DUNE_NO_DEPRECATED_END + using GridView = typename GetPropType::LeafGridView; using Scalar = GetPropType; using ElementMapper = Dune::MultipleCodimMultipleGeomTypeMapper; -- GitLab From 9fba116e50c168eafeaaa94ec3679eb09a7fc322 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 18:44:33 +0200 Subject: [PATCH 03/17] [cleanup] Remove unused include --- dumux/adaptive/initializationindicator.hh | 1 - dumux/assembly/boxlocalresidual.hh | 1 - dumux/assembly/cclocalresidual.hh | 1 - dumux/flux/box/fourierslaw.hh | 1 - dumux/flux/box/fourierslawnonequilibrium.hh | 1 - dumux/flux/cctpfa/fourierslaw.hh | 2 -- dumux/flux/cctpfa/fourierslawnonequilibrium.hh | 1 - dumux/multidomain/facet/box/localresidual.hh | 1 - dumux/porousmediumflow/velocity.hh | 1 - examples/freeflowchannel/README.md | 1 - examples/freeflowchannel/main.cc | 1 - 11 files changed, 12 deletions(-) diff --git a/dumux/adaptive/initializationindicator.hh b/dumux/adaptive/initializationindicator.hh index 13eaaef514..61d303b4f8 100644 --- a/dumux/adaptive/initializationindicator.hh +++ b/dumux/adaptive/initializationindicator.hh @@ -28,7 +28,6 @@ #include #include #include -#include #include namespace Dumux { diff --git a/dumux/assembly/boxlocalresidual.hh b/dumux/assembly/boxlocalresidual.hh index 03cf7d1774..ca6410ddb2 100644 --- a/dumux/assembly/boxlocalresidual.hh +++ b/dumux/assembly/boxlocalresidual.hh @@ -28,7 +28,6 @@ #include #include -#include #include #include diff --git a/dumux/assembly/cclocalresidual.hh b/dumux/assembly/cclocalresidual.hh index 484f2920a0..9f1c48fc76 100644 --- a/dumux/assembly/cclocalresidual.hh +++ b/dumux/assembly/cclocalresidual.hh @@ -25,7 +25,6 @@ #ifndef DUMUX_CC_LOCAL_RESIDUAL_HH #define DUMUX_CC_LOCAL_RESIDUAL_HH -#include #include #include #include diff --git a/dumux/flux/box/fourierslaw.hh b/dumux/flux/box/fourierslaw.hh index edb39e90de..9fdb573f34 100644 --- a/dumux/flux/box/fourierslaw.hh +++ b/dumux/flux/box/fourierslaw.hh @@ -28,7 +28,6 @@ #include #include #include -#include namespace Dumux { diff --git a/dumux/flux/box/fourierslawnonequilibrium.hh b/dumux/flux/box/fourierslawnonequilibrium.hh index 8add74d130..9ef754b4cc 100644 --- a/dumux/flux/box/fourierslawnonequilibrium.hh +++ b/dumux/flux/box/fourierslawnonequilibrium.hh @@ -29,7 +29,6 @@ #include #include -#include #include diff --git a/dumux/flux/cctpfa/fourierslaw.hh b/dumux/flux/cctpfa/fourierslaw.hh index ee48c63519..ad949f1d83 100644 --- a/dumux/flux/cctpfa/fourierslaw.hh +++ b/dumux/flux/cctpfa/fourierslaw.hh @@ -30,8 +30,6 @@ #include #include -#include // effective thermal conductivity interface - namespace Dumux { // forward declaration diff --git a/dumux/flux/cctpfa/fourierslawnonequilibrium.hh b/dumux/flux/cctpfa/fourierslawnonequilibrium.hh index 6dc098cde2..d345fe0721 100644 --- a/dumux/flux/cctpfa/fourierslawnonequilibrium.hh +++ b/dumux/flux/cctpfa/fourierslawnonequilibrium.hh @@ -24,7 +24,6 @@ #ifndef DUMUX_DISCRETIZATION_CC_TPFA_FOURIERS_LAW_NONEQUILIBRIUM_HH #define DUMUX_DISCRETIZATION_CC_TPFA_FOURIERS_LAW_NONEQUILIBRIUM_HH -#include #include #include #include diff --git a/dumux/multidomain/facet/box/localresidual.hh b/dumux/multidomain/facet/box/localresidual.hh index 94b52c6e64..f4d548c369 100644 --- a/dumux/multidomain/facet/box/localresidual.hh +++ b/dumux/multidomain/facet/box/localresidual.hh @@ -27,7 +27,6 @@ #include -#include #include #include diff --git a/dumux/porousmediumflow/velocity.hh b/dumux/porousmediumflow/velocity.hh index 96cac1dc7e..c8393439e8 100644 --- a/dumux/porousmediumflow/velocity.hh +++ b/dumux/porousmediumflow/velocity.hh @@ -33,7 +33,6 @@ #include #include -#include #include #include diff --git a/examples/freeflowchannel/README.md b/examples/freeflowchannel/README.md index d7221b3877..664c2ed5ce 100644 --- a/examples/freeflowchannel/README.md +++ b/examples/freeflowchannel/README.md @@ -381,7 +381,6 @@ The following class contains functionality for additional flux output to the con #include #include #include -#include #include #include diff --git a/examples/freeflowchannel/main.cc b/examples/freeflowchannel/main.cc index eefdbe2fb3..5531b9c4ce 100644 --- a/examples/freeflowchannel/main.cc +++ b/examples/freeflowchannel/main.cc @@ -71,7 +71,6 @@ #include #include #include -#include #include #include -- GitLab From e6e9b8f97e73378c831809b4ec236f4153143993 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 18:45:44 +0200 Subject: [PATCH 04/17] [cleanup][fvassembler] Remove deprecated interfaces --- dumux/multidomain/fvassembler.hh | 127 ------------------------------- 1 file changed, 127 deletions(-) diff --git a/dumux/multidomain/fvassembler.hh b/dumux/multidomain/fvassembler.hh index db59dce18f..5040a1e15e 100644 --- a/dumux/multidomain/fvassembler.hh +++ b/dumux/multidomain/fvassembler.hh @@ -155,26 +155,6 @@ public: std::cout << "Instantiated assembler for a stationary problem." << std::endl; } - /*! - * \brief The constructor for instationary problems - * \note this constructor is deprecated (use the one receiving the previous solution instead) - */ - [[deprecated("Please use constructor taking the previous solution instead. Will be removed after release 3.2!")]] - MultiDomainFVAssembler(ProblemTuple&& problem, - GridGeometryTuple&& gridGeometry, - GridVariablesTuple&& gridVariables, - std::shared_ptr couplingManager, - std::shared_ptr timeLoop) - : couplingManager_(couplingManager) - , problemTuple_(problem) - , gridGeometryTuple_(gridGeometry) - , gridVariablesTuple_(gridVariables) - , timeLoop_(timeLoop) - , isStationaryProblem_(false) - { - std::cout << "Instantiated assembler for an instationary problem." << std::endl; - } - /*! * \brief The constructor for instationary problems * \note the grid variables might be temporarily changed during assembly (if caching is enabled) @@ -197,48 +177,6 @@ public: std::cout << "Instantiated assembler for an instationary problem." << std::endl; } - template::element_type::discMethod == DiscretizationMethod::staggered, - bool isDeprecated = !std::is_convertible::value, - std::enable_if_t = 0> - [[deprecated("Please change the order within your tuples for gridGeometry and gridVariables. Will be removed after release 3.2!")]] - MultiDomainFVAssembler(ProblemTuple&& problem, - DeprecatedGridGeometryTuple&& gridGeometry, - DeprecatedGridVariablesTuple&& gridVariables, - std::shared_ptr couplingManager) - : MultiDomainFVAssembler(std::forward(problem), gridGeometry, gridVariables, couplingManager, - makeIndexSequenceWithOffset<2,std::tuple_size::value - 2>()) - {} - - template::element_type::discMethod == DiscretizationMethod::staggered, - bool isDeprecated = !std::is_convertible::value, - std::enable_if_t = 0> - [[deprecated("Please change the order within your tuples for gridGeometry and gridVariables. Will be removed after release 3.2!")]] - MultiDomainFVAssembler(ProblemTuple&& problem, - DeprecatedGridGeometryTuple&& gridGeometry, - DeprecatedGridVariablesTuple&& gridVariables, - std::shared_ptr couplingManager, - std::shared_ptr timeLoop, - const SolutionVector& prevSol) - : MultiDomainFVAssembler(std::forward(problem), gridGeometry, gridVariables, couplingManager, timeLoop, prevSol, - makeIndexSequenceWithOffset<2,std::tuple_size::value - 2>()) - {} - - template::element_type::discMethod == DiscretizationMethod::staggered, - bool isDeprecated = !std::is_convertible::value, - std::enable_if_t = 0> - [[deprecated("Please change the order within your tuples for gridGeometry and gridVariables. Will be removed after release 3.2!")]] - MultiDomainFVAssembler(ProblemTuple&& problem, - DeprecatedGridGeometryTuple&& gridGeometry, - DeprecatedGridVariablesTuple&& gridVariables, - std::shared_ptr couplingManager, - std::shared_ptr timeLoop) - : MultiDomainFVAssembler(std::forward(problem), gridGeometry, gridVariables, couplingManager, timeLoop, nullptr, - makeIndexSequenceWithOffset<2,std::tuple_size::value - 2>()) - {} - /*! * \brief Assembles the global Jacobian of the residual * and the residual for the current solution. @@ -561,71 +499,6 @@ private: domainJ, gridGeometry(domainJ)); } - template - [[deprecated("\n\n Please change the order within your tuples for gridGeometry and gridVariables. Usage:\n\n" - "auto assembler = std::make_shared(std::make_tuple(ffProblem, ffProblem, otherProblem, ...),\n" - " std::make_tuple(ffGridGeometry->faceFVGridGeometryPtr(),\n" - " ffFvGridGeometry->cellCenterFVGridGeometryPtr(),\n" - " otherFvGridGeometry, ...),\n" - " std::make_tuple(ffGridVariables->faceGridVariablesPtr(),\n" - " ffGridVariables->cellCenterGridVariablesPtr(),\n" - " otherGridVariables, ...),\n" - " couplingManager);\n\n" - "Will be removed after release 3.2!")]] - MultiDomainFVAssembler(ProblemTuple&& problem, - DeprecatedGridGeometryTuple&& gridGeometry, - DeprecatedGridVariablesTuple&& gridVariables, - std::shared_ptr couplingManager, - std::index_sequence) - : couplingManager_(couplingManager) - , problemTuple_(problem) - , gridGeometryTuple_(std::make_tuple(std::move(std::get<1>(gridGeometry)), - std::move(std::get<0>(gridGeometry)), - std::move(std::get(gridGeometry))...)) - , gridVariablesTuple_(std::make_tuple(std::move(std::get<1>(gridVariables)), - std::move(std::get<0>(gridVariables)), - std::move(std::get(gridVariables))...)) - , timeLoop_() - , isStationaryProblem_(true) - { - static_assert(isImplicit(), "Explicit assembler for stationary problem doesn't make sense!"); - std::cout << "Instantiated assembler for a stationary problem." << std::endl; - } - - template - [[deprecated("\n\n Please change the order within your tuples for gridGeometry and gridVariables. Usage:\n\n" - "auto assembler = std::make_shared(std::make_tuple(ffProblem, ffProblem, otherProblem, ...),\n" - " std::make_tuple(ffGridGeometry->faceFVGridGeometryPtr(),\n" - " ffFvGridGeometry->cellCenterFVGridGeometryPtr(),\n" - " otherFvGridGeometry, ...),\n" - " std::make_tuple(ffGridVariables->faceGridVariablesPtr(),\n" - " ffGridVariables->cellCenterGridVariablesPtr(),\n" - " otherGridVariables, ...),\n" - " couplingManager,\n" - " timeLoop, solOld);\n\n" - "Will be removed after release 3.2!")]] - MultiDomainFVAssembler(ProblemTuple&& problem, - DeprecatedGridGeometryTuple&& gridGeometry, - DeprecatedGridVariablesTuple&& gridVariables, - std::shared_ptr couplingManager, - std::shared_ptr timeLoop, - const SolutionVector& prevSol, - std::index_sequence) - : couplingManager_(couplingManager) - , problemTuple_(problem) - , gridGeometryTuple_(std::make_tuple(std::move(std::get<1>(gridGeometry)), - std::move(std::get<0>(gridGeometry)), - std::move(std::get(gridGeometry))...)) - , gridVariablesTuple_(std::make_tuple(std::move(std::get<1>(gridVariables)), - std::move(std::get<0>(gridVariables)), - std::move(std::get(gridVariables))...)) - , timeLoop_(timeLoop) - , prevSol_(&prevSol) - , isStationaryProblem_(false) - { - std::cout << "Instantiated assembler for an instationary problem." << std::endl; - } - //! pointer to the problem to be solved ProblemTuple problemTuple_; -- GitLab From 6eb95bad7fb27935c1a5349375512fc24da69e81 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 18:48:32 +0200 Subject: [PATCH 05/17] [cleanup] Make MultiDomainGlue an alias template --- dumux/multidomain/glue.hh | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/dumux/multidomain/glue.hh b/dumux/multidomain/glue.hh index a5996d7fd8..d0d54f5c2e 100644 --- a/dumux/multidomain/glue.hh +++ b/dumux/multidomain/glue.hh @@ -32,23 +32,13 @@ namespace Dumux { +/*! + * \ingroup MultiDomain + * \brief A convenience alias for the IntersectionEntitySet of two GridViewGeometricEntitySets + */ template -class MultiDomainGlue : public IntersectionEntitySet, - GridViewGeometricEntitySet> -{ - using DomainEntitySet = GridViewGeometricEntitySet; - using TargetEntitySet = GridViewGeometricEntitySet; - using ParentType = IntersectionEntitySet; - using DomainTree = BoundingBoxTree; - using TargetTree = BoundingBoxTree; -public: - using ParentType::ParentType; - - // TODO: After the deprecation period (after release 3.2) this class can be replaced by an alias template - [[deprecated("Will be removed after 3.2. Use default constructor and call build(domainTree, targetTree)!")]] - MultiDomainGlue(const DomainTree& domainTree, const TargetTree& targetTree) - { this->build(domainTree, targetTree); } -}; +using MultiDomainGlue = IntersectionEntitySet, + GridViewGeometricEntitySet>; /*! * \ingroup MultiDomain -- GitLab From 4440f0328ee6edd36bd0ece83ae09685f6726778 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 18:52:52 +0200 Subject: [PATCH 06/17] [cleanup] Remove deprecated diffcoeff interfaces in volvars --- .../freeflow/compositional/volumevariables.hh | 24 ------------------- .../porousmediumflow/1pnc/volumevariables.hh | 7 ------ .../porousmediumflow/2p2c/volumevariables.hh | 7 ------ .../porousmediumflow/2pnc/volumevariables.hh | 13 ---------- .../porousmediumflow/3p3c/volumevariables.hh | 12 ---------- .../3pwateroil/volumevariables.hh | 7 ------ dumux/porousmediumflow/co2/volumevariables.hh | 12 ---------- .../porousmediumflow/mpnc/volumevariables.hh | 24 ------------------- .../richards/volumevariables.hh | 13 ---------- .../richardsnc/volumevariables.hh | 10 -------- .../tracer/volumevariables.hh | 7 ------ 11 files changed, 136 deletions(-) diff --git a/dumux/freeflow/compositional/volumevariables.hh b/dumux/freeflow/compositional/volumevariables.hh index f35e1305d9..6b6f096b80 100644 --- a/dumux/freeflow/compositional/volumevariables.hh +++ b/dumux/freeflow/compositional/volumevariables.hh @@ -249,36 +249,12 @@ public: Scalar averageMolarMass(const int phaseIdx = 0) const { return fluidState_.averageMolarMass(phaseIdx); } - /*! - * \brief Returns the diffusion coefficient \f$\mathrm{[m^2/s]}\f$ - * - * \param compIIdx the index of the component which diffusive - * \param compJIdx the index of the component with respect to which compIIdx diffuses - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int compIIdx, int compJIdx = 0) const - { - if (compIIdx == compJIdx) - DUNE_THROW(Dune::InvalidStateException, "Diffusion coefficient called for compIIdx = compJIdx"); - return diffCoefficient_(0, compIIdx, compJIdx); - } - /*! * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ Scalar diffusionCoefficient(int phaseIdx, int compIIdx, int compJIdx) const { return diffCoefficient_(0, compIIdx, compJIdx); } - /*! - * \brief Returns the effective diffusion coefficient \f$\mathrm{[m^2/s]}\f$ - * - * \param compIIdx the index of the component which diffusive - * \param compJIdx the index of the component with respect to which compIIdx diffuses - */ - [[deprecated("Signature deprecated. Use effectiveDiffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar effectiveDiffusivity(int compIIdx, int compJIdx = 0) const - { return diffusionCoefficient(compIIdx, compJIdx); } - /*! * \brief Returns the effective diffusion coefficients for a phase in \f$[m^2/s]\f$. */ diff --git a/dumux/porousmediumflow/1pnc/volumevariables.hh b/dumux/porousmediumflow/1pnc/volumevariables.hh index d23e1508c5..58e84c9ba0 100644 --- a/dumux/porousmediumflow/1pnc/volumevariables.hh +++ b/dumux/porousmediumflow/1pnc/volumevariables.hh @@ -311,13 +311,6 @@ public: Scalar porosity() const { return solidState_.porosity(); } - /*! - * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int phaseIdx, int compIdx) const - { return diffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); } - /*! * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ diff --git a/dumux/porousmediumflow/2p2c/volumevariables.hh b/dumux/porousmediumflow/2p2c/volumevariables.hh index d37485441d..e1d2f4a301 100644 --- a/dumux/porousmediumflow/2p2c/volumevariables.hh +++ b/dumux/porousmediumflow/2p2c/volumevariables.hh @@ -370,13 +370,6 @@ public: const PermeabilityType& permeability() const { return permeability_; } - /*! - * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int phaseIdx, int compIdx) const - { return diffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); } - /*! * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ diff --git a/dumux/porousmediumflow/2pnc/volumevariables.hh b/dumux/porousmediumflow/2pnc/volumevariables.hh index 564571423c..adca768233 100644 --- a/dumux/porousmediumflow/2pnc/volumevariables.hh +++ b/dumux/porousmediumflow/2pnc/volumevariables.hh @@ -435,19 +435,6 @@ public: const PermeabilityType& permeability() const { return permeability_; } - - /*! - * \brief Returns the diffusion coefficient - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int phaseIdx, int compIdx) const - { - if (compIdx != phaseIdx) - return diffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); - else - DUNE_THROW(Dune::InvalidStateException, "Diffusion coefficient called for phaseIdx = compIdx"); - } - /*! * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ diff --git a/dumux/porousmediumflow/3p3c/volumevariables.hh b/dumux/porousmediumflow/3p3c/volumevariables.hh index 3347dbd3ed..02858fbb7b 100644 --- a/dumux/porousmediumflow/3p3c/volumevariables.hh +++ b/dumux/porousmediumflow/3p3c/volumevariables.hh @@ -705,18 +705,6 @@ public: const PermeabilityType& permeability() const { return permeability_; } - /*! - * \brief Returns the diffusion coefficient - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int phaseIdx, int compIdx) const - { - if (compIdx != phaseIdx) - return diffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); - else - DUNE_THROW(Dune::InvalidStateException, "Diffusion coefficient called for phaseIdx = compIdx"); - } - /* * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ diff --git a/dumux/porousmediumflow/3pwateroil/volumevariables.hh b/dumux/porousmediumflow/3pwateroil/volumevariables.hh index 7af61a9a95..a97072432a 100644 --- a/dumux/porousmediumflow/3pwateroil/volumevariables.hh +++ b/dumux/porousmediumflow/3pwateroil/volumevariables.hh @@ -894,13 +894,6 @@ public: Scalar permeability() const { return permeability_; } - /*! - * \brief Returns the diffusion coefficient - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int phaseIdx, int compIdx) const - { return diffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); } - /* * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ diff --git a/dumux/porousmediumflow/co2/volumevariables.hh b/dumux/porousmediumflow/co2/volumevariables.hh index 0e0b80d7c3..5102cc0abc 100644 --- a/dumux/porousmediumflow/co2/volumevariables.hh +++ b/dumux/porousmediumflow/co2/volumevariables.hh @@ -453,18 +453,6 @@ public: const PermeabilityType& permeability() const { return permeability_; } - /*! - * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int phaseIdx, int compIdx) const - { - if (phaseIdx == compIdx) - DUNE_THROW(Dune::InvalidStateException, "Diffusion coefficient called for phaseIdx = compIdx"); - else - return diffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); - } - /*! * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ diff --git a/dumux/porousmediumflow/mpnc/volumevariables.hh b/dumux/porousmediumflow/mpnc/volumevariables.hh index 2e994c6b12..6a8266bc13 100644 --- a/dumux/porousmediumflow/mpnc/volumevariables.hh +++ b/dumux/porousmediumflow/mpnc/volumevariables.hh @@ -419,18 +419,6 @@ public: >= 0; } - /*! - * \brief Returns the diffusion coefficient - */ - [[deprecated("Signature deprecated. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int phaseIdx, int compIdx) const - { - if (compIdx != phaseIdx) - return diffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); - else - DUNE_THROW(Dune::InvalidStateException, "Diffusion coefficient called for phaseIdx = compIdx"); - } - /*! * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ @@ -926,18 +914,6 @@ public: >= 0; } - /*! - * \brief Returns the diffusion coefficient - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int phaseIdx, int compIdx) const - { - if (compIdx != phaseIdx) - return diffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); - else - DUNE_THROW(Dune::InvalidStateException, "Diffusion coefficient called for phaseIdx = compIdx"); - } - /*! * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ diff --git a/dumux/porousmediumflow/richards/volumevariables.hh b/dumux/porousmediumflow/richards/volumevariables.hh index 7fe5a2f6bd..bba813fb30 100644 --- a/dumux/porousmediumflow/richards/volumevariables.hh +++ b/dumux/porousmediumflow/richards/volumevariables.hh @@ -474,19 +474,6 @@ public: return molarDensity_[phaseIdx]; } - /*! - * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. - * - * \param phaseIdx The phase index - * \param compIdx The component index - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int phaseIdx, int compIdx) const - { - assert(enableWaterDiffusionInAir() && phaseIdx == FluidSystem::gasPhaseIdx && compIdx == FluidSystem::comp0Idx); - return diffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); - } - /*! * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ diff --git a/dumux/porousmediumflow/richardsnc/volumevariables.hh b/dumux/porousmediumflow/richardsnc/volumevariables.hh index cd4dbdead4..0463346001 100644 --- a/dumux/porousmediumflow/richardsnc/volumevariables.hh +++ b/dumux/porousmediumflow/richardsnc/volumevariables.hh @@ -394,16 +394,6 @@ public: Scalar molarity(const int phaseIdx, const int compIdx) const { return phaseIdx == 0 ? this->fluidState_.molarity(phaseIdx, compIdx) : 0.0; } - /*! - * \brief Returns the binary diffusion coefficient \f$\mathrm{[m^2/s]}\f$ in the fluid. - * - * \param phaseIdx The index of the phase. - * \param compIdx The index of the component - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(const int phaseIdx, const int compIdx) const - { return diffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx);} - /*! * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ diff --git a/dumux/porousmediumflow/tracer/volumevariables.hh b/dumux/porousmediumflow/tracer/volumevariables.hh index e0dff54ff3..1dc93f5c3c 100644 --- a/dumux/porousmediumflow/tracer/volumevariables.hh +++ b/dumux/porousmediumflow/tracer/volumevariables.hh @@ -185,13 +185,6 @@ public: Scalar molarity(int phaseIdx, int compIdx) const { return moleFraction(phaseIdx, compIdx)*molarDensity(); } - /*! - * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. - */ - [[deprecated("Will be removed after release 3.2. Use diffusionCoefficient(phaseIdx, compIIdx, compJIdx)!")]] - Scalar diffusionCoefficient(int phaseIdx, int compIdx) const - { return diffCoeff_[compIdx]; } - /*! * \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$. */ -- GitLab From 8501254dd6199022b63d8d3308a232fa2f2d6252 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 18:54:38 +0200 Subject: [PATCH 07/17] [cleanup][2p][efftoabs] Remove deprecated interfaces --- .../fluidmatrixinteractions/2p/efftoabslaw.hh | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh b/dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh index b1daf4a4ed..94502f0024 100644 --- a/dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh +++ b/dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh @@ -246,10 +246,6 @@ public: static Scalar sweToSw(const Params ¶ms, Scalar swe) { return swe*(1. - params.swr() - params.snr()) + params.swr(); } - [[deprecated("Will be removed after 3.2. Use sweToSw (without underscore suffix) instead!")]] - static Scalar sweToSw_(const Params ¶ms, Scalar swe) - { return sweToSw(params, swe); } - /*! * \brief Convert an effective non-wetting saturation to an absolute one. * @@ -260,9 +256,7 @@ public: * \return Absolute saturation of the non-wetting phase. */ static Scalar sneToSn(const Params ¶ms, Scalar sne) - { - return sne*(1. - params.swr() - params.snr()) + params.snr(); - } + { return sne*(1. - params.swr() - params.snr()) + params.snr(); } /*! * \brief Derivative of the effective saturation w.r.t. the absolute saturation. @@ -275,10 +269,6 @@ public: static Scalar dswe_dsw(const Params ¶ms) { return 1.0/(1. - params.swr() - params.snr()); } - [[deprecated("Will be removed after 3.2. Use dswe_dsw (without underscore suffix) instead!")]] - static Scalar dswe_dsw_(const Params ¶ms) - { return dswe_dsw(params); } - /*! * \brief Derivative of the absolute saturation w.r.t. the effective saturation. * @@ -289,10 +279,6 @@ public: */ static Scalar dsw_dswe(const Params ¶ms) { return 1. - params.swr() - params.snr(); } - - [[deprecated("Will be removed after 3.2. Use dsw_dswe (without underscore suffix) instead!")]] - static Scalar dsw_dswe_(const Params ¶ms) - { return dsw_dswe(params); } }; } // end namespace Dumux -- GitLab From 9b753c4ae857832f30636e4960ca489ad4794667 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 18:59:26 +0200 Subject: [PATCH 08/17] [cleanup][ff] Remove deprecated interfaces --- .../staggered/freeflow/boundarytypes.hh | 26 --------- .../staggered/gridfluxvariablescache.hh | 6 --- dumux/freeflow/navierstokes/problem.hh | 54 +------------------ 3 files changed, 1 insertion(+), 85 deletions(-) diff --git a/dumux/discretization/staggered/freeflow/boundarytypes.hh b/dumux/discretization/staggered/freeflow/boundarytypes.hh index 178915cd32..a9a1f2d4e0 100644 --- a/dumux/discretization/staggered/freeflow/boundarytypes.hh +++ b/dumux/discretization/staggered/freeflow/boundarytypes.hh @@ -94,14 +94,6 @@ public: static_assert(AlwaysFalse::value, "Setting all boundary types to Neumann not permitted!"); } - /*! - * \brief Set a boundary condition for a single equation to - * Beavers-Joseph-Saffman (special case of Dirichlet b.c.). - */ - [[deprecated("Use setBeaversJoseph instead. Will be removed after 3.2")]] - void setBJS(int eqIdx) - { setBeaversJoseph(eqIdx); } - /*! * \brief Set a boundary condition for a single equation to * Beavers-Joseph(-Saffmann) (special case of Dirichlet b.c.). @@ -113,16 +105,6 @@ public: boundaryInfo_[eqIdx].isBeaversJoseph = true; } - /*! - * \brief Returns true if an equation is used to specify a - * Beavers-Joseph-Saffman boundary condition. - * - * \param eqIdx The index of the equation - */ - [[deprecated("Use isBeaversJoseph instead. Will be removed after 3.2")]] - bool isBJS(unsigned eqIdx) const - { return isBeaversJoseph(eqIdx); } - /*! * \brief Returns true if an equation is used to specify a * Beavers-Joseph(-Saffman) boundary condition. @@ -132,14 +114,6 @@ public: bool isBeaversJoseph(unsigned eqIdx) const { return boundaryInfo_[eqIdx].isBeaversJoseph; } - /*! - * \brief Returns true if some equation is used to specify a - * Beavers-Joseph-Saffman boundary condition. - */ - [[deprecated("Use hasBeaversJoseph instead. Will be removed after 3.2")]] - bool hasBJS() const - { return hasBeaversJoseph(); } - /*! * \brief Returns true if some equation is used to specify a * Beavers-Joseph(-Saffman) boundary condition. diff --git a/dumux/discretization/staggered/gridfluxvariablescache.hh b/dumux/discretization/staggered/gridfluxvariablescache.hh index ccef6e2e20..d861f7f544 100644 --- a/dumux/discretization/staggered/gridfluxvariablescache.hh +++ b/dumux/discretization/staggered/gridfluxvariablescache.hh @@ -91,12 +91,6 @@ public: //! export the type of the local view using LocalView = typename Traits::template LocalView; - [[deprecated("Will be removed after 3.2. Use StaggeredGridFluxVariablesCache(problem) instead.")]] - StaggeredGridFluxVariablesCache(const Problem& problem, const std::string& paramGroup) - : problemPtr_(&problem) - , staggeredUpwindMethods_(paramGroup) - {} - StaggeredGridFluxVariablesCache(const Problem& problem) : problemPtr_(&problem) , staggeredUpwindMethods_(problem.paramGroup()) diff --git a/dumux/freeflow/navierstokes/problem.hh b/dumux/freeflow/navierstokes/problem.hh index 65de5db155..ab62ad440c 100644 --- a/dumux/freeflow/navierstokes/problem.hh +++ b/dumux/freeflow/navierstokes/problem.hh @@ -212,38 +212,12 @@ public: return asImp_().alphaBJ(scvf) / sqrt(asImp_().permeability(element, scvf)); } - /*! - * \brief Returns the velocity in the porous medium (which is 0 by default according to Saffmann). - * \note This method is deprecated. Use porousMediumVelocity(element, scvf) instead, returning a velocity vector. Will be removed after 3.2 - */ - Scalar velocityPorousMedium(const Element& element, const SubControlVolumeFace& scvf) const - { - // Redirect to helper method to avoid spurious deprecation warnings. TODO: Remove after 3.2! - return deprecatedVelocityPorousMedium_(); - } - /*! * \brief Returns the velocity in the porous medium (which is 0 by default according to Saffmann). */ VelocityVector porousMediumVelocity(const Element& element, const SubControlVolumeFace& scvf) const { - // TODO: return VelocityVector(0.0) after 3.2! - return VelocityVector(getVelPM_(element, scvf)); - } - - //! helper function to evaluate the slip velocity on the boundary when the Beavers-Joseph condition is used - [[deprecated("Use beaversJosephVelocity(element, scv, ownScvf, faceOnPorousBoundary, velocitySelf, tangentialVelocityGradient) instead. Will be removed after 3.2")]] - const Scalar beaversJosephVelocity(const Element& element, - const SubControlVolume& scv, - const SubControlVolumeFace& faceOnPorousBoundary, - const Scalar velocitySelf, - const Scalar tangentialVelocityGradient) const - { - // du/dy + dv/dx = alpha/sqrt(K) * (u_boundary-uPM) - // beta = alpha/sqrt(K) - const Scalar betaBJ = asImp_().betaBJ(element, faceOnPorousBoundary); - const Scalar distance = (faceOnPorousBoundary.center() - scv.center()).two_norm(); - return (tangentialVelocityGradient*distance + asImp_().velocityPorousMedium(element,faceOnPorousBoundary)*betaBJ*distance + velocitySelf) / (betaBJ*distance + 1.0); + return VelocityVector(0.0); } //! helper function to evaluate the slip velocity on the boundary when the Beavers-Joseph condition is used @@ -269,32 +243,6 @@ public: } private: - - // Auxiliary method handling deprecation warnings. TODO: Remove after 3.2! - Scalar getVelPM_(const Element& element, const SubControlVolumeFace& scvf) const - { - // Check if the user problem implements the deprecated velocityPorousMedium method - static constexpr bool implHasVelocityPorousMedium = !std::is_same::value; - // This check would always trigger a spurious deprecation warning if the base class' (NavierStokesProblem) velocityPorousMedium method was equipped with a deprecation warning. - // This is why we need another level of redirection there. - - // Forward either to user impl (thereby raising a deprecation warning) or return 0.0 by default - return deprecationHelper_(element, scvf, std::integral_constant{}); - } - - [[deprecated("\nvelocityPorousMedium(element, scvf) is deprecated. Use porousMediumVelocity(element, scvf) instead, returning a velocity vector. Will be removed after 3.2")]] - Scalar deprecationHelper_(const Element& element, const SubControlVolumeFace& scvf, std::true_type) const - { return asImp_().velocityPorousMedium(element, scvf); } - - // Return 0.0 by default. TODO: Remove this after 3.2 - Scalar deprecationHelper_(const Element& element, const SubControlVolumeFace& scvf, std::false_type) const - { return 0.0; } - - // Auxiliary method to trigger a deprecation warning. - [[deprecated("\nvelocityPorousMedium(element, scvf) is deprecated. Use porousMediumVelocity(element, scvf) instead, returning a velocity vector. Will be removed after 3.2")]] - Scalar deprecatedVelocityPorousMedium_() const - { return 0.0; } - //! Returns the implementation of the problem (i.e. static polymorphism) Implementation &asImp_() { return *static_cast(this); } -- GitLab From b43580dd62d6522d15a4b961e86405a9207d2cc2 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 19:00:21 +0200 Subject: [PATCH 09/17] [cleanup] Remove optional.hh --- dumux/common/CMakeLists.txt | 1 - dumux/common/optional.hh | 154 ------------------------------------ 2 files changed, 155 deletions(-) delete mode 100644 dumux/common/optional.hh diff --git a/dumux/common/CMakeLists.txt b/dumux/common/CMakeLists.txt index bcfa96e8ec..a108414371 100644 --- a/dumux/common/CMakeLists.txt +++ b/dumux/common/CMakeLists.txt @@ -26,7 +26,6 @@ loggingparametertree.hh math.hh monotonecubicspline.hh numericdifferentiation.hh -optional.hh parameters.hh partial.hh pdesolver.hh diff --git a/dumux/common/optional.hh b/dumux/common/optional.hh deleted file mode 100644 index d9dfb678bf..0000000000 --- a/dumux/common/optional.hh +++ /dev/null @@ -1,154 +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 3 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 . * - *****************************************************************************/ -/*! - * \file - * \ingroup Common - * \brief A wrapper that can either contain an object of T or be empty. - * This might be used as a workaround for non-default constructible classes. - * \note Replace this with std::optional when C++17 is available - */ -#ifndef DUMUX_COMMON_OPTIONAL_HH -#define DUMUX_COMMON_OPTIONAL_HH - -#warning "This header is deprecated and will be removed after release 3.2" -#include - -#include - -namespace Dumux { - -/*! - * \ingroup Common - * \brief A wrapper that can either contain an object of T or be empty - * \tparam T Type of wrapped objects - */ -template -class [[deprecated("Optional is deprecated (removed after 3.2); use std::optional")]] Optional -{ -public: - - Optional() : - p_(nullptr) - {} - - template = 0> - Optional(TT&& t) : - p_(nullptr) - { - emplace(std::forward(t)); - } - - Optional(Optional&& other) - { - if (other) - p_ = new (buffer_) T(std::move(other.value())); - else - p_ = nullptr; - } - - Optional(const Optional& other) - { - if (other) - p_ = new (buffer_) T(other.value()); - else - p_ = nullptr; - } - - ~Optional() - { - if (operator bool()) - p_->~T(); - } - - template = 0 > - Optional& operator=(TT&& t) - { - if (operator bool()) - *p_ = std::forward(t); - else - p_ = new (buffer_) T(std::forward(t)); - return *this; - } - - Optional& operator=(const Optional& other) - { - if (other) - *this = other.value(); - else if (operator bool()) - { - p_->~T(); - p_ = nullptr; - } - return *this; - } - - Optional& operator=(Optional&& other) - { - if (other) - *this = std::move(other.value()); - else if (operator bool()) - { - p_->~T(); - p_ = nullptr; - } - return *this; - } - - explicit operator bool() const - { - return p_; - } - - const T& value() const - { - return *p_; - } - - T& value() - { - return *p_; - } - - template< class... Args > - void emplace(Args&&... args) - { - if (operator bool()) - p_->~T(); - p_ = new (buffer_) T(std::forward(args)...); - } - - void release() - { - if (operator bool()) - { - p_->~T(); - p_ = nullptr; - } - } - -private: - - alignas(T) char buffer_[sizeof(T)]; - T* p_; -}; - - -} // namespace Dumux - -#endif // DUMUX_COMMON_OPTIONAL_HH -- GitLab From 32a0a7238c3a412deefd97c5b57249cbda257ed6 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 19:05:37 +0200 Subject: [PATCH 10/17] [linear] Remove deprecated interfaces, alias, parameters --- dumux/linear/CMakeLists.txt | 3 -- dumux/linear/amgbackend.hh | 25 +----------- dumux/linear/amgparallelhelpers.hh | 31 -------------- dumux/linear/amgtraits.hh | 40 ------------------- dumux/linear/solver.hh | 38 ++---------------- dumux/linear/vectorexchange.hh | 36 ----------------- test/freeflow/navierstokes/sincos/main.cc | 1 + test/freeflow/shallowwater/bowl/main.cc | 1 + .../2p/sequential/test_impesproblem.hh | 8 +++- 9 files changed, 13 insertions(+), 170 deletions(-) delete mode 100644 dumux/linear/amgparallelhelpers.hh delete mode 100644 dumux/linear/amgtraits.hh delete mode 100644 dumux/linear/vectorexchange.hh diff --git a/dumux/linear/CMakeLists.txt b/dumux/linear/CMakeLists.txt index 1b5e58026f..2219a6309a 100644 --- a/dumux/linear/CMakeLists.txt +++ b/dumux/linear/CMakeLists.txt @@ -1,7 +1,5 @@ install(FILES amgbackend.hh -amgparallelhelpers.hh -amgtraits.hh istlsolverfactorybackend.hh linearsolverparameters.hh linearsolvertraits.hh @@ -12,5 +10,4 @@ pdesolver.hh scotchbackend.hh seqsolverbackend.hh solver.hh -vectorexchange.hh DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/linear) diff --git a/dumux/linear/amgbackend.hh b/dumux/linear/amgbackend.hh index da23a6a307..c5484ee554 100644 --- a/dumux/linear/amgbackend.hh +++ b/dumux/linear/amgbackend.hh @@ -234,29 +234,6 @@ private: bool firstCall_; }; -// deprecation helper -> will be removed after 3.2 -template -using ParallelAMGBackend -= AMGBiCGSTABBackend; - -} // namespace Dumux - -#include -#include - -namespace Dumux { - -/*! - * \ingroup Linear - * \brief A linear solver based on the ISTL AMG preconditioner - * and the ISTL BiCGSTAB solver. - * \note This is an adaptor using a TypeTag - */ -template -using AMGBackend [[deprecated("Use AMGBiCGSTABBackend instead. Will be removed after 3.2!")]] -= ParallelAMGBackend::GridView, - LinearSolverTraits>>; - -} // namespace Dumux +} // end namespace Dumux #endif // DUMUX_AMGBACKEND_HH diff --git a/dumux/linear/amgparallelhelpers.hh b/dumux/linear/amgparallelhelpers.hh deleted file mode 100644 index e1f9a65ed8..0000000000 --- a/dumux/linear/amgparallelhelpers.hh +++ /dev/null @@ -1,31 +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 3 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 . * - *****************************************************************************/ -/*! - * \file - * \ingroup Linear - * \brief Provides a helper class for nonoverlapping - * decomposition using the ISTL AMG. - */ -#ifndef DUMUX_AMGPARALLELHELPERS_HH -#define DUMUX_AMGPARALLELHELPERS_HH - -#include "parallelhelpers.hh" -#warning "This header is deprecated and will be removed after release 3.2. Use linearsolver/parallelhelpers.hh" - -#endif // DUMUX_AMGPARALLELHELPERS_HH diff --git a/dumux/linear/amgtraits.hh b/dumux/linear/amgtraits.hh deleted file mode 100644 index c3ac240112..0000000000 --- a/dumux/linear/amgtraits.hh +++ /dev/null @@ -1,40 +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 3 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 . * - *****************************************************************************/ -/*! - * \file - * \ingroup Linear - * \brief Define traits for the AMG backend. - */ -#ifndef DUMUX_AMG_TRAITS_HH -#define DUMUX_AMG_TRAITS_HH - -#warning "This header is deprecated and will be removed after release 3.2. Use linearsolver/linearsolvertraits.hh" - -#include "linearsolvertraits.hh" - - -namespace Dumux { - -//! The type traits required for using the AMG backend -template -using AmgTraits [[deprecated("Use LinearSolverTraits instead. AmgTraits will be removed after 3.2!")]] = LinearSolverTraits; - -} // end namespace Dumux - -#endif // DUMUX_AMG_TRAITS_HH diff --git a/dumux/linear/solver.hh b/dumux/linear/solver.hh index 943545c42a..0b20771557 100644 --- a/dumux/linear/solver.hh +++ b/dumux/linear/solver.hh @@ -56,41 +56,9 @@ public: verbosity_ = getParamFromGroup(paramGroup, "LinearSolver.Verbosity", 0); maxIter_ = getParamFromGroup(paramGroup, "LinearSolver.MaxIterations", 250); residReduction_ = getParamFromGroup(paramGroup, "LinearSolver.ResidualReduction", 1e-13); - - // for deprecation period we ask also for the "old" parameters but print a warning - // the "new" style parameter takes precedence - // TODO: Remove all this code after 3.2 and use commented code below - if (hasParamInGroup(paramGroup, "LinearSolver.PreconditionerRelaxation")) - { - std::cerr << "Deprecation warning: parameter LinearSolver.PreconditionerRelaxation is deprecated and will be removed after 3.2. " - << "Use LinearSolver.Preconditioner.Relaxation instead (Preconditioner subgroup)." << std::endl; - relaxation_ = getParamFromGroup(paramGroup, "LinearSolver.PreconditionerRelaxation"); - } - else - relaxation_ = getParamFromGroup(paramGroup, "LinearSolver.Preconditioner.Relaxation", 1); - - if (hasParamInGroup(paramGroup, "LinearSolver.PreconditionerIterations")) - { - std::cerr << "Deprecation warning: parameter LinearSolver.PreconditionerIterations is deprecated and will be removed after 3.2. " - << "Use LinearSolver.Preconditioner.Iterations instead (Preconditioner subgroup)." << std::endl; - precondIter_ = getParamFromGroup(paramGroup, "LinearSolver.PreconditionerIterations"); - } - else - precondIter_ = getParamFromGroup(paramGroup, "LinearSolver.Preconditioner.Iterations", 1); - - if (hasParamInGroup(paramGroup, "LinearSolver.PreconditionerVerbosity")) - { - std::cerr << "Deprecation warning: parameter LinearSolver.PreconditionerVerbosity is deprecated and will be removed after 3.2. " - << "Use LinearSolver.Preconditioner.Verbosity instead (Preconditioner subgroup)." << std::endl; - precondVerbosity_ = getParamFromGroup(paramGroup, "LinearSolver.PreconditionerVerbosity"); - } - else - precondVerbosity_ = getParamFromGroup(paramGroup, "LinearSolver.Preconditioner.Verbosity", 0); - - // TODO: use this code instead of the above code after release 3.2 - // relaxation_ = getParamFromGroup(paramGroup, "LinearSolver.Preconditioner.Relaxation", 1); - // precondIter_ = getParamFromGroup(paramGroup, "LinearSolver.Preconditioner.Iterations", 1); - // precondVerbosity_ = getParamFromGroup(paramGroup, "LinearSolver.Preconditioner.Verbosity", 0); + relaxation_ = getParamFromGroup(paramGroup, "LinearSolver.Preconditioner.Relaxation", 1); + precondIter_ = getParamFromGroup(paramGroup, "LinearSolver.Preconditioner.Iterations", 1); + precondVerbosity_ = getParamFromGroup(paramGroup, "LinearSolver.Preconditioner.Verbosity", 0); } /*! diff --git a/dumux/linear/vectorexchange.hh b/dumux/linear/vectorexchange.hh deleted file mode 100644 index dd586e7508..0000000000 --- a/dumux/linear/vectorexchange.hh +++ /dev/null @@ -1,36 +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 3 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 . * - *****************************************************************************/ -/*! - * \file - * \ingroup Linear - * \brief Contains a class to exchange entries of a vector - */ -#ifndef DUMUX_VECTOR_EXCHANGE_HH -#define DUMUX_VECTOR_EXCHANGE_HH - -#warning "This header is deprecated and will be removed after release 3.2. Use parallel/vectorcommdatahandle.hh" - -#include - -namespace Dumux { - template - using VectorExchange [[deprecated("Use VectorCommDataHandleEqual instead. Will be removed after 3.2!")]] = VectorCommDataHandleEqual; -} // end namespace Dumux - -#endif diff --git a/test/freeflow/navierstokes/sincos/main.cc b/test/freeflow/navierstokes/sincos/main.cc index 12f0bc9fac..b6303edd28 100644 --- a/test/freeflow/navierstokes/sincos/main.cc +++ b/test/freeflow/navierstokes/sincos/main.cc @@ -44,6 +44,7 @@ #include #include #include +#include #include #include diff --git a/test/freeflow/shallowwater/bowl/main.cc b/test/freeflow/shallowwater/bowl/main.cc index b5559bea76..3099e69c65 100644 --- a/test/freeflow/shallowwater/bowl/main.cc +++ b/test/freeflow/shallowwater/bowl/main.cc @@ -37,6 +37,7 @@ #include #include +#include #include #include diff --git a/test/porousmediumflow/2p/sequential/test_impesproblem.hh b/test/porousmediumflow/2p/sequential/test_impesproblem.hh index e9c97499ae..302ddd41f6 100644 --- a/test/porousmediumflow/2p/sequential/test_impesproblem.hh +++ b/test/porousmediumflow/2p/sequential/test_impesproblem.hh @@ -44,6 +44,7 @@ #include #include +#include namespace Dumux { @@ -112,7 +113,12 @@ struct EvalCflFluxFunction { using type = EvalCflFluxC // use the AMG backend for the corresponding test template -struct LinearSolver { using type = AMGBackend; }; +struct LinearSolver +{ + using GridGeometry = GetPropType; + using type = AMGBiCGSTABBackend>; + +}; // Set the grid type template struct Grid { using type = Dune::YaspGrid<2>; }; -- GitLab From b263389623b6fd998534c9cbbaaabe419d74a410 Mon Sep 17 00:00:00 2001 From: Kilian Weishaupt Date: Tue, 14 Apr 2020 09:49:48 +0200 Subject: [PATCH 11/17] [sequential] Use new vector handles to replace depreacted vertexhandles --- .../2p/sequential/impes/gridadaptionindicator.hh | 4 ++-- .../2p2c/sequential/fv2dtransportadaptive.hh | 4 ++-- .../2p2c/sequential/fv3dpressureadaptive.hh | 3 ++- .../2p2c/sequential/fv3dtransportadaptive.hh | 4 ++-- .../fvmpfal3dinteractionvolumecontaineradaptive.hh | 1 - .../2p2c/sequential/fvpressuremultiphysics.hh | 4 ++-- dumux/porousmediumflow/2p2c/sequential/fvtransport.hh | 8 ++++---- .../2p2c/sequential/fvtransportmultiphysics.hh | 4 ++-- .../porousmediumflow/sequential/cellcentered/transport.hh | 8 ++++---- .../porousmediumflow/sequential/variableclassadaptive.hh | 4 ++-- 10 files changed, 22 insertions(+), 22 deletions(-) diff --git a/dumux/porousmediumflow/2p/sequential/impes/gridadaptionindicator.hh b/dumux/porousmediumflow/2p/sequential/impes/gridadaptionindicator.hh index 60fa0c7054..b960ae7c9e 100644 --- a/dumux/porousmediumflow/2p/sequential/impes/gridadaptionindicator.hh +++ b/dumux/porousmediumflow/2p/sequential/impes/gridadaptionindicator.hh @@ -26,7 +26,7 @@ #include #include -#include +#include namespace Dumux { @@ -144,7 +144,7 @@ public: #if HAVE_MPI // communicate updated values - using DataHandle = VectorExchange; + using DataHandle = VectorCommDataHandleEqual; DataHandle dataHandle(problem_.elementMapper(), indicatorVector_); problem_.gridView().template communicate(dataHandle, Dune::InteriorBorder_All_Interface, diff --git a/dumux/porousmediumflow/2p2c/sequential/fv2dtransportadaptive.hh b/dumux/porousmediumflow/2p2c/sequential/fv2dtransportadaptive.hh index fd19773d84..b7937fb722 100644 --- a/dumux/porousmediumflow/2p2c/sequential/fv2dtransportadaptive.hh +++ b/dumux/porousmediumflow/2p2c/sequential/fv2dtransportadaptive.hh @@ -28,7 +28,7 @@ #include #include -#include +#include #include "adaptiveproperties.hh" #include "fvtransport.hh" @@ -305,7 +305,7 @@ void FV2dTransport2P2CAdaptive::update(const Scalar t, Scalar& dt, Tran // communicate updated values using SolutionTypes = GetProp; using ElementMapper = typename SolutionTypes::ElementMapper; - using DataHandle = VectorExchange > >; + using DataHandle = VectorCommDataHandleEqual >, 0/*elementCodim*/>; for (int i = 0; i < updateVec.size(); i++) { DataHandle dataHandle(problem_.variables().elementMapper(), updateVec[i]); diff --git a/dumux/porousmediumflow/2p2c/sequential/fv3dpressureadaptive.hh b/dumux/porousmediumflow/2p2c/sequential/fv3dpressureadaptive.hh index 98ec017f9f..e4972f7d46 100644 --- a/dumux/porousmediumflow/2p2c/sequential/fv3dpressureadaptive.hh +++ b/dumux/porousmediumflow/2p2c/sequential/fv3dpressureadaptive.hh @@ -35,6 +35,7 @@ #include #include #include +#include // include pressure model from Markus #include @@ -233,7 +234,7 @@ public: using SolutionTypes = GetProp; using ElementMapper = typename SolutionTypes::ElementMapper; using PressureSolution = GetPropType; - using DataHandle = VectorExchange; + using DataHandle = VectorCommDataHandleEqual; DataHandle dataHandle(problem().variables().elementMapper(), this->pressure()); problem().gridView().template communicate(dataHandle, diff --git a/dumux/porousmediumflow/2p2c/sequential/fv3dtransportadaptive.hh b/dumux/porousmediumflow/2p2c/sequential/fv3dtransportadaptive.hh index 0a711471e1..0d62ab64ac 100644 --- a/dumux/porousmediumflow/2p2c/sequential/fv3dtransportadaptive.hh +++ b/dumux/porousmediumflow/2p2c/sequential/fv3dtransportadaptive.hh @@ -28,7 +28,7 @@ #include #include -#include +#include #include "adaptiveproperties.hh" #include "fvtransport.hh" @@ -303,7 +303,7 @@ void FV3dTransport2P2CAdaptive::update(const Scalar t, Scalar& dt, // communicate updated values using SolutionTypes = GetProp; using ElementMapper = typename SolutionTypes::ElementMapper; - using DataHandle = VectorExchange > >; + using DataHandle = VectorCommDataHandleEqual >, 0/*elementCodim*/>; for (int i = 0; i < updateVec.size(); i++) { DataHandle dataHandle(problem().variables().elementMapper(), updateVec[i]); diff --git a/dumux/porousmediumflow/2p2c/sequential/fvmpfal3dinteractionvolumecontaineradaptive.hh b/dumux/porousmediumflow/2p2c/sequential/fvmpfal3dinteractionvolumecontaineradaptive.hh index f5c1c2a69c..c6cccc8f62 100644 --- a/dumux/porousmediumflow/2p2c/sequential/fvmpfal3dinteractionvolumecontaineradaptive.hh +++ b/dumux/porousmediumflow/2p2c/sequential/fvmpfal3dinteractionvolumecontaineradaptive.hh @@ -26,7 +26,6 @@ // dumux environment #include -#include namespace Dumux { diff --git a/dumux/porousmediumflow/2p2c/sequential/fvpressuremultiphysics.hh b/dumux/porousmediumflow/2p2c/sequential/fvpressuremultiphysics.hh index 0d95a94d09..8c49192faf 100644 --- a/dumux/porousmediumflow/2p2c/sequential/fvpressuremultiphysics.hh +++ b/dumux/porousmediumflow/2p2c/sequential/fvpressuremultiphysics.hh @@ -28,7 +28,7 @@ // dumux environment #include -#include +#include #include namespace Dumux { @@ -223,7 +223,7 @@ public: protected: #if HAVE_MPI using ElementMapper = typename SolutionTypes::ElementMapper; - using DataHandle = VectorExchange > >; + using DataHandle = VectorCommDataHandleEqual >, 0/*elementCodim*/>; #endif // subdomain map diff --git a/dumux/porousmediumflow/2p2c/sequential/fvtransport.hh b/dumux/porousmediumflow/2p2c/sequential/fvtransport.hh index ca31d80701..96df1dd835 100644 --- a/dumux/porousmediumflow/2p2c/sequential/fvtransport.hh +++ b/dumux/porousmediumflow/2p2c/sequential/fvtransport.hh @@ -33,7 +33,7 @@ #include #include #include -#include +#include namespace Dumux { /*! @@ -479,7 +479,7 @@ void FVTransport2P2C::update(const Scalar t, Scalar& dt, // communicate updated values using SolutionTypes = GetProp; using ElementMapper = typename SolutionTypes::ElementMapper; - using DataHandle = VectorExchange > >; + using DataHandle = VectorCommDataHandleEqual >, 0/*elementCodim*/>; for (int i = 0; i < updateVec.size(); i++) { DataHandle dataHandle(problem_.variables().elementMapper(), updateVec[i]); @@ -490,7 +490,7 @@ void FVTransport2P2C::update(const Scalar t, Scalar& dt, if (localTimeStepping_) { - using TimeDataHandle = VectorExchange >; + using TimeDataHandle = VectorCommDataHandleEqual, 0/*elementCodim*/>; TimeDataHandle timeDataHandle(problem_.elementMapper(), timeStepData_); problem_.gridView().template communicate(timeDataHandle, @@ -1318,7 +1318,7 @@ void FVTransport2P2C::updatedTargetDt_(Scalar &dt) // communicate updated values using SolutionTypes = GetProp; using ElementMapper = typename SolutionTypes::ElementMapper; - using TimeDataHandle = VectorExchange >; + using TimeDataHandle = VectorCommDataHandleEqual, 0/*elementCodim*/>; TimeDataHandle timeDataHandle(problem_.elementMapper(), timeStepData_); problem_.gridView().template communicate(timeDataHandle, diff --git a/dumux/porousmediumflow/2p2c/sequential/fvtransportmultiphysics.hh b/dumux/porousmediumflow/2p2c/sequential/fvtransportmultiphysics.hh index fb93249722..4b962db590 100644 --- a/dumux/porousmediumflow/2p2c/sequential/fvtransportmultiphysics.hh +++ b/dumux/porousmediumflow/2p2c/sequential/fvtransportmultiphysics.hh @@ -25,7 +25,7 @@ #define DUMUX_FVTRANSPORT2P2C_MULTIPHYSICS_HH #include -#include +#include namespace Dumux { /*! @@ -236,7 +236,7 @@ void FVTransport2P2CMultiPhysics::update(const Scalar t, Scalar& dt, Tr // communicate updated values using SolutionTypes = GetProp; using ElementMapper = typename SolutionTypes::ElementMapper; - using DataHandle = VectorExchange > >; + using DataHandle = VectorCommDataHandleEqual >, 0/*elementCodim*/>; for (int i = 0; i < updateVec.size(); i++) { DataHandle dataHandle(problem().variables().elementMapper(), updateVec[i]); diff --git a/dumux/porousmediumflow/sequential/cellcentered/transport.hh b/dumux/porousmediumflow/sequential/cellcentered/transport.hh index ec0e35e757..fe564c699c 100644 --- a/dumux/porousmediumflow/sequential/cellcentered/transport.hh +++ b/dumux/porousmediumflow/sequential/cellcentered/transport.hh @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include /** @@ -416,7 +416,7 @@ void FVTransport::update(const Scalar t, Scalar& dt, TransportSolutionT // communicate updated values using SolutionTypes = GetProp; using ElementMapper = typename SolutionTypes::ElementMapper; - using DataHandle = VectorExchange > >; + using DataHandle = VectorCommDataHandleEqual >, 0/*elementCodim*/>; DataHandle dataHandle(problem_.elementMapper(), updateVec); problem_.gridView().template communicate(dataHandle, Dune::InteriorBorder_All_Interface, @@ -424,7 +424,7 @@ void FVTransport::update(const Scalar t, Scalar& dt, TransportSolutionT if (localTimeStepping_) { - using TimeDataHandle = VectorExchange >; + using TimeDataHandle = VectorCommDataHandleEqual, 0/*elementCodim*/>; TimeDataHandle timeDataHandle(problem_.elementMapper(), timeStepData_); problem_.gridView().template communicate(timeDataHandle, @@ -549,7 +549,7 @@ void FVTransport::updatedTargetDt_(Scalar &dt) // communicate updated values using SolutionTypes = GetProp; using ElementMapper = typename SolutionTypes::ElementMapper; - using TimeDataHandle = VectorExchange >; + using TimeDataHandle = VectorCommDataHandleEqual, 0/*elementCodim*/>; TimeDataHandle timeDataHandle(problem_.elementMapper(), timeStepData_); problem_.gridView().template communicate(timeDataHandle, diff --git a/dumux/porousmediumflow/sequential/variableclassadaptive.hh b/dumux/porousmediumflow/sequential/variableclassadaptive.hh index 43bf606420..cc0f65aa9a 100644 --- a/dumux/porousmediumflow/sequential/variableclassadaptive.hh +++ b/dumux/porousmediumflow/sequential/variableclassadaptive.hh @@ -21,7 +21,7 @@ #include #include -#include +#include #include "variableclass.hh" /** @@ -200,7 +200,7 @@ public: // communicate ghost data using SolutionTypes = GetProp; using ElementMapper = typename SolutionTypes::ElementMapper; - using DataHandle = VectorExchange >; + using DataHandle = VectorCommDataHandleEqual, 0/*elementCodim*/>; DataHandle dataHandle(problem.elementMapper(), this->cellDataGlobal()); problem.gridView().template communicate(dataHandle, Dune::InteriorBorder_All_Interface, -- GitLab From 1db234c8942b393164d5d308687cdd0034fc63f8 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 19:08:13 +0200 Subject: [PATCH 12/17] [parallel] Remove depreacated header vertexhandles.hh --- dumux/parallel/CMakeLists.txt | 1 - dumux/parallel/vertexhandles.hh | 87 --------------------------------- 2 files changed, 88 deletions(-) delete mode 100644 dumux/parallel/vertexhandles.hh diff --git a/dumux/parallel/CMakeLists.txt b/dumux/parallel/CMakeLists.txt index f773c82b7c..0c53ec92fd 100644 --- a/dumux/parallel/CMakeLists.txt +++ b/dumux/parallel/CMakeLists.txt @@ -1,4 +1,3 @@ install(FILES vectorcommdatahandle.hh -vertexhandles.hh DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/parallel) diff --git a/dumux/parallel/vertexhandles.hh b/dumux/parallel/vertexhandles.hh deleted file mode 100644 index e6b014acca..0000000000 --- a/dumux/parallel/vertexhandles.hh +++ /dev/null @@ -1,87 +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 3 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 . * - *****************************************************************************/ -/*! - * \file - * \ingroup Parallel - * \brief Provides data handles for parallel communication which operate on vertices - * \note This is useful for schemes with degrees of freedom on vertices (box scheme) - */ -#ifndef DUMUX_VERTEX_HANDLES_HH -#define DUMUX_VERTEX_HANDLES_HH - -#warning "This header is deprecated and will be removed after release 3.2. Use parallel/vectorcommdatahandle.hh" - -#include "vectorcommdatahandle.hh" - - -namespace Dumux { - - template - class [[deprecated("Use VectorCommDataHandleSum instead.")]] VertexHandleSum : public VectorCommDataHandleSum - { - using ParentType = VectorCommDataHandleSum; - public: - VertexHandleSum(Container &container, - const VertexMapper &mapper) - : ParentType(mapper, container) - { }; - - bool contains(int dim, int codim) const - { - // only communicate vertices - return codim == dim; - } - }; - - template - class [[deprecated("Use VectorCommDataHandleMax instead.")]] VertexHandleMax : public VectorCommDataHandleMax - { - using ParentType = VectorCommDataHandleMax; - public: - VertexHandleMax(Container &container, - const VertexMapper &mapper) - : ParentType(mapper, container) - { }; - - bool contains(int dim, int codim) const - { - // only communicate vertices - return codim == dim; - } - }; - - template - class [[deprecated("Use VectorCommDataHandleMin instead.")]] VertexHandleMin : public VectorCommDataHandleMin - { - using ParentType = VectorCommDataHandleMin; - public: - VertexHandleMin(Container &container, - const VertexMapper &mapper) - : ParentType(mapper, container) - { }; - - bool contains(int dim, int codim) const - { - // only communicate vertices - return codim == dim; - } - }; -} // end namespace Dumux - -#endif -- GitLab From 25d8601ff66b3fdd512ffdf396c055f40ed49a74 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 19:09:50 +0200 Subject: [PATCH 13/17] [cleanup] Remove boundingboxtreeintersection.hh --- dumux/common/geometry/CMakeLists.txt | 1 - .../geometry/boundingboxtreeintersection.hh | 96 ------------------- 2 files changed, 97 deletions(-) delete mode 100644 dumux/common/geometry/boundingboxtreeintersection.hh diff --git a/dumux/common/geometry/CMakeLists.txt b/dumux/common/geometry/CMakeLists.txt index 740f6a13b5..c18c814cf5 100644 --- a/dumux/common/geometry/CMakeLists.txt +++ b/dumux/common/geometry/CMakeLists.txt @@ -1,6 +1,5 @@ install(FILES boundingboxtree.hh -boundingboxtreeintersection.hh diameter.hh geometricentityset.hh geometryintersection.hh diff --git a/dumux/common/geometry/boundingboxtreeintersection.hh b/dumux/common/geometry/boundingboxtreeintersection.hh deleted file mode 100644 index 9a56cf8a2b..0000000000 --- a/dumux/common/geometry/boundingboxtreeintersection.hh +++ /dev/null @@ -1,96 +0,0 @@ -/***************************************************************************** - * 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 3 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 . * - *****************************************************************************/ -/*! - * \file - * \ingroup Geometry - * \brief A class storing intersections from intersecting two bounding box trees - */ -#ifndef DUMUX_BOUNDING_BOX_TREE_INTERSECTION_HH -#define DUMUX_BOUNDING_BOX_TREE_INTERSECTION_HH - -#warning "This header is deprecated and will be removed after 3.2. Use more general class IntersectionInfo from header intersectingentities.hh" -#include -#include - -namespace Dumux { - -/*! - * \ingroup Geometry - * \brief An intersection object resulting from the intersection of two bounding box tree primitives - * - * After is has been found that two leaf bounding boxes intersect a primitive test has to be - * performed to see if the actual entities inside the bounding box intersect too. The result - * if such an intersection is found as an object of this class containing the indices of the - * intersecting entities and the corners of the intersection object. - */ -template -class [[deprecated("Will be removed after 3.2. Use more general class IntersectionInfo from header intersectingentities.hh")]] BoundingBoxTreeIntersection -{ - enum { dimworld = EntitySet0::dimensionworld }; - using ctype = typename Dune::PromotionTraits::PromotedType; - using GlobalPosition = Dune::FieldVector; - -public: - template - explicit BoundingBoxTreeIntersection(std::size_t a, - std::size_t b, - Corners&& c) - : a_(a) - , b_(b) - , corners_(c.begin(), c.end()) - { - static_assert(int(EntitySet0::dimensionworld) == int(EntitySet1::dimensionworld), - "Can only store intersections of entity sets with the same world dimension"); - } - - //! Get the index of the intersecting entity belonging to this grid - std::size_t first() const - { return a_; } - - //! Get the index of the intersecting entity belonging to the other grid - std::size_t second() const - { return b_; } - - //! Get the corners of the intersection geometry - std::vector corners() const - { return corners_; } - - /*! - * \brief Check if the corners of this intersection match with the given corners - * \note This is useful to check if the intersection geometry of two intersections coincide. - */ - bool cornersMatch(const std::vector& otherCorners) const - { - if (otherCorners.size() != corners_.size()) - return false; - - const auto eps = 1.5e-7*(corners_[1] - corners_[0]).two_norm(); - for (int i = 0; i < corners_.size(); ++i) - if ((corners_[i] - otherCorners[i]).two_norm() > eps) - return false; - - return true; - } - -private: - std::size_t a_, b_; //!< Indices of the intersection elements - std::vector corners_; //!< the corner points of the intersection geometry -}; - -} // end namespace Dumux - -#endif -- GitLab From 7748418c086a5b9ef18c8941dce116c2b7229e05 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 19:32:12 +0200 Subject: [PATCH 14/17] [cleaup] Remove diffusioncoefficient deprecation helpers --- dumux/common/deprecated.hh | 78 ------------------- dumux/flux/box/fickslaw.hh | 11 +-- dumux/flux/box/maxwellstefanslaw.hh | 11 +-- dumux/flux/cctpfa/fickslaw.hh | 6 +- dumux/flux/cctpfa/maxwellstefanslaw.hh | 7 +- dumux/flux/staggered/freeflow/fickslaw.hh | 12 +-- .../staggered/freeflow/maxwellstefanslaw.hh | 10 +-- dumux/freeflow/compositional/iofields.hh | 12 +-- .../diffusivityconstanttortuosity.hh | 16 ---- .../diffusivitymillingtonquirk.hh | 20 ----- .../boundary/stokesdarcy/couplingdata.hh | 15 ++-- .../fluxvariablescachefiller.hh | 6 +- 12 files changed, 24 insertions(+), 180 deletions(-) diff --git a/dumux/common/deprecated.hh b/dumux/common/deprecated.hh index efffe14959..3e191a6891 100644 --- a/dumux/common/deprecated.hh +++ b/dumux/common/deprecated.hh @@ -25,12 +25,8 @@ #ifndef DUMUX_COMMON_DEPRECATED_HH #define DUMUX_COMMON_DEPRECATED_HH -#include - #include -#include - namespace Dumux { #ifndef DOXYGEN // hide from doxygen @@ -49,83 +45,9 @@ namespace Deprecated { /////////////////////////////////////////////////////////////// // Deprecation warnings for effective diffusion coefficients // /////////////////////////////////////////////////////////////// -constexpr auto hasEffDiffCoeffImpl = Dumux::isValid([](auto&& v) -> decltype(v.effectiveDiffusionCoefficient(0,0,0)){return 0;}); -template constexpr bool hasEffDiffCoeff = decltype(hasEffDiffCoeffImpl(std::declval())){}; - -template, int> = 0> -[[deprecated("The volume variables class used does not have an effectiveDiffusionCoefficient(phaseIdx, compIIdx, compJIdx) function. " - "This will become mandatory after the 3.2 release! See e.g. the files /dumux/porousmediumflow/2p2c/volumevariables.hh " - "and /dumux/porousmediumflow/2p2c/properties.hh to see how this can be realized.")]] -decltype(EDL::effectiveDiffusionCoefficient(std::declval(), int(), int(), int())) -effectiveDiffusionCoefficient(const VV& volVars, int phaseIdx, int compIIdx, int compJIdx) -{ - return EDL::effectiveDiffusionCoefficient(volVars, phaseIdx, compIIdx, compJIdx); -} - -template, int> = 0> -auto effectiveDiffusionCoefficient(const VV& volVars, int phaseIdx, int compIIdx, int compJIdx) -{ return volVars.effectiveDiffusionCoefficient(phaseIdx, compIIdx, compJIdx); } - - //////////////////// - // Maxwell Stefan // - //////////////////// - -template, int> = 0> -auto effectiveMSDiffusionCoefficient(const VV& volVars, - const int phaseIdx, - const int compIIdx, - const int compJIdx, - const P& problem, - const E& element, - const SCV& scv) -{ return volVars.effectiveDiffusionCoefficient(phaseIdx, compIIdx, compJIdx); } - -template, int> = 0> -[[deprecated("The volume variables class used does not have an effectiveDiffusionCoefficient(phaseIdx, compIIdx, compJIdx) function. " - "This will become mandatory after the 3.2 release! See e.g. the files /dumux/porousmediumflow/2p2c/volumevariables.hh " - "and /dumux/porousmediumflow/2p2c/properties.hh to see how this can be realized.")]] -auto effectiveMSDiffusionCoefficient(const VV& volVars, - const int phaseIdx, - const int compIIdx, - const int compJIdx, - const P& problem, - const E& element, - const SCV& scv) -{ - auto tinInside = 0.0; - if constexpr (FS::isTracerFluidSystem()) - { - tinInside = FS::binaryDiffusionCoefficient(compIIdx, - compJIdx, - problem, - element, - scv); - } - else - { - auto fluidState = volVars.fluidState(); - typename FS::ParameterCache paramCache; - paramCache.updateAll(fluidState); - tinInside = FS::binaryDiffusionCoefficient(fluidState, - paramCache, - phaseIdx, - compIIdx, - compJIdx); - } - - return EDL::effectiveDiffusivity(volVars.porosity(), volVars.saturation(phaseIdx), tinInside); -} - -//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////// } // end namespace Deprecated #endif } // end namespace Dumux - #endif diff --git a/dumux/flux/box/fickslaw.hh b/dumux/flux/box/fickslaw.hh index 0c0d46143c..6ff46447c4 100644 --- a/dumux/flux/box/fickslaw.hh +++ b/dumux/flux/box/fickslaw.hh @@ -30,7 +30,6 @@ #include #include -#include #include #include @@ -181,17 +180,15 @@ private: { if constexpr (!FluidSystem::isTracerFluidSystem()) { - using EffDiffModel = GetPropType; const auto mainCompIdx = FluidSystem::getMainComponent(phaseIdx); - const auto insideD = Deprecated::template effectiveDiffusionCoefficient(insideVV, phaseIdx, mainCompIdx, compIdx); - const auto outsideD = Deprecated::template effectiveDiffusionCoefficient(outsideVV, phaseIdx, mainCompIdx, compIdx); + const auto insideD = insideVV.effectiveDiffusionCoefficient(phaseIdx, mainCompIdx, compIdx); + const auto outsideD = outsideVV.effectiveDiffusionCoefficient(phaseIdx, mainCompIdx, compIdx); return { std::move(insideD), std::move(outsideD) }; } else { - using EffDiffModel = GetPropType; - const auto insideD = Deprecated::template effectiveDiffusionCoefficient(insideVV, 0, 0, compIdx); - const auto outsideD = Deprecated::template effectiveDiffusionCoefficient(outsideVV, 0, 0, compIdx); + const auto insideD = insideVV.effectiveDiffusionCoefficient(0, 0, compIdx); + const auto outsideD = outsideVV.effectiveDiffusionCoefficient(0, 0, compIdx); return { std::move(insideD), std::move(outsideD) }; } } diff --git a/dumux/flux/box/maxwellstefanslaw.hh b/dumux/flux/box/maxwellstefanslaw.hh index 854a1222a1..c787c12b9b 100644 --- a/dumux/flux/box/maxwellstefanslaw.hh +++ b/dumux/flux/box/maxwellstefanslaw.hh @@ -28,7 +28,6 @@ #include #include -#include #include #include #include @@ -151,7 +150,6 @@ private: const ComponentFluxVector moleFrac, const Scalar avgMolarMass) { - using EffDiffModel = GetPropType; ReducedComponentMatrix reducedDiffusionMatrix(0.0); const auto& insideVolVars = elemVolVars[scvf.insideScvIdx()]; @@ -169,8 +167,8 @@ private: const auto xi = moleFrac[compIIdx]; const auto Mn = FluidSystem::molarMass(numComponents-1); - auto tinInside = Deprecated::template effectiveMSDiffusionCoefficient(insideVolVars, phaseIdx, compIIdx, numComponents-1, problem, element, fvGeometry.scv(insideScvIdx)); - auto tinOutside = Deprecated::template effectiveMSDiffusionCoefficient(outsideVolVars, phaseIdx, compIIdx, numComponents-1, problem, element, fvGeometry.scv(outsideScvIdx)); + auto tinInside = insideVolVars.effectiveDiffusionCoefficient(phaseIdx, compIIdx, numComponents-1); + auto tinOutside = outsideVolVars.effectiveDiffusionCoefficient(phaseIdx, compIIdx, numComponents-1); // scale by extrusion factor tinInside *= insideVolVars.extrusionFactor(); @@ -195,9 +193,8 @@ private: const auto Mj = FluidSystem::molarMass(compJIdx); // effective diffusion tensors - auto tijInside = Deprecated::template effectiveMSDiffusionCoefficient(insideVolVars, phaseIdx, compIIdx, compJIdx, problem, element, fvGeometry.scv(insideScvIdx)); - - auto tijOutside = Deprecated::template effectiveMSDiffusionCoefficient(outsideVolVars, phaseIdx, compIIdx, compJIdx, problem, element, fvGeometry.scv(outsideScvIdx)); + auto tijInside = insideVolVars.effectiveDiffusionCoefficient(phaseIdx, compIIdx, compJIdx); + auto tijOutside = outsideVolVars.effectiveDiffusionCoefficient(phaseIdx, compIIdx, compJIdx); // scale by extrusion factor tijInside *= insideVolVars.extrusionFactor(); diff --git a/dumux/flux/cctpfa/fickslaw.hh b/dumux/flux/cctpfa/fickslaw.hh index b1b13d12f6..853cf73f18 100644 --- a/dumux/flux/cctpfa/fickslaw.hh +++ b/dumux/flux/cctpfa/fickslaw.hh @@ -28,7 +28,6 @@ #include #include -#include #include #include @@ -186,11 +185,10 @@ public: const auto& insideVolVars = elemVolVars[insideScvIdx]; const auto getDiffCoeff = [&](const auto& vv) { - using EffDiffModel = GetPropType; if constexpr (FluidSystem::isTracerFluidSystem()) - return Deprecated::template effectiveDiffusionCoefficient(vv, 0, 0, compIdx); + return vv.effectiveDiffusionCoefficient(0, 0, compIdx); else - return Deprecated::template effectiveDiffusionCoefficient(vv, phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); + return vv.effectiveDiffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); }; const auto insideD = getDiffCoeff(insideVolVars); diff --git a/dumux/flux/cctpfa/maxwellstefanslaw.hh b/dumux/flux/cctpfa/maxwellstefanslaw.hh index 47aa4f1026..58acfa43fd 100644 --- a/dumux/flux/cctpfa/maxwellstefanslaw.hh +++ b/dumux/flux/cctpfa/maxwellstefanslaw.hh @@ -28,7 +28,6 @@ #include #include -#include #include #include @@ -52,7 +51,6 @@ class MaxwellStefansLawImplementation; using Problem = GetPropType; - using EffDiffModel = GetPropType; using FVElementGeometry = typename GetPropType::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; @@ -218,7 +216,6 @@ private: const SubControlVolume& scv, const int phaseIdx) { - using EffDiffModel = GetPropType; ReducedComponentMatrix reducedDiffusionMatrix(0.0); //this is to not devide by 0 if the saturation in 0 and the effectiveDiffusionCoefficient becomes zero due to that @@ -232,7 +229,7 @@ private: const auto xi = volVars.moleFraction(phaseIdx, compIIdx); const auto Mn = FluidSystem::molarMass(numComponents-1); - Scalar tin = Deprecated::template effectiveMSDiffusionCoefficient(volVars, phaseIdx, compIIdx, numComponents-1, problem, element, scv); + Scalar tin = volVars.effectiveDiffusionCoefficient(phaseIdx, compIIdx, numComponents-1); // set the entries of the diffusion matrix of the diagonal reducedDiffusionMatrix[compIIdx][compIIdx] += xi*avgMolarMass/(tin*Mn); @@ -247,7 +244,7 @@ private: const auto xj = volVars.moleFraction(phaseIdx, compJIdx); const auto Mi = FluidSystem::molarMass(compIIdx); const auto Mj = FluidSystem::molarMass(compJIdx); - Scalar tij = Deprecated::template effectiveMSDiffusionCoefficient(volVars, phaseIdx, compIIdx, compJIdx, problem, element, scv); + Scalar tij = volVars.effectiveDiffusionCoefficient(phaseIdx, compIIdx, compJIdx); reducedDiffusionMatrix[compIIdx][compIIdx] += xj*avgMolarMass/(tij*Mi); if (compJIdx < numComponents-1) diff --git a/dumux/flux/staggered/freeflow/fickslaw.hh b/dumux/flux/staggered/freeflow/fickslaw.hh index 0e9ce6afc8..7e624db4d1 100644 --- a/dumux/flux/staggered/freeflow/fickslaw.hh +++ b/dumux/flux/staggered/freeflow/fickslaw.hh @@ -28,7 +28,6 @@ #include #include -#include #include #include #include @@ -149,16 +148,9 @@ public: private: static Scalar getEffectiveDiffusionCoefficient_(const VolumeVariables& volVars, const int phaseIdx, const int compIdx) { - if constexpr (Dumux::Deprecated::hasEffDiffCoeff) - return volVars.effectiveDiffusionCoefficient(phaseIdx, - VolumeVariables::FluidSystem::getMainComponent(phaseIdx), compIdx); - else - { - // TODO: remove this else clause after release 3.2! - return volVars.effectiveDiffusivity(phaseIdx, compIdx); - } + return volVars.effectiveDiffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); } }; -} // end namespace +} // end namespace Dumux #endif diff --git a/dumux/flux/staggered/freeflow/maxwellstefanslaw.hh b/dumux/flux/staggered/freeflow/maxwellstefanslaw.hh index e901f96965..88995660df 100644 --- a/dumux/flux/staggered/freeflow/maxwellstefanslaw.hh +++ b/dumux/flux/staggered/freeflow/maxwellstefanslaw.hh @@ -26,7 +26,6 @@ #include -#include #include #include #include @@ -246,14 +245,7 @@ private: static Scalar getEffectiveDiffusionCoefficient_(const VolumeVariables& volVars, const int phaseIdx, const int compIdx) { - if constexpr (Dumux::Deprecated::hasEffDiffCoeff) - return volVars.effectiveDiffusionCoefficient(phaseIdx, - VolumeVariables::FluidSystem::getMainComponent(phaseIdx), compIdx); - else - { - // TODO: remove this else clause after release 3.2! - return volVars.effectiveDiffusivity(phaseIdx, compIdx); - } + return volVars.effectiveDiffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); } }; } // end namespace diff --git a/dumux/freeflow/compositional/iofields.hh b/dumux/freeflow/compositional/iofields.hh index da2552d313..631a8055dd 100644 --- a/dumux/freeflow/compositional/iofields.hh +++ b/dumux/freeflow/compositional/iofields.hh @@ -25,7 +25,6 @@ #define DUMUX_FREEFLOW_NC_IO_FIELDS_HH #include -#include #include namespace Dumux { @@ -79,17 +78,8 @@ struct FreeflowNCIOFields template static double getEffectiveDiffusionCoefficient_(const VolumeVariables& volVars, const int phaseIdx, const int compIdx) { - if constexpr (Dumux::Deprecated::hasEffDiffCoeff) - return volVars.effectiveDiffusionCoefficient(phaseIdx, - VolumeVariables::FluidSystem::getMainComponent(phaseIdx), compIdx); - else - { - // TODO: remove this else clause after release 3.2! - return volVars.effectiveDiffusivity(phaseIdx, compIdx); - } + return volVars.effectiveDiffusionCoefficient(phaseIdx, VolumeVariables::FluidSystem::getMainComponent(phaseIdx), compIdx); } - - }; } // end namespace Dumux diff --git a/dumux/material/fluidmatrixinteractions/diffusivityconstanttortuosity.hh b/dumux/material/fluidmatrixinteractions/diffusivityconstanttortuosity.hh index 292bee588b..df2b9c7085 100644 --- a/dumux/material/fluidmatrixinteractions/diffusivityconstanttortuosity.hh +++ b/dumux/material/fluidmatrixinteractions/diffusivityconstanttortuosity.hh @@ -48,22 +48,6 @@ template class DiffusivityConstantTortuosity { public: - /*! - * \brief Returns the effective diffusion coefficient \f$\mathrm{[m^2/s]}\f$ based - * on a constant tortuosity value - * \param porosity The porosity - * \param saturation The saturation of the wetting phase - * \param diffCoeff The diffusion coefficient of the phase in \f$\mathrm{[m^2/s]}\f$ - */ - [[deprecated("Signature deprecated. Use effectiveDiffusionCoefficient(volvars, phaseIdx, comp1dxI, compIdxJ)!")]] - static Scalar effectiveDiffusivity(const Scalar porosity, - const Scalar saturation, - const Scalar diffCoeff) - { - static const Scalar tau = getParam("SpatialParams.Tortuosity", 0.5); - return porosity * saturation * tau * diffCoeff; - } - /*! * \brief Returns the effective diffusion coefficient \f$\mathrm{[m^2/s]}\f$ based * on a constant tortuosity value diff --git a/dumux/material/fluidmatrixinteractions/diffusivitymillingtonquirk.hh b/dumux/material/fluidmatrixinteractions/diffusivitymillingtonquirk.hh index 3255db5353..586d42ee7f 100644 --- a/dumux/material/fluidmatrixinteractions/diffusivitymillingtonquirk.hh +++ b/dumux/material/fluidmatrixinteractions/diffusivitymillingtonquirk.hh @@ -50,26 +50,6 @@ template class DiffusivityMillingtonQuirk { public: - /*! - * \brief Returns the effective diffusion coefficient \f$\mathrm{[m^2/s]}\f$ after Millington Quirk. - * - * \param porosity The porosity - * \param saturation The saturation of the phase - * \param diffCoeff The diffusion coefficient of the phase \f$\mathrm{[m^2/s]}\f$ - */ - [[deprecated("Signature deprecated. Use effectiveDiffusionCoefficient(volvars, phaseIdx, comp1dxI, compIdxJ)!")]] - static Scalar effectiveDiffusivity(const Scalar porosity, - const Scalar saturation, - const Scalar diffCoeff) - { - // instead of D_eff,pm = phi * Sw * 1/phi^2 * (phi * Sw)^(7/3) * D - // we calculate the more efficient - // D_eff,pm = phi * Sw^3 * cubicroot(phi * Sw) * D - - using std::cbrt; - return porosity * (saturation*saturation*saturation) * cbrt(porosity * saturation) * diffCoeff; - } - /*! * \brief Returns the effective diffusion coefficient \f$\mathrm{[m^2/s]}\f$ after Millington Quirk. * diff --git a/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh b/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh index ac5faf111f..bad04682ea 100644 --- a/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh +++ b/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh @@ -33,7 +33,6 @@ #include #include #include -#include namespace Dumux { @@ -911,7 +910,6 @@ protected: const VolumeVariables& volVarsI, const VolumeVariables& volVarsJ) const { - using EffDiffModel = GetPropType, Properties::EffectiveDiffusivityModel>; NumEqVector diffusiveFlux(0.0); const Scalar insideDistance = this->getDistance_(scvI, scvfI); @@ -950,7 +948,7 @@ protected: const Scalar xk = volVarsI.moleFraction(couplingPhaseIdx(domainI), domainICompKIdx); const Scalar avgMolarMass = volVarsI.averageMolarMass(couplingPhaseIdx(domainI)); const Scalar Mn = FluidSystem::molarMass(numComponents-1); - const Scalar tkn = Deprecated::template effectiveDiffusionCoefficient(volVarsI, couplingPhaseIdx(domainI), domainICompKIdx, couplingCompIdx(domainI, numComponents-1)); + const Scalar tkn = volVarsI.effectiveDiffusionCoefficient(couplingPhaseIdx(domainI), domainICompKIdx, couplingCompIdx(domainI, numComponents-1)); // set the entries of the diffusion matrix of the diagonal reducedDiffusionMatrixInside[domainICompKIdx][domainICompKIdx] += xk*avgMolarMass/(tkn*Mn); @@ -966,7 +964,7 @@ protected: const Scalar xl = volVarsI.moleFraction(couplingPhaseIdx(domainI), domainICompLIdx); const Scalar Mk = FluidSystem::molarMass(domainICompKIdx); const Scalar Ml = FluidSystem::molarMass(domainICompLIdx); - const Scalar tkl = Deprecated::template effectiveDiffusionCoefficient(volVarsI, couplingPhaseIdx(domainI), domainICompKIdx, domainICompLIdx); + const Scalar tkl = volVarsI.effectiveDiffusionCoefficient(couplingPhaseIdx(domainI), domainICompKIdx, domainICompLIdx); reducedDiffusionMatrixInside[domainICompKIdx][domainICompKIdx] += xl*avgMolarMass/(tkl*Mk); reducedDiffusionMatrixInside[domainICompKIdx][domainICompLIdx] += xk*(avgMolarMass/(tkn*Mn) - avgMolarMass/(tkl*Ml)); } @@ -980,7 +978,7 @@ protected: const Scalar xk = volVarsJ.moleFraction(couplingPhaseIdx(domainJ), domainJCompKIdx); const Scalar avgMolarMass = volVarsJ.averageMolarMass(couplingPhaseIdx(domainJ)); const Scalar Mn = FluidSystem::molarMass(numComponents-1); - const Scalar tkn = Deprecated::template effectiveDiffusionCoefficient(volVarsJ, couplingPhaseIdx(domainJ), domainJCompKIdx, couplingCompIdx(domainJ, numComponents-1)); + const Scalar tkn = volVarsJ.effectiveDiffusionCoefficient(couplingPhaseIdx(domainJ), domainJCompKIdx, couplingCompIdx(domainJ, numComponents-1)); // set the entries of the diffusion matrix of the diagonal reducedDiffusionMatrixOutside[domainICompKIdx][domainICompKIdx] += xk*avgMolarMass/(tkn*Mn); @@ -997,7 +995,7 @@ protected: const Scalar xl = volVarsJ.moleFraction(couplingPhaseIdx(domainJ), domainJCompLIdx); const Scalar Mk = FluidSystem::molarMass(domainJCompKIdx); const Scalar Ml = FluidSystem::molarMass(domainJCompLIdx); - const Scalar tkl = Deprecated::template effectiveDiffusionCoefficient(volVarsJ, couplingPhaseIdx(domainJ), domainJCompKIdx, domainJCompLIdx); + const Scalar tkl = volVarsJ.effectiveDiffusionCoefficient(couplingPhaseIdx(domainJ), domainJCompKIdx, domainJCompLIdx); reducedDiffusionMatrixOutside[domainICompKIdx][domainICompKIdx] += xl*avgMolarMass/(tkl*Mk); reducedDiffusionMatrixOutside[domainICompKIdx][domainICompLIdx] += xk*(avgMolarMass/(tkn*Mn) - avgMolarMass/(tkl*Ml)); } @@ -1051,7 +1049,6 @@ protected: const VolumeVariables& volVarsJ, const DiffusionCoefficientAveragingType diffCoeffAvgType) const { - using EffDiffModel = GetPropType, Properties::EffectiveDiffusivityModel>; NumEqVector diffusiveFlux(0.0); const Scalar rhoInside = massOrMolarDensity(volVarsI, referenceSystemFormulation, couplingPhaseIdx(domainI)); @@ -1078,8 +1075,8 @@ protected: domainJ, insideDistance, outsideDistance, - Deprecated::template effectiveDiffusionCoefficient(volVarsI, couplingPhaseIdx(domainI), domainIMainCompIdx, domainICompIdx), - Deprecated::template effectiveDiffusionCoefficient(volVarsJ, couplingPhaseIdx(domainJ), domainJMainCompIdx, domainJCompIdx), + volVarsI.effectiveDiffusionCoefficient(couplingPhaseIdx(domainI), domainIMainCompIdx, domainICompIdx), + volVarsJ.effectiveDiffusionCoefficient(couplingPhaseIdx(domainJ), domainJMainCompIdx, domainJCompIdx), diffCoeffAvgType); diffusiveFlux[domainICompIdx] += -avgDensity * tij * deltaMassOrMoleFrac; } diff --git a/dumux/porousmediumflow/fluxvariablescachefiller.hh b/dumux/porousmediumflow/fluxvariablescachefiller.hh index 5afe55fbc5..336dabc582 100644 --- a/dumux/porousmediumflow/fluxvariablescachefiller.hh +++ b/dumux/porousmediumflow/fluxvariablescachefiller.hh @@ -26,7 +26,6 @@ #include #include -#include #include #include @@ -607,7 +606,6 @@ private: handle.diffusionHandle().setComponentIndex(compIdx); using DiffusionType = GetPropType; - using EffDiffModel = GetPropType; // get instance of the interaction volume-local assembler using Traits = typename InteractionVolume::Traits; @@ -621,9 +619,9 @@ private: const auto getD = [phaseIdx, compIdx] (const auto& volVars) { if constexpr (FluidSystem::isTracerFluidSystem()) - return Deprecated::template effectiveDiffusionCoefficient(volVars, 0, 0, compIdx); + return volVars.effectiveDiffusionCoefficient(0, 0, compIdx); else - return Deprecated::template effectiveDiffusionCoefficient(volVars, phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); + return volVars.effectiveDiffusionCoefficient(phaseIdx, FluidSystem::getMainComponent(phaseIdx), compIdx); }; // Effective diffusion coefficients might get zero if saturation = 0. -- GitLab From d9272edde023a3e49c4581642347fd54b1b400c2 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 19:33:14 +0200 Subject: [PATCH 15/17] [assembly] Remove deprecated interfaces --- dumux/assembly/fvassembler.hh | 16 ---------------- dumux/assembly/staggeredfvassembler.hh | 16 ---------------- examples/1ptracer/main.cc | 5 +---- examples/2pinfiltration/main.cc | 2 +- examples/shallowwaterfriction/main.cc | 2 +- test/porousmediumflow/1pnc/implicit/1p3c/main.cc | 5 +---- .../2pncmin/implicit/nonisothermal/main.cc | 2 +- test/porousmediumflow/tracer/multiphase/main.cc | 2 +- 8 files changed, 6 insertions(+), 44 deletions(-) diff --git a/dumux/assembly/fvassembler.hh b/dumux/assembly/fvassembler.hh index 87ae227d2c..c60d14fff8 100644 --- a/dumux/assembly/fvassembler.hh +++ b/dumux/assembly/fvassembler.hh @@ -89,22 +89,6 @@ public: static_assert(isImplicit, "Explicit assembler for stationary problem doesn't make sense!"); } - /*! - * \brief The constructor for instationary problems - * \note this constructor is deprecated (use the one receiving the previous solution instead) - */ - [[deprecated("Please use constructor taking the previous solution instead. Will be removed after release 3.2!")]] - FVAssembler(std::shared_ptr problem, - std::shared_ptr gridGeometry, - std::shared_ptr gridVariables, - std::shared_ptr timeLoop) - : problem_(problem) - , gridGeometry_(gridGeometry) - , gridVariables_(gridVariables) - , timeLoop_(timeLoop) - , isStationaryProblem_(!timeLoop) - {} - /*! * \brief The constructor for instationary problems * \note the grid variables might be temporarily changed during assembly (if caching is enabled) diff --git a/dumux/assembly/staggeredfvassembler.hh b/dumux/assembly/staggeredfvassembler.hh index 21f7f8d52d..874988d0fb 100644 --- a/dumux/assembly/staggeredfvassembler.hh +++ b/dumux/assembly/staggeredfvassembler.hh @@ -83,22 +83,6 @@ public: this->couplingManager_->setSubProblems(std::make_tuple(problem, problem)); } - //! The constructor for instationary problems - [[deprecated("Please use the constructor additionally taking the previous solution. Will be removed after 3.2 release!")]] - StaggeredFVAssembler(std::shared_ptr problem, - std::shared_ptr gridGeometry, - std::shared_ptr gridVariables, - std::shared_ptr timeLoop) - : ParentType(std::make_tuple(problem, problem), - std::make_tuple(gridGeometry->faceFVGridGeometryPtr(), gridGeometry->cellCenterFVGridGeometryPtr()), - std::make_tuple(gridVariables->faceGridVariablesPtr(), gridVariables->cellCenterGridVariablesPtr()), - std::make_shared(), - timeLoop) - { - static_assert(isImplicit, "Explicit assembler for stationary problem doesn't make sense!"); - this->couplingManager_->setSubProblems(std::make_tuple(problem, problem)); - } - //! The constructor for instationary problems StaggeredFVAssembler(std::shared_ptr problem, std::shared_ptr gridGeometry, diff --git a/examples/1ptracer/main.cc b/examples/1ptracer/main.cc index c33269ab8d..0fdc320eaf 100644 --- a/examples/1ptracer/main.cc +++ b/examples/1ptracer/main.cc @@ -248,7 +248,7 @@ int main(int argc, char** argv) try // We create and initialize the assembler with a time loop for the transient problem. // Within the time loop, we will use this assembler in each time step to assemble the linear system. using TracerAssembler = FVAssembler; - auto assembler = std::make_shared(tracerProblem, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared(tracerProblem, gridGeometry, gridVariables, timeLoop, xOld); assembler->setLinearSystem(A, r); // The following lines of code initialize the vtk output module, add the velocity output facility @@ -277,9 +277,6 @@ int main(int argc, char** argv) try // [[codeblock]] timeLoop->start(); do { - // First we define the old solution as the solution of the previous time step for storage evaluations. - assembler->setPreviousSolution(xOld); - // Then the linear system is assembled. Dune::Timer assembleTimer; assembler->assembleJacobianAndResidual(x); diff --git a/examples/2pinfiltration/main.cc b/examples/2pinfiltration/main.cc index 32b1fbbc18..1c8d0d0560 100644 --- a/examples/2pinfiltration/main.cc +++ b/examples/2pinfiltration/main.cc @@ -201,7 +201,7 @@ int main(int argc, char** argv) try //we set the assembler with the time loop because we have an instationary problem using Assembler = FVAssembler; - auto assembler = std::make_shared(problem, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared(problem, gridGeometry, gridVariables, timeLoop, xOld); // we set the linear solver using LinearSolver = AMGBiCGSTABBackend>; diff --git a/examples/shallowwaterfriction/main.cc b/examples/shallowwaterfriction/main.cc index de91945bb9..e3092b0eec 100644 --- a/examples/shallowwaterfriction/main.cc +++ b/examples/shallowwaterfriction/main.cc @@ -129,7 +129,7 @@ int main(int argc, char** argv) try //we set the assembler with the time loop because we have an instationary problem. using Assembler = FVAssembler; - auto assembler = std::make_shared(problem, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared(problem, gridGeometry, gridVariables, timeLoop, xOld); // We set the linear solver. using LinearSolver = AMGBiCGSTABBackend>; diff --git a/test/porousmediumflow/1pnc/implicit/1p3c/main.cc b/test/porousmediumflow/1pnc/implicit/1p3c/main.cc index d39483e874..1cee100c9a 100644 --- a/test/porousmediumflow/1pnc/implicit/1p3c/main.cc +++ b/test/porousmediumflow/1pnc/implicit/1p3c/main.cc @@ -124,7 +124,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler; - auto assembler = std::make_shared(problem, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared(problem, gridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = ILU0BiCGSTABBackend; @@ -136,9 +136,6 @@ int main(int argc, char** argv) try // time loop timeLoop->start(); do { - // set previous solution for storage evaluations - assembler->setPreviousSolution(xOld); - // solve the non-linear system with time step control nonLinearSolver.solve(x, *timeLoop); diff --git a/test/porousmediumflow/2pncmin/implicit/nonisothermal/main.cc b/test/porousmediumflow/2pncmin/implicit/nonisothermal/main.cc index e8602b480e..901a83e646 100644 --- a/test/porousmediumflow/2pncmin/implicit/nonisothermal/main.cc +++ b/test/porousmediumflow/2pncmin/implicit/nonisothermal/main.cc @@ -163,7 +163,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler; - auto assembler = std::make_shared(problem, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared(problem, gridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend>; diff --git a/test/porousmediumflow/tracer/multiphase/main.cc b/test/porousmediumflow/tracer/multiphase/main.cc index d95dbfd7d8..bcc4a5d684 100644 --- a/test/porousmediumflow/tracer/multiphase/main.cc +++ b/test/porousmediumflow/tracer/multiphase/main.cc @@ -112,7 +112,7 @@ int main(int argc, char** argv) try //! the assembler with time loop for instationary problem using Assembler = FVAssembler; - auto assembler = std::make_shared(problem, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared(problem, gridGeometry, gridVariables, timeLoop, xOld); assembler->setPreviousSolution(xOld); //! the linear solver -- GitLab From 4ed2c338f2e4551747e0bedc71a8312118801951 Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 19:34:00 +0200 Subject: [PATCH 16/17] [io] Remove deprecated parameter WellRadius --- dumux/io/grid/cakegridmanager.hh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/dumux/io/grid/cakegridmanager.hh b/dumux/io/grid/cakegridmanager.hh index 8f17d2d4e5..7dd1c9dcaf 100644 --- a/dumux/io/grid/cakegridmanager.hh +++ b/dumux/io/grid/cakegridmanager.hh @@ -136,14 +136,6 @@ public: if (indices[i] < 0) DUNE_THROW(Dune::RangeError, "Please specify Positions Angular and Radial and Axial correctly and unambiguously!" << std::endl); - if(hasParam("Grid.WellRadius")) - { - std::cerr << "Deprecation warning: parameter Grid.WellRadius is deprecated. " - << "Specify the WellRadius as the first radial coordinate." << std::endl; - - positions[indices[0]][0] = getParamFromGroup(modelParamGroup, "Grid.WellRadius"); - } - // the number of cells (has a default) std::array, dim> cells; for (int i = 0; i < dim; ++i) -- GitLab From 0afef5dcabfcdb8f7d5df524eae2e14cb810a67b Mon Sep 17 00:00:00 2001 From: Timo Koch Date: Mon, 13 Apr 2020 19:36:20 +0200 Subject: [PATCH 17/17] [solids] Remove deprecated inertsolidphase --- dumux/material/solidsystems/CMakeLists.txt | 1 - .../material/solidsystems/inertsolidphase.hh | 30 ------------------- 2 files changed, 31 deletions(-) delete mode 100644 dumux/material/solidsystems/inertsolidphase.hh diff --git a/dumux/material/solidsystems/CMakeLists.txt b/dumux/material/solidsystems/CMakeLists.txt index 734df98602..7ac9b1f358 100644 --- a/dumux/material/solidsystems/CMakeLists.txt +++ b/dumux/material/solidsystems/CMakeLists.txt @@ -1,5 +1,4 @@ install(FILES 1csolid.hh compositionalsolidphase.hh -inertsolidphase.hh DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dumux/material/solidsystems) diff --git a/dumux/material/solidsystems/inertsolidphase.hh b/dumux/material/solidsystems/inertsolidphase.hh deleted file mode 100644 index 5020d86148..0000000000 --- a/dumux/material/solidsystems/inertsolidphase.hh +++ /dev/null @@ -1,30 +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 3 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 . * - *****************************************************************************/ -/*! - * \file - * \ingroup SolidSystems - * \brief A solid phase consisting of a single inert solid component. - */ -#ifndef DUMUX_SOLIDSYSTEMS_INERT_SOLID_PHASE_HH -#define DUMUX_SOLIDSYSTEMS_INERT_SOLID_PHASE_HH - -#warning "This header is deprecated and will be removed after release 3.2. Use solidsystem.hh and SolidSystems::OneCSolid." -#include - -#endif -- GitLab