ADMAnalysis

Tom Goodale et al

Date

Abstract

Basic analysis of the metric and extrinsic curvature tensors

1 Purpose

This thorn provides analysis routines to calculate the following quantities:

2 Trace of Extrinsic Curvature

The trace of the extrinsic curvature at each point on the grid is placed in the grid function trK. The algorithm for calculating the trace uses the physical metric, that is it includes any conformal factor.

trK trK = 1 ψ4gijK ij (1)

3 Determinant of 3-Metric

The determinant of the 3-metric at each point on the grid is placed in the grid function detg. This is always the determinant of the conformal metric, that is it does not include any conformal factor.

detg detg = g132 g 22 + 2 g12 g13 g23 g11 g232 g 122 g 33 + g11 g22 g33 (2)

4 Transformation to Spherical Cooordinates

The values of the metric and/or extrinsic curvature in a spherical polar coordinate system (r,𝜃,ϕ) evaluated at each point on the computational grid are placed in the grid functions (grr, grt, grp, gtt, gtp, gpp) and (krr, krt, krp, ktt, ktp, kpp). In the spherical transformation, the 𝜃 coordinate is referred to as q and the ϕ as p.

The general transformation from Cartesian to Spherical for such tensors is

Arr = sin2𝜃cos2ϕA xx + sin2𝜃sin2ϕA yy + cos2𝜃A zz + 2sin2𝜃cosϕsinϕA xy +2sin𝜃cos𝜃cosϕAxz + 2sin𝜃cos𝜃sinϕAyz Ar𝜃 = r(sin𝜃cos𝜃cos2ϕA xx + 2 sin𝜃cos𝜃sinϕcosϕAxy + (cos2𝜃 sin2𝜃)cosϕA xz +sin𝜃cos𝜃sin2ϕA yy + (cos2𝜃 sin2𝜃)sinϕA yz sin𝜃cos𝜃Azz) Arϕ = rsin𝜃(sin𝜃sinϕcosϕAxx sin𝜃(sin2ϕ cos2ϕ)A xy cos𝜃sinϕAxz +sin𝜃sinϕcosϕAyy + cos𝜃cosϕAyz) A𝜃𝜃 = r2(cos2𝜃cos2ϕA xx + 2cos2𝜃sinϕcosϕA xy 2sin𝜃cos𝜃cosϕAxz + cos2𝜃sin2ϕA yy 2sin𝜃cos𝜃sinϕAyz + sin2𝜃A zz) A𝜃ϕ = r2 sin𝜃(cos𝜃sinϕcosϕA xx cos𝜃(sin2ϕ cos2ϕ)A xy + sin𝜃sinϕAxz +cos𝜃sinϕcosϕAyy sin𝜃cosϕAyz) Aϕϕ = r2 sin2𝜃(sin2ϕA xx 2sinϕcosϕAxy + cos2ϕA yy)

If the parameter normalize_dtheta_dphi is set to yes, the angular components are projected onto the vectors (rd𝜃,rsin𝜃dϕ) instead of the default vector (d𝜃,dϕ). That is,

A𝜃𝜃 A𝜃𝜃r2 Aϕϕ Aϕϕ(r2 sin2𝜃) Ar𝜃 Ar𝜃r Arϕ Arϕ(rsin𝜃) A𝜃ϕ A𝜃ϕr2 sin𝜃)

5 Computing the Ricci tensor and scalar

The computation of the Ricci tensor uses the ADMMacros thorn. The calculation of the Ricci scalar uses the generic trace routine in this thorn.

6 Parameters




normalize_dtheta_dphi
Scope: private  BOOLEAN



Description: Project angular components onto r*dtheta and r*sin(theta)*dphi?



  Default: no






ricci_persist
Scope: private  BOOLEAN



Description: Keep storage of the Ricci tensor and scalar around?



  Default: no






ricci_prolongation_type
Scope: private  KEYWORD



Description: The kind of boundary prolongation for the Ricci tensor and scalar



Range   Default: none
Lagrange
standard prolongation (requires several time levels)
copy
use data from the current time level (requires only one time level)
none
no prolongation (use this if you do not have enough time levels active)






ricci_timelevels
Scope: private  INT



Description: Number of time levels for the Ricci tensor and scalar



Range   Default: 1
1:3






metric_type
Scope: shared from ADMBASE KEYWORD



7 Interfaces

General

Implements:

admanalysis

Inherits:

admbase

staticconformal

grid

admmacros

Grid Variables

7.0.1 PUBLIC GROUPS




  Group Names    Variable Names    Details   




trace_of_k   compact0
trK   descriptiontrace of extrinsic curvature
  dimensions3
  distributionDEFAULT
  group typeGF
  tagstensortypealias=”scalar” Prolongation=”none”
  timelevels1
 variable typeREAL




