GRHayLHDX

Samuel Cupp
Leonardo Rosa Werneck
Terrence Pierre Jacques
Zachariah Etienne

\( \)Date\( \)

Abstract

Provides a hydrodynamic evolution code using GRHayLvia the GRHayLibthorn. This is a trimmed-down version of the IllinoisGRMHDthorn where magnetic fields are set to zero adapted to use the CarpetX driver thorn. The thorn currently only runs on cpus, though extension to gpus is planned.

1 Introduction

This thorn provides a GRHD evolution code built on the General Relativistic Hydrodynamics Library (GRHayL), which is included in the Einstein Toolkit via the GRHayLib thorn. The core library inherits or adapts code from the original IllinoisGRMHD thorn into a modular, infrastructure-agnostic library. While the IllinoisGRMHD thorn can be set to have zero magnetic fields, they will still be evolved. This is much slower than not evolving them, and GRHayLHD provides an implementation for evolving systems without magnetic fields.

This thorn currently only provides support for hybrid EOS, but work towards providing full support for tabulated EOS is ongoing. The core functions all come from GRHayLib, ensuring that any improvements or updates to the library can be easily adopted by the thorn. The conservative-to-primitive solver is selected at runtime, allowing for users to take advantage of any Con2Prim methods provided by GRHayL.

2 Parameters

Most of the behavior of this thorn is controlled by GRHayLib, the thorn that provides GRHayL functionality within the Einstein Toolkit. However, there are several parameters in the thorn which control diagnostic or debugging features. Most are self-explanatory, but some parameters deserve a more detailed explanation.

First, many analysis or diagnostic thorns use HydroBase variables. By default, GRHayLHD never copies the data back from GRHayLHD variables to HydroBase variables, which would prevent the usage of these thorns. The Convert_to_HydroBase_every parameter sets how often to copy back this data. Naturally, copying more frequently will slow down the simulation, so this should be set on the same frequency as the analysis or IO thorn that is using the HydroBase variable. We reduced the amount of data copying in GRHayLHD by using the HydroBase variables directly, which removes the need to copy them back and removes extra grid functions from memory. We still use distinct velocity variables because we use a different velocity than is defined in HydroBase.

Next, there are several parameters for debugging or other testing. The perturbing parameters give users the ability to affect either the initial data or evolution data at runtime without slowing down standard simulations. The perturb_initial_data parameter controls whether the initial data from HydroBase is perturbed, and the perturb_every_con2prim parameter controls whether the conservative variables are perturbed before every con2prim call. The magnitude of these perturbations is set by random_pert.

3 Parameters




convert_to_hydrobase_every
Scope: private INT



Description: How often to convert GRHayLHDX primitive variables to HydroBase (Valencia formulation) primitive variables? Needed for some ET-based diagnostics. NOT needed for pure GRHayLHDX runs.



Range Default: (none)
0:*
zero (disable) or positive (every N iterations)






matter_bc
Scope: private KEYWORD



Description: Chosen Matter boundary condition



Range Default: outflow
copy
Copy BCs
outflow
Copy BCs with additional outflow BC for velocities
frozen
Frozen boundaries






perturb_every_con2prim
Scope: private BOOLEAN



Description: Random perturbation applied every time con2prim runs



Default: no






perturb_initial_data
Scope: private BOOLEAN



Description: Random perturbation to initial data



Default: no






random_pert
Scope: private REAL



Description: Magnitude of random perturbations



Range Default: (none)
*:*
Anything goes.






random_seed
Scope: private INT



Description: Random seed for random, generally roundoff-level perturbation on initial data. Seeds srand(), and rand() is used for the RNG.



Range Default: (none)
0:99999999
Anything unsigned goes.






update_tmunu
Scope: private BOOLEAN



Description: Update Tmunu, for RHS of Einstein’s equations?



Default: yes






verbose
Scope: private KEYWORD



Description: Determines how much evolution information is output



