# This parameter file sets up Misner initial data and time-evolves # it with maximal slicing and gamma-driver shift. It finds apparent # horizons with both AHFinderDirect and AHFinder, to allow comparison # of the two apparent horizon finders' results. # # Note that the grid is very high-resolution to ensure that both # apparent horizon finders find the horizons properly. Even with # the fairly large number of grid points (the evolution takes around # 830 megabytes of memory on an AEI xeon), this means that the outer # boundary is very close in, so the boundary conditions are pretty # inaccurate. But this doesn't matter for the purposes of this # test # ######################################## ActiveThorns = "BAM_Elliptic ADMBase ADMConstraints StaticConformal Ellbase CartGrid3D Time PUGH PUGHReduce PUGHSlab IOAscii IOUtil IOBasic ADMCoupling ADMMacros ADMAnalysis SpaceMask CoordGauge ADM_BSSN Boundary PUGHInterp Maximal NaNChecker AHFinder LocalInterp AHFinderDirect" ######################################## # # physics # admbase::initial_data = "misner" bam_elliptic::misner_mu = 2.0 #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # # grid # driver::global_nx = 83 driver::global_ny = 83 driver::global_nz = 116 time::dtfac = 0.25 grid::type = "byspacing" grid::avoid_origin = "true" grid::dxyz = 0.04 grid::domain = "bitant" pugh::ghost_size = 2 cactus::cctk_itlast = 2000 # t=20 ######################################## # # output # IOBasic::outScalar_every = 1 IOASCII::out1D_every = 10 IOBasic::outInfo_every = 1 IO::recover = "no" IO::verbose = "standard" IOUtil::parfile_write = "no" IOBasic::outScalar_vars = "admanalysis::grr admbase::alp admbase::betax admbase::betay admbase::betaz adm_bssn::adm_bs_gyy adm_bssn::adm_bs_k adm_bssn::adm_bs_gx adm_bssn::adm_bs_phi admconstraints::momx admconstraints::ham" IOBasic::outInfo_vars = "admconstraints::ham admbase::alp" IOASCII::out1D_vars = "admanalysis::grr ADMBase::gxx admbase::gyy ADMBase::gzz admbase::alp StaticConformal::psi admconstraints::momx admconstraints::ham" ######################################## NaNChecker::check_every = 1 NaNChecker::check_vars = "admbase::lapse admbase::shift admbase::metric admbase::curv adm_bssn::adm_bssn_phi adm_bssn::adm_bssn_metric adm_bssn::adm_bssn_curv adm_bssn::adm_bssn_gamma adm_bssn::adm_bssn_k" NaNChecker::action_if_found = "abort" ######################################## # # standard ADM_BSSN evolution # admbase::metric_type = "static conformal" staticconformal::conformal_storage = "factor+derivs+2nd derivs" admbase::evolution_method = "adm_bssn" adm_bssn::method = "icn" adm_bssn::ICN_itnum = 3 adm_bssn::bound = "radiative" adm_bssn::stencil_size = 2 adm_bssn::advection = "upwind2" boundary::radpower = 2 ######################################## # # maximal slicing # admbase::initial_lapse = "ssapprox" admbase::lapse_evolution_method = "maximal" adm_bssn::forceKzero = "yes" maximal::max_every = 5 maximal::max_solver = "bam" maximal::max_bound = "robin" maximal::max_robin_falloff = 1 maximal::max_robin_inf = 1.0 maximal::maximal_thresh = 1e-08 bam_elliptic::maximal_maxcycles = 250 bam_elliptic::bam_laplacian = "delginv" bam_elliptic::maximal_verbose = "no" bam_elliptic::bam_fullV = "no" bam_elliptic::maximal_coarsetol = 1e-10 bam_elliptic::bam_solve_nmin = 10 bam_elliptic::bam_solve_nmax = 500 bam_elliptic::bam_solve_normmax = 1e-10 bam_elliptic::bam_persist = "yes" bam_elliptic::bam_bound = "bamrobin" ######################################## # # gamma-driver shift # admbase::initial_shift = "zero" admbase::shift_evolution_method = "gamma2" adm_bssn::ShiftGammaCoeff = 0.75 adm_bssn::ShiftAlpPower = 1 adm_bssn::ShiftPsiPower = 4 adm_bssn::ShiftPhiPower = 0 adm_bssn::BetaDriver = 2.8 adm_bssn::BetaDriverPsi = 0.0 adm_bssn::BetaDriverPhi = 0.0 ######################################### # AHFinder # AHFinder::ahf_active = "yes" AHFinder::ahf_find3 = "no" AHFinder::ahf_flow = "no" # minimization algorithm AHFinder::ahf_verbose = "no" AHFinder::ahf_veryverbose = "no" AHFinder::ahf_guessverbose = "yes" AHFinder::ahf_findevery = 20 AHFinder::ahf_guessold = "yes" AHFinder::ahf_2Doutput = "yes" AHFinder::ahf_gaussout = "yes" AHFinder::ahf_phi = "no" # axisymmetry AHFinder::ahf_refx = "yes" # reflection symmetry x <--> -x AHFinder::ahf_refy = "yes" # reflection symmetry y <--> -y AHFinder::ahf_lmax = 10 AHFinder::ahf_maxiter = 15 AHFinder::ahf_offset = "yes" AHFinder::ahf_xc = 0.0 AHFinder::ahf_yc = 0.0 AHFinder::ahf_zc = 1.0 AHFinder::ahf_wander = "no" # for easier cmp with AHFinderDirect # initial guess AHFinder::ahf_sloppyguess = "yes" AHFinder::ahf_r0 = 0.3 # surface integrals AHFinder::ahf_ntheta = 50 # as low as 50 ######################################## # # AHFinderDirect # AHFinderDirect::find_AHs_at_postinitial = "true" AHFinderDirect::find_AHs_at_poststep = "true" AHFinderDirect::verbose_level = "algorithm highlights" AHFinderDirect::h_base_file_name = "misner.h" AHFinderDirect::how_often_to_output_h = 10 # time steps AHFinderDirect::N_horizons = 2 AHFinderDirect::origin_x[1] = 0.0 AHFinderDirect::origin_y[1] = 0.0 AHFinderDirect::origin_z[1] = 1.0 AHFinderDirect::initial_guess_method[1] = "coordinate sphere" AHFinderDirect::initial_guess__coord_sphere__x_center[1] = 0.0 AHFinderDirect::initial_guess__coord_sphere__y_center[1] = 0.0 AHFinderDirect::initial_guess__coord_sphere__z_center[1] = 1.0 AHFinderDirect::initial_guess__coord_sphere__radius[1] = 0.3 AHFinderDirect::origin_x[2] = 0.0 AHFinderDirect::origin_y[2] = 0.0 AHFinderDirect::origin_z[2] = 0.0 AHFinderDirect::initial_guess_method[1] = "coordinate ellipsoid" AHFinderDirect::initial_guess__coord_ellipsoid__x_center[2] = 0.0 AHFinderDirect::initial_guess__coord_ellipsoid__y_center[2] = 0.0 AHFinderDirect::initial_guess__coord_ellipsoid__z_center[2] = 0.0 AHFinderDirect::initial_guess__coord_ellipsoid__x_radius[2] = 0.8 AHFinderDirect::initial_guess__coord_ellipsoid__y_radius[2] = 0.8 AHFinderDirect::initial_guess__coord_ellipsoid__z_radius[2] = 1.4