Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NeoFOAM workflow #227

Open
greole opened this issue Jan 2, 2025 · 1 comment
Open

NeoFOAM workflow #227

greole opened this issue Jan 2, 2025 · 1 comment
Labels
discussion planning issues which are needed to structure our roadmap
Milestone

Comments

@greole
Copy link
Contributor

greole commented Jan 2, 2025

This issue is intended for the discussion and planning of a NeoFOAM workflow. Here, workflow means how to execute simulations and parameter studies. This would be useful for a continuous benchmarking setup. We have several options:

  • snakeMake
  • obr (maybe rename obr to a better name)
  • ...

@HenningScheufler and I agreed on having a python based approach since the data analysis ecosystem is very exetensive.

Ideally one can have a yaml/json file which encodes a workflow/ parameterstudy. In the case of obr it would look like

case:
    type: CaseOnDisk # other options can be gitrepo, tutorialcase
    solver: pimpleFoam
    origin: ${{yaml.location}}/../basicSetup
variation:
    - operation: fvSolution
      schema: "linear_solver/{solver}{preconditioner}{executor}"
      values: # several other options exists to define parameter sweeps, akin to generator expressions
        - set: solvers/p
          preconditioner: none
          solver: GKOCG
          forceHostBuffer: 1
          verbose: 1
          executor: ${{env.GINKGO_EXECUTOR}}
        - set: solvers/p
          preconditioner: IC
          solver: GKOCG
          forceHostBuffer: 1
          verbose: 1
          executor: ${{env.GINKGO_EXECUTOR}}
@greole greole added discussion planning issues which are needed to structure our roadmap labels Jan 2, 2025
@greole greole added this to the 0.2 Release milestone Jan 2, 2025
@bevanwsjones
Copy link
Collaborator

I agree that Python + yaml is a very good lang + config file system to work with. I looked into snakeMake previously and it is cool, but I find the mixing of languages etc made it a big meh. Could be a skill thing though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion planning issues which are needed to structure our roadmap
Projects
Development

No branches or pull requests

2 participants