Range Default: yes
no
Complete silence
yes
”Outputs information about conservative-to-prim itive fixes, failures, etc.”






eos_type
Scope: shared from GRHAYLIBKEYWORD






evolve_entropy
Scope: shared from GRHAYLIBBOOLEAN



4 Interfaces

General

Implements:

grhaylhdx

Inherits:

admbasex

tmunubasex

hydrobasex

grhaylib

Grid Variables

4.0.1 PRIVATE GROUPS





  Group Names     Variable Names   Details    




ccc_spacetime centering centering={1 1 1}
ccc_lapse compact 0
ccc_betax description Cell-centered spacetime quantities
ccc_betay dimensions 3
ccc_betaz distribution DEFAULT
ccc_gxx group type GF
ccc_gxy tags InterpNumTimelevels=1 prolongation=”none” checkpoint=”no” parity={ +1 +1 +1 +1 +1 +1 -1 +1 +1 +1 -1 +1 +1 +1 -1}
ccc_gxz timelevels 1
ccc_gyy variable type REAL




ccc_curv centering centering={1 1 1}
ccc_kxx compact 0
ccc_kxy description Cell-centered extrinsic curvature
ccc_kxz dimensions 3
ccc_kyy distribution DEFAULT
ccc_kyz group type GF
ccc_kzz tags InterpNumTimelevels=1 prolongation=”none” checkpoint=”no” parity={ +1 +1 +1 +1 +1 +1 -1 +1 +1 +1 -1 +1 +1 +1 -1}
timelevels 1
variable type REAL




ccc_tmunu centering centering={1 1 1}
ccc_Ttt compact 0
ccc_Ttx description Cell-centered stress-energy tensor
ccc_Tty dimensions 3
ccc_Ttz distribution DEFAULT
ccc_Txx group type GF
ccc_Txy tags InterpNumTimelevels=1 prolongation=”none” checkpoint=”no” parity={ +1 +1 +1 +1 +1 +1 -1 +1 +1 +1 -1 +1 +1 +1 -1}
ccc_Txz timelevels 1
ccc_Tyy variable type REAL




grmhd_velocities centering centering={1 1 1}
vx compact 0
vy description Components of primitive three velocity vî. Note that vî is defined in terms of 4-velocity as: vî = uî/u                                                ˆ0  . Note that this definition differs from the Valencia formalism.
vz dimensions 3
distribution DEFAULT
group type GF
tags InterpNumTimelevels=1 prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL




u0 u0 centering centering={1 1 1}
compact 0
description 4-velocity component uˆ0
dimensions 3
distribution DEFAULT
group type GF
tags InterpNumTimelevels=1 prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL




grmhd_conservatives centering centering={1 1 1}
rho_star compact 0
tau description Evolved hydrodynamic variables
Stildex dimensions 3
Stildey distribution DEFAULT
Stildez group type GF
tags rhs=”grmhd_conservatives_rhs” dependents=”GRHayLHDX::grmhd_conservatives_rhs GRHayLHDX::flux_x GRHayLHDX::flux_y GRHayLHDX::flux_z”
timelevels 1
variable type REAL








  Group Names     Variable Names   Details    




ent_star ent_star centering centering={1 1 1}
compact 0
description conservative entropy variable W S
dimensions 3
distribution DEFAULT
group type GF
tags rhs=”ent_star_rhs” dependents=”GRHayLHDX::ent_star_rhs GRHayLHDX::ent_flux_x GRHayLHDX::ent_flux_y GRHayLHDX::ent_flux_z”
timelevels 1
variable type REAL




ye_star Ye_star centering centering={1 1 1}
compact 0
description conservative electron fraction variable W rho Y_e
dimensions 3
distribution DEFAULT
group type GF
tags rhs=”Ye_star_rhs” dependents=”GRHayLHDX::Ye_star_rhs GRHayLHDX::Ye_flux_x GRHayLHDX::Ye_flux_y GRHayLHDX::Ye_flux_z”
timelevels 1
variable type REAL




