***************
README.txt
***************
* Authors: Nico Yunes, Nathan Johnson-McDaniel
* Date: September 16, 2009
Maple files were generated with Maple version 12 and grTensor version 1.79.
These files should be readable with Maple versions 9 and greater for sure.
Later versions of Maple (>12) might not be compatible with grTensor.
GrTensor must be installed for the inner and far zone Maple scripts to run.
Maple files are also saved in ``Classic'' format to be readable in older Maple versions.
By request of certain users, Maple files are also saved in plain text format.
The Maple files are organized by accuracy of the approximation used, following
the nomenclature in the accompanying paper (Johnson-McDaniel, Yunes, Tichy,
Owen, 2009 [arXiv: 0907.0891]) -- see for example Table II. The nomenclature is as follows:
MAPLEORDER_ZONE_Cgen.mw, where MAPLEORDER = (O4,O4_NoOct,O5,all) and ZONE = (IZ,NZ,FZ).
The purpose of these Maple files is to produce C-code for numerical evolutions.
All 10 metric components are functions of time (t) and spatial coordinates (x,y,z),
as well as functions of parameters m1, m2 (the point particle masses) and b
(the coordinate separation). Given a point in spacetime (t,x,y,z) and some
system (m1,m2,b), each metric component returns a real number.
In order to provide initial data, one requires the 3-metric and extrinsic
curvature. The latter is not provided by the Maple scripts (or C-code),
but it can be easily computed numerically from the 4-metric by finite differencing
in some time slab close to zero (we remind the reader that the data are valid in a time
slab of width T << b).
When running the Maple scripts, the near and far zone ones will return C-files, labeled
ORDER_h2PNDm_ZONEgab.c, where ORDER = (O4, O4NoOct, O5, all ), and ZONE = (NZ,FZ).
The inner zone scripts are a bit more complicated to put together.
1) The untransformed metric is produced in C-code and output to ORDER_h2PNDm_prematchIZgab.c.
2) The coordinate/parameter transformation is C-generated and output to ORDER_h2PNDm_Transformation.c,
while the Jacobian of the transformation is C-generated and output to ORDER_h2PNDm_Jacobian.c.
3) The transformed metric is put together by combining the pre-transformed metric with the Jacobian.
This is done in a C-file that is not generated by the Maple script provided, and it is named
ORDER_h2PNDm_IZgab.c
Also included in the C-files is the header ORDER.h, a Makefile and a main.c. The main.c
file outputs all metric components at some specified value for a particular test system,
as well as the determinant of the metric in each zone and the determinant of the merged metric.
Even though the C-generation Maple scripts should provide all the ingredients necessary
to generate C-files, these scripts have not been completely automated. In particular,
one might find it necessary to declare internal functions at the top of some of these files
for compilation to be successful. All of these internal declarations have been performed
in the C-files we provide. Thus, these C-files also serve as templates to see which additional
declarations need to be made manually.
Additionally, one needs to supply transition functions that stitch the different zones' metrics together
into a single global metric. The choices we have made for these functions (along with some general
restrictions on these functions necessary for successful stitching) are described in Sec. VIII B of the
paper and coded in ORDER_h2PNDm_TransFunc.c (even though there is an order flag, all transition functions
are the same). The merged metric is computed in ORDER_h2PNDm_Fullg.c following the prescription of
Sec. VIII B.
Although the C-files have been checked to compile and return numerical values identical
to those generated in the Maple scripts, these C-files are not sufficient to complete the
initial data prescription described in the accompanying paper. As we mentioned
above, one has to compute the extrinsic curvature (or, alternatively, the
time-derivative of the metric) numerically: One can either compute these directly from the
merged 4-metric, or compute them from the individual 4-metrics and then merge them using the
transition functions. The latter is what was done to generate the data plotted in the paper.
These two methods generate different initial data, in general, and it is not clear a priori
which is preferable.
In case of questions or comments, please email
Nico Yunes at nyunes@princeton.edu