Skip to content
Snippets Groups Projects
  1. Apr 03, 2020
  2. Mar 30, 2020
  3. Mar 27, 2020
  4. Mar 17, 2020
  5. Mar 16, 2020
  6. Mar 13, 2020
  7. Feb 23, 2020
  8. Feb 22, 2020
  9. Feb 20, 2020
  10. Feb 16, 2020
  11. Jan 26, 2020
  12. Jan 08, 2020
  13. Dec 20, 2019
  14. Dec 19, 2019
    • 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 and Christoph Grüninger's avatar Christoph Grüninger committed
      04302751
    • Steffen Müthing's avatar
      [GeometryType] Add an integral GeometryType::Id type for use as a template parameter · 95163647
      Steffen Müthing authored and Christoph Grüninger's avatar Christoph Grüninger committed
      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 and Christoph Grüninger's avatar Christoph Grüninger committed
      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 and Christoph Grüninger's avatar Christoph Grüninger committed
      a point that is outside of quad.
      90ba1a35
    • Robert K's avatar
      [bugfix][MultiLinearGeometry] Fix local method for linear geometry · 105d24ea
      Robert K authored and Christoph Grüninger's avatar Christoph Grüninger committed
      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
  15. Oct 21, 2019
  16. Oct 19, 2019
Loading