Skip to content

Capabilities

K Clough edited this page Jul 31, 2023 · 7 revisions

GRChomboFixedBackground uses a lot of the features and follows a similar design philosophy to GRChombo. The key difference is that the matter content is evolved on a background which has an analytic form, rather than one that evolves dynamically. This means that all the metric values and their derivatives can be evaluated analytically at each point rather than stored on the grid. The advantage of this is that it saves a huge amount of storage and processing time, and also as an additional benefit the values are more accurate than those evaluated using finite differences.

However, the backgrounds necessarily assume that the backreaction of the matter onto the metric is negligible, which is a good assumption when its energy density is small compared to the typical energy scales of the curvature of the spacetime. A common example is evolving a scalar field on a fixed Schwarzschild black hole background in the case where it is dark matter with a small local density. Of course, this code will then not be usable where the backreaction should play an important role, for example, where one is interested in the impact of the matter on the gravitational wave signal.

Current key features in the public code

  • Matter evolution - The code calculates the evolution for the matter variables only, assuming a specific background metric. The evolution is templated over a matter class and a background, so that either can easily be swapped in. The metric values and their derivatives are calculated exactly at each point from their analytic form, whereas the matter fields are evolved using a 4th order Runge-Kutta time integration and their spatial derivatives are calculated with the same finite difference stencils used in GRChombo. The matter evolution equations are written using in the ADM formalism (there is no need for the BSSN decomposition in the case in which the metric is not evolving).

  • Boundary Conditions - GRChomboFixedBackground adopts all the boundary conditions available in the GRChombo:

    • periodic boundary conditions,
    • non periodic boundary conditions that allow outgoing waves (Sommerfeld)
    • holding the boundary values constant (static)
    • extrapolation at linear and zeroth order
    • enforcement of reflective symmetries (e.g., because the domain is symmetric in x -> -x).
  • Background metric - currently the available backgrounds in the code are:

    • Kerr-Schild metric (a black hole with a mass and spin, in horizon penetrating coordinates)
    • boosted isotropic Schwarzschild (an implementation of a boosted black hole that remains at the centre of the grid, as used in this work)
  • Matter types - currently the implemented matter types in the public code are a real and a complex scalar field minimally coupled to gravity. It is straightforward in principle to adapt this to simulate other types of matter, provided that they can be described by fields with a value at each point on the grid, and a well defined evolution equation.

  • Diagnostics

    • Tools for extraction of values at a given point on the grid and integration over surfaces - See Extraction and integration. Note that these tools take account of the AMR hierarchy and select data from the highest resolution grid. They also perform an interpolation at up to 4th order where the point does not fall exactly at a cell centre.

    • Мatter energy densities, angular and linear momenta and flux calculation and extraction, as described in this work

    • Diagnostic variables can be implemented separately to the evolution variables and classes written to assign their values and output them to plot files.

  • Adaptive Mesh Refinement - since it is built on GRChombo, the code can use adaptive mesh refinement (AMR) with non-trivial "many-boxes-in-many-boxes" meshing hierarchies. Whilst in most fixed background cases a fixed AMR hierarchy will be sufficient, it is possible to implement other criteria based on the matter behaviour as in GRChombo.