aboutsummaryrefslogtreecommitdiff
path: root/param.ccl
diff options
context:
space:
mode:
authorknarf <knarf@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2009-11-18 16:36:37 +0000
committerknarf <knarf@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2009-11-18 16:36:37 +0000
commitaed5c4b5b94ef683f83c7597aee2174e34ec245f (patch)
tree6903142286d005e57a416cae7ce003f55edb61d4 /param.ccl
This is a _temporary_ repository to be able to start to work on the
code right now. I have put in the public version of Whisky to start from. Everybody with commit rights should get commit messages (and the other way around). It should not be a problem to add people to that list, just ask. I don't want to get into political problems because someone feels excluded, but I also don't want to give everyone access per se. Frank git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@3 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
Diffstat (limited to 'param.ccl')
-rw-r--r--param.ccl533
1 files changed, 533 insertions, 0 deletions
diff --git a/param.ccl b/param.ccl
new file mode 100644
index 0000000..d2e0b43
--- /dev/null
+++ b/param.ccl
@@ -0,0 +1,533 @@
+# Parameter definitions for thorn Whisky
+# $Header$
+
+shares:ADMBase
+
+USES int initial_shift ""
+{
+}
+
+USES KEYWORD metric_type ""
+{
+}
+
+EXTENDS KEYWORD shift_evolution_method ""
+{
+ "Comoving" :: "Set the shift so the matter is approximately comoving"
+}
+
+
+#########################################
+### PARAMETRES SHARED FROM HydroBase ###
+#########################################
+
+shares: HydroBase
+
+USES CCTK_INT timelevels
+USES KEYWORD prolongation_type
+EXTENDS KEYWORD evolution_method ""
+{
+ "whisky" :: "Use Whisky to evolve the hydro variables"
+}
+
+#########################################
+### PARAMETRES SHARED FROM MoL ###
+#########################################
+
+shares: MethodOfLines
+
+USES CCTK_INT MoL_Num_Evolved_Vars
+USES CCTK_INT MoL_Num_Constrained_Vars
+USES CCTK_INT MoL_Num_SaveAndRestore_Vars
+USES CCTK_INT MoL_Max_Evolved_Array_Size
+USES CCTK_INT MoL_Num_ArrayEvolved_Vars
+
+shares:SpaceMask
+
+USES boolean use_mask
+
+shares: ADMMacros
+
+USES INT spatial_order
+
+restricted:
+
+CCTK_INT Whisky_MaxNumEvolvedVars "The maximum number of evolved variables used by Whisky" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars
+{
+ 5:8 :: "dens scon[3] tau"
+} 5
+
+CCTK_INT Whisky_MaxNumConstrainedVars "The maximum number of constrained variables used by Whisky" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Constrained_Vars
+{
+ 7:13 :: "A small range, depending on testing or not"
+} 8
+
+CCTK_INT Whisky_MaxNumSandRVars "The maximum number of save and restore variables used by Whisky" ACCUMULATOR-BASE=MethodofLines::MoL_Num_SaveAndRestore_Vars
+{
+ 0:16 :: "A small range, depending on testing or not"
+} 16
+
+keyword recon_method "Which reconstruction method to use"
+{
+ "tvd" :: "Slope limited TVD"
+ "ppm" :: "PPM reconstruction"
+ "eno" :: "ENO reconstruction"
+} "tvd"
+
+keyword method_type "Which type of method to use"
+{
+ "RSA FV" :: "Reconstruct-Solve-Average finite volume method"
+ "Flux Split FD" :: "Finite difference using Lax-Friedrichs flux splitting"
+} "RSA FV"
+
+
+boolean check_for_trivial_rp "Do check for trivial Riemann Problem"
+{
+} "yes"
+
+keyword recon_vars "Which type of variables to reconstruct"
+{
+ "primitive" :: "Reconstruct the primitive variables"
+ "conservative" :: "Reconstruct the conserved variables"
+} "primitive"
+
+keyword tvd_limiter "Which slope limiter to use"
+{
+ "minmod" :: "Minmod"
+ "vanleerMC" :: "Van Leer MC - Ian"
+ "vanleerMC2" :: "Van Leer MC - Luca"
+ "minmod2" :: "Minmod - Ian"
+ "minmod3" :: "Minmod - Luca (or vice versa). Expect I've made a typo"
+ "Superbee" :: "Superbee"
+} "minmod"
+
+real myfloor "A minimum number for the TVD reconstruction routine"
+{
+ 0.0: :: "Must be positive"
+} 1.e-10
+
+boolean ppm_detect "Should the PPM solver use shock detection?"
+{
+} "no"
+
+keyword ppm_flatten "Which flattening procedure should the PPM solver use?"
+{
+ "stencil_3" :: "our flattening procedure, which requires only stencil 3 and which may work"
+ "stencil_4" :: "original C&W flattening procedure, which requires stencil 4"
+} "stencil_3"
+
+real ppm_epsilon "Epsilon for PPM zone flattening"
+{
+ 0.0: :: "Must be positive. Default is from Colella & Woodward"
+} 0.33
+
+real ppm_omega1 "Omega1 for PPM zone flattening"
+{
+ : :: "Anything goes. Default is from Colella & Woodward"
+} 0.75
+
+real ppm_omega2 "Omega2 for PPM zone flattening"
+{
+ : :: "Anything goes. Default is from Colella & Woodward"
+} 10.0
+
+real ppm_omega_tracer "Omega for tracer PPM zone flattening"
+{
+ : :: "Anything goes. Default is from Plewa & Mueller"
+} 0.50
+
+real ppm_epsilon_shock "Epsilon for PPM shock detection"
+{
+ : :: "Anything goes. Default is from Colella & Woodward"
+} 0.01
+
+real ppm_eta1 "Eta1 for PPM shock detection"
+{
+ : :: "Anything goes. Default is from Colella & Woodward"
+} 20.0
+
+real ppm_eta2 "Eta2 for PPM shock detection"
+{
+ : :: "Anything goes. Default is from Colella & Woodward"
+} 0.05
+
+real ppm_k0 "K0 for PPM shock detection"
+{
+ : :: "Anything goes. Default suggested by Colella & Woodward is: (polytropic constant)/10.0"
+} 0.2
+
+real ppm_small "A floor used by PPM shock detection"
+{
+ 0.0:1.0 :: "In [0,1]"
+} 1.e-7
+
+int ppm_mppm "Use modified (enhanced) ppm scheme"
+{
+ 0:1 :: "0 (off, default) or 1 (on)"
+} 0
+
+int ppm_mppm_debug_eigenvalues "write eigenvalues into debug grid variables"
+{
+ 0:1 :: "0 (off, default) or 1 (on)"
+} 0
+
+int eno_order "The order of accuracy of the ENO reconstruction"
+{
+ 1:* :: "Anything above 1, but above 5 is pointless"
+} 2
+
+keyword riemann_solver "Which Riemann solver to use"
+{
+ "Roe" :: "Standard Roe solver"
+ "Marquina" :: "Marquina flux"
+ "HLLE" :: "HLLE"
+} "HLLE"
+
+
+keyword HLLE_type "Which HLLE type to use"
+{
+ "Standard" :: "Standard HLLE solver"
+ "Tadmor" :: "Tadmor's simplification of HLLE"
+} "Standard"
+
+
+
+keyword left_eigenvectors "How to compute the left eigenvectors"
+{
+ "analytical" :: "Analytical left eigenvectors"
+ "numerical" :: "Numerical left eigenvectors"
+} "analytical"
+
+keyword numerical_viscosity "How to compute the numerical viscosity"
+{
+ "fast" :: "Fast numerical viscosity"
+ "normal" :: "Normal numerical viscosity"
+} "fast"
+
+keyword bound "Which boundary condition to use - FIXME"
+{
+ "flat" :: "Zero order extrapolation"
+ "none" :: "None"
+ "static" :: "Static, no longer supported"
+ "scalar" :: "Constant"
+} "none"
+
+int whisky_stencil "Width of the stencil"
+{
+ 0: :: "Must be positive"
+} 2
+
+keyword whisky_eos_type "Type of Equation of State"
+{
+ "Polytype" :: "P = P(rho) or P = P(eps)"
+ "General" :: "P = P(rho, eps)"
+} "General"
+
+string whisky_eos_table "Name for the Equation of State"
+{
+ .* :: "Can be anything"
+} "Ideal_Fluid"
+
+
+#Parameters controlling conservative <-> primitive change.
+
+int whisky_c2p_warnlevel "Warnlevel for Con2Prim warnings" STEERABLE=ALWAYS
+{
+ 0:1 :: "Either 0 or 1"
+} 0
+
+# This parameter is not used anymore in maintained code: the warnings are produced only for really evolved points.
+int whisky_c2p_warn_from_reflevel "Start warning on given refinement level and on higher levels" STEERABLE=ALWAYS
+{
+ 0: :: "Greater or equal to 0"
+} 0
+
+boolean c2p_reset_pressure "If the pressure guess is unphysical should we recompute it?"
+{
+} "no"
+
+real whisky_eps_min "Minimum value of internal energy - this is now only used in Whisky_InitData's Whisky_Only_Atmo routine"
+{
+ 0: :: "Positive"
+} 1.e-10
+
+real whisky_perc_ptol "Tolerance for primitive variable solve (percent)"
+{
+ 0: :: "Do we really want both tolerances?"
+} 1.e-8
+
+real whisky_del_ptol "Tolerance for primitive variable solve (absolute)"
+{
+ 0: :: "Do we really want both tolerances?"
+} 1.e-18
+
+int whisky_countmax "Maximum number of iterations for Con2Prim solve"
+{
+ 1:* :: "Must be positive"
+} 100
+
+int whisky_countmin "Minimum number of iterations for Con2Prim solve"
+{
+ 0:* :: "Must be non negative"
+} 1
+
+int whisky_polish "Number of extra iterations after root found"
+{
+ 0:* :: "Must be non negative"
+} 0
+
+###Parameters for compact fluid objects
+
+REAL whisky_rho_central "Central Density for Star"
+{
+ : :: ""
+} 1.e-5
+
+##Parameters for the atmosphere.
+
+REAL rho_abs_min "A minimum rho below which evolution is turned off (atmosphere). If negative, the relative minimum will be used instead."
+{
+ -1.0: :: ""
+} -1.0
+
+REAL rho_rel_min "A minimum relative rho (rhomin = centden * rho_rel_min) below which evolution is turned off (atmosphere). Only used if rho_abs_min < 0.0"
+{
+ 0: :: ""
+} 1.e-9
+
+REAL initial_rho_abs_min "An absolute value for rho in the atmosphere. To be used by initial data routines only. Unused if negative."
+{
+ -1.0: :: ""
+} -1.0
+
+REAL initial_rho_rel_min "A relative (to the central density) value for rho in the atmosphere. To be used by initial data routines only. Unused if negative."
+{
+ -1.0: :: ""
+} -1.0
+
+REAL initial_atmosphere_factor "A relative (to the initial atmosphere) value for rho in the atmosphere. To be used by initial data routines only. Unused if negative."
+{
+ -1.0: :: ""
+} -1.0
+
+REAL rho_abs_min_after_recovery "A new absolute value for rho in the atmosphere. To be used after recovering. Unused if negative." STEERABLE=ALWAYS
+{
+ -1.0: :: ""
+} -1.0
+
+REAL whisky_atmo_tolerance "A point is set to atmosphere in the Con2Prim's if its rho < whisky_rho_min *(1+whisky_atmo_tolerance). This avoids occasional spurious oscillations in carpet buffer zones lying in the atmosphere (because prolongation happens on conserved variables)" STEERABLE=ALWAYS
+{
+ 0.0: :: "Zero or larger. A useful value could be 0.0001"
+} 0.0
+
+BOOLEAN wk_atmosphere "Use some of Wolfgang Kastauns atmosphere tricks"
+{
+} "no"
+
+BOOLEAN Check_Rho_Minimum "Should a check on rho < whisky_rho_min be performed and written as WARNING level 2?"
+{
+} "no"
+
+boolean EoS_Change "Recalculate fluid quantities if changing the EoS"
+{
+} "no"
+
+keyword EoS_Change_type "Change polytropic K or Gamma?"
+{
+ "K" :: "Change the K"
+ "Gamma" :: "Change the Gamma"
+ "GammaKS" :: "Change K and Gamma, Shibata et al. 2004 3-D GR Core Collapse style"
+} "Gamma"
+
+real initial_Gamma "If changing Gamma, what was the value used in the initial data routine?"
+{
+ (0.0: :: "Positive"
+} 1.3333
+
+real initial_k "If changing K, what was the value used in the initial data routine?"
+{
+ (0.0: :: "Positive"
+} 100.0
+
+#If you want to use FishEye, you need the weighted fluxes
+
+BOOLEAN use_weighted_fluxes "Weight the flux terms by the cell surface areas"
+{
+} "no"
+
+#For the comoving shift
+
+real comoving_factor "Factor multiplying the velocity for the comoving shift"
+{
+ 0.0:2.0 :: "[0,2] is allowed, but [0,1] is probably reasonable"
+} 0.0
+
+keyword comoving_attenuate "Which attenuation method for the comoving shift"
+{
+ "sqrt" :: "Multiply by sqrt(rho/rho_max)"
+ "tanh" :: "Multiply by 1/2*(1+tanh(factor*(rho/rho_max - offset)))"
+} "tanh"
+
+keyword comoving_v_method "Which method for getting the radial velocity"
+{
+ "projected" :: "vr = x_i . v^i / r"
+ "components" :: "vr = sqrt(v_i v^i)"
+} "projected"
+
+real comoving_tanh_factor "The factor in the above tanh attenuation"
+{
+ (0.0:* :: "Any positive number"
+} 10.0
+
+real comoving_tanh_offset "The offset in the above tanh attenuation"
+{
+ 0.0:1.0 :: "Only makes sense in [0,1]"
+} 0.05
+
+int set_trivial_rp_grid_function "set gf for triv. rp (only for debugging)"
+{
+ 0:1 :: "0 for no (default), 1 for yes"
+} 0
+
+#Advect a tracer?
+
+boolean evolve_tracer "Should we advect tracers?"
+{
+} "no"
+
+int number_of_tracers "Number of tracer variables to be advected"
+{
+ 0:* :: "positive or zero"
+} 0
+
+boolean use_min_tracer "Should there be a floor on the tracer?"
+{
+} "no"
+
+real min_tracer "The floor placed on the tracer"
+{
+ *:* :: "Anything"
+} 0.0
+
+#Track particles?
+int number_of_particles "Number of particles to track" ACCUMULATOR-BASE=MethodOfLines::MoL_Max_Evolved_Array_Size
+{
+ 0:* :: "0 switches off particle tracking"
+} 0
+
+int number_of_arrays "Number of arrays to evolve" ACCUMULATOR-BASE=MethodOfLines::MoL_Num_ArrayEvolved_Vars
+{
+ 0:3 :: "Either zero or three, depending on the particles"
+} 0
+
+STRING particle_interpolator "What interpolator should be used for the particles"
+{
+ ".+" :: "A valid interpolator name"
+} "Lagrange polynomial interpolation"
+
+CCTK_INT particle_interpolation_order "What order should be used for the particle interpolation"
+{
+ 1:* :: "A valid positive interpolation order"
+} 2
+
+#Drift Correction
+
+boolean compute_DCandMaxima "Should we compute the drift correction and the maxima?" STEERABLE=ALWAYS
+{
+} "no"
+
+int DCandMaxima_every "Every so many iterations the maximum is computed"
+{
+ 1:* :: "Any positive integer"
+} 1
+
+real rho_max_min "Minimum which the searched maximum of the density can have to be still used"
+{
+ 0:* :: "any positive number"
+} 0
+
+boolean Whisky_useFullGridForMaxima "Should we use the full grid for finding the maxima (default is x>0)?" STEERABLE=ALWAYS
+{
+} "no"
+
+boolean set_dc_centroid "Should we use the maximum density to set the DriftCorrect location?"
+{
+} "no"
+
+boolean use_coord_maxima "Should we use the coordinate maximum (yes) or weighted maximum?"
+{
+} "yes"
+
+#Finding separations
+
+boolean compute_EqualMassStarSeparation "Should we compute the separation between the two stars? It only works for the equal-mass case."
+{
+} "yes"
+
+int separation_npoints "Number of points along the straight line for measuring proper separation"
+{
+ 1:* :: "Any positive number"
+} 100
+
+#Finding the local gradient
+
+keyword gradient_method "Which method is used to set Whisky::DiffRho?"
+{
+ "First diff" :: "Standard first differences"
+ "Curvature" :: "Curvature based method of Paramesh / FLASH"
+ "Rho weighted" :: "Based on the size of rho"
+} "First diff"
+
+#For the new EOS interface
+
+BOOLEAN use_eosgeneral "Should we use the new EOS interface?"
+{
+} "no"
+
+STRING eosgeneral_name "The name of the EOS to be used"
+{
+ ".*" :: "Any registered EOS"
+} "Polytrope"
+
+STRING eosgeneral_indep_names "The names of additional variables to be used in the EOS call"
+{
+ ".*" :: "Any variables consistent with the EOS"
+} ""
+
+INT eosgeneral_n_indeps "The number of additional variables to be used in the EOS call"
+{
+ 0:* :: "Anything non-negative"
+} 0
+
+STRING eosgeneral_indep_gfs "The names of the grid functions holding the additional variables"
+{
+ ".*" :: "Should be in the full Thorn::GF format"
+} ""
+
+STRING eosgeneral_indep_plus_gfs "The names of the grid functions holding the additional variables that will be correct at the plus cell boundary"
+{
+ ".*" :: "Should be in the full Thorn::GF format"
+} ""
+
+STRING eosgeneral_indep_minus_gfs "The names of the grid functions holding the additional variables that will be correct at the minus cell boundary"
+{
+ ".*" :: "Should be in the full Thorn::GF format"
+} ""
+
+#Setting outflow boundaries over only some of the domain for multipatch runs
+
+BOOLEAN outflow_boundaries "Use the outflow boundary conditions?"
+{
+} "no"
+
+REAL outflowboundary_normal[3] "The normal to the plane; to the right of this outflow conditions will be set"
+{
+ *:* :: "Anything"
+} 0.0
+
+# NaN detection level
+
+INT Whisky_NaN_verbose "The warning level for NaNs occuring within Whisky"
+{
+ 0:* :: "The warning level"
+} 2