diff --git a/dune/solvers/test/common.hh b/dune/solvers/test/common.hh index 028dad406088381cb1b771594812bcf02df47526..7015536debd45974e770bb404e2b8fed4f9c5275 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 ae5268f0dd7872aa2a3eebb326bee4ef635f23c4..80318b5d6927bf6dfe203a039d141cb4fb8c255a 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 23858a85b5d310297d36d13fc1a9a1d043c7d16c..f6b938b2dd2eab6e8bc76b4020b24dcd45fbaa9b 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 131c73b0232efaa0804f7ded640769eddf540f4f..4e76bd441d923cc501452b13e71f5dc574ff55e0 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 52c177aab04d3484a8d47898b9fd7702259aa6b8..4ea4f561f480438188f1fa1e0c0a9ca8b292e1c1 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());