Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • D dune-typetree
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 5
    • Issues 5
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • staging
  • dune-typetree
  • Merge requests
  • !55

Add dynamic power nodes

  • Review changes

  • Download
  • Patches
  • Plain diff
Closed Santiago Ospina De Los Ríos requested to merge copasi/dune-typetree:feature/add-dynamic-power-nodes into master Aug 16, 2019
  • Overview 58
  • Commits 35
  • Pipelines 12
  • Changes 27

What does this MR do?

Adds a dynamic power node including most of the algorithms that traverse and transform trees. The main reason to have this features is because they can be useful for PDELab in order to have dynamic power grid function spaces. The particular case I am trying right now is for several components that are only known at run time.

  • Notice that with dynamic I refer to dynamic storage of them, defined at the construction of the node. Afterwards, the tree is immutable as its static counterparts.

  • Accumulate algorithms now use the hybrid tree path because it doesn't make sense to provide static paths to dynamic trees. -> Already implemented on !81 (merged) and similar issues that remove static path.

  • The tree info now is useful if one knows a priori that the complete tree is static, hence I added free functions for the node and leaf count that return constant expression integers when possible.

  • Added an interface for the dynamic visit of the children in addition to the static one. It allows for more fine-grained visitor implementation.

  • Example of use: https://gitlab.dune-project.org/santiago.ospina/dune-pdelab/commits/feature/add-dynamic-grid-function-spaces

Is there something that needs to be double checked?

  • The tests are not passing because of a const expresssions for older compilers. I tried with the hybrid ifElse but it didn't work. Any suggestion?
  • Are the test enough?
  • Can the change from static path to hybrid path in the accumulate algorithm affect someone? I hope no because it is ignored in most of the cases anyways.

Can this MR be accepted?

  • Implemented
  • Added test
  • Pipeline passing
  • Added entry to CHANGELOG.md

Related issues

#4 !86 !85 (merged)

Edited Jan 21, 2021 by Santiago Ospina De Los Ríos
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: feature/add-dynamic-power-nodes