An Introduction to the ST3D Numerical Relativity Code

Joan Massó, Mark Miller, Malcolm Tobias

March 21, 1997



Formulation

Numerical Techniques

Applications


Click here for a postscript version of the Documentation

WHERE TO FIND SOURCE CODE

HOW TO COMPILE/RUN ST3D

ST3D USERS GUIDE

ST3D REFERENCE GUIDE

PLATFORMS SUPPORTED

POINT OF CONTACT

CREDITS


WHERE TO FIND SOURCE CODE

The ST3D code can be downloaded here.

HOW TO COMPILE/RUN ST3D

These instructions are for running on the Cray T3D at the Goddard Space Flight Center. To run the code, carry out the following steps:

ST3D USERS GUIDE

Introduction

ST3D is a Numerical Relativity code that solves the full Einstein Equations in 3D using a finite differencing conservative scheme. ST3D is the Cray T3D version of H3expresso, a ``concentrated'' (``espresso'') and fast (``express'') version of a general 3D hyperbolic code that solves the general relativistic Einstein's Equations. The hyperbolic formulation of the Einstein equations, by using a special class of gauge choice, casts the Einstein equations into a First Order Flux Conservative Hyperbolic system and thus allows the use of advanced numerical techniques [1]. This code is the first step in the numerical study based on these hyperbolic Einstein equations.

The Harmonic Formulation of the Enistein Equations

ST3D is based on the work of Bona and Massó[2] that casts the Einstein equations in an explicitly first order, flux conservative, hyperbolic form. In the standard 3+1 formulation of the Einstein theory, the spacetime metric is given by

  equation11

The goal of the numerical evolution is to obtain the 6 dynamical variables tex2html_wrap_inline146 as functions of the spatial coordinates tex2html_wrap_inline148 and time t, given a choice of the ``lapse function'' tex2html_wrap_inline152 and the shift functions tex2html_wrap_inline154 , for a given set of initial data, namely, the metric functions tex2html_wrap_inline146 and their first time derivatives at time t=0. It was shown in Ref. [2] that if one chooses the lapse tex2html_wrap_inline152 to satisfy the harmonic slicing condition

  equation20

one can write the Einstein evolution equations as a hyperbolic first order system of balance laws. In vacuum and in the case of zero shift, the equations take the form

     eqnarray23

The tex2html_wrap_inline162 quantities are proportional to the extrinsic curvature. The connection coefficients tex2html_wrap_inline164 , defined as

equation50

are constructed from the first derivatives of the metric

  equation62

These derivatives are evolved using Eq. ( 5 ). Eq. ( 8 ) is only used in the initial slice. Similarly, the derivatives of the lapse are used on the initial slice to construct tex2html_wrap_inline166 and to derive the initial values of the momentum constraint related variables:

  equation69

These variables are evolved using Eq. ( 6 ) while Eq. ( 9 ) is used to compute the tex2html_wrap_inline168 during the evolution.

Basic Numerical Methods

Since in the hyperbolic formulation the Einstein equations take the form of first order, flux conservative, hyperbolic equations, a wide variety of modern numerical techniques can be employed. Operator splitting allows for the principal part of the system to be treated as a flux conservative first order system. In this code, a flux conserving MacCormack method is used for the principal part of the evolution system. More advanced differencing schemes and operator splitting treatments are allowed in the formulation and can be added on to the code without difficulty.

Initial Data

The initial data in this code represents low amplitude quadrupole gravitational waves  [3, 4]. These waves are solutions to the linearized Einstein constraint equations. For this problem, there are 2 user-specified the parameters, A the amplitude of the wave (which should be much smaller than one) and m the azimuthal mode number for the wave. For the formula relating the metric tex2html_wrap_inline146 to the parameters A and m and a more general discussion of numerical evolutions of these waves, see  [5] and the references cited therein.

Files

Fortran Files
A list of all fortran subroutines can be found in SUBROUTINES IN THE ST3D CODE subsection.

Makefile
Makefile to build the code.

inputxxx.par
A parameter file that defines the parameters to us when running on xxx number of processors. In this file, nx, ny, and nz stand for the number of gridpoints in each direction on each processor, while px, py, and pz stand for the number of processors being used in each dimension. Therefore the total dimension of the gird is nx px X ny py X nz pz.

batch
A sample batch script for submitting jobs to the Cray T3D.

ST3D REFERENCE GUIDE

Variable list

All variables are 3-D arrays.

Subroutines

References

1
See e.g., C. Bona, J. Massó, E. Seidel, and J. Stela, Phys. Rev. Lett., 75, 600, (1995); A. Abrahams, A. Anderson, Y. Choquet-Bruhat and J. W. York, Phys. Rev. Lett. 75, 3377 (1995), and references cited therein.

2
C. Bona and J. Massó, Phys. Rev. Lett. 68, 1097 (1992).

3
K. Eppley, in Sources of Gravitational Radiation, edited by L. Smarr (Cambridge University Press, Cambridge, England, 1979), p. 275.

4
S. Teukolsky, Phys. Rev. D 26, 745 (1982).

5
P. Anninos, J. Massó, E. Seidel, W.-M. Suen and M. Tobias, submitted to Phys. Rev. D.

PLATFORMS SUPPORTED

This distribution of the code runs on the Cray T3D.

POINT OF CONTACT

Malcolm Tobias
Physics Department
Washington University, St. Louis, MO 63130
mtobias@wugrav.wustl.edu
(314)-935-6249

CREDITS

The H3expresso code was originally developed by Joan Masso, with the initial data routine by Malcolm Tobias, MPI support and extensions by Rob Gjersten and Marc Nardulli, and automatic cache optimization by Paul Walker. The T3D version ST3D has been further developed by Tom Clune, Ian Foster, and Mark Miller.