[Users] MHD plans

Christian D. Ott cott at tapir.caltech.edu
Mon Jun 7 10:55:54 CDT 2010


Dear All,

Scott Noble and I wrote up some notes on MHD development in GRHydro.
This is the basis of the discussion currently going on on the ET phone
call.

 - Christian 


--------------------------

We propose the following strategy for
implementing GRMHD in EinsteinEvolve/GRHydro:

*  Follow the formalism laid out in Anton et al. 2006,
   i.e., the Valencia formulation of GRMHD. 

Key components to implement / technical challenges will be:
   (a) Con2Prim
   (b) GRMHD Riemann problem
   (c) Constrained transport
   (d) Recovery procedure for handling unphysical/intractable updates 
   (e) GRMHD with AMR, refluxing and all.

Logical Steps:

(I) Initially, focus on unigrid; no AMR. Do AMR in a second step. Get
    basic formalism working with a GRMHD Con2Prim scheme, TVD
    reconstruction, HLL Riemann solver, constrained transport.

(II) Extend to AMR.


Concrete steps in (I):

(1) Define comoving magnetic field b^a in GRHydro as
    one 3D scalar and one 3D vector GF (b0 and b^i).

(2) Implement (in its own routine) a Con2Prim routine for
    GRMHD based on routine(s) used in Scott Noble's HARM3D code.
    This will use the old EOS interface and will be tested
    with polytropes (no special routine for polytropes, though)
    and gamma-law EOS. Perform Con2Prim tests.

(3) Implement Prim2Con, reconstruction (add calls), 
    GRMHD Riemann problem, and update of the magnetic field
    variables (via MoL). Implement divergence check; run code
    to see how div B grows in test problems.  Initial data 
    routines to setup test problems (e.g. those in Gammie++ 2003)
    will be written.

(4) Implement constrained transport on unigrid.  Initial strategy 
    will be to use the FluxCT algorithm (with parabolic EMF
    reconstruction) as in HARM3D and the lower-order version 
    as in the original HARM code.  Future plans may involve 
    adding alternate divergence constraint methods. 

(5) Once all the basic routines are tested and working together, 
    we will add a more sophisticated recovery procedure for dealing
    with instances where either the floor is penetrated, Con2Prim
    fails to converge to a physical solution, or a sudden and 
    significant loss of energy/momentum/mass conservation occurs 
    due to runaway recovery operations.  From prior experience, 
    this procedure will likely require an evolutionary style 
    of development which will have to be tailored to the problem 
    at hand.  


(I.1)-(I.5) should be done without touching GRHydro's GRHD
routines/capabilities.



Concrete steps in (II): 
(Need Erik's input as it they will require expertise on Carpet's 
data structures/interfaces that are not readily accessible to 
Cactus-at-large methods).  

(1) Support for "refluxing", aka child-to-parent flux 
    communication along refinement boundaries.  This procedure 
    requires interface to Carpet's data structures. 
    refs:  Berger & Colella 1989. 

(2) Injection/restriction routine for communicating children EMF 
    data to parent for parent's constrained transport method.  This 
    will likely require breaking down the FluxCT procedure into two 
    parts: one that interpolates the face-centered fluxes to calculate
    the EMFs at the cell vertices, and one that uses the EMFs to 
    calculate the constraint-preserving numerical fluxes. The 
    restriction step will come in between these two steps, as it will 
    modify the parent's EMFs before they are used to calculate the 
    parent's final numerical fluxes. 
    refs:  Toth 2000, Balsara & Spicer 1999

(3) Adding a mask function that indicates whether a particular cell	
    is covered by finer cells.  This will be useful for adjusting
    the rigor with which we recover the variables (see I.5).  For
    example, if a cell's updated conserved variables fail to yield 
    a physical set of primitive variables and that cell has "children"
    then we can immediately skip (I.5) and wait for the restriction 
    operation. 
    



More information about the Users mailing list