1. 08 Jan, 2020 2 commits
  2. 20 Dec, 2019 1 commit
  3. 19 Dec, 2019 10 commits
    • Christoph Grüninger's avatar
      Bump to version 2.8 · b148ab5a
      Christoph Grüninger authored
      b148ab5a
    • Christoph Grüninger's avatar
      [!87] Add GeometryType::Id to allow using GeometryType as a template parameter · 69e5fd19
      Christoph Grüninger authored
      Merge branch 'feature/add-geometrytype-id' into 'master'
      
      ref:core/dune-geometry After thinking about what I proposed in [#17], I
      realized that an index is probably not the right idea of thinking about this.
      Instead, we can just do a 1-to-1 mapping of GeometryType to a canonical id, as
      GeometryType itself is just a 8 byte struct that stores three integral values.
      
      I've nested the id within GeometryType as GeometryType::Id here and added
      implicit conversions between the two. The id type is a scoped enum to avoid
      any future nastiness with implicit conversions to other integral types.
      
      With this merge request, you can have a template with a GeometryType parameter
      with just a tiny bit of overhead on the implementor's side:
      
          // note the additional "::Id"
          template<GeometryType::Id gt_>
          class Foo
          {
            // reconstruct the GeometryType
            static constexpr GeometryType gt = gt_;
          };
      
      For the user, it looks like they can just plug in a GeometryType:
      
          Foo<GeometryTypes::triangle> foo;
      
      This solves a major 2.6 headache in PDELab (see [#17],
      [pdelab/dune-pdelab#102]), so I'd really like this to go into 2.6.
      
      Closes [#17].
      
      See merge request [!87]
      
        [#17]: gitlab.dune-project.org/NoneNone/issues/17
        [pdelab/dune-pdelab#102]: gitlab.dune-project.org/pdelab/dune-pdelab/issues/102
        [!87]: gitlab.dune-project.org/core/dune-geometry/merge_requests/87
      
      
      Closes #17
      69e5fd19
    • Steffen Müthing's avatar
      [tests] Add a test for GeometryType::Id · 04302751
      Steffen Müthing authored
      04302751
    • Steffen Müthing's avatar
      [GeometryType] Add an integral GeometryType::Id type for use as a template parameter · 95163647
      Steffen Müthing authored
      While GeometryType is constexpr and can thus be used in a lot of compile time contexts, C++ does not
      allow us to declare a template parameter of type GeometryType, as the standard only allows data
      types that directly map to a built-in integral type for this purpose.
      
      On the other hand, GeometryType itself is just a simple 64 bit struct that stores a few integral
      values, so we can easily map it to an integral type.
      
      This patch does just that by adding an opaque nested type GeometryType::Id that is implemented as a
      scoped enum as well as implicit conversions between GeometryType and GeometryType::Id. By using a
      scoped enum, we clearly tag the type as something which is not a normal number, because C++ requires
      explicit conversion between scoped enums and other integral types.
      
      The storage layout of the id is chosen identical to that of GeometryType, making conversion between
      the two almost free.
      
      When writing a template with a GeometryType parameter, just use the id instead and convert it back
      into a GeometryType inside the template:
      
      template<GeometryType::Id gt_>
      class Foo
      {
        static constexpr GeometryType gt = gt_;
      };
      95163647
    • Christoph Grüninger's avatar
      [!125] Fix bug pointed out in issue #23. · 38586f59
      Christoph Grüninger authored
      Merge branch 'bugfix/multilin-geom' into 'master'
      
      ref:core/dune-geometry This MR is simply setup to trigger the problem pointed
      out in issue [#23].
      
      See merge request [!125]
      
        [#23]: gitlab.dune-project.org/NoneNone/issues/23
        [!125]: gitlab.dune-project.org/core/dune-geometry/merge_requests/125
      38586f59
    • Robert K's avatar
      [bgufix][MultiLinearGeometry/AffineGeometry] Make checkInside work for · f2c5d2e4
      Robert K authored
      quads when point is outside of geometry, e.g. by dealing with the singular matrices.
      f2c5d2e4
    • Robert K's avatar
      [bug][AffineGeometry] Trigger assertion for AffineGeometry when testing · 90ba1a35
      Robert K authored
      a point that is outside of quad.
      90ba1a35
    • Robert K's avatar
      [bugfix][MultiLinearGeometry] Fix local method for linear geometry · 105d24ea
      Robert K authored
      mappings, i.e. break Newton Loop after one iteration.
      105d24ea
    • Christoph Grüninger's avatar
      [!131] [bugfix] calculation of numTopologies was wrong for dim<0 · de4c5e6c
      Christoph Grüninger authored
      Merge branch 'fix-negative-dim' into 'master'
      
      ref:core/dune-geometry as the reference elements are used in generic code, the
      situation can happen, that one tries to access a reference-element of dim-1
      (i.e. faces) for a 0d object. This would result in a reference-element for
      dim=-1, which has no topolgies. We fix this explicitly by checking the
      dim\>=0.
      
      See merge request [!131]
      
        [!131]: gitlab.dune-project.org/core/dune-geometry/merge_requests/131
      de4c5e6c
    • Christian Engwer's avatar
      [bugfix] calculation of numTopologies was wrong for dim<0 · eb447485
      Christian Engwer authored
      as the reference elements are used in generic code, the situation can
      happen, that one tries to access a reference-element of dim-1
      (i.e. faces) for a 0d object. This would result in a reference-element
      for dim=-1, which has no topolgies. We fix this explicitly by checking
      the dim>=0.
      eb447485
  4. 21 Oct, 2019 2 commits
  5. 19 Oct, 2019 1 commit
  6. 18 Oct, 2019 1 commit
  7. 17 Oct, 2019 5 commits
  8. 16 Oct, 2019 1 commit
    • Henrik Stolzmann's avatar
      Added a new quadraturetype. · 2215e4b4
      Henrik Stolzmann authored
      `GaussJacobi_n_0` is a quadrature type that respects the weight function resulting from conical product.
      The rules use already existing quadrature rules compatible with various types
      and if the desired order or dimension is too high new rules are computed on demand.
      This case requires `LAPACK` and a floating point number type.
      
      The rules currently have an arbitrary "maximal" order of 127. This upper limit is imposed by technical issues.
      2215e4b4
  9. 03 Sep, 2019 2 commits
    • Oliver Sander's avatar
      [!126] Make tolerances in checkGeometry depending on ctype · f2d76472
      Oliver Sander authored
      Merge branch 'issue/check_geometry_tolerances' into 'master'
      
      ref:core/dune-geometry
      
      ### Summary
      
      Replaces fixed tolerances 1.e-8 with ctype dependent tolerance
      
      ### Details
      
      Tests with geometries using float as ctype may fail to reach the desired fixed
      tolerance 1.e-8. This is corrected by using the
      tolerance=sqrt(numeric_limits<ctype>::epsilon()) value. This value gives
      approximately
      
      -   `tolerance<double> = 1.5e-8` and
      -   `tolerance<float> = 3.5e-4`
      
      and thus previous test runs with ctype=double should also pass the test with
      this change.
      
      See merge request [!126]
      
        [!126]: gitlab.dune-project.org/core/dune-geometry/merge_requests/126
      f2d76472
    • Simon Praetorius's avatar
      b8d9e5f5
  10. 19 Jun, 2019 2 commits
    • Ansgar Burchardt's avatar
      [!124] remove unused local variable `v` · acb8e429
      Ansgar Burchardt authored
      Merge branch 'remove-unused-variable-v' into 'master'
      
      ref:core/dune-geometry This addresses the following warning from GCC 9:
      
          dune-geometry/dune/geometry/refinement/simplex.cc:741:21:
          warning: unused variable ‘v’ [-Wunused-variable]
      
      See merge request [!124]
      
        [!124]: gitlab.dune-project.org/core/dune-geometry/merge_requests/124
      acb8e429
    • Ansgar Burchardt's avatar
      remove unused local variable `v` · f68b8a6d
      Ansgar Burchardt authored
      This addresses the following warning from GCC 9:
      
          dune-geometry/dune/geometry/refinement/simplex.cc:741:21:
          warning: unused variable ‘v’ [-Wunused-variable]
      f68b8a6d
  11. 01 Jun, 2019 4 commits
  12. 19 Mar, 2019 2 commits
  13. 06 Mar, 2019 1 commit
    • Oliver Sander's avatar
      [!121] Do not use SimplexTopology et al to get topology ids · 620f98de
      Oliver Sander authored
      Merge branch 'do-not-use-simplextopology' into 'master'
      
      ref:core/dune-geometry The GeometryType::id() method works just as well, is
      easier to understand, and less stressful for the compiler.
      
      See merge request [!121]
      
        [!121]: gitlab.dune-project.org/core/dune-geometry/merge_requests/121
      620f98de
  14. 05 Mar, 2019 1 commit
  15. 14 Jan, 2019 2 commits
  16. 17 Dec, 2018 2 commits
    • Jö Fahlke's avatar
      [!119] Narrow compiler/options for skipping testcornerstoragerefwrap · 253af83f
      Jö Fahlke authored
      Merge branch 'narrow-testskip-to-bad-config' into 'master'
      
      ref:core/dune-geometry We now only skip if
      
      -   The compiler is gcc 8.2.\*
      -   The compile options include -ftree-loop-vectorize (possibly implicitly due
          to -O3)
      
      We also complain loudly during cmake configure run, as this issue might
      miscompile other code than just the test.
      
      Closes: [#19], [#21]
      
      See merge request [!119]
      
        [#19]: gitlab.dune-project.org/NoneNone/issues/19
        [#21]: gitlab.dune-project.org/NoneNone/issues/21
        [!119]: gitlab.dune-project.org/core/dune-geometry/merge_requests/119
      
      
      Closes #19 and #21
      253af83f
    • Jö Fahlke's avatar
      Consider build-type when checking for bad optimization options · 0d09c4b0
      Jö Fahlke authored
      For single build-type generators such as unix make files check
      CMAKE_CXX_FLAGS_<CONFIG> in addition CMAKE_CXX_FLAGS.  This is equivalent to
      just CMAKE_CXX_FLAGS if not build-type is selected.  For multi-configuration
      generators, check each configuration, and skip the test is any of them is bad.
      
      I'd like to skip it only for the bad configs, but that would require generator
      expression support in dune_add_test(CMAKE_GUARD ...).
      0d09c4b0
  17. 14 Dec, 2018 1 commit