1. 24 May, 2020 2 commits
  2. 15 May, 2020 2 commits
    • Dominic Kempf's avatar
      [!164] [cmake] Remove use of create_doc_install · 526ac8b1
      Dominic Kempf authored
      Merge branch 'feature/remove-add-doc-install' into 'master'
      
      ref:core/dune-localfunctions\> Since the move to UseLatexMk installation is
      completely handled by the dune_add_latex_document call and this function call
      is superfluous or might even break installation.
      
      @gruenich I am backporting this to the 2.7 release branch because it breaks my
      experiments with the Spack package manager, where I need to heavily rely on
      correct installations.
      
      See merge request [!164]
      
        [!164]: gitlab.dune-project.org/core/dune-localfunctions/merge_requests/164
      526ac8b1
    • Dominic Kempf's avatar
      [cmake] Remove use of create_doc_install · 0ca6983e
      Dominic Kempf authored
      Since the move to UseLatexMk installation is completely handled
      by the dune_add_latex_document call and this function call is
      superfluous or might even break installation.
      0ca6983e
  3. 26 Apr, 2020 1 commit
    • Oliver Sander's avatar
      [!161] import function abs from std namespace · a9463be2
      Oliver Sander authored
      Merge branch 'issue/using_std_abs' into 'master'
      
      ref:core/dune-localfunctions\>
      
      ### Summary
      
      Replace explicit namespace qualification by using directive for std::abs
      
      See merge request [!161]
      
        [!161]: gitlab.dune-project.org/core/dune-localfunctions/merge_requests/161
      a9463be2
  4. 25 Apr, 2020 1 commit
  5. 13 Apr, 2020 3 commits
    • Oliver Sander's avatar
      [!159] Avoid using deprecated header dune/common/function.hh · 0eb3413f
      Oliver Sander authored
      Merge branch 'feature/avoid-dune-common-function' into 'master'
      
      ref:core/dune-localfunctions\> This removed all uses of the old interface in
      dune-localfunctions. Here's a list of all changes. The one with potential
      influence to users are bold:
      
      -   Stop using VirtualFunction in LocalFiniteElementVirtualInterface and
          replace it by std:function. Strictly speaking this is an interface change.
          Implications of this change:
          -   You can still pass a function providing the old interface to
              interpolate(). It will still be wrapped automatically.
          -   The virtual wrapper LocalFiniteElementVirtualImp still works, but
              **from now on the virtual wrapper assumes that the wrapped LFE
              supports passing functions with operator()**.
          -   If you derived from the virtual interface class (instead of using
              `LocalFiniteElementVirtualImp') you have to be careful to switch the function type if you did not extract it from the interface class by using the `FunctionType\`
              typedef.
      -   Deprecate LocalFiniteElementFunctionBase and now **exports a dummy base
          class** to keep it working during the deprecation period.
      -   Avoid deprecated function base classes in tests
      -   Use operator() function interface in internal helper ComponentEvaluator.
      -   Remove internal helpers for creating old style function classes
      
      See merge request [!159]
      
        [!159]: gitlab.dune-project.org/core/dune-localfunctions/merge_requests/159
      0eb3413f
    • Carsten Gräser's avatar
      Deprecate using Dune::Functions style functions in interpolate() · 61540109
      Carsten Gräser authored
      By deprecating the generation of the old-to-new-interface
      wrapper we issue a warning whenever an old style function
      is used. To avoid warnings in checks of the deprecated
      interface the deprecation is disabled by defining the
      flag `DUNE_DEPRECATED_INTERPOLATE_CHECK=1` for
      `dune/localfunctions/test`.
      61540109
    • Carsten Gräser's avatar
  6. 11 Apr, 2020 3 commits
    • Carsten Gräser's avatar
    • Carsten Gräser's avatar
      Avoid deprecated function base classes in tests · 163229a9
      Carsten Gräser authored
      To still test the deprecated `evaluate()` based interface,
      the functions passed to `interpolate()` just mimic the
      old behaviour without deriving from the old base classes.
      163229a9
    • Carsten Gräser's avatar
      Deprecate LocalFiniteElementFunctionBase · 662f23ec
      Carsten Gräser authored
      This class was needed to determine the base class to be used
      for functions passing to `interpolate()`. Now we can simple
      pass a callable object and type erasure in the virtual interface
      is done using `std::function`.
      Passing functions with the old interface providing an
      `evaluate(x,y)` method is still possible using a wrapper.
      
      To keep code using `LocalFiniteElementFunctionBase` working
      during its deprecation, it exports a dummy base class which
      is a look-a-like of the old `Dune::Function` base class.
      This allows to no longer rely on the deprecated `Dune::Function`
      class even during the deprecation period of
      `LocalFiniteElementFunctionBase`.
      662f23ec
  7. 10 Apr, 2020 7 commits
  8. 03 Apr, 2020 5 commits
    • Oliver Sander's avatar
      [!155] Fix buggy shape function for pyramids · 52b6f4e8
      Oliver Sander authored
      Merge branch 'lisa-shape-function-fix' into 'master'
      
      ref:core/dune-localfunctions\> One of the shape functions of the second-order
      Lagrange element for pyramids was implemented wrongly, and the derivative
      along with it. This went unnoticed for a long time, until it was noticed that
      the element was not able to represent constant functions.
      
      See merge request [!155]
      
        [!155]: gitlab.dune-project.org/core/dune-localfunctions/merge_requests/155
      52b6f4e8
    • Lisa Julia Nebel's avatar
      Fix buggy shape function for pyramids · 976bed34
      Lisa Julia Nebel authored
      One of the shape functions of the second-order Lagrange element for
      pyramids was implemented wrongly, and the derivative along with it.
      This went unnoticed for a long time, until I saw that the element
      was not able to represent constant functions.
      976bed34
    • Oliver Sander's avatar
      [!153] Improve testing Lagrange shape functions on pyramid elements · 18d3ebf3
      Oliver Sander authored
      Merge branch 'improve-pyramid-testing' into 'master'
      
      ref:core/dune-localfunctions\> This MR adds two new tests for Lagrange finite
      elements
      
      -   Testing the derivative even if it is only piecwise differentiable
      -   Testing whether all shape functions sum up to 1.
      
      See merge request [!153]
      
        [!153]: gitlab.dune-project.org/core/dune-localfunctions/merge_requests/153
      18d3ebf3
    • Oliver Sander's avatar
      Add test whether shape functions can represent constants · 8fc85469
      Oliver Sander authored
      This patch adds a new test that checks whether the functions space
      spanned by the shape functions includes the constant functions.
      This holds for all finite elements we currently implement.
      
      This test can be disabled by setting DisableRepresentConstants.
      
      The patch does disable the new test for the second order
      Lagrange finite elements on the pyramid element, because
      that one is apparently buggy.  A fix will come in a separate commit.
      8fc85469
    • Oliver Sander's avatar
      Allow to skip test points when testing derivatives · d4543eb1
      Oliver Sander authored
      There are finite element shape functions that are only piecewise
      differentiable.  One example are the Lagrange shape functions
      for pyramid elements, which are nondifferentiable on the plane
      where x[0]==x[1].  Previously, the derivative tests where skipped
      entirely for such elements.
      
      This patch adds the infrastructure to skip individual test points
      instead when testing derivatives.  This allows to test the
      derivates where they are defined.  The points to skip are
      specified by a predicate class that receives a point position
      in the reference element, and returns 'true' if that point
      is to be skipped.
      
      This patch also uses the new infrastructure to enable the tests
      for the derivatives of pyramidal Lagrange functions.
      d4543eb1
  9. 28 Mar, 2020 3 commits
  10. 17 Mar, 2020 1 commit
    • Jö Fahlke's avatar
      [!149] add using std::sqrt directives · 26d16689
      Jö Fahlke authored
      Merge branch 'add_using_std_sqrt_directives' into 'master'
      
      ref:core/dune-localfunctions\> This MR adds `using std::sqrt` directives. This
      is needed because Dune::sqrt is probably found before std::sqrt.
      
      See merge request [!149]
      
        [!149]: gitlab.dune-project.org/core/dune-localfunctions/merge_requests/149
      26d16689
  11. 16 Mar, 2020 1 commit
  12. 06 Jan, 2020 2 commits
  13. 22 Dec, 2019 1 commit
    • Christoph Grüninger's avatar
      [!105] [BDFM] implement BDFM cube finite elements · b070591f
      Christoph Grüninger authored
      Merge branch 'feature/bdfm-spaces' into 'master'
      
      ref:core/dune-localfunctions The coefficients and interpolation are
      implemented for arbitrary dimension (\>1) and order (\>0). The actual basis is
      only implemented for dim =2 and order=1,2,3.
      
      The basis was calculated with [base.py]
      
      ##### Note:
      
      this MR depends on [dune-common!471] for binomial(...)
      
      ##### Note to the interpolation:
      
      The unrank(...) algorithm and its inverse rank(...) (not implemeted here)
      might be better moved into [dune-common!471].
      
      The split into trace and interior interpolation is the interface that I
      actually need for my code.
      
      See merge request [!105]
      
        [base.py]: /uploads/79e53ef938abe294040b9fb4404d05f3/base.py
        [dune-common!471]: gitlab.dune-project.org/Nonedune-common/merge_requests/471
        [!105]: gitlab.dune-project.org/core/dune-localfunctions/merge_requests/105
      b070591f
  14. 20 Dec, 2019 8 commits