Waveforms_1.gif > Waveforms_2.gif

WAVEFORMS TUTORIAL Waveforms_3.gif            Waveforms_4.gif

Gravitational Waves

SimulationTools has a large set of functionality for working with numerical time-series waveforms such as one would obtain by extracting gravitational radiation from a numerical relativity simulation.

Reading and exporting waveforms

SimulationTools supports a plug-in interface for reading waveform data. The format of choice is HDF5 data using the naming conventions of the Multipole Cactus thorn which is included with the Einstein Toolkit. There is also support for reading waveforms as ASCII data produced by the Multipole thorn and for reading waveforms in the NRDF format [http://arxiv.org/abs/0709.0093].

Reading data in Multipole format

ReadPsi4 ReadPsi4Modes ReadPsi4Radii
$MultipolePsi4Variable

Reading data produced using the Multipole Cactus thorn.

Read in the (2,2) mode of the gravitational waveform from a binary black hole merger, represented by Waveforms_5.gif extracted at a radius of 100M

In[1]:=

Waveforms_6.gif

In[4]:=

Waveforms_7.gif

Out[4]=

Waveforms_8.gif

It is possible to specify the name of the output file produced by the Multipole thorn using the Multipole::variables parameter in the simulation parameter file, e.g.

    Multipole::variables = “WeylScal4::Psi4r{sw=-2 cmplx=’WeylScal4::Psi4i’ name=’psi4’}”

By default, it is assumed that the name ‘psi4’ is used. This may be changed by setting $MultipolePsi4Variable

In[5]:=

Waveforms_9.gif

In[6]:=

Waveforms_10.gif

Out[6]=

Waveforms_11.gif

Waveforms can be produced for multiple (l,m) modes and multiple extraction radii. The list of available modes and radii are both easily accessed

In[7]:=

Waveforms_12.gif

Out[7]=

Waveforms_13.gif

In[8]:=

Waveforms_14.gif

Out[8]=

Waveforms_15.gif

Reading waveforms in other formats

Waveform data from other sources can be imported in a standard ASCII format with three columns corresponding to time and the real and imaginary parts of the waveform

In[9]:=

Waveforms_16.gif

In[10]:=

Waveforms_17.gif

Out[10]=

Waveforms_18.gif

Exporting waveforms

Waveforms can be easily exported as ASCII files

In[11]:=

Waveforms_19.gif

Out[11]=

Waveforms_20.gif

Working with waveforms

Visualisation

Plot the real and imaginary parts along with the absolute value

In[12]:=

Waveforms_21.gif

Out[12]=

Waveforms_22.gif

Plot the phase of the complex waveform

In[13]:=

Waveforms_23.gif

Out[13]=

Waveforms_24.gif

and plot the frequency

In[14]:=

Waveforms_25.gif

Out[14]=

Waveforms_26.gif

One frequently would like to know how many gravitational wave cycles are present in a waveform as a measure of its length. The WaveformCycles function does so by counting the number of oscillations from a prescribed time up to the peak of the amplitude, which is assumed to correspond to the merger. In the short example binary black hole simulation, there are approximately three gravitational wave cycles before the merger.

In[15]:=

Waveforms_27.gif

Out[15]=

Waveforms_28.gif

It is also possible to obtain this number directly from the simulation, without having to go through the step of reading Waveforms_29.gif explicitly

In[16]:=

Waveforms_30.gif

Out[16]=

Waveforms_31.gif

Manipulating waveforms

Aligning phases

It is often convenient to consider a complex waveform in terms of amplitude and phase rather than real and imaginary parts.  When computing the phase, there is a freedom to add multiples of 2π.  When compare two different waveforms, it’s possible that different multiples of 2π have been added to each (this usually happens when the data is not smooth and the algorithm to produce a continuous phase in the Phase function makes a different choice for different waveforms).  The AlignedPhases function adds multiples of 2π to a set of phases to minimise their difference at a specific time.

In[17]:=

Waveforms_32.gif

In[21]:=

Waveforms_33.gif

Out[21]=

Waveforms_34.gif

Converting to strain

Waveforms from numerical relativity simulations are typically extracted as the complex scalar Waveforms_35.gif, whereas many analytic and data analysis calculations prefer to work with the strain, h, which is related to Waveforms_36.gif by two time integrals. The function Psi4ToStrain does this conversion using either fixed-frequency or time-domain integration methods.

Convert Waveforms_37.gif to h using fixed-frequency integration

In[22]:=

Waveforms_38.gif

Convert Waveforms_39.gif to h using time domain integration chosing the two arbitrary integration constants such that the strain is 0 at t=0 and t=280

In[24]:=

Waveforms_40.gif

Compare the two integration schemes

In[25]:=

Waveforms_41.gif

Out[25]=

Waveforms_42.gif

Extrapolation

Waveforms from numerical simulations are normally obtained by extraction of Waveforms_43.gif at finite radius. However, their definition is in terms of Waveforms_44.gif at future null infinity.  It is therefore common to extract at a sequence of radii and extrapolate to infinite radius. SimulationTools provides some automated functions for performing such an extrapolation.

The function ReadRadiallyExtrapolatedPsi4 reads a specific (l,m) mode of Waveforms_45.gif at all radii available in a simulation and produces a waveform which has been extrapolated to infinite radius

In[26]:=

Waveforms_46.gif

In[27]:=

Waveforms_47.gif

Out[27]=

Waveforms_48.gif

We can compare this extrapolated waveform to the one extracted at r=100M

In[28]:=

Waveforms_49.gif

Out[28]=

Waveforms_50.gif

One may also wish to compute the strain at future null infinity. This involves a delicate combination of conversion from Waveforms_51.gif to strain and extrapolation. The function ReadRadiallyExtrapolatedStrain does this in a way that has been found to be generally robust

In[29]:=

Waveforms_52.gif

In[30]:=

Waveforms_53.gif

Out[30]=

Waveforms_54.gif

Related Tutorials

SimulationTools

Binaries

BlackHoles

Created with the Wolfram Language