Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
ExaHyPE-Engine
ExaHyPE-Engine
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 68
    • Issues 68
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards

11.3.2021, 9:00 - 11:00: Due to updates GitLab may be unavailable for some minutes between 09:00 and 11:00.

  • ExaHyPE
  • ExaHyPE-EngineExaHyPE-Engine
  • Issues
  • #153

Closed
Open
Opened Jun 07, 2017 by Sven Köppel@svenkOwner

Constants in specfiles

I have too much constants that a specfile syntax

  solver Limiting-ADER-DG GRMHDSolver
    variables const                = rho:1,vel:3,E:1,B:3,psi:1,lapse:1,shift:3,gij:6
    order const                    = 4
    maximum-mesh-size              = 6.0009
    maximum-mesh-depth             = 0
    time-stepping                  = global
    kernel const                   = generic::fluxes::nonlinear
    language const                 = C
    constants                      = initial_data:tovstar,boundary_x_lower:reflective,boundary_y_lower:reflective,boundary_z_upper:outgoing,tovstar-mass:1.234,tovstar-rl-ratio:2.345

would make sense. Tobias thinks in such a case a user would do something like

  solver Limiting-ADER-DG GRMHDSolver
    variables const                = rho:1,vel:3,E:1,B:3,psi:1,lapse:1,shift:3,gij:6
    order const                    = 4
    maximum-mesh-size              = 6.0009
    maximum-mesh-depth             = 0
    time-stepping                  = global
    kernel const                   = generic::fluxes::nonlinear
    language const                 = C
    constants                      = configuration-file:foobar.txt

and outsource the configuration in a language the user likes. However, this breaks with the idea of a single specfile for a single run. Therefore, I see two options

Add a DATA section after the specfile

This is what many script languages do, for instance perl (the DATA syntax in perl). The idea is just that the parsers ignore what goes after the end of the specfile (ie. the line containing end exahype-project). Users could dump there any content in their favourite language. I would vote for this as it is super easy to implement, allows file concatenation and flexibility.

Allow user constant section

We could also just allow users to do something like

  solver Limiting-ADER-DG GRMHDSolver
    variables const                = rho:1,vel:3,E:1,B:3,psi:1,lapse:1,shift:3,gij:6
    order const                    = 4
    maximum-mesh-size              = 6.0009
    maximum-mesh-depth             = 0
    time-stepping                  = global
    kernel const                   = generic::fluxes::nonlinear
    language const                 = C
    constants                      = parameters:appended

    limiter-kernel const           = generic::musclhancock 
    limiter-language const         = C
    dmp-observables                = 2
    dmp-relaxation-parameter       = 1e-2 
    dmp-difference-scaling         = 1e-3 
    steps-till-cured               = 0

    simulation-parameters
      foo = bar
      baz = bar
      blo = bar
      blu = bar
      etc.
    end simulation-parameters

    plot vtk::Cartesian::vertices::limited::binary ConservedWriter
      variables const = 19
      time      = 0.0
      repeat    = 0.00166667
      output    = ./vtk-output/conserved
    end plot
...

This would go well with the specfile syntax. In order to implement, we need

  • Such a section with any key-value pairs added to the grammar, so the toolkit does not complain
  • Support in the Parser.cpp (which is not too hard to add)
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: exahype/ExaHyPE-Engine#153