horizon finding utilities
For black hole simulations requiring excision, HAD comes with
several parallel horizon finding utilities for dynamically moving the
excision region as the horizon changes position in time.
Parameters for controlling this:
- findhorizon = 0 [default] No dynamic horizon finding
= 1 inflow boundary detection ( user defined routine grid_ahfind is called )
- mask_period = 1 [default] The number of fine grid steps
between masking and horizon finding
- use_mask = 0 [default] no mask
= 1 use mask
- mask_usemin = 0 [default] This turns off the initialization of
the minimum field finder and uses user inputs
= 1 This turns on looking for horizons at minimum of field designated using
parameter mask_minfield
- mask_minfield The is the number of the field used for
initializing the horizon finder. If mask_usemin = 1, the location
of the minimum in the field specified by mask_minfield will be
used for initializing the guess of the horizon location for the horizon
finder. mask_minfield takes an integer, not a character. To find
the number corresponding to each field in an application, look in had/include/fields.inc
In order to use the horizon finding tools in HAD, the user needs to
complete the routine grid_ahfind found in the user defined application
file comp_amr_error.f. If no horizon finding capability is needed,
this routine can be left blank.
Routine grid_ahfind is a project specific routine to
find where to excise. This routines requires centers for up to
two masks to be specified. The routine is responsible for
determining on the grid whether the quantities
- local_left(1..2,1..3)
- local_right(1..2,1..3)
need to be adjusted. The first index indicates which
mask is being addressed, either mask #1 or mask #2. In local_left,
the user specifies the x,y,z coordinates of the furthest extent of the
horizon to the left (or negative direction) of the singularity
on the local processor. In local_right, the user specifies
the x,y,z coordinates of the furthest extent of the
horizon to the right (or positive direction) of the
singularity on the local processor.
These are local to the processor calling
grid_ahfind, and global bounds will be found in the driver
level routine level_bhmask_local(). The data structures for
routine grid_ahfind are found in had/include/mask.inc.
Notes
See Also
mask,
comp_amr_error,
List of required routines
Index of all manual pages
Examples
None