#2299: Proposal: Add BaikalETK to the Toolkit
Reporter:Zach Etienne
Status:new
Milestone:
Version:
Type:enhancement
Priority:major
Component:

Changes (by Zach Etienne):

BaikalETK is an open-source NRPy+-based BSSN thorn, which has been demonstrated to yield excellent agreement with ML_BSSN when evolving BBHs and BNSs, and in certain cases (e.g., ADM mass volume integral over entire grid vs time in a pre-merged BNS simulation) better results than ML_BSSN.

BaikalETK is BSD 2-clause open-source licensed and available in the NRPy+ github page (https://github.com/zachetienne/nrpytutorial). One can browse its source code & documentation with nbviewer: https://nbviewer.jupyter.org/github/zachetienne/nrpytutorial/blob/master/Tutorial-BaikalETK.ipynb

BaikalETK has the following neat features:

  1. The core BSSN kernel is generated by NRPy+/SymPy, which is entirely free and open source, just like BaikalETK. According to benchmarks by Erik, BaikalETK runs more than 10% faster than the Kranc/Mathematica -generated ML_BSSN currently part of the Toolkit. Work is ongoing to improve BaikalETK's performance even more.
  2. It is documented in a Jupyter notebook, which itself is linked to other Jupyter notebooks that document the BSSN formalism & gauge choices.
  3. It can be generated by either running the aforementioned Jupyter notebook or just importing a Python module within NRPy+. The Jupyter notebook contains a self-validation test that will fail if the Python module is updated without a corresponding update to the Jupyter notebook.
  4. Its scheduling and general structure are closely ba

    --
    Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2299/proposal-add-baikaletk-to-the-toolkit