From e9b08a2832822b6825a1bc03a57a94f43d4c82ce Mon Sep 17 00:00:00 2001 From: Oliver Sander <oliver.sander@tu-dresden.de> Date: Fri, 4 Sep 2020 09:32:33 +0200 Subject: [PATCH] Do not use deprecated VirtualFunction in tests --- dune/solvers/test/common.hh | 22 +------------------ dune/solvers/test/mmgtest.cc | 4 +++- dune/solvers/test/obstacletnnmgtest.cc | 4 +++- dune/solvers/test/projectedgradienttest.cc | 4 +++- dune/solvers/test/quadraticipoptsolvertest.cc | 4 +++- 5 files changed, 13 insertions(+), 25 deletions(-) diff --git a/dune/solvers/test/common.hh b/dune/solvers/test/common.hh index 028dad4..7015536 100644 --- a/dune/solvers/test/common.hh +++ b/dune/solvers/test/common.hh @@ -7,7 +7,6 @@ #include <dune/common/fvector.hh> #include <dune/common/fmatrix.hh> -#include <dune/common/function.hh> #include <dune/istl/matrixindexset.hh> @@ -30,23 +29,6 @@ #include <dune/solvers/norms/energynorm.hh> #include <dune/solvers/norms/twonorm.hh> -template <class DomainType, class RangeType> -class ConstantFunction : - public Dune::VirtualFunction<DomainType, RangeType> -{ - public: - ConstantFunction(double c): - c_(c) - {} - - void evaluate(const DomainType& x, RangeType& y) const - { - y = c_; - } - - private: - double c_; -}; template<class GridView, class Matrix> void constructPQ1Pattern(const GridView& gridView, Matrix& matrix) @@ -231,7 +213,6 @@ void assemblePQ1RHS(const GridView& gridView, Vector& r, const Function& f) typedef typename FiniteElementCache::FiniteElementType FiniteElement; typedef typename FiniteElement::Traits::LocalBasisType::Traits::RangeType RangeType; - typedef typename Function::RangeType FunctionRangeType; const auto& indexSet = gridView.indexSet(); FiniteElementCache cache; @@ -265,8 +246,7 @@ void assemblePQ1RHS(const GridView& gridView, Vector& r, const Function& f) fe.localBasis().evaluateFunction(quadPos, values); // evaluate function - FunctionRangeType fAtPos; - f.evaluate(geometry.global(quadPos), fAtPos); + auto fAtPos = f(geometry.global(quadPos)); // add vector entries double z = pt.weight() * integrationElement; diff --git a/dune/solvers/test/mmgtest.cc b/dune/solvers/test/mmgtest.cc index ae5268f..80318b5 100644 --- a/dune/solvers/test/mmgtest.cc +++ b/dune/solvers/test/mmgtest.cc @@ -123,7 +123,9 @@ bool checkWithGrid(const GridType& grid, const std::string fileName="") Vector rhs(A.N()); rhs = 0; - ConstantFunction<DomainType, RangeType> f(50); + auto f = [](const DomainType& x) -> RangeType + {return 50.0; }; + assemblePQ1RHS(gridView, rhs, f); Vector u(A.N()); diff --git a/dune/solvers/test/obstacletnnmgtest.cc b/dune/solvers/test/obstacletnnmgtest.cc index 23858a8..f6b938b 100644 --- a/dune/solvers/test/obstacletnnmgtest.cc +++ b/dune/solvers/test/obstacletnnmgtest.cc @@ -114,7 +114,9 @@ bool checkWithGrid(const GridType& grid, const std::string fileName="") Vector rhs(A.N()); rhs = 0; - ConstantFunction<DomainType, RangeType> f(50); + auto f = [](const DomainType& x) -> RangeType + {return 50.0; }; + assemblePQ1RHS(gridView, rhs, f); Vector u(A.N()); diff --git a/dune/solvers/test/projectedgradienttest.cc b/dune/solvers/test/projectedgradienttest.cc index 131c73b..4e76bd4 100644 --- a/dune/solvers/test/projectedgradienttest.cc +++ b/dune/solvers/test/projectedgradienttest.cc @@ -84,7 +84,9 @@ bool checkWithGrid(const GridType& grid, const std::string fileName, int maxIter Vector rhs(A.N()); rhs = 0; - ConstantFunction<DomainType, RangeType> f(50); + auto f = [](const DomainType& x) -> RangeType + {return 50.0; }; + assemblePQ1RHS(gridView, rhs, f); Vector u(A.N()); diff --git a/dune/solvers/test/quadraticipoptsolvertest.cc b/dune/solvers/test/quadraticipoptsolvertest.cc index 52c177a..4ea4f56 100644 --- a/dune/solvers/test/quadraticipoptsolvertest.cc +++ b/dune/solvers/test/quadraticipoptsolvertest.cc @@ -77,7 +77,9 @@ bool checkWithGrid(const GridType& grid, const std::string fileName="") Vector rhs(A.N()); rhs = 0; - ConstantFunction<DomainType, RangeType> f(50); + auto f = [](const DomainType& x) -> RangeType + {return 50.0; }; + assemblePQ1RHS(gridView, rhs, f); Vector u(A.N()); -- GitLab