grmhd_conservatives_rhs centering centering={1 1 1}
rho_star_rhs compact 0
tau_rhs description Right-hand side for grmhd_conservatives variables
Stildex_rhs dimensions 3
Stildey_rhs distribution DEFAULT
Stildez_rhs group type GF
tags prolongation=”none” Checkpoint=”no”
timelevels 1
variable type REAL




ent_star_rhs ent_star_rhs centering centering={1 1 1}
compact 0
description RHS for partial_t tilde{S} equation
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” Checkpoint=”no”
timelevels 1
variable type REAL




ye_star_rhs Ye_star_rhs centering centering={1 1 1}
compact 0
description RHS for partial_t tilde{Y}_e equation
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” Checkpoint=”no”
timelevels 1
variable type REAL




flux_x centering centering={0 1 1}
rho_star_flux_x compact 0
tau_flux_x description Fluxes in x direction
Sx_flux_x dimensions 3
Sy_flux_x distribution DEFAULT
Sz_flux_x group type GF
tags prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL








  Group Names     Variable Names   Details    




flux_y centering centering={1 0 1}
rho_star_flux_y compact 0
tau_flux_y description Fluxes in y direction
Sx_flux_y dimensions 3
Sy_flux_y distribution DEFAULT
Sz_flux_y group type GF
tags prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL




flux_z centering centering={1 1 0}
rho_star_flux_z compact 0
tau_flux_z description Fluxes in z direction
Sx_flux_z dimensions 3
Sy_flux_z distribution DEFAULT
Sz_flux_z group type GF
tags prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL




ent_flux_x ent_flux_x centering centering={0 1 1}
compact 0
description Entropy flux in x direction
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL




ent_flux_y ent_flux_y centering centering={1 0 1}
compact 0
description Entropy flux in y direction
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL




ent_flux_z ent_flux_z centering centering={1 1 0}
compact 0
description Entropy flux in z direction
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL




ye_flux_x Ye_flux_x centering centering={0 1 1}
compact 0
description Electron fraction flux in x direction
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL








  Group Names     Variable Names   Details    




ye_flux_y Ye_flux_y centering centering={1 0 1}
compact 0
description Electron fraction flux in y direction
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL




ye_flux_z Ye_flux_z centering centering={1 1 0}
compact 0
description Electron fraction flux in z direction
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” checkpoint=”no”
timelevels 1
variable type REAL




failure_checker failure_checker centering centering={1 1 1}
compact 0
description Gridfunction to track conservative-to-primitives solver fixes. Beware that this gridfunction is overwritten at each RK substep.
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” Checkpoint=”no” InterpNumTimelevels=1
timelevels 1
variable type REAL




Uses header:

GRHayLib.h

5 Schedule

This section lists all the variables which are assigned storage by thorn GRHayLET/GRHayLHDX. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.

Storage

 

Always: Conditional:
grmhd_conservatives grmhd_velocities Ye_star Ye_star_rhs Ye_flux_x Ye_flux_y Ye_flux_z
u0 grmhd_conservatives_rhs ent_star ent_star_rhs ent_flux_x ent_flux_y ent_flux_z
flux_x flux_y flux_z failure_checker  
   

Scheduled Functions

HydroBaseX_PostInitial (conditional)

  grhaylhdx_prim2con2prim

  initialize grhaylhdx variables using hydrobasex initial data

 

  Type: group

GRHayLHDX_Prim2Con2Prim (conditional)

  grhaylhdx_compute_ccc_centered_spacetime_quantities

  interpolate spacetime quantities to cell centers

 

  Language: c
  Reads: admbasex::metric
    admbasex::lapse
    admbasex::shift
  Type: function
  Writes: ccc_spacetime(everywhere)

GRHayLHDX_Con2Prim (conditional)

  grhaylhdx_conservs_to_prims

  compute primitive variables from conservatives

 

  After: grhaylhdx_compute_ccc_centered_spacetime_quantities
  Type: group

