General Relativistic Hydrodynamics

dg1d.parametersMethod

[ GRHD ]

  • atm_factor = 1.0e-10 : Multiplicative factor to determine restmass density for the artificial atmosphere relative to the maximum of restmass density over the grid.
  • atm_threshold_factor = 1.0001 : Fudge factor to determine the cutoff restmass density below which we impose artificial atmosphere. The lower bound chosen ensures that small errors are ignored when determining atmosphere states.
  • atm_evolve = true : If false then all RHSs of all state variables are set to zero on those points where we identify the fluid variables as atmosphere.This parameter is not to be confused with c2p_dynamic_atm, but they are both options to prevent the atmosphere to go crazy.
  • atm_equalize_on_interface = false : If true then all states on an interface are set to atmosphere if at least one state is atmosphere.Note: So far only supported for spherical1d formulation.
  • bc = "from_id" : Available options:
    • tov_reflective_origin: for id = tov use reflection symmetry across coordinate origin; requires range = [ 0, R ] where R shall be larger than the star's radius; at the outer boundary we impose vacuum variables
    • tov_symmetric_domain: for id = tov to impose vacuum values on both ends; requires range = [ -R, R ] where R shall be larger than the star's radius
    • from_id
  • id = "atmosphere" : Available options:
    • tov: Tolman-Oppenheimer-Volkof star
    • bondi_accretion: Bondi accretion
    • bondi_accretion_infall: dynamic Bondi accretion test with infalling matter, also see id_bondi_accretion_infall_rs, id_bondi_accretion_infall_ρl
    • atmosphere: a low-density atmosphere
  • id_bondi_accretion_infall_rs = 16.0 : The coordinate radius below which the low-density fluid variables are set.
  • id_bondi_accretion_infall_ρl = 1.28e-6 : The density value used to set up the low-density fluid for the Bondi accretion infall experiment.
  • id_filename = "" : Path to an .h5 file containing initial data.
  • formulation = "spherical1d" : Choice of formulation of evolution equations. Available options:
    • spherical1d: generalized Valencia equations from Montero+2014 with choice of physical, conformal and reference metric such that the conservative variables agree with the ones from SRHD; this formulation supports non-zero shift vector
    • rescaled_spherical1d: generalized Valencia equations from Montero+2014; the reference metric is chosen such that all 1/r factors are removed
    • valencia1d: vanilla Valencia formulation using spherical coordinates; also contains 1/r factors in the source terms
    • doublecartoon: vanilla Valencia formulation but in Cartesian coordinates, where the y- and z-derivatives are converted into source terms; suitable for spherically symmetry
    • cartoon: vanilla Valencia formulation but in Cartesian coordinates, where the y-derivatives are converted into source terms; suitable for axisymmetry
  • av_drag = 0.0 : Determines how quickly artificial viscosity can alter between time steps. If av_drag = 0.0 then no dragging occurs. If av_drag = 1.0 then viscosity is frozen to its initial value.
  • av_sensor_abslog_D = false : If true apply the AV sensor to log(|D|), otherwise use D, where D is the state variable for the rest-mass density (including the volume factor).
  • training_wheels = false : For testing purposes.
  • perturbation_rho = false : If true adds a random perturbation with amplitude 1e-3*max(ρ) to the rest mass-energy density ρ. TODO Add parameter to control amplitude.
  • hrsc = "fv_central" : The HRSC method used for FV discretization. Note: For DG methods use the HRSC parameter section.
    • slope_limiter ... slope limited HRSC, cf. Hesthaven book 2018, sec. 10.2
  • fv_numerical_flux = "llf" : The method to compute the numerical fluxes. Available options
    • llf: local Lax-Friedrich [2,3]
    • roe: Roe [1,2,3]
    • marquina: Marquina's method [1]
    References: [1] Font 2000, PRD 61 044011, eq 6 [2] Hesthaven 2018, Numerical methods for conservation laws, sec. 3.2 [3] Hesthaven 2018, Numerical methods for conservation laws, sec. 6.2.1
  • slope_limiter_method = "muscl" : Available options:
    • none
    • minmod [1]
    • muscl [1] ... monotone upstream-centered limiter
    • superbee [1]
    • van_albada [1]
    • van_leer [1]
    • tvb [1] ... total variation bounded
    • mc [2]
    [1] Hesthaven 2018 book, p. 268, Script 10.10 [2] Font et al, 2002, PRD Volume 65, 084024
  • slope_limiter_tvb_M = 150.0 : Slope limiting parameter for MUSCL scheme, cf. Hesthaven book 2008, sec 10.2
  • c2p_enforce_causal_atm = true : If true then atmosphere is enforced after every full time step in a way that it only has causal effects on its surrounding.
  • c2p_enforce_atm = false : If true then an atmosphere is enforced after every full time step, independent of whether it has acausal effects. If true then this overrides c2p_enforce_causal_atm.
  • c2p_dynamic_atm = true : If true then a fluid-atmosphere interface is allowed to evolve. This is done by observing the state of the atmosphere after every full time step, and the result is used to enforce the atmosphere in following substeps, provided c2p_enforce_causal_atm = true. If false then the fluid-atmosphere interface is fixed to its state in the intial data.
  • c2p_threshold_velocity_limiter = 1.0e-6 : Threshold y₀ = ρhW² below which the velocity is limited by a filtered division following Dumbser+ 2024.
  • c2p_cold_eos_parameters = [100.0, 2.0] : The parameters [K, Γ] of a polytropic EoS that is used as a fall back to model cold matter near the fluid-atmosphere interface.
  • c2p_set_atmosphere_on_failure = false : If true then reset conservatives and primitives to atmosphere values whenever the root finder fails.
  • analyze_error_reference_solution = "" : This sets the reference solution which is used to estimate errors. Only static reference solutions are supported. Available options:
    • from_id: use the current initial data
    • bondi_accretion: the same as the initial data for the Bondi accretion test, see id = "bondi_accertion"
    See variables0d_analyze_error, variables1d_analyze_error on how to request error output variables.
  • variables0d_analyze_error = String[] : A list of variables for which the error with respect to the reference solution is estimated. See analyze_error_reference_solution to choose the reference solution. The error is computed as the L2 norm of the difference between the data and the reference data. For DG schemes, the L2 norm is computed using the broken inner product.Variable names enqeueued here can be outputted using the Output.variables0d list and using the variable name plus a _err_norm postfix, e.g. when requesting errors for ρ you should output ρ_err_norm.
  • variables1d_analyze_error = String[] : Similar to variables0d_analyze_error, but instead of computing the L2 norm of differencers, the differences with respect to the reference data are made available as 1d output variable.Variable names enqeueued here can be outputted using the Output.variables1d list and using the variable name plus a _err postfix, e.g. when requesting errors for ρ you should output ρ_err.
  • freeze_vars = String[] : List of variables which should not be evolved.
  • variables0d_analyze = String[] : List of 0d variables to analyze during simulations. Variable names enequeued here become available for Output.variables0d.Available variables:
    • Mtot: Total restmass density, Mtot = ∫ √(γ) D dΩ.
  • doublecartoon_disable_derivatives = false : If true then the doublecartoon derivative terms are not accounted for in the source terms. This appears to be necessary in order to perform TOV star simulations with the doublecartoon formulation in a reliable manner.
  • dt_min_grid_spacing = false : If true use a time step that is tailored to the smallest grid spacing.
  • limiter = false : If true enable the convex hull substep limiter.Requires Mesh.dg_kind = modal_bspline[1,2]. See also limiter_limit_log_D, limiter_tci_log_D.
  • limiter_limit_log_D = false : If true apply limiter to log(D) instead of D.
  • limiter_tci_log_D = false : If true apply TCI that is used to activate the limiter to log(D) instead of D.
  • limiter_tci_method = "mda" : The TCI method with which the triggering of the limiter is controlled.
  • limiter_tci_threshold = 0.9 : TCIs provide an indicator value in the range [0,1]. limiter_tci_threshold controls above which which value the limiter should activate.
source