# Parameter definitions for thorn IVP shares: grid USES KEYWORD domain "" { } # needs 2 restricted parameters from BAM #shares: BAM_Elliptic #USES REAL bam_robin_limit "" #{ #: :: #} #USES REAL bam_robin_power "" #{ #: :: #} shares: gen_rel_perfect_fluid #BOOLEAN mahc_evolution "Should we register MAHC evolution?" #{ #} REAL eos_k "polytropic constant used in MAHC" { : :: "" } REAL eos_gamma "adiabatic index used in MAHC" { : :: "" } restricted: BOOLEAN do_ivp "implement thorn IVP" STEERABLE = ALWAYS { } "no" BOOLEAN do_ivp_for_HAM "solve for hamiltonian constraints" { } "no" BOOLEAN do_ivp_for_MOM "solve for momentum constraints" { } "no" BOOLEAN ivp_init "initialize test data?" { } "no" KEYWORD ivp_init_method "method for initializing test data" { "flat" :: "flat space?" "pflat_conf" :: "perturbed flat space (conformal)" "pflat_nconf" :: "perturbed flat space (nonconformal)" "pflat_nconf_0K" :: "perturbed flat, nonconf, 0 ext. curv" "flat_pK" :: "flat space and perturbed ext.curv" } "flat" KEYWORD ivp_conformal_metric "what initial conformal metric?" { "flat" :: "" "input" :: "" "test" :: "" } "flat" KEYWORD ivp_trK_conformal_astar "what for initial conformal astar?" { "zero" :: "" "input" :: "" "test" :: "" } "zero" BOOLEAN trK0 "if setting ivp_conformal_astar = input, set tr(K) = 0?" { } "no" BOOLEAN ivp_force_trK_zero "force tr(K) = 0 for any setting?" { } "no" BOOLEAN assume_astar_divfree "assume input astar divergence free (per York)?" { } "yes" KEYWORD ivp_robin_method "what method for robin BCs" { "none" :: "" "BAM" :: "BAM in thorn BAM_Elliptic" "fix" :: "fix outer boundaries to particular value" } "none" BOOLEAN ivp_ts "assume data is time symmetric? yes for linear" { } "no" KEYWORD ivp_ham_solver "method for solving hamiltonian constraint" { "bam_nonlin" :: "" "linear" :: "" } "linear" KEYWORD ivp_linear_solver "linear solver used" { "none" :: "" "bam" :: "" "sor" :: "" "petsc" :: "" "jacobi" :: "" } "none" BOOLEAN ivp_linear_bam_precond "lin ham const use bamnonlin for precond?" { } "no" BOOLEAN ivp_set_bm_vars "should ivp set BM vars before solve?" { } "no" BOOLEAN ivp_2pass "do IVP in 2 passes" { } "no" BOOLEAN enforce_traceless_Atwiddle "get rid of num.error trace in conf.trans" { } "no" KEYWORD ivp_conf_trans_bound "BC for conf.trans" { "none" :: "" "static" :: "" "robin" :: "" } "none" BOOLEAN ivp_poststep "solve IVP as poststep" { } "no" INT ivp_poststep_every "How often to solve IVP as poststep?" { -1: :: "do not set to 0, or possible seg.fault" } -1 private: REAL ivp_elliptic_tol "tolerance for elliptic equation solve" { 0.e-1: :: "must be greater than 0" } 1.e-12 REAL ivp_elliptic_tol_pass1 "tolerance for elliptic equation, pass 1" { 0.e-1: :: "must be greater than 0" } 1.e-4 REAL ivp_del_psi_max "tolerance for nonlinear IVP solve" { 0.e-1: :: "must be greater than 0" } 1.e-8 REAL ivp_linear_ham_tol "tolerance for nonlin. sweeps in lin.ham solver" { 0.e-1: :: "must be greater than 0" } 1.e-10 REAL ivp_tol_conv "tolerance for converging NeumannBC diff" { 0.e-1: :: "must be greater than 0" } 1.e-3 REAL ivp_tol_conv_stop "tolerance for stop iteration NeumannBC diff" { 0.e-1: :: "must be greater than 0" } 1.e-3 REAL ivp_wvec_falloff_power "falloff for w sent to elliptic solver" { : :: "same range as elliptic parameters" } 1.0 REAL ivp_matterdens_pow "power of psi in conformal trans for rho" { : :: "any range" } -8.0 REAL mahc_ivp_conformal_tol "prim var solve tolerance in IVP" { : :: "any range" } 1.e-12 REAL Recon_rho_min "Minimum rho to be reconstructed from York vars" { : :: "any range" }0.0 REAL Recon_rho_max "Maximum rho to be reconstructed from York vars" { : :: "any range" }1.0d0 STRING IVP_EOS_table_type "Which table should IVP use?" { .* :: "" } "Ideal_Polytrope" KEYWORD IVP_eos "Which EOS should IVP use?" { "ideal_polytrope" :: "P=(gamma-1)*rho*eps=k*rho**gamma" "tables" :: "Use tables through EOS_1D_Base" } "ideal_polytrope"