TmunuBaseX_AddToTmunu (conditional)

  grhaylhdx_compute_tmunu

  compute stress-energy tensor and interpolate to vertices

 

  Language: c
  Reads: ccc_spacetime
    grmhd_velocities
    u0
    hydrobasex::rho
    hydrobasex::press
    hydrobasex::eps
  Type: function
  Writes: ccc_tmunu(everywhere)
    tmunubasex::ettt
    tmunubasex::etti
    tmunubasex::etij

ODESolvers_RHS (conditional)

  grhaylhdx_rhs

  evaluate rhss grhd equations

 

  Type: group

GRHayLHDX_RHS (conditional)

  grhaylhdx_compute_ccc_centered_extrinsic_curvature

  interpolate extrinsic curvature to cell centers

 

  Language: c
  Reads: admbasex::curv
  Type: function
  Writes: ccc_curv(everywhere)

GRHayLHDX_RHS (conditional)

  grhaylhdx_evaluate_sources_rhs

  evaluate source terms in grhd rhss

 

  After: grhaylhdx_compute_ccc_centered_extrinsic_curvature
  Type: group

GRHayLHDX_RHS (conditional)

  grhaylhdx_evaluate_fluxes

  evaluate fluxes for grhd rhss

 

  After: grhaylhdx_evaluate_sources_rhs
  Type: group

GRHayLHDX_RHS (conditional)

  grhaylhdx_evaluate_fluxes_rhs

  evaluate flux terms in grhd rhss

 

  After: grhaylhdx_evaluate_fluxes
  Type: group

GRHayLHDX_RHS (conditional)

  grhaylhdx_validate_yestar

 

 

  After: grhaylhdx_evaluate_fluxes_rhs
  Language: c
  Type: function
  Writes: ye_star(everywhere)
    ye_star_rhs(everywhere)

GRHayLHDX_RHS (conditional)

  grhaylhdx_validate_entstar

 

 

  After: grhaylhdx_evaluate_fluxes_rhs
  Language: c
  Type: function
  Writes: ent_star(everywhere)
    ent_star_rhs(everywhere)

GRHayLHDX_RHS (conditional)

  convert_grhaylhdx_to_hydrobase

  convert grhaylhdx variables to hydrobasex

 

  After: grhaylhdx_evaluate_fluxes_rhs
  Language: c
  Reads: ccc_spacetime
    grmhd_velocities
  Type: function
  Writes: hydrobasex::vel(everywhere)

GRHayLHDX_Prim2Con2Prim (conditional)

  convert_hydrobase_to_grhaylhdx

  convert hydrobasex initial data to grhaylhdx variables

 

  After: grhaylhdx_compute_ccc_centered_spacetime_quantities
  Language: c
  Reads: hydrobasex::vel
    ccc_spacetime
  Sync: grmhd_velocities
  Type: function
  Writes: grmhd_velocities(everywhere)

CCTK_ANALYSIS (conditional)

  grhaylhdx_compute_ccc_centered_spacetime_quantities

  interpolate spacetime quantities to cell centers

 

  Language: c
  Reads: admbasex::metric
    admbasex::lapse
    admbasex::shift
  Type: function
  Writes: ccc_spacetime(everywhere)

CCTK_ANALYSIS (conditional)

  convert_grhaylhdx_to_hydrobase

  convert grhaylhdx variables to hydrobasex

 

  After: grhaylhdx_compute_ccc_centered_spacetime_quantities
    ml_bssn_evolcalcgroup
  Before: particle_traceret
    volumeintegralgroup
    convert_to_mhdx_3velocity
  Language: c
  Reads: ccc_spacetime
    grmhd_velocities
  Type: function
  Writes: hydrobasex::vel(everywhere)

