aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--param.ccl15
-rw-r--r--src/GRHydro_Con2Prim.F903
2 files changed, 15 insertions, 3 deletions
diff --git a/param.ccl b/param.ccl
index 671cdd7..5bc148d 100644
--- a/param.ccl
+++ b/param.ccl
@@ -288,14 +288,25 @@ boolean GRHydro_c2p_reset_eps_tau_hot_eos "As a last resort, reset tau" STEERABL
REAL GRHydro_hot_atmo_temp "Temperature of the hot atmosphere in MeV" STEERABLE=ALWAYS
{
- 0:* :: "Larger than 0 MeV"
+ 0.0:* :: "Larger than 0 MeV"
} 0.5e0
REAL GRHydro_hot_atmo_Y_e "Y_e of the hot atmosphere" STEERABLE=ALWAYS
{
- 0:* :: "Larger than 0"
+ 0.0:* :: "Larger than 0"
} 0.5e0
+REAL GRHydro_Y_e_min "minimum allowed Y_e" STEERABLE=ALWAYS
+{
+ 0.0:* :: "Larger than or equal to zero"
+} 0.0
+
+REAL GRHydro_Y_e_max "maximum allowed Y_e" STEERABLE=ALWAYS
+{
+ 1.0:* :: "Larger than or equal to zero; 1 is default"
+} 1.0
+
+
####################### Other Parameters ##############################
#Parameters controlling conservative <-> primitive change.
diff --git a/src/GRHydro_Con2Prim.F90 b/src/GRHydro_Con2Prim.F90
index 801db2f..0f8f845 100644
--- a/src/GRHydro_Con2Prim.F90
+++ b/src/GRHydro_Con2Prim.F90
@@ -150,7 +150,8 @@ subroutine Conservative2Primitive(CCTK_ARGUMENTS)
endif
if(evolve_Y_e.ne.0) then
- Y_e(i,j,k) = Y_e_con(i,j,k) / dens(i,j,k)
+ Y_e(i,j,k) = max(min(Y_e_con(i,j,k) / dens(i,j,k),GRHydro_Y_e_max),&
+ GRHydro_Y_e_min)
endif
if ( dens(i,j,k) .le. sqrt(det)*GRHydro_rho_min*(1.d0+GRHydro_atmo_tolerance) ) then