xx SphericalHarmonicRecon

SphericalHarmonicRecon

Yosef Zlochower <yosef@astro.rit.edu>

June 18 2009

Abstract

This thorn is used to reconstruct the metric data saved by SphericalHarmonicDecomp. It also provides aliased functions that are used by NullSHRExtract to construct the boundary data for CCE.

1 Introduction

2 Using and Filtering Cauchy data from SphericalHarmonicDecomp The thorn SphericalHarmonicDecomp uses a least-squares fit of the metric data in some spherical shell to a set of spectral functions (Chebyshev in R and Ylm in angle). These data are dumped into files with names metricxobsx0xDecomp.h5, metricxobsx1xDecomp.h5, etc., where the 0,1,etc. refer to the spherical shell (several are allowed).

This thorn takes the data in one of these files and passes it to NullSHRExtract, which uses them to construct the null boundary data. Several utilities are provided in order to view and modify these data files. These include a program to filter the data via an FFT and calculate a smooth time derivative, which may be important in order to obtain accurate waveforms.

These utilities require the HDF5 and FFTW3 libraries and are compiled using the gamke CONFIGNAME-utils mechanism.

To filter the Cauchy data:

In general a simulation will be run over multiple jobs, each one producing an individual metricxdecomp.h5 file. You will need to combine these files using hdf5xmerge.

Forxexample
xxhdf5\_mergexRun1/metric_obs\_0\_Decomp.h5x\
xxxxxxxxxxxxxRun2/metric\_obs\_0\_Decomp.h5x\
xxxxxxxxxxxxxmetric\_obs\_0\_Decomp.h5

Once the files are merged, you will need to find the last timestep using the ”findlast” command

./findlastxxmetric\_obs\_0\_Decomp.h5
xxx8086:x4.010913e+02

Here 8086 is the last timestep, which corresponds to a time of 401.0913.

Next it is a good idea to examine the data in one of the higher modes you will use. In this case we will examine the n=1, l=4,m=4 mode of gxx (the 0 below corresponds to gxx, see the source)

./ascii\_outputx8086x1x4x4x0xmetric\_obs\_0\_Decomp.h5xx>xtest\_out

We will use this data to ensure that only high-frequency junk is filtered. In this case it was found that the true signal frequency is smaller than 0.5 (omega). To be safe, we’ll set the maximum allowed frequency to

./fftwfilterx8086x2x1xmetric\_obs\_0\_Decomp.h5

Here the ”2” corresponds to the maximum frequency, while the ”1” corresponds to the damping length. Note that the maximum frequency is in units of 2*pi/(physical time), while the damping length is units of integer frequency. Choosing a large damping length can lead to suppression of the true signal.

The output file is metricxobsx0xDecompxft.h5, which contains the filtered metric data and the time derivatives of these data (which the original file did not contain). The filtered data can now be used in a Characteristic evolution.

In order to use the Cauchy extraction data in a subsequent Characteristic evolution, you need to know the timestep in the Cauchy data and the region in radius that the data cover. The program ”readmeta” will give you this region.

./readmetaxmetric\_obs\_0\_Decomp\_ft.h5
RunxParameters
...xnnx=x7
...xnax=x49
...xRinx=x1.800000e+01
...xRoutx=x2.200000e+01

Here we see that the data covers the interval 18¡r¡22. In this case, we would choose an extraction radius of 20 and set the following parameters in the parfile

x#Extractionxradius---------------
xSphericalHarmonicRecon::r\_extract=20.0
xNullSHRExtract::crx=x20.0
xNullGrid::null\_rwtx=x20.0
xSphericalHarmonicRecon::time\_derivative\_in\_filex=x"yes"
xSphericalHarmonicRecon::metric\_data\_filenamex=x"metric\_obs\_0\_Decomp\_ft.h5"

Choosing a timestep for the characteristic evolution that is an integer multiple of the Cauchy dump times will remove time interpolation errors and can lead to smoother signals. To find these dump time, use the ”printtime” command. The syntax is ”printtime iteration file”

./printtimex1xmetric\_obs\_0\_Decomp\_ft.h5
1:x4.960317e-02

In this case the dump times are separated by 0.04960317.

For complete example parfiles for both the initial Cauchy evolution, and subsequent null evolution, see SphericalHarmonicDecomp/par/ and SphericalHarmonicRecon/par/

2.1 Parameters