detofg   compact0
detg   descriptiondeterminant of the conformal metric
  dimensions3
  distributionDEFAULT
  group typeGF
  tagstensortypealias=”scalar” Prolongation=”none”
  timelevels1
 variable typeREAL




spherical_metric   compact0
grr   descriptionMetric in spherical coordinates
gqq   dimensions3
gpp   distributionDEFAULT
grq   group typeGF
grp   tagsProlongation=”none”
gqp   timelevels1
 variable typeREAL




spherical_curv   compact0
krr   descriptionextrinsic curvature in spherical coordinates
kqq   dimensions3
kpp   distributionDEFAULT
krq   group typeGF
krp   tagsProlongation=”none”
kqp   timelevels1
 variable typeREAL




ricci_tensor   compact0
Ricci11   descriptionComponents of the Ricci tensor
Ricci12   dimensions3
Ricci13   distributionDEFAULT
Ricci22   group typeGF
Ricci23   tagstensortypealias=”dd_sym” ProlongationParameter=”ADMAnalysis::ricci_prolongation_type”
Ricci33   timelevels3
 variable typeREAL




ricci_scalar   compact0
Ricci   descriptionThe Ricci scalar
  dimensions3
  distributionDEFAULT
  group typeGF
  tagstensortypealias=”scalar” ProlongationParameter=”ADMAnalysis::ricci_prolongation_type”
  timelevels3
 variable typeREAL




Uses header:

Symmetry.h

Provides:

CartToSphere to

Trace to

8 Schedule

This section lists all the variables which are assigned storage by thorn EinsteinAnalysis/ADMAnalysis. 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:
  ricci_tensor[1]
  ricci_scalar[1]
  ricci_tensor[2]
  ricci_scalar[2]
  ricci_tensor[3]
  ricci_scalar[3]
   

Scheduled Functions

CCTK_PARAMCHECK

  admanalysis_paramcheck

  check that the metric_type is recognised

 

 Language:c
 Options: global
 Type: function

CCTK_WRAGH (conditional)

  admanalysis_registersymmetry

  register symmetry of ricci tensor and scalar

 

 Language:c
 Options: global
 Type: function

CCTK_ANALYSIS (conditional)

  riccigroup

  calculate ricci tensor, with boundary conditions

 

 Storage: ricci_tensor[1]
   ricci_scalar[1]
   detofg
 Triggers:ricci_tensor
   ricci_scalar
 Type: group

RicciGroup

  admanalysis_ricci

  calculate ricci tensor, with boundary conditions

 

 Language:c
 Type: function

RicciGroup

  ricciboundariesgroup

  set ricci tensor on the boundary

 

 After:admanalysis_ricci
 Type:group

RicciBoundariesGroup

  admanalysis_ricci_boundaries

  select boundary conditions for the ricci tensor

 

 Language:c
 Options: level
 Sync: ricci_tensor
   ricci_scalar
 Type: function

RicciBoundariesGroup

  applybcs

  apply boundary conditions to the ricci tensor

 

 After:admanalysis_ricci
 Type:group

CCTK_ANALYSIS

  admanalysis_evaltrk

  compute the trace of the extrinsic curvature and the determinant of the metric

 

 Language:c
 Storage: trace_of_k
   detofg
 Sync: trace_of_k
   detofg
 Triggers: trace_of_k
   detofg
 Type: function

CCTK_ANALYSIS

  admanalysis_metriccarttosphere

  calculate the spherical metric in r,theta(q), phi(p)

 

 Language:c
 Storage: spherical_metric
 Sync: spherical_metric
 Triggers: spherical_metric
 Type: function

CCTK_ANALYSIS

  admanalysis_curvcarttosphere

  calculate the spherical ex. curvature in r, theta(q), phi(p)

 

 Language:c
 Storage: spherical_curv
 Sync: spherical_curv
 Triggers: spherical_curv
 Type: function

CCTK_POSTINITIAL (conditional)

  riccigroup

  calculate ricci tensor, with boundary conditions

 

 After: mol_poststep
  
    mol_postinitial
 Storage:detofg
 Type: group

CCTK_POST_RECOVER_VARIABLES (conditional)

  riccigroup

  calculate ricci tensor, with boundary conditions

 

 After: mol_poststep
  
    mol_postinitial
 Storage:detofg
 Type: group

CCTK_EVOL (conditional)

  riccigroup

  calculate ricci tensor, with boundary conditions

 

 After: mol_evolution
  Storage:detofg
 Type: group

CCTK_POSTREGRID (conditional)

  ricciboundariesgroup

  set ricci tensor on the boundary

 

 Storage:detofg
 Type: group

CCTK_POSTRESTRICT (conditional)

  ricciboundariesgroup

  set ricci tensor on the boundary

 

 Type:group

Aliased Functions

 

Alias Name:        Function Name:
ApplyBCs ADMAnalysis_ApplyBCs