Samurai

The main goal of samurai is to provide a new data structure based on intervals and algebra of sets to handle efficiently adaptive mesh refinement methods based on a cartesian grid. Such an approach has to be versatile enough to handle both AMR and multi-resolution methods.

1. Criteria Evaluation

1.1. Packaging

Software should be packaged (preferably using Spack or Guix package formats) and published in public repositories.

  • Packages exist

  • Available in Spack

  • Available in Guix-HPC

  • Docker image available

  • Apptainer/Singularity available

  • Spack: github.com/spack/spack

1.2. Testing & CI/CD

Software should include validation tests triggered through automated mechanisms.

  • Unit tests exist

  • Continuous Integration configured

  • CI runs on each release

  • Benchmarking tests exist

1.3. Repository & Contributions

  • Public source repository available

  • Supports contributions via pull requests

1.4. License

Sources should be published under a clearly-identified free software license.

  • License clearly stated

  • FLOSS license (FSF/OSI conformant)

  • SPDX identifiers used

  • REUSE compliant

  • BSD

1.5. Documentation

  • Documentation exists

  • Easily browsable online

1.6. API Compatibility

  • API changes documented

  • Semantic versioning used

  • Release policy defined

2. Work Packages

This framework is involved in the following work packages:

2.1. WP1

Topics: mesh adaptation Benchmarked in this WP

3. Technical Details

Languages: C, C17, C++20

Parallelism: MPI, Multithread

Data Formats: HDF5

Resilience: Checkpoint restart

4. Partners

Lead Partner: CEA, IPP

Consortium: IP Paris