3.1 Software libraries and toolkits

More recently, particularly in work on fully generic spacetimes, where all three spatial dimensions must
be treated numerically, there has been a strong trend towards the use of higher-level software libraries and
modular “computational toolkits” such as Cactus[74] (http://www.cactuscode.org). These have a
substantial learning overhead, but can allow researchers to work much more productively by focusing more
on numerical relativity instead of computer-science and software-engineering issues such as parameter-file
parsing, parallelization, I/O, etc.

A particularly important area for such software infrastructure is mesh
refinement5.
This is essential to much current numerical-relativity research but is moderately difficult to implement even
in only one spatial dimension, and much harder in multiple spatial dimensions. There are now a number of
software libraries providing multi-dimensional mesh-refinement infrastructure (sometimes combined with
parallelization), such as those listed in Table 1. The Cactus toolkit can be used in either unigrid or
mesh-refinement modes, the latter using a “mesh-refinement driver” such as PAGH or Carpet[134, 131]
(http://www.carpetcode.org).

In this review I point out event and apparent horizon finders which have been written in particular
frameworks and comment on whether they work with mesh refinement.