GRHayLHD

Samuel Cupp
Leonardo Rosa Werneck
Terrence Pierre Jacques
Zachariah Etienne

\( \)Date\( \)

Abstract

Provides a hydrodynamic evolution code using GRHayL via the GRHayLib thorn. This is a trimmed-down version of the IllinoisGRMHD thorn 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 hydrodynamic 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. 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. The velocity variables are still in GRHayLHD 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 GRHAYLIB KEYWORD






evolve_entropy
Scope: shared from GRHAYLIB BOOLEAN



4 Interfaces

General

Implements:

grhaylhdx

Inherits:

admbasex

tmunubasex

hydrobasex

grhaylib

Grid Variables

4.0.1 PRIVATE GROUPS




  Group Names    Variable Names    Details   




ccc_spacetime   centeringcentering={1 1 1}
ccc_lapse   compact0
ccc_betax   descriptionCell-centered spacetime quantities
ccc_betay   dimensions3
ccc_betaz   distributionDEFAULT
ccc_gxx   group typeGF
ccc_gxy   tagsInterpNumTimelevels=1 prolongation=”none” parity={ +1 +1 +1 +1 +1 +1 -1 +1 +1 +1 -1 +1 +1 +1 -1}
ccc_gxz   timelevels1
ccc_gyy  variable typeREAL




ccc_curv   centeringcentering={1 1 1}
ccc_kxx   compact0
ccc_kxy   descriptionCell-centered extrinsic curvature
ccc_kxz   dimensions3
ccc_kyy   distributionDEFAULT
ccc_kyz   group typeGF
ccc_kzz   tagsInterpNumTimelevels=1 prolongation=”none” parity={ +1 +1 +1 +1 +1 +1 -1 +1 +1 +1 -1 +1 +1 +1 -1}
  timelevels1
 variable typeREAL




ccc_tmunu   centeringcentering={1 1 1}
ccc_Ttt   compact0
ccc_Ttx   descriptionCell-centered stress-energy tensor
ccc_Tty   dimensions3
ccc_Ttz   distributionDEFAULT
ccc_Txx   group typeGF
ccc_Txy   tagsInterpNumTimelevels=1 prolongation=”none” parity={ +1 +1 +1 +1 +1 +1 -1 +1 +1 +1 -1 +1 +1 +1 -1}
ccc_Txz   timelevels1
ccc_Tyy  variable typeREAL




grmhd_velocities   centeringcentering={1 1 1}
vx   compact0
vy   descriptionComponents 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   dimensions3
  distributionDEFAULT
  group typeGF
  tagsInterpNumTimelevels=1 prolongation=”none”
  timelevels1
 variable typeREAL




u0 u0   centeringcentering={1 1 1}
  compact0
  description4-velocity component uˆ0
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsInterpNumTimelevels=1 prolongation=”none” checkpoint=”no”
  timelevels1
 variable typeREAL




grmhd_conservatives   centeringcentering={1 1 1}
rho_star   compact0
tau   descriptionEvolved hydrodynamic variables
Stildex   dimensions3
Stildey   distributionDEFAULT
Stildez   group typeGF
  tagsrhs=”grmhd_conservatives_rhs” dependents=”GRHayLHDX::grmhd_conservatives_rhs GRHayLHDX::flux_x GRHayLHDX::flux_y GRHayLHDX::flux_z”
  timelevels1
 variable typeREAL








  Group Names     Variable Names    Details   




ent_star ent_star   centeringcentering={1 1 1}
  compact0
  descriptionconservative entropy variable W S
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsrhs=”ent_star_rhs” dependents=”GRHayLHDX::ent_star_rhs GRHayLHDX::ent_flux_x GRHayLHDX::ent_flux_y GRHayLHDX::ent_flux_z”
  timelevels1
 variable typeREAL




ye_star Ye_star   centeringcentering={1 1 1}
  compact0
  descriptionconservative electron fraction variable W rho Y_e
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsrhs=”Ye_star_rhs” dependents=”GRHayLHDX::Ye_star_rhs GRHayLHDX::Ye_flux_x GRHayLHDX::Ye_flux_y GRHayLHDX::Ye_flux_z”
  timelevels1
 variable typeREAL