GRHayLHDX_prims_to_conservs (conditional)

  grhaylhdx_hybrid_entropy_prims_to_conservs

  entropy+hybrid version of grhaylhdx_prims_to_conservs

 

  Language: c
  Reads: ccc_spacetime
    hydrobasex::rho
    hydrobasex::press
    hydrobasex::eps
    hydrobasex::entropy
    grmhd_velocities
  Type: function
  Writes: u0(everywhere)
    grmhd_velocities(everywhere)
    grmhd_conservatives(everywhere)
    ent_star(everywhere)
    ye_star(everywhere)
    hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)
    hydrobasex::entropy(everywhere)

GRHayLHDX_conservs_to_prims (conditional)

  grhaylhdx_hybrid_entropy_conservs_to_prims

  entropy+hybrid version of grhaylhdx_conservs_to_prims

 

  Language: c
  Reads: ccc_spacetime
    grmhd_conservatives
    ent_star
  Type: function
  Writes: grmhd_conservatives(everywhere)
    ent_star(everywhere)
    failure_checker(everywhere)
    u0(everywhere)
    grmhd_velocities(everywhere)
    hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)
    hydrobasex::entropy(everywhere)

GRHayLHDX_evaluate_sources_rhs (conditional)

  grhaylhdx_hybrid_entropy_evaluate_sources_rhs

  entropy+hybrid version of grhaylhdx_evaluate_sources_rhs

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    hydrobasex::entropy
    ccc_spacetime
    ccc_curv
    grmhd_velocities
  Type: function
  Writes: grmhd_conservatives_rhs
    ent_star_rhs

GRHayLHDX_evaluate_fluxes (conditional)

  grhaylhdx_hybrid_entropy_evaluate_fluxes

  entropy+hybrid version of grhaylhdx_evaluate_fluxes

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    hydrobasex::entropy
    ccc_spacetime
    grmhd_velocities
  Type: function
  Writes: flux_x
    flux_y
    flux_z
    ent_flux_x
    ent_flux_y
    ent_flux_z

GRHayLHDX_evaluate_fluxes_rhs (conditional)

  grhaylhdx_hybrid_entropy_evaluate_fluxes_rhs

  entropy+hybrid version of grhaylhdx_evaluate_fluxes_rhs

 

  Language: c
  Reads: flux_x(interior)
    flux_y(interior)
    flux_z(interior)
    ent_flux_x(interior)
    ent_flux_y(interior)
    ent_flux_z(interior)
    grmhd_conservatives_rhs(interior)
    ent_star_rhs(interior)
  Type: function
  Writes: grmhd_conservatives_rhs
    ent_star_rhs

GRHayLHDX_perturb_primitives (conditional)

  grhaylhdx_hybrid_entropy_perturb_primitives

  entropy+hybrid version of grhaylhdx_perturb_primitives

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    hydrobasex::eps
    hydrobasex::entropy
    grmhd_velocities
  Type: function
  Writes: hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)
    hydrobasex::entropy(everywhere)
    grmhd_velocities(everywhere)

GRHayLHDX_perturb_conservatives (conditional)

  grhaylhdx_hybrid_entropy_perturb_conservatives

  entropy+hybrid version of grhaylhdx_perturb_conservatives

 

  Language: c
  Reads: grmhd_conservatives
    ent_star
  Type: function
  Writes: grmhd_conservatives(everywhere)
    ent_star(everywhere)

GRHayLHDX_prims_to_conservs (conditional)

  grhaylhdx_hybrid_prims_to_conservs

  hybrid version of grhaylhdx_prims_to_conservs

 

  Language: c
  Reads: ccc_spacetime
    hydrobasex::rho
    hydrobasex::press
    hydrobasex::eps
    grmhd_velocities
  Type: function
  Writes: u0(everywhere)
    grmhd_velocities(everywhere)
    grmhd_conservatives(everywhere)
    ent_star(everywhere)
    ye_star(everywhere)
    hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)

GRHayLHDX_Prim2Con2Prim (conditional)

  grhaylhdx_perturb_primitives

  perturb initial primitive data

 

  After: convert_hydrobase_to_grhaylhdx
  Before: grhaylhdx_prims_to_conservs
  Type: group

