## IDBrillData

Date

### Abstract

This thorn creates time symmetric initial data for Brill wave spacetimes. It can create both axisymmetric data (in a 3D cartesian grid), as well as data with an angular dependency.

### 1 Purpose

The purpose of this thorn is to create (time symmetric) initial data for a Brill wave spacetime. It does so by starting from a three–metric of the form originally considered by Brill \begin {equation} ds^2 = \Psi ^4 \left [ e^{2q} \left ( d\rho ^2 + dz^2 \right ) + \rho ^2 d\phi ^2 \right ] =\Psi ^4 \hat {ds}^{2}, \label {eqn:brillmetric} \end {equation} where $$q$$ is a free function subject to certain regularity and fall-off conditions, $$\rho =\sqrt {x^2+y^2}$$ and $$\Psi$$ is a conformal factor to be solved for.

Thorn IDBrillData provides three choices for the $$q$$ function: an exponential form, (IDBrillData::q_function = "exp") \begin {equation} q = a \; \frac {\rho ^{2+b}}{r^2} e^{-\left ( \frac {z}{\sigma _z} \right )^2} e^{-(\rho - \rho _0)^2} \left [ 1 + d \frac {\rho ^m}{1 + e \rho ^m} \cos ^2 \left ( n \phi + \phi _0 \right ) \right ] \end {equation} a generalized form of the $$q$$ function first written down by Eppley (IDBrillData::q_function = "eppley") \begin {equation} q = a \left ( \frac {\rho }{\sigma _\rho } \right )^b \frac {1}{1 + \left [ \left ( r^2 - r_0^2 \right ) / \sigma _r^2 \right ]^{c/2}}\left [ 1 + d \frac {\rho ^m}{1 + e \rho ^m} \cos ^2 \left ( n \phi + \phi _0 \right ) \right ] \end {equation} and the (default) Gundlach $$q$$ function which includes the Holz form (IDBrillData::q_function = "gundlach") \begin {equation} q = a \left ( \frac {\rho }{\sigma _\rho } \right )^b e^{-\left [ \left ( r^2 - r_0^2 \right ) / \sigma _r^2 \right ]^{c/2}} \left [ 1 + d \frac {\rho ^m}{1 + e \rho ^m} \cos ^2 \left ( n \phi + \phi _0 \right ) \right ] \end {equation}

Substituting the metric into the Hamiltonian constraint gives an elliptic equation for the conformal factor $$\Psi$$ which is then numerically solved for a given function $$q$$: \begin {equation} \hat {\nabla } \Psi - \frac {\Psi }{8} \hat {R} = 0 \end {equation} where the conformal Ricci scalar is found to be

\begin {eqnarray} \hat {R} = -2 \left (e^{-2q} (\partial ^2_z q + \partial ^2_\rho q) + \frac {1}{\rho ^2} (3 (\partial _\phi q)^2 + 2 \partial _\phi q)\right ) \end {eqnarray}

Assuming the initial data to be time symmetric means that the momentum constraints are trivially satisfied.

In the case of axisymmetry (that is $$d=0$$ in the above expressions for $$q$$), the Hamiltonian constraint can be written as an elliptic equation for $$\Psi$$ with just the flat space Laplacian, \begin {equation} \nabla _{flat} \Psi + \frac {\Psi }{4} (\partial _z^2 q + \partial _\rho ^2 q) = 0 \end {equation} If the initial data is chosen to be ADMBase::initial_data = "brilldata2D" then this elliptic equation is solved rather than the equation above.

### 2 Generating Initial Data with IDBrillData

Brill initial data is activated by choosing the CactusEinstein/ADMBase parameter initial_data to be brilldata, or for the case of axisymmetry brilldata2D can also be used.

The parameter IDBrillData::q_function chooses the form of the $$q$$ function to be used, defaulting to the Gundlach expression.

Additional IDBrillData parameters for each form of $$q$$ fix the remaining freedom:

• Exponential $$q$$: IDBrillData::q_function = "exp"

$$(a, b,\sigma _z,\rho _0)=$$ (exp_a, exp_b, exp_sigmaz,exp_rho0)

• Eppley $$q$$: IDBrillData::q_function = "eppley"

$$(a, b,\sigma _\rho , r_0,\sigma _r,c)=$$ (eppley_a, eppley_b, eppley_sigmarho, eppley_r0, eppley_sigmar, eppley_c)

• Gundlach $$q$$: IDBrillData::q_function = "gundlach"

$$(a, b,\sigma _\rho , r_0,\sigma _r,c)=$$ (gundlach_a, gundlach_b, gundlach_sigmarho, gundlach_r0, gundlach_sigmar, gundlach_c)

• Non-axisymmetric part for each choice of $$q$$

$$(d, m, e, n, \phi 0)=$$ (brill3d_d, brill3d_m, brill3d_e, brill3d_n, brill3d_phi0)

Note that the default $$q$$ expression is

IDBrillData can use the elliptic solvers (type LinMetric) provided by CactusEinstein/EllSOR,
AEIThorns/BAM_Elliptic, or CactusElliptic/EllPETSc to solve the equation resulting from the Hamiltonian constraint. In all cases the parameter thresh sets the threshold for the elliptic solve. The choice of elliptic solver is made through the parameter brill_solver:

• sor: Understands the Robin boundary condition, additional parameters control the maximum number of iterations (sor_maxit).

• bam: BAM_Elliptic does not properly implement the elliptic infrastructure of EllBase, and the BAM_Elliptic parameter to use the Robin boundary condition must be set independently of
IDBrillWave::brill_bound.

### 3 Notes

Thorn IDBrillData understands both the “physical” and “static conformalmetric_type. In the case of a conformal metric being chosen, the conformal factor is set to $$\Psi$$. Currently the derivatives of the conformal factor are not calculated, so that only staticconformal::conformal_storage = "factor" is supported.