SphericalHarmonicRecon::orderxorderxusedxinxtimexinterpolationx/
xxxxxxxxxdifferentiation.xOptionsxarex2xorx4.
SphericalHarmonicRecon::r_extractxthexradiusxofxthexworldtube.xThis
xxxxxxxxmustxbexconsistentxwithxthexsetupxofxthexnullxgrid
SphericalHarmonicRecon::metric_data_filenamexfilenamexforxthexcauchy
xxxxxxxxxxxxmetricxdata
SphericalHarmonicRecon::time_derivative_in_filexflagxthatxindicatesxif
xxxxxxxxthexxtimexderivativexofxthexmetricxisxinxthexcauchyxfile.xThe
xxxxxxxxtimexderivativexmayxbexgeneratedxviaxthexfftwfilterxprogramxmentioned
xxxxxxxxabove.
#xthexfollowingxparametersxshouldxonlyxbexusedxifxthe
#xhdf5xwasxcorruptedxandxextractionxparameters
#xarexnotxrecoverable.xOfxcourse,xwexshouldxactually
#xfixxthexextractionxcodexsoxthatxthisxdoesxnotxhappen
BOOLEANxoverride_extraction_parametersx"neverxsetxthis"
{
}xno
CCTK_INTxoverride_spinx"spin:xneverxsetxthis"
{
x*:*x::x"anything,xbutxyouxprobablyxwantx0"
}x0
CCTK_INTxoverride_nnx"numberxofxChabyshevxcoefficients:xneverxusexthis"
{
xx1:*x::x"positive:xmustxactualyxmatchxthexextractionxrun"
}x1
CCTK_INTxoverride_nax"numberxofxangularxcoefficients:xneverxusexthis"
{
xx1:*x::x"positive:xmustxactualyxmatchxthexextractionxrun"
}x1
CCTK_REALxoverride_Rinx"innerxradiusxofxextractionxzone:x..."
{
xx(0:*x::x"positive"
}x1
CCTK_REALxoverride_Routx"outerxradiusxofxextractionxzone:x..."
{
xx(0:*x::x"positive"
}x1

3 Physical System 4 Numerical Implementation 5 Using This Thorn 5.1 Obtaining This Thorn 5.2 Basic Usage 5.3 Special Behaviour 5.4 Interaction With Other Thorns 5.5 Examples 5.6 Support and Feedback 6 History 6.1 Thorn Source Code 6.2 Thorn Documentation 6.3 Acknowledgements References 7 Parameters

11metricxdataxfilename 10Scope: privatex01 STRING

11Description: filename for the cauchy metric data

11 Range 10 x01 Default: metricxDecomp.h5
11.*  10the Cauchy metric data

11

11order  10Scope: privatex01  INT

11Description: order used in time interpolation / differentiation

11 Range 10 x01 Default: 4
112  10two or four
114  10two or four

11

11overridexextractionxparameters 10Scope: privatex01  BOOLEAN

11Description: never set this

11                         10  x01  Default: no

11

11overridexna  10Scope: privatex01  INT

11Description: number of angular coefficition: never use this

11 Range 10 x01 Default: 1
111:*  10positive: must actualy match the extraction run

11

11overridexnn  10Scope: privatex01  INT

11Description: number of Chabyshev coefficition: never use this

11 Range 10 x01 Default: 1
111:*  10positive: must actualy match the extraction run

11

11overridexrin  10Scope: privatex01  REAL

11Description: inner radius of extraction zone: ...

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

11

11overridexrout  10Scope: privatex01  REAL

11Description: outer radius of extraction zone: ...

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

11overridexspin  10Scope: privatex01  INT

11Description: spin: never set this

11 Range 10 x01 Default: (none)
11*:*  10anything, but you probably want 0

11

11rxextract  10Scope: privatex01  REAL

11Description: the radius of the worldtube

11 Range 10 x01 Default: 50.0
11(0:*  10positive

11

11timexderivativexinxfile  10Scope: privatex01  BOOLEAN

11Description: is the time derivative of the metric in the cauchy file

11                         10  x01  Default: no

11

8 Interfaces

General Implements: sphericalharmonicrecon

Provides: GetCurrentExtractionCoefs to GetExtractionParameters to

9 Schedule This section lists all the variables which are assigned storage by thorn PITTNullCode/SphericalHarmonicRecon. 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 NONE

Scheduled Functions

SphericalHarmonicReconRead x metricreconstruction x group for use by external thorns to use the metric x

11x11After: 11sphericalharmonicreconxreaddata
11 x 11Before:11sphericalharmonicreconxpoststep
11 x 11Type: 11group

11

SphericalHarmonicReconRead x sphericalharmonicreconxreaddata x read the world tube data and set the data flag to read x

11x11Language:11c
11 x 11Type: 11function

11

SphericalHarmonicReconRead x sphericalharmonicreconxpoststep x set data flag to unread x

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

11

CCTKxWRAGH x sphericalharmonicreconxstartup x startup x

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