GRHayLHDX_conservs_to_prims (conditional)

  grhaylhdx_hybrid_conservs_to_prims

  hybrid version of grhaylhdx_conservs_to_prims

 

  Language: c
  Reads: ccc_spacetime
    grmhd_conservatives
  Type: function
  Writes: grmhd_conservatives(everywhere)
    failure_checker(everywhere)
    u0(everywhere)
    grmhd_velocities(everywhere)
    hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)

GRHayLHDX_evaluate_sources_rhs (conditional)

  grhaylhdx_hybrid_evaluate_sources_rhs

  hybrid version of grhaylhdx_evaluate_sources_rhs

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    ccc_spacetime
    ccc_curv
    grmhd_velocities
  Type: function
  Writes: grmhd_conservatives_rhs

GRHayLHDX_evaluate_fluxes (conditional)

  grhaylhdx_hybrid_evaluate_fluxes

  hybrid version of grhaylhdx_evaluate_fluxes

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    ccc_spacetime
    grmhd_velocities
  Type: function
  Writes: flux_x
    flux_y
    flux_z

GRHayLHDX_evaluate_fluxes_rhs (conditional)

  grhaylhdx_hybrid_evaluate_fluxes_rhs

  hybrid version of grhaylhdx_evaluate_fluxes_rhs

 

  Language: c
  Reads: flux_x(interior)
    flux_y(interior)
    flux_z(interior)
    grmhd_conservatives_rhs(interior)
  Type: function
  Writes: grmhd_conservatives_rhs

GRHayLHDX_perturb_primitives (conditional)

  grhaylhdx_hybrid_perturb_primitives

  hybrid version of grhaylhdx_perturb_primitives

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    hydrobasex::eps
    grmhd_velocities
  Type: function
  Writes: hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)
    grmhd_velocities(everywhere)

GRHayLHDX_perturb_conservatives (conditional)

  grhaylhdx_hybrid_perturb_conservatives

  hybrid version of grhaylhdx_perturb_conservatives

 

  Language: c
  Reads: grmhd_conservatives
  Type: function
  Writes: grmhd_conservatives(everywhere)

GRHayLHDX_prims_to_conservs (conditional)

  grhaylhdx_tabulated_entropy_prims_to_conservs

  entropy+tabulated version of grhaylhdx_prims_to_conservs

 

  Language: c
  Reads: ccc_spacetime
    hydrobasex::rho
    hydrobasex::press
    hydrobasex::eps
    hydrobasex::entropy
    hydrobasex::ye
    hydrobasex::temperature
    grmhd_velocities
  Type: function
  Writes: u0(everywhere)
    grmhd_velocities(everywhere)
    grmhd_conservatives(everywhere)
    ent_star(everywhere)
    ye_star(everywhere)
    hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)
    hydrobasex::entropy(everywhere)
    hydrobasex::ye(everywhere)
    hydrobasex::temperature(everywhere)

GRHayLHDX_conservs_to_prims (conditional)

  grhaylhdx_tabulated_entropy_conservs_to_prims

  entropy+tabulated version of grhaylhdx_conservs_to_prims

 

  Language: c
  Reads: ccc_spacetime
    grmhd_conservatives
    ent_star
    ye_star
  Type: function
  Writes: grmhd_conservatives(everywhere)
    ent_star(everywhere)
    ye_star(everywhere)
    u0(everywhere)
    grmhd_velocities(everywhere)
    failure_checker(everywhere)
    hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)
    hydrobasex::entropy(everywhere)
    hydrobasex::ye(everywhere)
    hydrobasex::temperature(everywhere)

