General Relativistic Hydrodynamics
dg1d.GRHD.BdryBufferedData
— TypeHelper struct to define buffer values at boundaries and to enable uniform indexing.
dg1d.parameters
— Method[ 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
: Iffalse
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 withc2p_dynamic_atm
, but they are both options to prevent the atmosphere to go crazy.atm_equalize_on_interface = false
: Iftrue
then all states on an interface are set to atmosphere if at least one state is atmosphere.Note: So far only supported forspherical1d
formulation.bc = "from_id"
: Available options:tov_reflective_origin
: forid = tov
use reflection symmetry across coordinate origin; requiresrange = [ 0, R ]
whereR
shall be larger than the star's radius; at the outer boundary we impose vacuum variablestov_symmetric_domain
: forid = tov
to impose vacuum values on both ends; requiresrange = [ -R, R ]
whereR
shall be larger than the star's radiusfrom_id
id = "atmosphere"
: Available options:tov
: Tolman-Oppenheimer-Volkof starbondi_accretion
: Bondi accretionbondi_accretion_infall
: dynamic Bondi accretion test with infalling matter, also seeid_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 vectorrescaled_spherical1d
: generalized Valencia equations from Montero+2014; the reference metric is chosen such that all 1/r factors are removedvalencia1d
: vanilla Valencia formulation using spherical coordinates; also contains 1/r factors in the source termsdoublecartoon
: vanilla Valencia formulation but in Cartesian coordinates, where the y- and z-derivatives are converted into source terms; suitable for spherically symmetrycartoon
: 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. Ifav_drag = 0.0
then no dragging occurs. Ifav_drag = 1.0
then viscosity is frozen to its initial value.av_sensor_abslog_D = false
: Iftrue
apply the AV sensor tolog(|D|)
, otherwise useD
, whereD
is the state variable for the rest-mass density (including the volume factor).training_wheels = false
: For testing purposes.perturbation_rho = false
: Iftrue
adds a random perturbation with amplitude1e-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 theHRSC
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 optionsllf
: local Lax-Friedrich [2,3]roe
: Roe [1,2,3]marquina
: Marquina's method [1]
slope_limiter_method = "muscl"
: Available options:none
minmod
[1]muscl
[1] ... monotone upstream-centered limitersuperbee
[1]van_albada
[1]van_leer
[1]tvb
[1] ... total variation boundedmc
[2]
slope_limiter_tvb_M = 150.0
: Slope limiting parameter for MUSCL scheme, cf. Hesthaven book 2008, sec 10.2c2p_enforce_causal_atm = true
: Iftrue
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
: Iftrue
then an atmosphere is enforced after every full time step, independent of whether it has acausal effects. Iftrue
then this overridesc2p_enforce_causal_atm
.c2p_dynamic_atm = true
: Iftrue
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, providedc2p_enforce_causal_atm = true
. Iffalse
then the fluid-atmosphere interface is fixed to its state in the intial data.c2p_threshold_velocity_limiter = 1.0e-6
: Thresholdy₀ = ρ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
: Iftrue
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 databondi_accretion
: the same as the initial data for the Bondi accretion test, seeid = "bondi_accertion"
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. Seeanalyze_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 theOutput.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 tovariables0d_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 theOutput.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 forOutput.variables0d
.Available variables:Mtot
: Total restmass density, Mtot = ∫ √(γ) D dΩ.
doublecartoon_disable_derivatives = false
: Iftrue
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
: Iftrue
use a time step that is tailored to the smallest grid spacing.limiter = false
: Iftrue
enable the convex hull substep limiter.RequiresMesh.dg_kind = modal_bspline[1,2]
. See alsolimiter_limit_log_D, limiter_tci_log_D
.limiter_limit_log_D = false
: Iftrue
apply limiter tolog(D)
instead ofD
.limiter_tci_log_D = false
: Iftrue
apply TCI that is used to activate the limiter tolog(D)
instead ofD
.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.