Go to previous page Go up Go to next page

3.2 Code reuse and sharing

Another important issue is that of code reuse and sharing. It is common for codes to be shared within a research group but relatively uncommon for them to be shared between different (competing) research groups. Even apart from concerns about competitive advantage, without a modular structure and clear documentation it is difficult to reuse another group’s code. The use of a common computational toolkit can greatly simplify such reuse.

If such reuse can be accomplished, it becomes much easier for other researchers to build on existing work rather than having to “reinvent the wheel”. As well as the obvious ease of reusing existing code that (hopefully!) already works and has been thoroughly debugged and tested, there is another – less obvious – benefit of code sharing: It greatly eases the replication of past work, which is essential as a foundation for new development. That is, without access to another researcher’s code, it can be surprisingly difficult to replicate her results because the success or failure of a numerical algorithm frequently depends on subtle implementation details not described in even the most complete of published papers.

Event and apparent horizon finders are excellent candidates for software reuse: Many numerical-relativity researchers can benefit from using them, and they have a relatively simple interface to an underlying numerical-relativity simulation. Even if a standard computational toolkit is not used, this relatively simple interface makes it fairly easy to port an event or apparent horizon finder to a different code.

Table 2 lists event and apparent horizon finders which are freely available to any researcher.








Toolkit/Program References
Algorithm Type



Cactus/EHFinder [60Jump To The Next Citation Point]

Integrate null surfaces backwards in time (Section 5.3)

cvs -d :pserver:cvs_anon@cvs.aei.mpg.de:/numrelcvs checkout AEIThorns/EHFinder



Cactus/AHFinder [4Jump To The Next Citation Point]

Minimization (Section 8.3) and fast flow (Section 8.7)

cvs -d :pserver:cvs_anon@cvs.cactuscode.org:/cactusdevcvs checkout CactusEinstein/AHFinder



Cactus/AHFinderDirect [156Jump To The Next Citation Point]

Elliptic-PDE (Section 8.5)

cvs -d :pserver:cvs_anon@cvs.aei.mpg.de:/numrelcvs checkout AEIThorns/AHFinderDirect
[133Jump To The Next Citation Point135Jump To The Next Citation Point]

Modified by Schnetter [133Jump To The Next Citation Point135Jump To The Next Citation Point]
to support pretracking
(Section 8.6)

cvs -d :pserver:cvs_anon@cvs.aei.mpg.de:/numrelcvs -r Erik checkout AEIThorns/AHFinderDirect



Cactus/TGRapparentHorizon2D [132Jump To The Next Citation Point133Jump To The Next Citation Point]

Elliptic-PDE (Section 8.5)

cvs -d :pserver:cvs_anon@cvs.cactuscode.org:/arrangements checkout TAT_Archive/TGRapparentHorizon2D



Lorene/AH_finder [104Jump To The Next Citation Point]

spectral integral-iteration algorithm
(Section 8.4.2)








Table 2: This table lists event and apparent horizon finders which are freely available to any researcher, along with the cvs repositories or web pages from which they may be obtained.


  Go to previous page Go up Go to next page