# Parameter definitions for thorn AHFinderDirect # $Header$ ################################################################################ # # parameters to define the patch system # private: real origin_x "global x coordinate of patch system origin" { *:* :: "any real number" } 0.0 real origin_y "global y coordinate of patch system origin" { *:* :: "any real number" } 0.0 real origin_z "global z coordinate of patch system origin" { *:* :: "any real number" } 0.0 keyword patch_system_type "what type of patch system should we use?" { "full sphere" :: "full sphere, no symmetries" "+z hemisphere" :: "mirror symmetry across z=0 plane" "+xy quadrant" :: "90 degree periodic rotation symmetry about z axis" "+xz quadrant" :: "mirror symmetry across z=0 plane *and* \ 180 degree periodic rotation symmetry about z axis" "+xyz octant" :: "mirror symmetry across z=0 plane *and* \ 90 degree periodic rotation symmetry about z axis" } "full sphere" int N_ghost_points "number of ghost zones on each side of a patch" { 0:* :: "any integer >= 0" } 2 int N_overlap_points \ "number of grid points that nominally-just-touching patches should overlap" { 1:*:2 :: "any integer >= 0; current implementation requires that it be odd" } 1 real delta_drho_dsigma "angular grid spacing of patches, in degrees" { (0.0:* :: "any real number > 0.0" } 5.0 ################################################################################ # # parameters for the interpolator used to interpolate the "geometry" # $g_{ij}$ and $K_{ij}$ to the apparent horizon surface position # string geometry_interpolator_name \ "name under which the geometry interpolation operator is registered in Cactus" { .* :: "any string" } "generalized polynomial interpolation" string geometry_interpolator_pars \ "parameters for the geometry interpolator" { .* :: "any string acceptable to Util_TableSetFromString()" } "" ################################################################################ # # parameters for the interpatch interpolator # string interpatch_interpolator_name \ "name under which the interpatch interpolation operator is registered in Cactus" { .* :: "any string" } "generalized polynomial interpolation" string interpatch_interpolator_pars \ "parameters for the interpatch interpolator" { .* :: "any string acceptable to Util_TableSetFromString()" } "" ################################################################################ # # parameters specifying the initial guess for the apparent horizon shape # keyword initial_guess_method \ "method used to set up initial guess for apparent horizon shape" { "read from file":: "read from input file" "ellipsoid" :: "ellipsoid specified by initial_guess__ellipsoid__* parameters" } "read from file" # parameters for initial_guess_method = "read from file" string initial_guess__read_from_file__file_name \ "file name from which to read initial guess for apparent horizon shape" { .* :: "any string" } "h.dat" # parameters for initial_guess_method = "ellipsoid" real initial_guess__ellipsoid__center_global_x \ "global x coordinate of ellipsoid center" { *:* :: "any real number" } 0.0 real initial_guess__ellipsoid__center_global_y \ "global y coordinate of ellipsoid center" { *:* :: "any real number" } 0.0 real initial_guess__ellipsoid__center_global_z \ "global z coordinate of ellipsoid center" { *:* :: "any real number" } 0.0 real initial_guess__ellipsoid__radius_x "x coordinate radius of ellipsoid" { *:* :: "any real number" } 2.0 real initial_guess__ellipsoid__radius_y "y coordinate radius of ellipsoid" { *:* :: "any real number" } 2.0 real initial_guess__ellipsoid__radius_z "z coordinate radius of ellipsoid" { *:* :: "any real number" } 2.0 ################################################################################ # # overall parameters for the apparent horizon finder # keyword method "top-level method used to find the apparent horizon" { "horizon" :: \ "don't find the apparent horizon, just evaluate LHS function H(h)" } "horizon" ################################################################################ # # parameters for the test driver src/util/test_patch_system.cc # keyword which_test "which test should we do?" { "gridfn" :: "set up test fn(x,y,z), print it" "read gridfn" :: "read in ghosted test fn(x,y,z), print it" "synchronize" :: "set up test fn(x,y,z), synchronize it, print errors" "synchronize Jacobian":: \ "set up test fn(x,y,z), compute Jacobian of synchronize(), compare with NP" "derivatives" :: "set up test fn(rho,sigma), take derivs, print errors" } "gridfn" int which_derivs "bit flags to specify which derivatives to test" { 0:63 :: "any set of bit flags" } 63 # # Don't set this too small or roundoff errors will become large. # Don't set this too large or finite differencing errors will become large. # In practice the default value should be fine. # real NP_Jacobian__perturbation_amplitude \ "NP Jacobian: numerical-perturbation amplitude" { (0.0:* :: "any real number > 0" } 1.0e-6 # # true ==> gives a more thorough test of the Jacobian, # but makes the test run much slower # false ==> gives a slightly less thorough test, but runs faster # boolean NP_Jacobian__perturb_all_y_patch_points \ "should we perturb at *all* points in the y patch, or just those with the \ iperp which is (supposedly) involved in the interpatch interpolation?" { } true; string Jacobian_file_name "name of the Jacobian output file" { .+ :: "any valid file name" } "Jacobian.dat"