aboutsummaryrefslogtreecommitdiff
path: root/src/README
blob: c577c5be82f9c45b6f7d976f968e75096a681e51 (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
76
77
78
79
80
81
82
83
84
85
Description of files in this directory
======================================

$Header$

This directory contains the main top-level files for thorn Exact.

There are subdirectories
include/	include files
		(n.b. all the code for the stress-energy tensor lives here)
metrics/	individual 4-metrics for the various models


The files in this directory are as follows:

Startup.c
	This is scheduled at STARTUP to register our slicing.

ParamCheck.c
	This is scheduled at PARAMCHECK to do some basic consistency
	checks on the parameters.

decode_pars.F77
	This is scheduled at INITIAL to decode/copy our parameters
	into protected grid scalars, for the benefit of the stress-energy
	tensor code in "include/Scalar_CalcTmunu.inc".  In particular,
	this code decodes the keyword parameter  exact_model  into
	the integer  decoded_exact_model  (which has one of the values
	#defined in  include/param_defs.inc ).

initialize.F77
	This contains the subroutine Exact__initialize(), which is
	top-level routine scheduled at INITIAL to set up an initial
	slice.  This basically just calls Exact__Bona_Masso_data()
	at each grid point, discarding everything it computes other
	than the 3-metric, the extrinsic curvature, and possibly
	the conformal factor and its spatial derivatives.

gauge.F77
	This contains code to set the lapse/shift from an exact solution
	either on the initial slice, or at each time step of an evolution.
	This works by calling  Exact__Bona_Masso_data()  at each grid
	point, discarding everything it computes except the lapse and
	the shift.

Bona_Masso_data.F77
	This contains the subroutine Exact__Bona_Masso_data(),
	which computes the ADM variables (3-metric, extrinsic curvature,
	lapse, shift) and some of their spatial derivatives
	(1st derivatives of the 3-metric and the lapse,
	2nd derivatives of the conformal factor and the shift vector)
	by calling  Exact__metric()  and finite differencing.
		[using a hard-coded 1.0e-6 grid spacing :( ]
	Note that despite the name and comments referring to the
	Bona-Masso variables, this subroutine doesn't appear to
	actually use the Bona-Masso variables (!).

boost.F77
	This contains the subroutine Exact__metric(), which calls
	Exact__metric_for_model() and then applies an optional
	Lorentz boost to the resulting 4-metric and its inverse.

metric.F77
	This contains the subroutine Exact__metric_for_model(); this
	decodes the decoded_exact_model parameter and calls the appropriate
	Exact__<model_name>_<coords>() subroutine to compute the 4-metric
	and its inverse at a point.  See the metrics/ subdirectory
	for these computations for the various models.

boundary.F77
	This is the top-level routine scheduled at POSTSTEP to
	implement exact-solution boundary conditions.

blended_boundary.F77
xyz_blended_boundary.F77
	These files implement the blended boundary conditions described
	in "doc/slice_evolver.tex".

slice_initialize.F
slice_evolve.F
slice_data.F
linear_extrap_one_bndry.F
	These routines are scheduled at INITIAL and EVOL to allow
	the computing of exact data on arbitrary slices.  See
	"doc/slice_evolver.tex" for details.