GRHayLHDX_evaluate_sources_rhs (conditional)

  grhaylhdx_tabulated_entropy_evaluate_sources_rhs

  entropy+tabulated version of grhaylhdx_evaluate_sources_rhs

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    hydrobasex::entropy
    hydrobasex::ye
    hydrobasex::temperature
    ccc_spacetime
    ccc_curv
    grmhd_velocities
  Type: function
  Writes: grmhd_conservatives_rhs
    ent_star_rhs
    ye_star_rhs

GRHayLHDX_evaluate_fluxes (conditional)

  grhaylhdx_tabulated_entropy_evaluate_fluxes

  entropy+tabulated version of grhaylhdx_evaluate_fluxes

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    hydrobasex::entropy
    hydrobasex::ye
    hydrobasex::temperature
    ccc_spacetime
    grmhd_velocities
  Type: function
  Writes: flux_x
    flux_y
    flux_z
    ent_flux_x
    ent_flux_y
    ent_flux_z
    ye_flux_x
    ye_flux_y
    ye_flux_z

GRHayLHDX_Prim2Con2Prim (conditional)

  grhaylhdx_prims_to_conservs

  enforce simulation limits on primitives and compute conservatives

 

  After: convert_hydrobase_to_grhaylhdx
  Type: group

GRHayLHDX_evaluate_fluxes_rhs (conditional)

  grhaylhdx_tabulated_entropy_evaluate_fluxes_rhs

  entropy+tabulated version of grhaylhdx_evaluate_fluxes_rhs

 

  Language: c
  Reads: flux_x(interior)
    flux_y(interior)
    flux_z(interior)
    ent_flux_x(interior)
    ent_flux_y(interior)
    ent_flux_z(interior)
    ye_flux_x(interior)
    ye_flux_y(interior)
    ye_flux_z(interior)
    grmhd_conservatives_rhs(interior)
    ent_star_rhs(interior)
    ye_star_rhs(interior)
  Type: function
  Writes: grmhd_conservatives_rhs
    ent_star_rhs
    ye_star_rhs

GRHayLHDX_perturb_primitives (conditional)

  grhaylhdx_tabulated_entropy_perturb_primitives

  entropy+tabulated version of grhaylhdx_perturb_primitives

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    hydrobasex::eps
    hydrobasex::entropy
    hydrobasex::ye
    hydrobasex::temperature
    grmhd_velocities
  Type: function
  Writes: hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)
    hydrobasex::entropy(everywhere)
    hydrobasex::ye(everywhere)
    hydrobasex::temperature(everywhere)
    grmhd_velocities(everywhere)

GRHayLHDX_perturb_conservatives (conditional)

  grhaylhdx_tabulated_entropy_perturb_conservatives

  entropy+tabulated version of grhaylhdx_perturb_conservatives

 

  Language: c
  Reads: grmhd_conservatives
    ent_star
    ye_star
  Type: function
  Writes: grmhd_conservatives(everywhere)
    ent_star(everywhere)
    ye_star(everywhere)

GRHayLHDX_prims_to_conservs (conditional)

  grhaylhdx_tabulated_prims_to_conservs

  tabulated version of grhaylhdx_prims_to_conservs

 

  Language: c
  Reads: ccc_spacetime
    hydrobasex::rho
    hydrobasex::press
    hydrobasex::eps
    hydrobasex::ye
    hydrobasex::temperature
    grmhd_velocities
  Type: function
  Writes: u0(everywhere)
    grmhd_velocities(everywhere)
    grmhd_conservatives(everywhere)
    ent_star(everywhere)
    ye_star(everywhere)
    hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)
    hydrobasex::ye(everywhere)
    hydrobasex::temperature(everywhere)

GRHayLHDX_conservs_to_prims (conditional)

  grhaylhdx_tabulated_conservs_to_prims

  tabulated version of grhaylhdx_conservs_to_prims

 

  Language: c
  Reads: ccc_spacetime
    grmhd_conservatives
    ye_star
  Type: function
  Writes: grmhd_conservatives(everywhere)
    ye_star(everywhere)
    u0(everywhere)
    grmhd_velocities(everywhere)
    failure_checker(everywhere)
    hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)
    hydrobasex::ye(everywhere)
    hydrobasex::temperature(everywhere)

