aboutsummaryrefslogtreecommitdiff
path: root/doc/TODO
blob: feb4cc4efb0570db923d592186abb3b0e16c11e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
small things
  if the user asks for a mask to be set, and we find a horizon,
    but the mask parameters are such that we don't mask any grid points,
    then we should give a warning that something may be wrong...
  many more parameters should be steerable
    (find_every would be easy and already useful)
  document what parameters would be needed if ghost_size is restricted to 1
  give a cogent error message (instead of core-dumping like we do right now)
    if we try to set a mask and nobody's registered the bitfield yet
  add a "find_after" or "find_when" option so we can specify the times at
    which we want to find a given horizon(s)
  have some way to make  find_every  specifyable on a per-horizon basis
    (maybe with two parameters like we do for whether or not to set the mask)
  I should set CXXFLAGS for this thorn to turn off automagic template
    instantiation on those platforms (eg lemieux, modi4) where it's on
    by default (Thomas Radke says to copy FlexIO's scheme for doing this)
  there should be an option to specify using the parameter-file initial
    guess at selected times (or cactus iteration numbers) instead of always
    using the AH posn from the previous time step -- this would be useful
    if there are an inner & outer horizon which start out coincident
    and you want to track them separately
  implement "physics highlights" verbosity level
  implement a log file where the full "algorithm highlights" (or whatever)
    messages can go even if stdout (= the Cactus run's log file) only gets
    less-verbose messages
  output all surfaces with the same "parity", eg rho x sigma should point out
    or suchlike
  Sascha Husa & Sergio Dain would like the ability to search for
    "antitrapped surfaces", i.e. to flip the sign of $K_{ij}$
    (Bernd Reimann is also interested in this)
  allow absolute paths in file names (eg for BH diagnostics file)
    to override IO::out_dir or AHFinderDirect::h_dir

medium things
  switch to UMFPACK 4.1 and ATLAS BLAS, cf
     http://www.cise.ufl.edu/research/sparse/umfpack/
     http://math-atlas.sourceforge.net/
     --> should make AHFinderDirect considerablyfaster
  (optionally) remember the "sparse structure decompositon" for all
     Newton solves for a given AH within a Cactus run
     --> uses more memory, but should make AHFinderDirect much faster
  Frank Herrmann would like the following option for excision:
    if there exists a point which was excised at the last time step,
       and which this AH would not excise,
    then skip all excision for this AH
  compute Gaussian curvature, cf AHFinder/src/AHFinder_gau.F
  HDF5 data files (simple format and/or Werner Benger's fancy one)
  move origin point to track moving BHs
  read AHFinder Fourier coeffs for initial guess
  write data files giving intersection of AH with a Cactus output plane
     (or more generally, with a hyperslab)
  prevent h from going negative if the iteration isn't converging
     (maybe use log(h) in Newton iteration?)
  handle excision properly
     (detect when interpolator tries to use data from excised region
      and treat this as failure to evalute H(h) --> failure to find horizon
  checkpoint/recover doesn't remember the current horizon shape
     for an initial guess 
     (needs storage of h gridfn in Cactus arrays,
      or else some equivalent mechanism)
     what's worse, right now restart will overwrite the original
     BH_diagnostics file(s)! :( :(
  if two apparent horizons appear together, then move apart, right now
     even with N_horizons > 1 we will probably have each of our AHs track
     the same one; there should be some way to say "use AH 1 + something
     as the initial guess for AH2" or suchlike, so we could find both AHs

large things
  handle quadrant/octant grids with rotating BCs
     (needs Jacobian of one ghost zone to cover two different ghost zones)
  "isolated horizons" computation of BH mass and spin
     (maybe just accomplish this via interfacing to Erik's thorns)
  detect Cartoon and rotate geometry interpolation into Cartoon plane
  maybe try the TATElliptic interface for solving the AH equation
     as an alternative to the home-grown solvers I use now???