xx ADMMass

ADMMass

Frank Lxffler

2012-05-07

Abstract

Thorn ADMMass can compute the ADM mass from quantities in ADMBase.

1 Introduction

The ADM mass evaluated as either surface integrals at infinity or volume integrals over entire hypersurfaces give a measure of the total energy in the spacetime.

The ADM mass can be definedx[1] as a surface integral over a sphere with infinite radius: . This is, assuming at infinity, equivalent to . In practice, the following equation can also be used within the thorn: This differs from equationx(??) by the factor inside the integral. For evaluations of those equations at infinity, is assumed, and they are equal. For evaluations at a finite distance, however, this is usually not the case and the approximation of the ADM mass is gauge-dependentx[1]. Depending on circumstances, eitherx(??),x(?? orxx(??) might give better results.

2 Using This Thorn

Multiple measurements can be done for both volume and surface integral, but the limit for both is 100 (change param.ccl if you need more). You need to specify the number of integrations with ADMMassxnumber (and ADMMass will perform both integrations that many times).

Also note that this thorn uses the ADMMacros for derivatives. Thus, converegence of results is limited to the order of these derivatives (ADMMacros::spatialxorder).

ADMMass provides several possibilities to specify the (finite) integration domain, both for surface and volume integral, which we list in the following:

Surface Integral (over rectangular domain)

ADMMassxdistancexfromxgridxboundary: specifies the distance between the physical domain boundary and the integration domain. If this is set, this fully specifies the domain boundary.

ADMMassxsurfacexdistance: specifies a distance of the integration boundary from a given point, specified using ADMMassxxxpos[3].

Otherwise, ADMMassx[xyz]x[min|max] specify a rectangular integration domain.

Volume Integral (over sphere)

If ADMMassxusexallxvolumexasxvolumexradius is set, the whole volume is used for

integration.

If ADMMassxusexsurfacexdistancexasxvolumexradius is set and ADMMassxvolumexradius

is not (negative), ADMMassxsurfacexdistance is used to specify the integration radius.

Otherwise, ADMMassxvolumexradius specifies this radius.

ADMMassx[xyz]xpos specify the position of the integration sphere.

Use ADMMassxExcisexHorizons to exclude domains where thorn OutsideMask didn’t specify domain as outside. This can be used to, e.g. excise black hole apparent horizons.

You should output ADMMass::ADMMassxMasses for the result of the integrations, which will include the results for the volume integral, the usual surface integral and the sorface integral including the lapse.

References

[1]xxxN.xO Murchadha and J.xW.xYork, “Gravitational energy,” Phys.xRev.xD 10, 2345 (1974). doi:10.1103/PhysRevD.10.2345

3 Parameters

11admmassxdebug 10Scope: privatex01 BOOLEAN

11Description: Enable some info at runtime

11                                    10  x01  Default: no

11

11admmassxdistancexfromxgridxboundary 10Scope: privatex01  REAL

11Description: distance between the grid boundaries and the surface of the integration box

11 Range 10 x01 Default: -1.0
11:  10<=0 for disable, positive otherwise

11

11admmassxexcisexhorizons  10Scope: privatex01  BOOLEAN

11Description: Should we exclude the region inside the AH to the volume integral

11                                    10  x01  Default: no

11admmassxnumber  10Scope: privatex01  INT

11Description: number of measurements

11 Range 10 x01 Default: 1
110:  100 or positive

11

11admmassxsurfacexdistance  10Scope: privatex01  REAL

11Description: distance between the above-defined center of the integration (cubic) box and its surface

11  Range  10  x01  Default: -1.0
11:  10<=0 for disable, positive otherwise

11

11admmassxusexallxvolumexasxvolumexradius 10Scope: privatex01  BOOLEAN

11Description: Use the whole grid for volume integration

11                                    10  x01  Default: no

11

11admmassxusexsurfacexdistancexasxvolumexradius 10Scope: privatex01  BOOLEAN

11Description: Use ADMMassxsurfacexdistance instead of ADMMassxvolumexradius

11                                    10  x01  Default: yes

11

11admmassxvolumexradius  10Scope: privatex01  REAL

11Description: radius of the sphere inside which the volume integral is computed

11 Range 10 x01 Default: -1.0
11:  10<=0 for disable, positive otherwise

11

11admmassxxxmax  10Scope: privatex01  REAL

11Description: x position of the righttmost yz-plane for the integration box

11 Range 10 x01 Default: 100.0
11:  10anything

11

11admmassxxxmin  10Scope: privatex01  REAL

11Description: x position of the leftmost yz-plane for the integration box

11 Range 10 x01 Default: -100.0
11:  10anything

11

11admmassxxxpos  10Scope: privatex01  REAL

11Description: x position of the center of the integration box

11 Range 10 x01 Default: 0.0
11:  10anything

11

11admmassxyxmax  10Scope: privatex01  REAL

11Description: y position of the rightmost xz-plane for the integration box

11 Range 10 x01 Default: 100.0
11:  10anything

11

11admmassxyxmin  10Scope: privatex01  REAL

11Description: y position of the leftmost xz-plane for the integration box

11 Range 10 x01 Default: -100.0
11:  10anything

11

11admmassxyxpos  10Scope: privatex01  REAL

11Description: y position of the center of the integration box

11 Range 10 x01 Default: 0.0
11:  10anything

11admmassxzxmax  10Scope: privatex01  REAL

11Description: z position of the rightmost xy-plane for the integration box

11 Range 10 x01 Default: 100.0
11:  10anything

11

11admmassxzxmin  10Scope: privatex01  REAL

11Description: z position of the leftmost xy-plane for the integration box

11 Range 10 x01 Default: -100.0
11:  10anything

11

11admmassxzxpos  10Scope: privatex01  REAL

11Description: z position of the center of the integration box

11 Range 10 x01 Default: 0.0
11:  10anything

11

4 Interfaces

General Implements: admmass

Inherits: admbase admmacros staticconformal spacemask

Grid Variables

4.0.1 PRIVATE GROUPS

11 x Group Names x 10  x Variable Names x  x01 Details x11x
11admmassxloopcounterg10  x01  compact110
11                   10 ADMMassxLoopCounter x01 description11ADMMass LoopCounter
11                   10  x01 dimensions110
11                   10  x01 distribution11CONSTANT
11                   10  x01 group type11SCALAR
11                   10  x01 timelevels111
11                   10  x01variable type11INT
11 admmassxmasses 10 x01 compact110
11                   10 ADMMassxSurfaceMass x01 description11ADMMass Scalars
11                   10ADMMassxSurfaceMassxLapsex01 dimensions110
11                   10 ADMMassxVolumeMass x01 distribution11CONSTANT
11                   10  x01 group type11SCALAR
11 10 x01 tags11checkpoint=”no”
11                   10  x01 timelevels111
11                   10  x01vararrayxsize11ADMMassxnumber
11                   10  x01variable type11REAL
11 admmassxgfsxsurface 10 x01 compact110
11                   10 ADMMassxSurfaceMassxGF x01 description11ADMMass gridfunctions for surface integration
11                   10  x01 dimensions113
11                   10  x01 distribution11DEFAULT
11                   10  x01 group type11GF
11 10 x01 tags11Prolongation=”none” tensortypealias=”Scalar” checkpoint=”no”
11                   10  x01 timelevels113
11                   10  x01variable type11REAL
11 admmassxgfsxvolume 10 x01 compact110
11                   10ADMMassxVolumeMassxpotxxx01 description11ADMMass gridfunctions for volume integration
11                   10ADMMassxVolumeMassxpotxyx01 dimensions113
11                   10ADMMassxVolumeMassxpotxzx01 distribution11DEFAULT
11                   10 ADMMassxVolumeMassxGF x01 group type11GF
11 10 x01 tags11Prolongation=”none” tensortypealias=”Scalar” checkpoint=”no”
11                   10  x01 timelevels113
11                   10  x01variable type11REAL
11 admmassxbox 10 x01 compact110
11                   10 ADMMassxboxxxxmin x01 description11Physical coordinates of the surface on which the integral is computed
11                   10 ADMMassxboxxxxmax x01 dimensions110
11                   10 ADMMassxboxxyxmin x01 distribution11CONSTANT
11                   10 ADMMassxboxxyxmax x01 group type11SCALAR
11                   10 ADMMassxboxxzxmin x01  tags11checkpoint=”no”
11                   10 ADMMassxboxxzxmax x01 timelevels111
11                   10  x01variable type11REAL
11 gridxspacingxproduct 10 gridxspacingxproduct x01 compact110
11                   10  x01 description11product of cctkxdeltaxspace
11 10 x x01 description11to be computed in local mode and later used in global mode (carpet problems)
11                   10  x01 dimensions110
11                   10  x01 distribution11CONSTANT
11                   10  x01 group type11SCALAR
11 10 x01 tags11checkpoint=”no”
11                   10  x01 timelevels111
11                   10  x01variable type11REAL

11

Uses header: SpaceMask.h

5 Schedule This section lists all the variables which are assigned storage by thorn EinsteinAnalysis/ADMMass. 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
11ADMMassxLoopCounterG11x
11ADMMassxMasses  11x
11ADMMassxGFsxsurface[3]11x
11ADMMassxGFsxvolume[3]11x

11x  11x

11

Scheduled Functions

CCTKxINITIAL x admmassxinitloopcounter x initialise the loop counter for admmass x

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

11

CCTKxPOSTSTEP x admmassxsetloopcounter x set the loop counter to the value of the parameter admmass:admmassxnumber x

11x11After: 11outsidemaskxupdatemask
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

11

CCTKxPOSTSTEP x admmass x admmass loop x

11x11After: 11admmassxsetloopcounter
11 x 11Storage:11admmassxgfsxsurface[3]
11 x 11x  11admmassxgfsxvolume[3]
11 x 11x  11admmassxbox
11 x 11x  11gridxspacingxproduct
11 x 11Type: 11group
11 x 11While: 11admmass::admmassxloopcounter

ADMMass x admmassxloop x decrement loop counter x

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

11

ADMMass x admmassxsurface x calculate the admmass using a surface integral: local routine x

11x11After: 11admmassxloop
11 x 11Language:11c
11 x 11Options: 11global
11 x 11x  11loop-local
11 x 11Sync:  11admmassxgfsxsurface
11 x 11Type: 11function

11

ADMMass x admmassxsurfacexglobal x calculate the admmass using a surface integral: global routine x

11x11After: 11admmassxsurface
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

11

ADMMass x admmassxsurfacexlapse x calculate the admmass*lapse using a surface integral: local routine x

11x11After: 11admmassxsurfacexglobal
11 x 11Language:11c
11 x 11Options: 11global
11 x 11x  11loop-local
11 x 11Sync:  11admmassxgfsxsurface
11 x 11Type: 11function

11

ADMMass x admmassxsurfacexlapsexglobal x calculate the admmass*lapse using a surface integral: global routine x

11x11After: 11admmassxsurfacexlapse
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function

11

ADMMass x admmassxvolume x calculate the admmass using a volume integral: local routine x

11x11After: 11admmassxsurfacexlapsexglobal
11 x 11Language:11c
11 x 11Options: 11global
11 x 11x  11loop-local
11 x 11Sync:  11admmassxgfsxvolume
11 x 11Type: 11function

11

ADMMass x admmassxvolumexglobal x calculate the admmass using a volume integral: global routine x

11x11After: 11admmassxvolume
11 x 11Language:11c
11 x 11Options: 11global
11 x 11Type: 11function