grmhd_conservatives_rhs   centeringcentering={1 1 1}
rho_star_rhs   compact0
tau_rhs   descriptionRight-hand side for grmhd_conservatives variables
Stildex_rhs   dimensions3
Stildey_rhs   distributionDEFAULT
Stildez_rhs   group typeGF
  tagsprolongation=”none” Checkpoint=”no”
  timelevels1
 variable typeREAL




ent_star_rhs ent_star_rhs   centeringcentering={1 1 1}
  compact0
  descriptionRHS for partial_t tilde{S} equation
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsprolongation=”none” Checkpoint=”no”
  timelevels1
 variable typeREAL




ye_star_rhs Ye_star_rhs   centeringcentering={1 1 1}
  compact0
  descriptionRHS for partial_t tilde{Y}_e equation
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsprolongation=”none” Checkpoint=”no”
  timelevels1
 variable typeREAL




flux_x   centeringcentering={0 1 1}
rho_star_flux_x   compact0
tau_flux_x   descriptionFluxes in x direction
Sx_flux_x   dimensions3
Sy_flux_x   distributionDEFAULT
Sz_flux_x   group typeGF
  tagsprolongation=”none” checkpoint=”no”
  timelevels1
 variable typeREAL








  Group Names    Variable Names    Details   




flux_y   centeringcentering={1 0 1}
rho_star_flux_y   compact0
tau_flux_y   descriptionFluxes in y direction
Sx_flux_y   dimensions3
Sy_flux_y   distributionDEFAULT
Sz_flux_y   group typeGF
  tagsprolongation=”none” checkpoint=”no”
  timelevels1
 variable typeREAL




flux_z   centeringcentering={1 1 0}
rho_star_flux_z   compact0
tau_flux_z   descriptionFluxes in z direction
Sx_flux_z   dimensions3
Sy_flux_z   distributionDEFAULT
Sz_flux_z   group typeGF
  tagsprolongation=”none” checkpoint=”no”
  timelevels1
 variable typeREAL




ent_flux_x ent_flux_x   centeringcentering={0 1 1}
  compact0
  descriptionEntropy flux in x direction
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsprolongation=”none” checkpoint=”no”
  timelevels1
 variable typeREAL




ent_flux_y ent_flux_y   centeringcentering={1 0 1}
  compact0
  descriptionEntropy flux in y direction
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsprolongation=”none” checkpoint=”no”
  timelevels1
 variable typeREAL




ent_flux_z ent_flux_z   centeringcentering={1 1 0}
  compact0
  descriptionEntropy flux in z direction
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsprolongation=”none” checkpoint=”no”
  timelevels1
 variable typeREAL




ye_flux_x Ye_flux_x   centeringcentering={0 1 1}
  compact0
  descriptionElectron fraction flux in x direction
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsprolongation=”none” checkpoint=”no”
  timelevels1
 variable typeREAL








  Group Names    Variable Names    Details   




ye_flux_y Ye_flux_y   centeringcentering={1 0 1}
  compact0
  descriptionElectron fraction flux in y direction
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsprolongation=”none” checkpoint=”no”
  timelevels1
 variable typeREAL




ye_flux_z Ye_flux_z   centeringcentering={1 1 0}
  compact0
  descriptionElectron fraction flux in z direction
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsprolongation=”none” checkpoint=”no”
  timelevels1
 variable typeREAL




failure_checker failure_checker   centeringcentering={1 1 1}
  compact0
  descriptionGridfunction to track conservative-to-primitives solver fixes. Beware that this gridfunction is overwritten at each RK substep.
  dimensions3
  distributionDEFAULT
  group typeGF
  tagsprolongation=”none” Checkpoint=”no” InterpNumTimelevels=1
  timelevels1
 variable typeREAL




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_velocitiesYe_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
 Sync: grmhd_conservatives
   ent_star
  Type: function
 Writes: u0(everywhere)
   grmhd_velocities(everywhere)
   grmhd_conservatives(everywhere)
   ent_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
 Sync: grmhd_conservatives
 Type: function
 Writes: u0(everywhere)
   grmhd_velocities(everywhere)
   grmhd_conservatives(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
 Sync: grmhd_conservatives
   ent_star
    ye_star
 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
 Sync: grmhd_conservatives
   ye_star
 Type: function
 Writes: u0(everywhere)
   grmhd_velocities(everywhere)
   grmhd_conservatives(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
 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