Skip to content

Conversation

lucass-carneiro
Copy link
Contributor

This pull request adds a new thorn called NoiseX for providing a unified and localized interface for adding noise to CarpetX grid functions. This thorn is useful for performing robust stability tests.

ADMBaseX already provides a mechanism for adding noise to ADM variables, but the current implemetation has a few issues:

  1. ADMBaseX can only add noise to its own variables.
  2. ADMBaseX provides no fine grained control over the type of noise being generated.
  3. ADMBaseX noise generation is not reproducible.
  4. There's a TODO in ADMBaseX which suggest delegating noise addition to a separate thorn

NoiseX allows users to choose between random (as it is done in ADMBaseX) or fixed and configurable noise seeds (for reproducibility). Furthermore it allows users to choose a noise engine for the actual generation of the pseudo-random numbers. Currently the default random engine (as used in ADMBaseX), Mersenne twister and sine wave generation engines are provided. This is done in hopes to improve user control over the numbers generated and allow for greater reproducibility.

This PR also modifies ADMBaseX for using NoiseX (thus providing an example usage) and the CI thorn list, adding NoiseX to the CI tests.

@lucass-carneiro lucass-carneiro added the enhancement New feature or request label Feb 15, 2025
@lucass-carneiro lucass-carneiro self-assigned this Feb 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant