Add GiRaFFE to the Einstein Toolkit

Issue #2064 open
Zach Etienne created an issue

We (the authors of GiRaFFE) hereby request that GiRaFFE be added to the Einstein Toolkit. In short, GiRaFFE is the first open source, dynamical-spacetime code for modeling plasma flows in general relativistic force-free electrodynamics (GRFFE). It will be the best code in the Toolkit for modeling black hole and neutron star magnetospheres, as these magnetically-dominated regions are best modeled numerically by a GRFFE code (GRMHD codes break down when modeling very highly magnetized plasmas).

Here is the commit ID for code reviewer comments: https://bitbucket.org/zach_etienne/wvuthorns/commits/ca2aab4ac66b404cddc6a3216e631ee916a5fe8d?at=master

Here is the original release announcement to the mailing list, including link to the code release paper:

We are pleased to announce the public release of GiRaFFE, an open-source General Relativistic Force-Free Electrodynamics (GRFFE) code for dynamical spacetimes.

-= Code Release Paper =- Our code release paper--including a full description of the GiRaFFE code, a discussion of potential applications of GiRaFFE, and code validation test results--has been uploaded to the arXiv: https://arxiv.org/abs/1704.00599 .

-= Executive Summary =- GiRaFFE adopts the strategy pioneered by McKinney [1] and modified by Paschalidis and Shapiro [2] to convert a general relativistic magnetohydrodynamic (GRMHD) code into a GRFFE code. In short, GiRaFFE exists as an extensive modification to IllinoisGRMHD [3]. Both GiRaFFE and IllinoisGRMHD leverage the Einstein Toolkit’s highly-scalable infrastructure [4,5] to make possible large-scale simulations of magnetized plasmas in strong, dynamical spacetimes on adaptive-mesh refinement (AMR) grids.

As you are aware, IllinoisGRMHD is an open-source rewrite of the Illinois Numerical Relativity Group's GRMHD code. GiRaFFE, on the other hand, is not based on any existing GRFFE code and is designed only to solve the equations of GRFFE in the context of fixed or dynamically-generated spacetimes. GiRaFFE has passed a large suite of GRFFE code validation tests passed by other state-of-the-art GRFFE codes, leading us to conclude that GiRaFFE is now ready for large-scale, state-of-the-art GRFFE simulations in dynamical spacetimes.

-= New Thorns for the Einstein Toolkit =- All GiRaFFE thorns are listed below. Next to the name of each thorn, we include the number of lines of code to highlight the fact that GiRaFFE is quite compact and designed to be welcoming to new users. In addition, the comment-to-line-of-code ratio is very nearly 50%, and the code release paper provides a clean, broad-brush overview of the formalism and algorithms adopted. To become acquainted with any given thorn, first take a look at its README file.

  • GiRaFFE (~1,600 lines of code): Solves the GRFFE equations in the formalism of Paschalidis & Shapiro [2] using the same reconstruction (PPM) and staggered vector potential methods as IllinoisGRMHD.

  • GiRaFFEfood (~1,300 lines of code): Code validation initial data and basic diagnostics. Contains Five 1D tests in flat spacetime (fast wave, Alfvén wave, degenerate Alfvén wave, "three-wave", FFE breakdown), One 3D test in flat spacetime (aligned rotator), and Three 3D tests in curved spacetimes ("Exact Wald" solution, "Magnetospheric Wald" solution, and split monopole).

  • ShiftedKerrSchild (~230 lines of code): Sets up all 3+1 quantities for a Kerr-Schild spacetime with an arbitrary radial shift, to mitigate effects of extreme spacetime curvature near r_{KS}=0. See Appendix of code release paper for full discussion.

  • VolumeIntegrals_slab_Gfood (~310 lines of code): Performs volume integrals over arbitrary rectangular prisms as specified in parameter files.

  • GiRaFFE_to_HydroBase & ID_converter_GiRaFFE (~230 lines of code): Acts as a translation layer to convert 3-velocities in HydroBase's Valencia formalism to/from the 3-velocity found in the induction equation (v^i = u^i/u^0; native to GiRaFFE).

-= License =- To maximize compatibility with existing thorns in ET, all of the aforementioned GiRaFFE thorns are either licensed GPLv2+ or 2-clause BSD (FreeBSD). See LICENSE file in each.

-= Download GiRaFFE! =- The collection of thorns comprising GiRaFFE may be downloaded here: https://bitbucket.org/zach_etienne/wvuthorns

Sincerely,

The GiRaFFE team

-Zach Etienne -Mew-Bing Wan -Maria Babiuc -Sean McWilliams -Ashok Choudhary

References: [1] J.C. McKinney. Mon. Not. R. Astron. Soc., 367:1797, 2006. [2] V. Paschalidis and S. L. Shapiro. Phys. Rev. D, 88:104031, 2013. [3] Z. B. Etienne, V. Paschalidis, R. Haas, P. M¨osta, and S. L. Shapiro. Class. Quantum Grav., 32(17):175009, 2015. [4] https://einsteintoolkit.org/ [5] https://carpetcode.org/

Keyword: GiRaFFE,
Keyword: GRFFE,
Keyword: IllinoisGRMHD

Comments (11)

  1. Ian Hinder

    Unfortunately, the code is not yet reviewed, so we have to bump it to the next release. We will try very hard to get this reviewed shortly after the release, added to master, and then included in the next release.

  2. Roland Haas
    • removed comment

    This is taking me a very long time to review, sorry. I think I will try and see if I can review just the differences to IllinosGRMHD (which has already been reviewed).

  3. Roland Haas
    • removed comment

    I added a diff of IllinoisGRMHD to GiRaFFE comparing either files of the same name (small changes only indeed) or names that are similar but one contains GRFFE in it (larger changes), and excluding the TeX documentation and README files. That brings the diff down to ~3200 lines.

  4. Roland Haas
    • changed status to open
    • removed comment

    Done with review of GiRaFFE proper, no "Please apply" since there are too many (small) issues that should at least be looked at. Nothing that I can point a finger at as being definitely wrong, though in some places comments and code contradict each other.

  5. Roland Haas
    • removed comment

    This was discussed in today's ET call and Roland has no objections about including GiRaFFE, GiRaFFE_food, ID_converter_GiRaFFE

  6. Zach Etienne reporter
    • removed comment

    GiRaFFE_to_HydroBase and ShiftedKerrSchild are also required thorns. The former populates HydroBase variables based on GiRaFFE variables -- needed for certain diagnostics. The latter is needed by GiRaFFEfood.

  7. anonymous
    • removed comment

    No objections against those two either (though I think some may be missing explicit documentation in their .tex files).

  8. Log in to comment