Skip to content
Snippets Groups Projects
  1. Apr 03, 2025
  2. Mar 30, 2025
    • Oliver Sander's avatar
      Inform Python users of pending change of default 'layout' parameter · e618b291
      Oliver Sander authored
      Using `functions.Power` in Python to construct function space
      basis trees without an explicit `layout` argument will now
      issue a warning. This warning informs that the default value
      will change from `lexicographic` to `interleaved` after the
      2.11 release. This change will bring the defaults in line with
      what the C++ interface does.
      e618b291
  3. Mar 29, 2025
    • Oliver Sander's avatar
      Inform users of pending change of default index merging strategies · 15fa760a
      Oliver Sander authored
      Using the methods `power` or `composite` to construct function space
      basis trees without an explicit index merging strategy argument
      will now issue a warning. This warning informs that the default
      index merging strategy will change after the 2.11 release.
      More specifically, it will change from `BlockedLexicographic`
      to `FlatLexicographic` for the `composite` method, and from
      `BlockedInterleaved` to `FlatInterleaved` for the `power` method.
      The consequence is that default indexing is always flat,
      which is the most common form of indexing.
      
      To ensure a smooth transition we suggest to not rely on default
      index merging strategies until 2.11 has been released.
      15fa760a
  4. Mar 25, 2025
    • Carsten Gräser's avatar
      Merge branch 'feature/avoid-applytotree' into 'master' · 2f0e6faf
      Carsten Gräser authored
      Improve setup of generic node information (and avoid applyToTree)
      
      See merge request !528
      2f0e6faf
    • Carsten Gräser's avatar
      Improve setup of generic node information · ab883554
      Carsten Gräser authored
      The node header contained three visitors for
      * initially setting the tree indices,
      * binding the tree,
      * and clearing the node size information.
      
      The latter is removed because it was undocumented
      and unused for years. The one for setting the tree
      indices is replaced by a call to `forEachNode()`.
      Binding of the tree is now handled recursively
      by adding a `bind(element)` method to inner nodes, too,
      which calls bind for its children and sets their offsets.
      This way one can hook in the mechanism as follows:
      
      It is possible to derive from one of the inner node
      classes and overwrite the `bind(element)` method.
      In cases where it is known in advance that a child
      has size zero (e.g. for a multi-domain grid view)
      this allows to skip the costly bind operation for
      the children.
      ab883554
    • Carsten Gräser's avatar
      Merge branch 'cleanup/remove-deprecated-in-2.10' into 'master' · 531201e3
      Carsten Gräser authored
      [cleanup] Remove stuff deprecated in 2.10
      
      See merge request !527
      531201e3
  5. Mar 24, 2025
  6. Mar 20, 2025
  7. Mar 17, 2025
  8. Mar 11, 2025
  9. Mar 10, 2025
  10. Mar 05, 2025
    • Carsten Gräser's avatar
    • Carsten Gräser's avatar
      [doc] Add change log entry · e93a2e2a
      Carsten Gräser authored
      Mention `CoarseFunctionOnFineGridView`, FineFunctionOnCoarseGridView`
      and `GeometryInAncestor` in change log.
      e93a2e2a
    • Carsten Gräser's avatar
    • Carsten Gräser's avatar
    • Carsten Gräser's avatar
    • Carsten Gräser's avatar
      Rename coarse/fine grid view function wrappers · 995d61e9
      Carsten Gräser authored
      Rename:
      * `FineGridViewFunction` -> `FineFunctionOnCoarseGridView`
      * `CoarseGridViewFunction` -> `CoarseFunctionOnFineGridView`
      995d61e9
    • Carsten Gräser's avatar
      [test] Add test of coarse/fine grid function wrappers · 34d5ae66
      Carsten Gräser authored
      The test functions after mapping between gridviews several
      type for different grid types in 2d and 3d.
      34d5ae66
    • Carsten Gräser's avatar
      Traverse to closest child in FindGridViewFunction · 117fd465
      Carsten Gräser authored
      This implements a helper functions for the l1-distance
      to a `ReferenceElement` and uses it to traverse to
      the child closest to the evaluation point.
      117fd465
    • Carsten Gräser's avatar
      Add utility class FineGridViewFunction · 3f19be39
      Carsten Gräser authored
      Assume that for a given `gridView` the function
      `f` is a `GridFunction` defined on some entity
      set of the same grid which is finer than the
      `gridView` in the sense that each element in the
      `gridView` is covered by (not necessarily direct)
      descendent elements `e` satisfying `f.entitySet().contains(e)`.
      Then this utility allows to represent `f` as
      a `GridViewFunction` on the `gridView` using
      
      ```cpp
      auto fgvf = FineGridViewFunction(f, gridView);
      ```
      
      When bound to an element `e` from the `gridView`
      and evaluated locally at some point `x`,
      this internally searches for a descendet element
      in `f.entitySet()` that contains `x` and
      translates local coordinates.
      3f19be39
    • Carsten Gräser's avatar
      Add utility class CoarseGridViewFunction · aff14ee6
      Carsten Gräser authored
      Assume that for a given `gridView` the function
      `f` is a `GridFunction` defined on some entity
      set of the same grid which is coarser than the
      `gridView` in the sense that each element in the
      `gridView` has an ancestor `e` satisfying
      `f.entitySet().contains(e)`.
      Then this utility allows to represent `f` as
      a `GridViewFunction` on the `gridView` using
      
      ```cpp
      auto cgvf = CoarseGridViewFunction(f, gridView);
      ```
      
      When bound to an element from the `gridView`,
      this internally searches for an ancestor where
      `f` is defined and translates local coordinates.
      aff14ee6
    • Carsten Gräser's avatar
      Add utility GeometryInAncestor · cd49608d
      Carsten Gräser authored
      This class represents the geometric embedding
      of an element into an acestor by chaining
      `geometryInFather()` objects. This information
      is computed from a given fine element and a
      predicate. The tranversal towards the ancestors
      stops at the first element where the predicate
      is not satisfied. This element is considered
      as coarse element.
      
      While an alternative interface where the coarse
      element is the last one satisfyin the predicate
      seems to be simpler at first, the one proposed
      here is nicer for several reasons:
      
      * If the element range only consists of elements
        satisfying the predicate, we may end up with
        an empty range if the starting element does not
        satisfy it. With the proposed aproach we end up
        with the identity on the fine element.
      * There are several applications where the proposed
        interface is very natural, e.g. traversing towards
        the first element that persists after refinement.
      * A criterion that first needs to obtain an ancestor
        before it can be decided if it should be included
        is more expensive.
      cd49608d
    • Simon Praetorius's avatar
      Merge branch 'cleanup/cmake-include-directories-to-library-target' into 'master' · 4c455293
      Simon Praetorius authored
      Add include directories to library target
      
      See merge request !512
      4c455293
Loading