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

Benchmark/scalar advection #44

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

HenningScheufler
Copy link
Collaborator

@HenningScheufler HenningScheufler commented Dec 30, 2024

Adds to new example scalarFoamAdvection and scalarNeoFoamAdvection

and a very unsophisticated benchmark for discussion and to try it out

The goal of NeoFOAM is to reduce the clockTime of solvers while ensuring the same results. The implementation of a Foam and NeoFOAM version side by side would enables us to understand the performance impact and also guides a way to a clean syntax

Features:

  • the CFL number is always on the CPU (preliminary solution turn it off)

This benchmarking is quite tedious and should be automated with snakemake to do quick parameter scans.

What are your thoughts about a benchmarking with this approach and automating the process as soon as possible?

@gregorweiss @greole @bevanwsjones

Note: The Serial and the OpenFOAM implementation of NeoFOAM show a similar performance

@HenningScheufler HenningScheufler added enhancement New feature or request discussion labels Dec 30, 2024
Comment on lines +5 to +11
#include "NeoFOAM/dsl/expression.hpp"
#include "NeoFOAM/dsl/solver.hpp"
#include "NeoFOAM/dsl/ddt.hpp"
#include "FoamAdapter/readers/foamDictionary.hpp"

#include "NeoFOAM/dsl/implicit.hpp"
#include "NeoFOAM/dsl/explicit.hpp"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#include "NeoFOAM/dsl/expression.hpp"
#include "NeoFOAM/dsl/solver.hpp"
#include "NeoFOAM/dsl/ddt.hpp"
#include "FoamAdapter/readers/foamDictionary.hpp"
#include "NeoFOAM/dsl/implicit.hpp"
#include "NeoFOAM/dsl/explicit.hpp"
#include "FoamAdapter/readers/foamDictionary.hpp"
#include "NeoFOAM/NeoFOAM.hpp"

@greole
Copy link
Contributor

greole commented Dec 30, 2024

This benchmarking is quite tedious and should be automated with snakemake to do quick parameter scans.

If there are no hard objections i would propose to use obr.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants