diff options
author | knarf <knarf@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2009-11-18 16:36:37 +0000 |
---|---|---|
committer | knarf <knarf@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2009-11-18 16:36:37 +0000 |
commit | aed5c4b5b94ef683f83c7597aee2174e34ec245f (patch) | |
tree | 6903142286d005e57a416cae7ce003f55edb61d4 /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.ccl | 533 |
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 |