diff --git a/dune/fufem/assemblers/localassemblers/secondorderoperatorassembler.hh b/dune/fufem/assemblers/localassemblers/secondorderoperatorassembler.hh index af17e6a890e6389477a653a7e69235d46629bfda..4edf3db4c6a4a3ad2d967d37b4fe14134ab97181 100644 --- a/dune/fufem/assemblers/localassemblers/secondorderoperatorassembler.hh +++ b/dune/fufem/assemblers/localassemblers/secondorderoperatorassembler.hh @@ -9,7 +9,6 @@ #include <dune/common/fvector.hh> #include <dune/common/fmatrix.hh> #include <dune/common/hybridutilities.hh> -#include <dune/common/std/apply.hh> #include <dune/common/concept.hh> #include <dune/istl/matrix.hh> @@ -38,7 +37,7 @@ namespace Concept { template<class F> auto require(F&& f) -> decltype( - Dune::Std::apply(f, args) + std::apply(f, args) ); }; @@ -54,7 +53,7 @@ namespace Concept { template<class F> auto require(F&& f) -> decltype( - Dune::MatrixVector::addProduct(r, s, Dune::Std::apply(f, args)) + Dune::MatrixVector::addProduct(r, s, std::apply(f, args)) ); }; @@ -255,7 +254,7 @@ public: }; Dune::MatrixVector::addProduct( localMatrix[i][j], z, - Dune::Std::apply(boundContraction, returnValues)); + std::apply(boundContraction, returnValues)); } } } diff --git a/dune/fufem/dgindexset.hh b/dune/fufem/dgindexset.hh index 3b13365e2b2bcb05544acffc2b501dd246a245ce..ad23c5223510d3f8965c4daa718a57c167bba9f8 100644 --- a/dune/fufem/dgindexset.hh +++ b/dune/fufem/dgindexset.hh @@ -21,7 +21,7 @@ public: void setup(const GridView& gridView) { - mapper_.update(); + mapper_.update(gridView); const int dim = GridView::dimension; diff --git a/dune/fufem/dgpqkindexset.hh b/dune/fufem/dgpqkindexset.hh index 1a12236061c9797dafb3eec8b90cf688c59b220f..894b66d2c6dd6b6822b6c15d605ae551509f853d 100644 --- a/dune/fufem/dgpqkindexset.hh +++ b/dune/fufem/dgpqkindexset.hh @@ -21,7 +21,7 @@ public: typedef typename GridView::template Codim<0>::Iterator ElementIterator; - mapper_.update(); + mapper_.update(gridview); const int dim = GridView::dimension; diff --git a/dune/fufem/functionspacebases/p0basis.hh b/dune/fufem/functionspacebases/p0basis.hh index 8010caccd936dabb43b4f2d4eb84a52da6abf6d0..df57394c7e5d6e6a497ce04e5ef9bf3070d7e241 100644 --- a/dune/fufem/functionspacebases/p0basis.hh +++ b/dune/fufem/functionspacebases/p0basis.hh @@ -67,7 +67,7 @@ class P0Basis : void update(const GridView& gridview) { Base::update(gridview); - mapper_.update(); + mapper_.update(gridview); } const LocalFiniteElement& getLocalFiniteElement(const Element& e) const diff --git a/dune/fufem/functionspacebases/p2hierarchicalbasis.hh b/dune/fufem/functionspacebases/p2hierarchicalbasis.hh index 953c0efbfe3ab5d2cc4a8763258926b4141b7cd6..2e410714588c0dfcf8145426ce248474a7f515ad 100644 --- a/dune/fufem/functionspacebases/p2hierarchicalbasis.hh +++ b/dune/fufem/functionspacebases/p2hierarchicalbasis.hh @@ -66,7 +66,7 @@ class P2HierarchicalBasis : void update(const GridView& gridview) { Base::update(gridview); - mapper_.update(); + mapper_.update(gridview); } const LocalFiniteElement& getLocalFiniteElement(const Element& e) const diff --git a/dune/fufem/functionspacebases/p2nodalbasis.hh b/dune/fufem/functionspacebases/p2nodalbasis.hh index 99568ff6ab9c3b718c45a52c8d1858885cb4b069..b458011cb42742de969acabcb964bf6113518dcc 100644 --- a/dune/fufem/functionspacebases/p2nodalbasis.hh +++ b/dune/fufem/functionspacebases/p2nodalbasis.hh @@ -85,7 +85,7 @@ class P2NodalBasis : void update(const GridView& gridview) { Base::update(gridview); - mapper_.update(); + mapper_.update(gridview); } const LocalFiniteElement& getLocalFiniteElement(const Element& e) const diff --git a/dune/fufem/functionspacebases/q1nodalbasis.hh b/dune/fufem/functionspacebases/q1nodalbasis.hh index 129c7f21c2b17ce7fffd068c75f657bd29ad4860..0cd1dd937dae5ae4953b2ae74152c10e899534cb 100644 --- a/dune/fufem/functionspacebases/q1nodalbasis.hh +++ b/dune/fufem/functionspacebases/q1nodalbasis.hh @@ -18,7 +18,7 @@ #include <dune/geometry/type.hh> -#include <dune/localfunctions/lagrange/q1.hh> +#include <dune/localfunctions/lagrange/lagrangecube.hh> #include <dune/fufem/functionspacebases/functionspacebasis.hh> @@ -28,10 +28,10 @@ template <class GV, class RT=double> class Q1NodalBasis : public FunctionSpaceBasis<GV, RT, - typename Dune::template Q1LocalFiniteElement<typename GV::Grid::ctype, RT, GV::Grid::dimension> > + typename Dune::template LagrangeCubeLocalFiniteElement<typename GV::Grid::ctype, RT, GV::Grid::dimension, 1> > { protected: - typedef typename Dune::template Q1LocalFiniteElement<typename GV::Grid::ctype, RT, GV::Grid::dimension> LFE; + typedef typename Dune::template LagrangeCubeLocalFiniteElement<typename GV::Grid::ctype, RT, GV::Grid::dimension, 1> LFE; typedef FunctionSpaceBasis<GV, RT, LFE> Base; typedef typename Base::Element Element; diff --git a/dune/fufem/functionspacebases/refinedp0basis.hh b/dune/fufem/functionspacebases/refinedp0basis.hh index 1385bd1ccc56e29f2a9a7766fdb2902cdaf53a21..9f4b2b9cb980bc914441a542e2abd9348062f7bc 100644 --- a/dune/fufem/functionspacebases/refinedp0basis.hh +++ b/dune/fufem/functionspacebases/refinedp0basis.hh @@ -48,7 +48,7 @@ class RefinedP0Basis : void update(const GridView& gridview) { gridview_ = gridview; - mapper_.update(); + mapper_.update(gridview); } size_t size() const diff --git a/dune/fufem/functionspacebases/refinedp1nodalbasis.hh b/dune/fufem/functionspacebases/refinedp1nodalbasis.hh index cc9e699d820466ddd205efedb8d53f3feb44c18a..33f110122253bb9e2ca2f290eb81c82fe8df026f 100644 --- a/dune/fufem/functionspacebases/refinedp1nodalbasis.hh +++ b/dune/fufem/functionspacebases/refinedp1nodalbasis.hh @@ -52,7 +52,7 @@ class RefinedP1NodalBasis : void update(const GridView& gridview) { Base::update(gridview); - mapper_.update(); + mapper_.update(gridview); } const LocalFiniteElement& getLocalFiniteElement([[maybe_unused]] const Element& e) const diff --git a/dune/fufem/makesphere.hh b/dune/fufem/makesphere.hh index 5a773ef5e749256a8a480d35ae06ac2519c9866d..556586f007fc17bd472467d443687beb753739d0 100644 --- a/dune/fufem/makesphere.hh +++ b/dune/fufem/makesphere.hh @@ -5,6 +5,7 @@ #include <cmath> #include <memory> +#include <type_traits> #include <dune/common/hybridutilities.hh> @@ -51,8 +52,7 @@ public: /** \brief Class implementing a spherical triangular segment */ class SphereTriSegment -: public Dune::VirtualFunction<Dune::FieldVector<double,2>,Dune::FieldVector<double,3> >, - public Dune::BoundarySegment<3> + : public Dune::BoundarySegment<3> { public: SphereTriSegment(const Dune::FieldVector<double,3>& a, @@ -79,11 +79,6 @@ public: return result; } - virtual void evaluate(const Dune::FieldVector<double,2>& local, Dune::FieldVector<double, 3>& global) const - { - global = operator()(local); - } - Dune::FieldVector<double, 3> a_, b_, c_; Dune::FieldVector<double, 3> center_; @@ -184,7 +179,7 @@ std::unique_ptr<GridType> makeSphereOnOctahedron(const Dune::FieldVector<field_t for (int i=0; i<8; i++) { // If the grid is sd the element boundaries carry a parametrization - Dune::Hybrid::ifElse(Dune::Std::bool_constant<GridType::dimension==3>{}, + Dune::Hybrid::ifElse(std::bool_constant<GridType::dimension==3>{}, [&](auto id) { auto boundarySegment = std::make_shared<SphereTriSegment>(pos[segments[i][0]], @@ -202,7 +197,7 @@ std::unique_ptr<GridType> makeSphereOnOctahedron(const Dune::FieldVector<field_t else cornerIDs = {segments[i][0], segments[i][1], segments[i][2], 6}; - Dune::Hybrid::ifElse(Dune::Std::bool_constant<GridType::dimension==2>{}, + Dune::Hybrid::ifElse(std::bool_constant<GridType::dimension==2>{}, [&](auto id) { // Insert parametrized element diff --git a/dune/fufem/python/common.hh b/dune/fufem/python/common.hh index 8ab5db55302d3810bcfa8a0311fbff5bc068688a..2e35dd4f9d4d0aa8e97fa774af34bb3365d35432 100644 --- a/dune/fufem/python/common.hh +++ b/dune/fufem/python/common.hh @@ -12,9 +12,9 @@ #include <string> #include <sstream> #include <type_traits> +#include <tuple> #include <dune/common/exceptions.hh> -#include <dune/common/std/apply.hh> #include <dune/functions/common/signature.hh> #include <dune/functions/common/differentiablefunctionfromcallables.hh> @@ -570,7 +570,7 @@ auto makeDifferentiableFunction(const R&... f) auto signatureTag = Dune::Functions::SignatureTag<Signature, DerivativeTraits>(); auto derivativeSignatureTags = Dune::Functions::derivativeSignatureTags<sizeof...(f)-1>(signatureTag); - return Dune::Std::apply([&f..., &signatureTag](auto... tag) { + return std::apply([&f..., &signatureTag](auto... tag) { return Dune::Functions::makeDifferentiableFunctionFromCallables(signatureTag, makeFunction<typename decltype(tag)::Signature>(f)...); }, derivativeSignatureTags);