MHD development

From Einstein Toolkit Documentation
Jump to: navigation, search

MHD Discussions/Agenda

  • Pre-Release Points: Need a publishable version of MHD used for the paper
    • Need some addressing of Con2Prim for GRMHD pushed
    • Test cases from MHD paper examples (~0.5-1.5 minutes tops)
    • What place can we store SmoothedPuncture (Turduckening) function?
  • Paper updates and progress
  • Issues with current MHD methods
    • Con2Prim failures (GRHydro/GRMHD)
      • Save initial state in all Con2Prim routines, check results before overwriting
      • Pass ideal & acceptable tolerances, have end C2P tolerance GF
      • Hacks: if failures within horizon, just use initial prims and run prim2con
    • Divergence cleaning and mesh refinement
    • Combining constraint transport and divergence cleaning
  • New methods
    • Con2Prim Inversion -- Force-free
    • Vector Potential implementation

Con2Prim Inverter

  • add code to transition into force-free inversion (no force free evolution) if magnetic pressure starts to dominate gas pressure (done in SpEC, seems robust)

Vector Potential

Evolving the vector potential allows for better control of the B-field divergence and better behavior around a puncture. Evolving the vector potential is also better behaved surrounding puncture BHs.

Current State

This was partially implemented in the last development workshop, but removed again within the last year. Initial implementation had been of cell-centered vector potential, though we should now be able to support staggered grid vector potential.

The basic functions, scheduling, storage, and interface are ready to be committed. The remaining work is the brunt of the bookkeeping and physics. The work to be partitioned out is detailed below.

References: arXiv:1110.4633 for Lorenz gauge and arXiv:1007.2848 for Algebraic gauge

Basic organizational ideas for implementation:

  • A^\mu should live in HydroBase so initial data doesn't have to depend on GRHydro. Currently must live in GRHydro in order to keep development separate within Zelmani pre-release.
  • Allow HydroBase::initial_bvec to be "from Avec". Currently provided by GRHydro. Since it depends on where A resides on the cell, may want to keep this within GRHydro.

Coding Tasks

As this workshop will take place during the pre-release phase, this development should take place in Zelmani.

  • Source terms for A -- Use B^i from appropriate locations for A_i to be located as expected
  • Conversion from (Aphi,A_i) -> Bvec
  • Riemannsolver -- Support for A^mu (Lorenz gauge) or verified no-flux for algebraic gauge
  • New prolongation operator for A_i