IDBrillData

Carsten Gundlach, Gabrielle Allen

\( \)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:

Note that the default \(q\) expression is

                2 −r2
q = gundlach-a ρ e

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:

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ˆm  cosˆ2  (n (phi + phi0))



Range Default: 0.0
:
Anything






brill3d_e
Scope: private REAL



Description: 3D Brill wave: d rhoˆm  cosˆ2  (n (phi + phi0))



Range Default: 1.0
:
Anything






brill3d_m
Scope: private REAL



Description: 3D Brill wave: d rhoˆm  cosˆ2  (n (phi + phi0))



Range Default: 2.0
:
Anything






brill3d_n
Scope: private REAL



Description: 3D Brill wave: d rhoˆm  cosˆ2  (n (phi + phi0))



Range Default: 2.0
:
Anything






brill3d_phi0
Scope: private REAL



Description: 3D Brill wave: d rhoˆm  cosˆ2  (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ˆb



Range Default: 2
:
Anything






eppley_c
Scope: private INT



Description: Eppley Brill wave: (rˆ2  - r0ˆ2  )(ˆ  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: rhoˆ(  2+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ˆ
b



Range Default: 2
:
Anything






gundlach_c
Scope: private INT



Description: Gundlach Brill wave: (rˆ2  - r0ˆ2  )ˆ(  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ˆ2  } factor
eppley
contains 1/(1+rˆ2  ) factor
gundlach
contains eˆ{ -rˆ2  } 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 STATICCONFORMALKEYWORD



6 Interfaces

General

Implements:

idbrilldata

Inherits:

grid

admbase

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

ADMBase_InitialData (conditional)

  brilldata

  construct brill wave initial data

 

  Language: fortran
  Type: function