xx Outflow

Outflow

Roland Haas <roland.haas@physcis.gatech.edu>

August 15 2009

Abstract

Outflow calculates the flow of rest mass density across a SphericalSurface, eg. and apparent horizon or a sphere at “infinity”.

1 Introduction Hydrodynamic simulations should conserve eg. the total rest mass in the system (outside he event horizon, that is). This thorn allow to measure the flux of rest mass across a given SphericalSurface.

2 Physical System

The Valencia formalism defines its variable such that one can define a total rest mass density as:

and from the EOM of (seex[1]) one obtains:

where is the ordinary flat space directed surface element of the enclosing surface, eg.x with for a sphere of radius r.

For a generic SphericalSurface parametrized by and one has:

where is the isotropic radius. Consequently the surface element is

where , and are the flat space standard unit vectors on the spherex[3].

3 Numerical Implementation

We implement the surface integral by interpolating the required quantities (, , , , ) onto the spherical surface and then integrate using a fourth order convergent Newton-Cotes formula.

For the direction SphericalSurfaces defines grid points such that where is the total number of intervals (sf_ntheta), is the number of ghost zones in the direction (nghosttheta) and . Since with this we do not have grid points at the end of the interval we derive an open extended Newton-Cotes formula from Eq.x4.1.14 ofx[2] and a third order accurate extrapolative rule (see Maple worksheet). We find

.

For the direction SphericalSurfaces defines grid points such that where is the total number of intervals (sf_nphi), is the number of ghost zones in the direction (nghostphi) and . With this we use a simple extended trapezoid rule to achieve spectral convergence due to the periodic nature of (note: )

.

The derivatives of along and are obtained numerically and require at least two ghost zones in and .

4 Using This Thorn

Right now surface can only be prescribed by SphericalSurfaces, the flux through each surface is output in in a

file outflow_det_%d.asc

4.1 Interaction With Other Thorns

Takes care to schedule itself after SphericalSurfaces_HasBeenSet.

4.2 Examples

See the parameter file in the test directory. For spherical symmetric infall the flux through all detectors should be equal (since rest mass must be conserved).

References

[1]xxxJosx  A.  Font,  “Numerical  Hydrodynamics

and Magnetohydrodynamics in General Relativity”, Living Rev. Relativity 11, (2008), 7. URL (cited on August 15. 2009): http://www.livingreviews.org/lrr-2008-7

[2]xxxPress, W. H. (2002). Numerical recipes in C++: the art of scientific computing. Array Cambridge, UK: Cambridge University Press.

[3]xxxCharles W. Misner, Kip S. Thorne, and John Archibald Wheeler (1973). “Gravitation”. New York: W.H. Freeman and Company.

5 Parameters

11computexevery 10Scope: privatex01 INT

11Description: How frequently to compute the outflow

11 Range 10 x01 Default: 1
111:*  10number of iterations

11

11computexeveryxdet  10Scope: privatex01  INT

11Description: How frequently to compute the outflow

11 Range 10 x01 Default: -1
11-1  10take from computexevery
11                      10do not compute
111:*  10number of iterations

11

11coordxsystem  10Scope: privatex01  STRING

11Description: What is the coord system?

11 Range 10 x01 Default: cart3d
11.*  10Any smart string will do

11

11extraxvariables  10Scope: privatex01  STRING

11Description: extra (scalar) variables to project onto the spherical surface

11 Range 10 x01 Default: (none)
11.*  10Any Cactus variables

11

11interpolatorxname  10Scope: privatex01  STRING

11Description: Which interpolator should I use

11 Range 10 x01 Default: Hermite polynomial interpolation
11.+  10Any nonempty string

11

11interpolatorxpars  10Scope: privatex01  STRING

11Description: Parameters for the interpolator

11 Range 10 x01 Default: order=3
11.*  10”Any string that UtilxTableSetFromStr ing() will take”

11

11numxdetectors  10Scope: privatex01  INT

11Description: how many detectors do we have

11 Range 10 x01 Default: (none)
110:*  10number of detectors

11

11numxthresholds  10Scope: privatex01  INT

11Description: how many thresholds to use

11 Range 10 x01 Default: (none)
11                      10ignore thresholds, output only one flux
111:20  10how many to use

11outxformat  10Scope: privatex01  STRING

11Description: Which format for Scalar floating-point number output

11 Range 10 x01 Default: .19g
11see [1] below  10output with given precision in exponential / floating point notation

11

\^({\textbackslash}.[1]?[0-9])?[EGefg]\$

11outputx2dxdata  10Scope: privatex01  BOOLEAN

11Description: output 2d data on spherical surface

11                      10  x01  Default: no

11

11outputxrelativexcoordinates 10Scope: privatex01  BOOLEAN

11Description: output coordinates on spheroid relative to sfxcentroid, absolute coordinates otherwise

11                      10  x01  Default: no

11

11overridexradius  10Scope: privatex01  BOOLEAN

11Description: do not take radius values from spherical surface

11                      10  x01  Default: no

11

11radxrescale  10Scope: privatex01  REAL

11Description: Factor for scaling radius for this detector surface (e.g. for buffer around AH surface)

