Chapter A2
PunctureTracker

Author(s): Michael Koppitz <koppitz@aei.mpg.de>

Date: Date



A2.1 Abstract

PunctureTracker tracks black hole Punctures (singularities) by subtracting the value of the shift at the current location (the pucnture is advected with the shift) storing the location in a “SphericalSurface” one can use this information in Regrid2 to let the grid follow the BHs.

A2.2 Parameters

PunctureTracker has the followoing options: -pt_track_punctures (boolean, that triggers action)
-pt_verbose (integer that give the verbosity level)
-pt_num_tracked (integer that tells how many Punctures are to be tracked)
-pt_initial_x (double: Initial x coordinate positions of BHs)
-pt_initial_y (double: Initial y coordinate positions of BHs)
-pt_initial_z (double: Initial z coordinate positions of BHs)
-pt_which_surface_to_take (integer: which Spherical Surface should be used to store the new puncture location)

A2.3 Grid Scalars

-(pt_loc_x, pt_loc_y, pt_loc_z) location of puncture -(pt_shiftx, pt_shifty, pt_shiftz) value of shift at location of puncture

A2.4 Parameters




initial_x
Scope: private   REAL



Description: Initial x coordinate positions of punctures



Range    Default: 0.0
*:*






initial_y
Scope: private   REAL



Description: Initial y coordinate positions of punctures



Range    Default: 0.0
*:*






initial_z
Scope: private   REAL



Description: Initial z coordinate positions of punctures



Range    Default: 0.0
*:*






modify_distance
Scope: private   REAL



Description: Modify levels when the distance is less than this



Range    Default: 0.0
0.0:*
zero or positive






modify_puncture
Scope: private   INT



Description: Punctures to use for modification criteria



Range    Default: -1
-1:9
One of the tracking punctures or negative for no modification






new_reflevel_number
Scope: private   INT



Description: The new number of refinement levels



Range    Default: -1
-1:*
Negative for no change






shift_limit
Scope: private   REAL



Description: Shift components must be less than this in magnitude



Range    Default: 1.0e10
0.0:*
zero or positive






track
Scope: private   BOOLEAN



Description: Track this puncture



   Default: no






verbose
Scope: private   BOOLEAN



Description: speak up?



   Default: no






which_surface_to_store_info
Scope: private   INT



Description: A spherical surface index where we can store the puncture location



Range    Default: -1
-1
don’t store puncture location
0:*
any spherical surface index






nsurfaces
Scope: shared from SPHERICALSURFACE  INT



A2.5 Interfaces

General

Implements:

puncturetracker

Inherits:

admbase

carpetregrid2

sphericalsurface

Grid Variables

PRIVATE GROUPS




  Group Names    Variable Names     Details   




pt_loc    compact0
pt_loc_t    descriptionLocation of punctures
pt_loc_x    dimensions0
pt_loc_y    distributionCONSTANT
pt_loc_z    group typeSCALAR
   stagger typeNONE
   timelevels1
  vararray_size10
  variable typeREAL




pt_loc_p    compact0
pt_loc_t_p    descriptionPrevious location of punctures
pt_loc_x_p    dimensions0
pt_loc_y_p    distributionCONSTANT
pt_loc_z_p    group typeSCALAR
   stagger typeNONE
   timelevels1
  vararray_size10
  variable typeREAL




A2.6 Schedule

This section lists all the variables which are assigned storage by thorn AEIThorns/PunctureTracker. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.

Storage

 

Always:  
pt_loc pt_loc_p 
   

Scheduled Functions

CCTK_INITIAL

  puncturetracker_init

  calculate initial location of punctures

 

 Language:c
 Options: global
 Type: function

CCTK_EVOL

  puncturetracker_track

  calculate new location of punctures

 

 After: mol_evolution
  Language:c
 Options: global
 Type: function

CCTK_POSTSTEP

  puncturetracker_setpositions

  copy puncture positions to spherical surfaces

 

 Language:c
 Options: global
 Type: function