CarpetX: a Cactus driver for the Einstein Toolkit based on AMReX
# Parameter definitions for thorn TwoPunctures

SHARES: ADMBase

EXTENDS KEYWORD initial_data 
{
  "twopunctures" :: "two puncture black holes"
} 

EXTENDS KEYWORD initial_lapse
{
  "twopunctures-antisymmetric" :: "antisymmetric lapse for two puncture black holes, -1 <= alpha <= +1"
  "twopunctures-averaged"      :: "averaged lapse for two puncture black holes, 0 <= alpha <= +1"
  "psi^n"                      :: "Based on the initial conformal factor"
  "brownsville"                :: "See Phys. Rev. D 74, 041501 (2006)"
}



SHARES: IO

USES STRING out_dir



RESTRICTED:

BOOLEAN verbose "Print screen output while solving"
{
} "no"

BOOLEAN keep_u_around "Keep the variable u around after solving"
{
} "no"

BOOLEAN give_bare_mass "User provides bare masses rather than target ADM masses"
{
} "yes"

CCTK_REAL adm_tol "Tolerance of ADM masses when give_bare_mass=no"
{
  (0:*) :: ""
} 1.0e-10

KEYWORD grid_setup_method "How to fill the 3D grid from the spectral grid"
{
  "Taylor expansion" :: "use a Taylor expansion about the nearest collocation point (fast, but might be inaccurate)"
  "evaluation"       :: "evaluate using all spectral coefficients (slow)"
} "Taylor expansion"



INT npoints_A "Number of coefficients in the compactified radial direction"
{
  4:* :: ""
} 30

INT npoints_B "Number of coefficients in the angular direction"
{
  4:* :: ""
} 30

INT npoints_phi "Number of coefficients in the phi direction"
{
  4:*:2 :: ""
} 16



REAL Newton_tol "Tolerance for Newton solver"
{
  (0:*) :: ""
} 1.0e-10

INT Newton_maxit "Maximum number of Newton iterations"
{
  0:* :: ""
} 5

REAL TP_epsilon "A small number to smooth out singularities at the puncture locations"
{
  0:* :: ""
} 0.0

REAL TP_Tiny "Tiny number to avoid nans near or at the pucture locations"
{
  0:* :: "anything positive, usually very small"
} 0.0
REAL TP_Extend_Radius "Radius of an extended spacetime instead of the puncture"
{
  0:* :: "anything positive, should be smaller than the horizon"
} 0.0

REAL par_b "x coordinate of the m+ puncture" STEERABLE=always
{
  (0.0:*) :: ""
} 1.0

REAL par_m_plus "mass of the m+ puncture" STEERABLE = ALWAYS
{
  0.0:*) :: ""
} 1.0

REAL par_m_minus "mass of the m- puncture" STEERABLE = ALWAYS
{
  0.0:*) :: ""
} 1.0

REAL target_M_plus "target ADM mass for m+"
{
  0.0:*) :: ""
} 0.5

REAL target_M_minus "target ADM mass for m-"
{
  0.0:*) :: ""
} 0.5

REAL par_P_plus[3] "momentum of the m+ puncture"
{
  (*:*) :: ""
} 0.0

REAL par_P_minus[3] "momentum of the m- puncture"
{
  (*:*) :: ""
} 0.0

REAL par_S_plus[3] "spin of the m+ puncture"
{
  (*:*) :: ""
} 0.0

REAL par_S_minus[3] "spin of the m- puncture"
{
  (*:*) :: ""
} 0.0

REAL center_offset[3] "offset b=0 to position (x,y,z)"
{
  (*:*) :: ""
} 0.0

REAL initial_lapse_psi_exponent "Exponent n for psi^-n initial lapse profile"
{
  (*:*) :: "Should be negative"
} -2.0



BOOLEAN swap_xz "Swap x and z coordinates when interpolating, so that the black holes are separated in the z direction"
{
} "no"



BOOLEAN use_sources "Use sources?"
{
} "no"

BOOLEAN rescale_sources "If sources are used - rescale them after solving?"
{
} "yes"

BOOLEAN use_external_initial_guess "Set initial guess by external function?"
{
} "no"

BOOLEAN do_residuum_debug_output "Output debug information about the residuum"
{
} "no"

BOOLEAN do_initial_debug_output "Output debug information about initial guess"
{
} "no"

BOOLEAN multiply_old_lapse "Multiply the old lapse with the new one"
{
} "no"

BOOLEAN solve_momentum_constraint "Solve for momentum constraint?"
{
} "no"