11 Range 10 x01 Default: 1
11(0:*  10Anything positive

11

11radius  10Scope: privatex01  REAL

11Description: spherical radius for this detector surface

11 Range 10 x01 Default: -1
11-1  10Invalid
11(0:*  10any positive value

11

11surfacexindex  10Scope: privatex01  INT

11Description: the indices of the sphericalsurfaces from which we take the surfaces to compute the outflow on

11  Range  10  x01  Default: -1
11-1  10Invalid
110:*  10valid surface

11

11surfacexname  10Scope: privatex01  STRING

11Description: the indices of the sphericalsurfaces from which we take the surfaces to compute the outflow on

11  Range  10  x01  Default: (none)
11                      10use surfacexindex
11.*  10any string

11

11threshold  10Scope: privatex01  REAL

11Description: compute fluxes with Lorentz factors / specific energy at infinity above these levels only

11  Range  10  x01  Default: (none)
11*:*  10Any real number

11

11thresholdxonxvar  10Scope: privatex01  KEYWORD

11Description: Which variable to use as threshold

11 Range 10 x01 Default: wxlorentz
11eninf  10(Approximate) specific energy at infinity, - uxt - 1
11wxlorentz  10Lorentz factor

11verbose  10Scope: privatex01  INT

11Description: How verbose do you want it?

11 Range 10 x01 Default: 1
110:*  100 is nothing, 1 is interesting, >1 is crazy

11

11maxnphi  10Scope: shared from SPHERICALSURFACEx01INT

11

11maxntheta  10Scope: shared from SPHERICALSURFACEx01INT

11

11nghostsphi  10Scope: shared from SPHERICALSURFACEx01INT

11

11nghoststheta  10Scope: shared from SPHERICALSURFACEx01INT

11

11sphericalsurfacesxnsurfaces 10Scope: shared from SPHERICALSURFACEx01INT

11

6 Interfaces

General Implements: outflow

Inherits: admbase hydrobase sphericalsurface

Grid Variables 6.0.1 PRIVATE GROUPS

11x Group Names x10x Variable Names xx01 Details x11x
11 outflowxflux 10 outflowxflux x01 compact110
11                 10  x01 description11flux of mass through the detectors
11                 10  x01 dimensions110
11                 10  x01 distribution11CONSTANT
11                 10  x01 group type11SCALAR
11 10 x01 tags11checkpoint=”no”
11                 10  x01 timelevels111
11                 10  x01vararrayxsize11numxdetectors
11                 10  x01variable type11REAL
11 fluxdensxprojected 10 fluxdensxprojected x01  compact110
11                 10  x01 description112D (theta
11 10 x x01 description11phi) grid arrays for flux density
11                 10  x01 dimensions112
11                 10  x01 distribution11CONSTANT
11                 10  x01 group type11ARRAY
11                 10  x01  size11SPHERICALSURFACE::MAXNTHETA
11                 10  x  x01  size11SPHERICALSURFACE::MAXNPHI
11                 10  x01  tags11checkpoint=”no”
11                 10  x01 timelevels111
11                 10  x01vararrayxsize11numxdetectors
11                 10  x01variable type11REAL
11wxlorentzxprojected10 wxlorentzxprojected x01  compact110
11                 10  x01 description112D (theta
11 10 x x01 description11phi) grid arrays for Lorentz factor
11                 10  x01 dimensions112
11                 10  x01 distribution11CONSTANT
11                 10  x01 group type11ARRAY
11                 10  x01  size11SPHERICALSURFACE::MAXNTHETA
11                 10  x  x01  size11SPHERICALSURFACE::MAXNPHI
11                 10  x01  tags11checkpoint=”no”
11                 10  x01 timelevels111
11                 10  x01vararrayxsize11numxdetectors
11                 10  x01variable type11REAL
11 eninfxprojected 10 eninfxprojected x01  compact110
11                 10  x01 description112D (theta
11 10 x x01 description11phi) grid arrays for the specific energy at infinity
11                 10  x01 dimensions112
11                 10  x01 distribution11CONSTANT
11                 10  x01 group type11ARRAY
11                 10  x01  size11SPHERICALSURFACE::MAXNTHETA
11                 10  x  x01  size11SPHERICALSURFACE::MAXNPHI
11                 10  x01  tags11checkpoint=”no”
11                 10  x01 timelevels111
11                 10  x01vararrayxsize11numxdetectors
11                 10  x01variable type11REAL
11 surfacexprojections 10 x01 compact110
11                 10 surfacexprojectionx0 x01 description112D (theta
11 10 x x01 description11phi) grid arrays for points on the spherical surfaces
11                 10 surfacexprojectionx1 x01 dimensions112
11                 10 surfacexprojectionx2 x01 distribution11CONSTANT
11                 10 surfacexprojectionx3 x01 group type11ARRAY
11                 10 surfacexprojectionx4 x01  size11SPHERICALSURFACE::MAXNTHETA
11 10 x x01 size11SPHERICALSURFACE::MAXNPHI
11                 10 surfacexprojectionx5 x01  tags11checkpoint=”no”
11                 10 surfacexprojectionx6 x01 timelevels111
11                 10 surfacexprojectionx7 x01vararrayxsize11numxdetectors
11                 10 surfacexprojectionx8 x01variable type11REAL

7 Schedule This section lists all the variables which are assigned storage by thorn EinsteinAnalysis/Outflow. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.

Storage x

11Always:  11x
11outflowxflux  11x
11fluxdensxprojected 11x
11wxlorentzxprojected11x
11eninfxprojected  11x
11surfacexprojections 11x

11x  11x

11

Scheduled Functions

CCTKxANALYSIS x outflow x compute outflow x

11x11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

11

CCTKxSTARTUP x outflowxsetup x set up global ompute data structures x

11x11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function