GRHayLHDX_evaluate_sources_rhs (conditional)

  grhaylhdx_tabulated_evaluate_sources_rhs

  tabulated version of grhaylhdx_evaluate_sources_rhs

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    hydrobasex::ye
    hydrobasex::temperature
    grmhd_velocities
    ccc_spacetime
    ccc_curv
  Type: function
  Writes: grmhd_conservatives_rhs
    ye_star_rhs

GRHayLHDX_evaluate_fluxes (conditional)

  grhaylhdx_tabulated_evaluate_fluxes

  tabulated version of grhaylhdx_evaluate_fluxes

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    hydrobasex::ye
    hydrobasex::temperature
    ccc_spacetime
    grmhd_velocities
  Type: function
  Writes: flux_x
    flux_y
    flux_z
    ye_flux_x
    ye_flux_y
    ye_flux_z

GRHayLHDX_evaluate_fluxes_rhs (conditional)

  grhaylhdx_tabulated_evaluate_fluxes_rhs

  tabulated version of grhaylhdx_evaluate_fluxes_rhs

 

  Language: c
  Reads: flux_x(interior)
    flux_y(interior)
    flux_z(interior)
    ye_flux_x(interior)
    ye_flux_y(interior)
    ye_flux_z(interior)
    grmhd_conservatives_rhs(interior)
    ye_star_rhs(interior)
  Type: function
  Writes: grmhd_conservatives_rhs
    ye_star_rhs

GRHayLHDX_perturb_primitives (conditional)

  grhaylhdx_tabulated_perturb_primitives

  tabulated version of grhaylhdx_perturb_primitives

 

  Language: c
  Reads: hydrobasex::rho
    hydrobasex::press
    hydrobasex::eps
    hydrobasex::ye
    hydrobasex::temperature
    grmhd_velocities
  Type: function
  Writes: grmhd_velocities(everywhere)
    hydrobasex::rho(everywhere)
    hydrobasex::press(everywhere)
    hydrobasex::eps(everywhere)
    hydrobasex::ye(everywhere)
    hydrobasex::temperature(everywhere)

GRHayLHDX_perturb_conservatives (conditional)

  grhaylhdx_tabulated_perturb_conservatives

  tabulated version of grhaylhdx_perturb_conservatives

 

  Language: c
  Reads: grmhd_conservatives
    ye_star
  Type: function
  Writes: grmhd_conservatives(everywhere)
    ye_star(everywhere)

GRHayLHDX_Prim2Con2Prim (conditional)

  grhaylhdx_conservs_to_prims

  compute primitive variables from conservatives

 

  After: grhaylhdx_prims_to_conservs
  Type: group

GRHayLHDX_Prim2Con2Prim (conditional)

  convert_grhaylhdx_to_hydrobase

  convert grhaylhdx variables to hydrobasex

 

  After: grhaylhdx_conservs_to_prims
  Language: c
  Reads: ccc_spacetime
    grmhd_velocities
  Type: function
  Writes: hydrobasex::vel(everywhere)

ODESolvers_PostStep (conditional)

  grhaylhdx_con2prim

  compute primitive variables from conservatives

 

  Type: group

GRHayLHDX_Con2Prim (conditional)

  grhaylhdx_compute_ccc_centered_spacetime_quantities

  interpolate spacetime quantities to cell centers

 

  Language: c
  Reads: admbasex::metric
    admbasex::lapse
    admbasex::shift
  Sync: grmhd_conservatives
    ye_star
    ent_star
  Type: function
  Writes: ccc_spacetime(everywhere)

GRHayLHDX_Con2Prim (conditional)

  grhaylhdx_perturb_conservatives

  perturb conservatives before con2prim

 

  After: grhaylhdx_compute_ccc_centered_spacetime_quantities
  Before: grhaylhdx_conservs_to_prims
  Type: group