aboutsummaryrefslogtreecommitdiff
path: root/src/driver/README
blob: f3de3e7d4ca84c66c535cae95cc8b1b8db2a6c7c (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
This directory contains top-level routines to find the apparent horizon
and interface with the rest of Cactus.

The main source files in this directory are as follows:

README.parallel
	design notes for the parallel/multiprocessor algorithms
	and data structures

driver.hh
	overall header file for routines in this directory

state.cc
	state information (data structures) kept across Cactus scheduler calls

setup.cc		# sees CCTK_ARGUMENTS, CCTK_PARAMETERS
	this is called from the scheduler to setup our data structures

find_horizons.cc	# sees CCTK_ARGUMENTS
	this is called from the scheduler to find the apparent horizon(s)
	in a slice

mask.cc			# sees CCTK_ARGUMENTS
	this is called from the scheduler to set an excision mask or masks

announce.cc		# sees CCTK_ARGUMENTS
	this is called from the scheduler to announce apparent horizon
	info to other thorns via aliased function calls

spherical_surface.cc	# sees CCTK_ARGUMENTS, CCTK_PARAMETERS
	this is called from the scheduler to store apparent horizon
	info in the SphericalSurface variables

aliased_functions.cc	# sees CCTK_ARGUMENTS, CCTK_FUNCTIONS
	this is called from other thorns via the flesh aliased-function
	interface, for the other thorns to find out about apparent horizons

initial_guess.cc
	this sets up the initial guess(es) for the horizon position(s)

Newton.cc		# sees cGH (for interprocessor broadcasts)
			# uses CCTK_ReduceLocArrayToArray1D() for
			#   interprocessor broadcast/synchronization
	this solves the Theta(h) = 0 equations by Newton's method

io.cc
	I/O routines

BH_diagnostics.{cc,hh}
	this struct (= class with public data) computes and keeps track of
	the BH diagnostics (horizon circumferences, area, irreducible mass,
	etc)

misc-driver.cc
	some misc code that doesn't fit anywhere else :)

Makefile.standalone
	Makefile for standalone test drivers etc

horizon_sequence.{cc,hh}
	this class keeps track of the sequence of horizons which a given
	processor should try to find (possibly including dummy ones to
	preserve the multiprocessor synchronization)
test_horizon_sequence.cc
	standalone test driver for  horizon_sequence.{cc,hh}

ellipsoid.maple
	this is a Maple script to compute the intersection of a given
	ray with an ellipsoid; this is used in setting up the initial guess
ellipsoid.c
	this is the Maple-generated code from "ellipsoid.maple"
ellipsoid.log
	this is the standard output from running "ellipsoid.maple"