GRHydro tracers broken

Issue #1841 new
Ian Hawke created an issue

The GRHydro::GRHydro_tracers group is not registered as a constrained variable with MoL in GRHydro. This means that, in runs with insufficient conserved variables and other memory settings, the first step through the loop sets NaNs for the tracers: they then fail to update (or, at least, not correctly).

To fix this, add

  register_constrained("GRHydro::GRHydro_tracers");

on or around line 143 of GRHydro_RegisterVars.cc.

Keyword: GRHydro

Comments (2)

  1. Ian Hawke reporter
    • removed comment

    This is not the only problem with tracers, as I've since found.

    Currently all reconstruction of tracers is done on the primitive variables, but the conserved are never updated. This can be fixed by adding

    if (evolve_tracer .ne. 0) then call Prim2ConservativeTracer(CCTK_PASS_FTOF) end if

    at the end of GRHydro_Reconstruct.F90, but only if the use_cxx_code parameter is set to no.

    To truly fix tracers, the C++ version GRHydro_Reconstruct.cc will also need a P2C_Tracer routine, which needs calling at the end.

  2. Log in to comment