Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
D
dorie
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 31
    • Issues 31
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 9
    • Merge Requests 9
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • dorie
  • dorie
  • Merge Requests
  • !144

Merged
Opened Mar 01, 2019 by Lukas Riedel@lriedel🛀Owner7 of 7 tasks completed7/7 tasks

Add model factory and reduce number of pre-compiled model instances

  • Overview 69
  • Commits 65
  • Pipelines 32
  • Changes 85

What does this MR do?

Use CPP definitions to compile a single executable for every combination of spatial dimension (DORIE_DIM), polynomial basis order of the Richards solver (DORIE_RORDER), and of the transport solver (DORIE_TORDER, currently only supports 0). Add CMake module DorieCompileInstance defining default targets, maximum orders, and a helper function. The executables are then found by the CLI, which parses the config file and assembles the correct executable name.

Add a ModelFactory for instantiating Richards and Transport models. The factory only serves as switch: The actual implementation of the models is hidden. The factory serves for checking if the config file settings match the compile-time settings. The model factory is most of what makes up the executables, and the library contains the model instances.

Still to-do

  • Apply adaptivity policy in model factories

Is there something that needs to be double checked?

  • Do we want to fix the warnings now? (Except for PDELab warnings in clang)

Can this MR be accepted?

  • Implemented ModelFactory
  • Updated docs
  • Pipeline passing
  • Make docker/dorie.dockerfile a two-stage Dockerfile for reduced image size and less problems with deleting left-over binaries
  • Added entry to CHANGELOG.md

Related issues

  • #76 (closed)
Edited Jul 10, 2019 by Lukas Riedel
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: dorie/dorie!144
Source branch: create-model-factory

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.