trixi-framework / trixi-framework/Trixi.jl

Bang&Olufson Testing

Open
#312 1 comment 0 reactions 0 assignees View on GitHub
enhancement testing
Dominant language
Julia
Stars
731
Forks
166
Avg merge
2d 18h
Merged PRs (30d)
25

Description

Include a new Trixi functionality, similar to the `convergence_test` functionality, that tests the influence of noise on the initial condition.

The idea is to see how robust the full simulation is towards added noise to the initial conditions. Hence, as a parameter, we need to input the amplitude of the noise. With a noise of amplitude 1E-15 added to the initial condition, we expect (about) machine precision difference after O(1000) time steps.

We have observed, e.g. in 1D for the sedov blast with shock capturing and AMR, that this behaviour is only true for relative small CFL numbers. While a computation can be "stable" and reach the final simulation time with a higher CFL number, the B&O test reveals, that small differences with amplitude of 1E-15 get amplified by a factor of a million in about 1000 time steps.

In summary, it would be great to have the functionality that an existing elixir can be run through the B&O test, where the amplitude of the noise is a parameter, where the number of variables tested is a parameter, where then the noise is automatically added to the chosen quantities in the initial condition, and where two simulations are run: one with the noise and one without the noise and L2, Linf errors are compared to each other automatically.

Contributor guide

Open the contributing guide

Research direction

Start by examining the existing `convergence_test` functionality and how an existing elixir is run. The requested result is a configurable noise amplitude and variable count, two simulations with and without perturbed initial conditions, and automatic L2 and Linf error comparisons.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.