### 4 References

#### 4.1 Specification of Brill Waves

1. Dieter Brill, Ann. Phys., 7, 466, 1959.

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

#### 4.2 Numerical Evolutions of Brill Waves

1. Gravitational Collapse of Gravitational Waves in 3D Numerical Relativity, Miguel Alcubierre, Gabrielle Allen, Bernd Bruegmann, Gerd Lanfermann, Edward Seidel, Wai-Mo Suen, Malcolm Tobias, Phys. Rev. D61, 041501, 2000.

### 5 Parameters

 bound Scope: private KEYWORD Description: Which boundary condition to use Range Default: robin const constant boundary: set const_v0 robin Robin boundary: set robin_falloff, robin_inf

 brill3d_d Scope: private REAL Description: 3D Brill wave: d rho cos(n (phi + phi0)) Range Default: 0.0 : Anything

 brill3d_e Scope: private REAL Description: 3D Brill wave: d rho cos(n (phi + phi0)) Range Default: 1.0 : Anything

 brill3d_m Scope: private REAL Description: 3D Brill wave: d rho cos(n (phi + phi0)) Range Default: 2.0 : Anything

 brill3d_n Scope: private REAL Description: 3D Brill wave: d rho cos(n (phi + phi0)) Range Default: 2.0 : Anything

 brill3d_phi0 Scope: private REAL Description: 3D Brill wave: d rho cos(n (phi + phi0)) Range Default: 0.0 : Anything

 const_v0 Scope: private REAL Description: Value of constant BC Range Default: 1.0 : anything goes

 eppley_a Scope: private REAL Description: Eppley Brill wave: Amplitude Range Default: 0.0 : Anything

 eppley_b Scope: private INT Description: Eppley Brill wave: used in exponent in rho: rho Range Default: 2 : Anything

 eppley_c Scope: private INT Description: Eppley Brill wave: (r - r0)c/2) Range Default: 2 : Anything

 eppley_r0 Scope: private REAL Description: Eppley Brill wave: radius of torus in r Range Default: 0.0 0:* Positive

 eppley_sigmar Scope: private REAL Description: Eppley Brill wave: sigma in r Range Default: 1.0 : Anything

 eppley_sigmarho Scope: private REAL Description: Eppley Brill wave: sigma in rho Range Default: 1.0 : Anything

 exp_a Scope: private REAL Description: Exp Brill wave: Amplitude Range Default: 0.0 : Anything

 exp_b Scope: private INT Description: Exp Brill wave: used in exponent in rho: rho2+b) Range Default: 2 : Anything

 exp_rho0 Scope: private REAL Description: Exp Brill wave: radius of torus in rho Range Default: 0.0 0:* Positive

 exp_sigmaz Scope: private REAL Description: Exp Brill wave: sigma in z Range Default: 1.0 (0:* Positive

 gundlach_a Scope: private REAL Description: Gundlach Brill wave: Amplitude Range Default: 0.0 : Anything

 gundlach_b Scope: private INT Description: Gundlach Brill wave: used in exponent in rho: rho Range Default: 2 : Anything

 gundlach_c Scope: private INT Description: Gundlach Brill wave: (r - r0)c/2) Range Default: 2 : Anything

 gundlach_r0 Scope: private REAL Description: Gundlach Brill wave: radius of torus in r Range Default: 0.0 0:* Positive

 gundlach_sigmar Scope: private REAL Description: Gundlach Brill wave: sigma in r Range Default: 1.0 : Anything

 gundlach_sigmarho Scope: private REAL Description: Gundlach Brill wave: sigma in rho Range Default: 1.0 : Anything

 output_coeffs Scope: private BOOLEAN Description: output coefficients for elliptic solve Default: no

 q_function Scope: private KEYWORD Description: Form of function q [0,1,2] Range Default: gundlach exp contains e-z} factor eppley contains 1/(1+r) factor gundlach contains e-r} factor

 rhofudge Scope: private REAL Description: delta rho for axis fudge Range Default: 0.00001 0: Positive please

 robin_falloff Scope: private INT Description: Fall-off of Robin BC Range Default: 1 0: any positive integer value

 robin_inf Scope: private REAL Description: Value at infinity of Robin BC Range Default: 1.0 : anything goes

 solver Scope: private KEYWORD Description: Which elliptic solver to use Range Default: sor sor Use SOR solver petsc Use PETSc solver bam Use bam solver

 sor_maxit Scope: private INT Description: Maximum number of iterations Range Default: 10000 0:* Positive

 thresh Scope: private REAL Description: How far (absolute norm) to go Range Default: 0.00001 0.0: Positive number please

 conformal_storage Scope: shared from STATICCONFORMAL KEYWORD

### 6 Interfaces

Implements:

idbrilldata

Inherits:

grid

staticconformal

ellbase

#### Grid Variables

##### 6.0.1 PRIVATE GROUPS
 Group Names Variable Names Details brillelliptic compact 0 brillMlinear description Coefficients for linear elliptic equation brillNsource dimensions 3 distribution DEFAULT group type GF timelevels 1 variable type REAL brillconf compact 0 brillpsi description Conformal factor for Brill data dimensions 3 distribution DEFAULT group type GF timelevels 1 variable type REAL

### 7 Schedule

This section lists all the variables which are assigned storage by thorn EinsteinInitialData/IDBrillData. 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

 Conditional: brillconf brillelliptic

#### Scheduled Functions

CCTK_PARAMCHECK (conditional)

idbrilldata_paramchecker

check that the metric_type is recognised

 Language: c Options: global Type: function

CCTK_WRAGH (conditional)

brilldata_initsymbound

set up symmetries for brillpsi

 Language: c Options: global Type: function