Brought to you by:
Paper

Dynamical excision boundaries in spectral evolutions of binary black hole spacetimes

, , , , , and

Published 25 April 2013 © 2013 IOP Publishing Ltd
, , Citation Daniel A Hemberger et al 2013 Class. Quantum Grav. 30 115001DOI 10.1088/0264-9381/30/11/115001

0264-9381/30/11/115001

Abstract

Simulations of binary black hole systems using the Spectral Einstein Code (SpEC) are done on a computational domain that excises the regions inside the black holes. It is imperative that the excision boundaries are outflow boundaries with respect to the hyperbolic evolution equations used in the simulation. We employ a time-dependent mapping between the fixed computational frame and the inertial frame through which the black holes move. The time-dependent parameters of the mapping are adjusted throughout the simulation by a feedback control system in order to follow the motion of the black holes, to adjust the shape and size of the excision surfaces so that they remain outflow boundaries, and to prevent large distortions of the grid. We describe in detail the mappings and control systems that we use. We show how these techniques have been essential in the evolution of binary black hole systems with extreme configurations, such as large spin magnitudes and high mass ratios, especially during the merger, when apparent horizons are highly distorted and the computational domain becomes compressed. The techniques introduced here may be useful in other applications of partial differential equations that involve time-dependent mappings.

Export citation and abstractBibTeXRIS

1. Introduction

Feedback control systems are ubiquitous in technological applications. They are found, for example, in thermostats, autopilots, chemical plants, and cruise control in automobiles. The purpose of a control system is to keep some measured output (such as the temperature in a room) at some desired value by adjusting some input (such as the power to a furnace).

In the last few years, feedback control systems have also found applications in the field of numerical relativity, particularly in simulations of binary black hole systems that employ spectral methods and excision techniques [15].

Black hole excision is a means of avoiding the physical singularities that lurk inside black holes. The idea is to solve Einstein's equations only in the region outside apparent horizons, cutting out the region inside the horizons. The boundaries of the excised regions are called excision boundaries. Causality ensures that the excision boundaries and the excised interiors cannot affect the physics of the exterior solution, and an appropriate hyperbolic formulation of Einstein's equations [6, 7] can ensure that gauge and constraint-violating degrees of freedom also do not propagate out of the excised region.

Excision is straightforward for black holes that remain stationary in the coordinates that are used in the simulation, but excision becomes more complicated when the black holes move or change shape. For numerical methods based on finite differencing, the excision boundaries can be changed at every time step by activating or deactivating appropriate grid points and adjusting differencing stencils [815]. However, for spectral numerical methods, there is no equivalent of deactivating individual grid points; instead, spectral methods are defined in finite extended spatial regions with smooth boundaries. The nearest equivalent to the finite-difference excision approach would be interpolating all variables to a new slightly offset grid at every time step, which would be computationally expensive. Therefore, spectral numerical methods need a different approach to reconcile the need for moving black holes with the need for a fixed excision boundary inside of each black hole.

The solution [1] to this problem adopted by our group makes use of multiple coordinate systems. We call 'inertial coordinates' those coordinates that asymptotically correspond to an inertial observer; in these coordinates the black holes orbit each other, have distorted shapes, and approach each other as energy is lost to gravitational radiation. Spectral methods are applied in another coordinate system, 'grid coordinates', in which the excision boundaries are spherical and stationary. We connect grid coordinates with inertial coordinates by means of an analytic mapping function that depends on some set of time-dependent parameters λ(t). These parameters must be continually adjusted so that each spherical, stationary grid-frame excision boundary is mapped to a surface in the inertial frame that follows the motion and the shape of the corresponding black hole as the system evolves. It is this adjustment of each parameter λ(t) that is accomplished by means of feedback control systems, one control system per parameter.

In this paper, we describe in detail the mapping functions and the corresponding feedback control systems that we use to handle black hole excision with spectral methods. Some earlier implementations have been described previously [1, 2, 4, 5, 16], but there have been many improvements that now allow spectral excision methods to produce robust simulations of binary black hole systems, including those with unequal masses, high spins, and precession. We describe these improvements here. In section 2 we review control theory and present simple examples of control systems. In section 3 we discuss the implementation of control systems in the Spectral Einstein Code (SpEC) [17]. Sections 4 and 5 detail the coordinate mappings used in SpEC and the feedback control systems used to control them. In section 6 we describe the transition to the post-merger domain with a single excision boundary. In section 7 we describe applications of control systems in SpEC besides the ones used to adjust map parameters. We summarize in section 8.

2. Control theory

To motivate control theory, we begin with a simple example: cruise control in an automobile. Suppose we wish to control the speed v of a car that is driving up an incline of angle θ. The equation of motion for this system is

where m is the mass of the car, g is the gravitational acceleration, η is a drag coefficient, and F is a force supplied by the car's engine. We wish to determine F so as to cause the car to maintain a speed of v = v0, even if the angle θ changes as the car climbs the incline. To do this, we choose the force at time t to be:

where the control system is turned on at time t = 0, where KI and KP are constants, and where Q(t) = v0v(t) is the quantity that we wish to drive to zero. We call Q the control error. Substituting equation (2) into equation (1) and differentiating with respect to time yields

which is the equation for a damped, forced harmonic oscillator. By choosing KP to produce critical damping, and choosing KI to set a timescale, this choice will drive v toward v0 as desired.

The basic structure of a control system is easily understood as a feedback loop (see figure 1). The simulation (e.g., a binary black hole simulation, or a car driving up an incline) produces some measure of error, Q(t), that defines the deviation from some desired target value. This error acts as the input for the control system, which then computes a control signal U(t) (e.g., the derivative of a map parameter, or the force supplied by a car's engine) that will minimize the error Q(t) when fed back into the simulation.

Figure 1. Refer to the following caption and surrounding text.

Figure 1. A generic control circuit. The simulation outputs a measure of error, Q, which is used by the control system. The control system then outputs a signal, U, which changes the behavior of the simulation.

Standard image High-resolution image

A simple and effective way to compute U(t) is to make it a linear combination of the error, Q(t), and integrals and/or derivatives of the error. The term proportional to the error acts to reduce the deviation from the desired value, the terms proportional to derivatives of the error act to oppose rapid deviations, and the terms proportional to the integrals act to reduce any persistent deviation or offset that accumulates over time. In the cruise control example, we used a proportional and an integral term only in equation (2).

We now turn to another example of a control system that is more closely related to the way we use control systems in binary black hole simulations. Consider two coordinate systems, (x, t) and , that are related by the map

We wish to control the parameter V(t) so that a wave that propagates at speed in the coordinates will propagate at some arbitrary desired speed vd in the (x, t) coordinates. According to equation (4), the speed of the wave in the (x, t) coordinates is v = cV(t). Therefore we define a control error Q to be

and we construct a control system that drives this control error to zero. If we choose the control signal U(t) to be d2V/dt2, then the simplest feedback loop that can be constructed uses only a term proportional to the error and amplified by a 'gain' KP. Then the evolution of V(t) is given by

The solution to this equation is of the form

where , which is oscillatory for KP > 0 and divergent for KP < 0. Thus we see that adding only a proportional term to the control signal U(t) is insufficient, since it does not reduce the control error Q.

However, if we add a derivative term to the feedback equation,

then the solution is of the form

where . This solution is stable with an exponentially damped envelope when , which will cause vvd as t.

Notice that this control system allows us to choose a V(t) such that v is the opposite sign of c and the wave is left-going in the (x, t) frame instead of right-going. This behavior can be seen in the example in figure 2.

Figure 2. Refer to the following caption and surrounding text.

Figure 2. The speed in (x, t) coordinates, v, is plotted for a family of gains KP with KD = 1 fixed. The wave velocity is c = −0.2 and the desired velocity is vd = 0.5 (dashed line). The controller turns on at t = 2. For gains in the stable region, where KP ⩾ 0.25, v settles down to vd. One overdamped solution with KP = 0.01 is plotted for comparison (dotted line).

Standard image High-resolution image

The overdamped solution (dotted line in figure 2) has a persistent offset that can be ameliorated by adding an integral term to the feedback equation, as was done in the cruise control example. In principle we could continue to add more terms, but in practice, it is usually sufficient to use a PID (proportional-integral-derivative) controller, which has terms proportional to the control error, its integral, and its derivative. When the underlying system is unknown, this is the best controller to use [18].

3. Control systems in SpEC

Control systems are used in SpEC for several purposes. The most important is their role in handling moving, excised black holes in a spectral evolution method. We use a dual-frame method [1] in which the grid is fixed in some coordinates (t, xi) but the components of dynamical fields are expressed in a different coordinate system . We call (t, xi) the grid coordinates and the inertial coordinates. Figure 3 shows an example domain decomposition in both coordinate systems. The two coordinate systems are connected by a map that depends on time-dependent parameters λ(t). The excision boundaries are exactly spherical and stationary in grid coordinates. In inertial coordinates, the apparent horizons move and distort as determined by the solution of Einstein's equations supplemented by our gauge conditions. The parameters λ(t) need to be controlled so that the excision boundaries in the inertial frame follow the motion and shapes of the apparent horizons. We use control systems to accomplish this.

Figure 3. Refer to the following caption and surrounding text.

Figure 3. (a) Computational domain in grid coordinates; the black hole centers are at rest and the excision boundaries are spherical. (b) Same domain in inertial coordinates near merger; the excision boundaries move and distort to track the apparent horizons.

Standard image High-resolution image

The particular maps that we use will be discussed in section 4. In this section we will describe how we construct the control system for a general parameter λ(t), including how we define the relationship between the control error Q(t) and the control signal U(t), how we smooth out noise in the control system, and how we dynamically adjust the feedback parameters and timescales.

3.1. Definition of control errors and control signals

We represent a general time-dependent map parameter λ(t) as a polynomial in time with a piecewise constant Nth derivative:

where for each time interval tit < ti + 1 the quantities are constants.

At the beginning of each new time interval ti, we set the constants in equation (11) as follows. First for n = N we set , where U(t) is the control signal defined in detail below. For n < N we set , where the derivative is evaluated at the end of the previous time interval. In this way all the derivatives of λ(t) except the Nth derivative are continuous across intervals. The goal will be to compute the control signal U(t) so as to drive the map parameter λ(t) to some desired behavior. Before we describe how to compute the control signal U(t), we first discuss the control error Q, which will be used in the computation of U(t).

To appropriately define the control error Q, one must answer the question of how a small change in the map parameter corresponds to a change in the observed variables. If the control error is defined to be too large, then the controller will consistently overshoot its target, potentially leading to unstable behavior; conversely, if the control error is defined to be too small, then the controller may never be able to reach its target value.

If there exists a target value of λ(t), call it λtarget, that does not depend on the map but may depend on other observable quantities in the system (call them A, B,...), then we define

The goal is to drive Q to zero and thereby drive λ to λtarget.

If instead, as often happens for nonlinear systems, the target value of λ depends on λ itself, even indirectly, then we define Q differently using a generalization of equation (12): we require that λ attains its desired value when Q → 0, and we require that

The primary motivation for this condition is its anticipated use in relating time derivatives of Q to those of λ (see equation (18), below). Note that in either equations (12) or (13), Q could in principle be multiplied by an arbitrary factor; however, if this were done, that factor would need to be taken into account in the computation of the control signal U(t) below. Without loss of generality we assume no additional scaling.

In the case of several map parameters λa(t) with corresponding Qa, where a is an index that labels the map parameters, the desired value of some λa may depend on a different map parameter λb. In this case, we generalize equation (13) and require that each Qa satisfy

where δab is a Kronecker delta. This criterion ensures that we can treat each λa independently when all control errors are small. A way of understanding equation (14) is to consider a set of that are obtained via equation (13) without regard to coupling between different λa. Then a set of Qa satisfying equation (14) can be obtained by diagonalizing the matrix . In the remainder of this section we assume that if there are multiple map parameters λa, the corresponding control errors Qa satisfy equation (14). We therefore drop the a indices and write equations for U(t) in terms of a single Q(t) satisfying equation (13) that represents the control error for a single λ(t).

The control error Q(t) is a function of several observables. In the case of the mapping functions that are designed to move and distort the excision boundaries to follow the motion and shapes of the apparent horizons, Q(t) is some function of the current position or shape of one or more apparent horizons. The precise definition of Q(t) is different for each map parameter, and depends on the details of how each map parameter couples to the observables. We will discuss the control error Q for each of the map parameters in section 4. But it is not necessary to know the exact form of the control error in order to compute the control signal U(t); it suffices to know only that U(ti) is equal to in equation (11), and that the control error Q obeys equation (13).

We now turn to the computation of the control signal U(t). There is some flexibility in the control law determining U(t), so long as key feedback mechanisms are in place (as shown in section 2). In SpEC, we use either a standard PID controller,

or a special PD (proportional-derivative) controller,

where typically K = 2.

We set the constants ak so that the system damps Q to zero on some timescale τd that we choose. We assume that τd is longer than the interval ti + 1ti defined in equation (11), so that we can approximate Q(t) and λ(t) as smooth functions rather than as functions with piecewise constant Nth derivatives. Under this assumption, we write

We also write

In the first line we have neglected the time dependence of other parameters besides λ that enter into Q under the assumption that the control system timescale is shorter than the timescales of the quantities that we want to control. In the second line we have used equation (13) and we have assumed that Q is small. Similarly we write

where in the second line we have retained only terms of linear order in dQ/dt (and therefore in dλ/dt). For higher derivatives we continue to retain only terms linear in Q and its derivatives, so from equation (17) we obtain

For the PID controller and N = 2, combining equations (15) and (20) yields

If we choose , , and a2 = 3/τd, then the solution to equation (21) will be exponentially damped on the timescale τd,

The same exponential damping holds for the PD controller, equation (16), for appropriate choices of the parameters ak. For K = 2 and N = 3, the parameters ak are identical to those in the PID case above.

3.2. Averaging out noise

The PID controller, equation (15), is computed by measuring the control error Q, its time integral, and its time derivative. The PD controller, equation (16), may require multiple derivatives of Q(t) depending on the order K. Generally only Q, and not its derivatives or integrals, is available in the code at any given time step. The simplest way to compute the derivatives of Q is by finite differencing in time, and the simplest way to compute the integral is by a numerical quadrature.

We measure the control error Q at time intervals of length τm, where we choose τm < ti + 1ti. The measuring time interval τm is then used as the time step for finite difference stencils and quadratures.

The measured Q is typically a function of apparent horizon locations or shapes, and this measured Q includes noise caused by the finite resolution of the evolution, and the finite residual and finite number of iterations of the apparent horizon finder. Taking a numerical derivative of Q amplifies the noise, and then this noise is transferred to the control signal via equations (15) or (16), and then to the map. If the noise amplitude is too large, the control system will become unstable. The PID controller generally handles noise better than the PD controller for two reasons. First, each successive numerical derivative amplifies noise even further, so using only one derivative instead of two (or more) results in a more accurate control signal. Second, the inclusion of an integral term acts to further smooth the control signal.

In some cases, however, the noise in Q can be problematic even for the PID controller. In these cases we implement direct averaging of the control error in one of two ways: (1) we perform a polynomial fit of order N to the previous M measurements of the control error, where M > N, or (2) we perform an exponentially-weighted average, with timescale τavg, of all previous control error measurements and their derivatives and integrals. The latter is our preferred method, which we describe in detail in appendix A.

3.3. Dynamic timescale adjustment

In the previous section we have identified four timescales relevant for each control system. The first is the damping timescale τd; this describes how quickly the control error Q(t) falls to zero, and therefore how quickly the map parameter λ(t) approaches its desired value. The second timescale is the control interval Δti := ti + 1ti, which represents how often the Nth derivative of the function λ(t) in equation (11) is updated. The third is the measurement timescale τm, which indicates how often the control error Q is measured. The fourth is the averaging timescale τavg, which is used to smooth the control error Q (and its derivatives and integrals) for use in computing the control signal U(t). These timescales are not all independent; for example we have assumed Δti < τd in deriving equation (21), and we have assumed τm < Δti so that we can obtain smooth measurements of the derivatives of Q.

Because binary black hole evolutions are nonlinear dynamic systems, we adjust the damping timescale, τd, throughout the simulation. We then set the three other timescales, Δti, τm, and τavg, based on the current value of the damping timescale τd, as we now describe.

The timescale τd should be shorter than the timescale on which the physical system changes; otherwise, the control system cannot adjust the map parameters quickly enough to respond to changes in the system. But if the timescale τd is too small, then the measurement timescale τm on which we compute the apparent horizon must also be small, meaning that frequent apparent horizon computations are needed; this is undesirable because computing apparent horizons is computationally expensive. We would like to adjust τd in an automatic way so that it is relatively large during the binary black hole inspiral, decreases during the plunge and merger, and increases again as the remnant black hole rings down. In the canonical language of control theory, we would like to implement 'gain scheduling' [19], tuning the behavior of the control system for different operating regimes.

We do this as follows: for all map parameters (except the ℓ = 0 component of the horizon shape map, which is treated differently; see section 5.3), the damping timescale is a generic function of Q and , i.e., the error in its associated map parameter and its derivative. Whenever we adjust the control signal U(t) at interval ti, we also tune the timescale in the following way:

where typically

Here and are thresholds for the control error Q. The idea is to keep so that the map parameters are close to their desired values, but to also keep because an unnecessarily small |Q| means unnecessarily small timescales and therefore a large computational expense (because the apparent horizon must be found frequently). For binary black hole simulations where the holes have masses MA and MB, we find that the following choices work well:

Once we have adjusted the timescale τd for every control system, we then use these timescales to choose the times ti + 1 in equation (11) at which we update the polynomial coefficients in the map parameter expression λ(t),

where typically αd = 0.3, and the minimum is taken over all map parameters (except for the ℓ = 0 component of the horizon shape map). This ensures that the coefficients , are updated faster than the physical system is changing, and faster than the control system is damping. For αd too large, we find that the control system becomes unstable.

We also use the timescale τd to choose the interval τm at which we measure the control error. For many map parameters, the associated control error is a function of apparent horizon quantities, which is why we desire τm to be as large as possible. But a certain number of measurements are needed for each Δti so that the control signals, defined in equations (15) and (16), are sufficiently accurate and the control system is stable. We choose

where αm is typically between 0.25 and 0.3. In other words, we measure the control error three or four times before we update the control signal. This also ensures that the averaging timescale is greater than the measurement timescale, as we typically choose τavg ∼ 0.25τd.

4. Control systems for maps

In a SpEC evolution, we transform the grid coordinates, xi, into inertial coordinates, , through a series of elementary maps as in [15]. Several maps have been added and many improvements have been made since their original introduction. The full transformation is , where

Below we will describe each of these maps and how we measure the error in their parameters. Before we do this, however, we describe our domain decomposition and how we measure apparent horizons, because information from the grid and the horizons is used to determine the maps.

In the grid coordinates xi, the domain decomposition looks like figure 4. There are two excision boundaries, A and B, which are spheres in grid coordinates. The grid-coordinate centers of these excision boundaries we will call , where H is either A or B. The excision boundaries (and therefore ) remain fixed throughout the evolution. The purpose of many of the maps is to move the mapped centers along with the centers of the apparent horizons.

Figure 4. Refer to the following caption and surrounding text.

Figure 4. Two-dimensional projection of the domain decomposition near the two black holes A and B. Shown are boundaries between subdomains. Each subdomain takes the shape of a spherical shell, a distorted cylindrical shell, or a distorted cylinder. Additional spherical-shell subdomains (not shown) surround the outer boundary of the figure and extend to large radius. This domain decomposition is explained in detail in the appendix of [5]. The red, magenta, and blue surfaces are those for which the function fA(rA, θA, ϕA) from equation (72) has a discontinuous gradient, as described in section 4.5.

Standard image High-resolution image

We measure the apparent horizons in an intermediate frame , which we call the distorted frame. This frame is connected to the grid frame by the map

We will discuss exactly what and are below, but for now we need only demand that has two properties: The first is that it leaves the centers of the excision boundaries invariant, i.e.,

The second property is that at each excision boundary H, leaves angles invariant. That is, if we define grid-frame polar coordinates (rH, θH, ϕH) centered about excised region H in the usual way,

and similarly for polar coordinates centered about in the frame, then the second property means that

on the excision boundary. Note that the index i on spatial coordinates ranges over (0, 1, 2) in this paper.

We find the apparent horizons in the frame by a fast flow method [20]. Each horizon is represented as a smooth surface in this frame, and is parameterized in terms of polar coordinates centered around : the radius of the horizon at each is given by

where again the index H labels which excision boundary is enclosed by the apparent horizon. Here are spherical harmonics and are expansion coefficients that describe the shape of the apparent horizon.

We search for apparent horizons in the distorted frame rather than in the grid frame xi or the inertial frame because this simplifies the formulae for the control systems. In particular, this choice decouples the control errors of the shape map Qm (defined in section 4.5, equation (77)) for different values of (ℓ, m), and it decouples the errors Qm from the control errors of the maps connecting the distorted and inertial frames.

For each surface H, we define the center of the apparent horizon

where the integrals are over the surface. In the code, it suffices to use the following approximation of equation (37), which becomes exact as the surface becomes spherical:

Here we have used the property , equation (31). We distinguish the center of the excision boundary from the center of the corresponding apparent horizon. The former is fixed in time in the grid frame, but the latter will change as the metric quantities evolve. The purpose of several of the maps (namely , , and described below) is to ensure that is driven toward zero; i.e., to ensure that the centers of the excision boundaries track the centers of the apparent horizons.

We now describe each of the maps comprising and how we measure the error in their parameters. The order in which we discuss the maps is not the same as the order in which the maps are composed so that we can discuss the simplest maps first. To produce less cluttered equations in the following descriptions of the maps, we omit accents on variables that represent specific frames (i.e. we just write x instead of or ) whenever the input or output frame of the map is unambiguous or explicitly stated.

4.1. Scaling

The scaling map, , causes the grid to shrink or expand (and the excision boundaries to move respectively closer together or farther apart) in the inertial frame, thereby allowing the grid to follow the two black holes as their separation changes.

This map transforms the radial coordinate with respect to the origin (i.e., the center of the outermost sphere in figure 4), such that the region near the black holes is scaled uniformly by a factor a and the outer boundary is scaled by a factor b,

Here R is the radial coordinate, ROB is the radius at the outer boundary, a is a parameter that will be determined by a control system, and b is another parameter that will be determined empirically.

In [1], the scaling map was simply xia(t)xi, which is recovered by equation (41) if b = a. In that case, as the black holes inspiral together and a decreases, the outer boundary of the grid decreases as well. For long evolutions, the outer boundary decreases so much that we can no longer extract gravitational radiation far from the hole. The addition of b to the map alleviates this difficulty, allowing the motion of the outer boundary to be decoupled from the motion of the holes. We choose b by an explicit functional form

which is designed to keep the outer boundary from shrinking rapidly, but to allow the boundary to move inward at a small speed, so that zero-speed modes are advected off the grid (and thus need no boundary condition imposed on them). We choose a cubic function of time in equation (42) because we have found that at least the first two time derivatives of b(t) must vanish initially, or else a significant ingoing pulse of constraint violations is produced at the outer boundary.

We control the scale factor a of this map using the error function

where

We assume that the separation vector in the grid frame is parallel to the x-axis. The idea is that the distorted-frame separation of the horizon centers along the x-axis is driven to be the same as the separation of the excision boundary centers.

To show that the control system for a obeys equation (13), we consider the change in Qa under variations of a with all other maps held fixed, and with the inertial-coordinate centers of the horizons held fixed4. This means that the distorted-frame centers of the horizons appearing in equation (44) change with variations of a. The second term in equation (41) is small when evaluated near the horizon where (R/ROB)2 ≪ 1, so we can write the action of the scaling map as

and therefore under variations δa,

Taking variations of equation (43), using equation (46) to substitute for , and noting that the excision-boundary centers are constants and do not vary with a, we obtain

so that equation (13) is satisfied.

To verify that the more general decoupling equation, equation (14), is satisfied for the scaling map, we must show, in addition to equation (47), that the quantity dx0 defined in equation (44) is invariant under the action of the other maps, at least in the limit that all the control errors Q are small. We consider each map in turn. The translation map moves both apparent horizons together, so it leaves dx0 invariant. Changes in the rotation map parameters will change dx0 only by an amount proportional to the control errors of the rotation map (see equations (53) and (54) below). The skew map (below) leaves the centers of the excision boundaries invariant. Because the intent of the rotation, translation, and scaling maps is to drive the centers of the apparent horizons toward the centers of the excision boundaries, this means that the skew map changes dx0 by an amount proportional to the control errors of the rotation, translation, and scaling maps. Finally, the shape and CutX maps connect the distorted and grid frames, so they cannot affect dx0.

4.2. Rotation

The rotation map, , is a rigid 3D rotation about the origin that tracks the orbital phase and precession of the system,

The pitch and yaw map parameters (φ, ϑ) are controlled so as to align the line segment connecting the apparent horizon centers with the distorted-frame x-axis. Note that the map parameters (φ, ϑ) are functions of time, and are not to be confused with the polar coordinates (ϕH, θH) centered about each excision boundary. Then the control error is given by

In the case of extreme precession where φ → π/2, these equations are insufficient because Qϑ diverges. Our solution is to use quaternions, which avoid this singularity (for a complete discussion, see [21]).

The control errors Qϑ and Qφ obey equation (14). To show this, consider variations of ϑ and φ with other maps held fixed, and with the inertial-coordinate centers of the horizons held fixed. The rotation map, equation (48), implies that under these variations,

Multiplying this equation by we obtain

which yields

We can now verify equation (14) for the special case where the indices a and b in equation (14) are either ϑ and φ. This result is obtained in a straightforward way by differentiating equations (49) or (50) with respect to ϑ or φ, and substituting equations (53) or (54).

In addition, the control errors Qφ and Qϑ are independent (to leading order in the control errors) of changes in the parameters of the other maps that make up . Variations of equations (49) and (50) with respect to the scaling map parameter a are zero, because both the numerator and denominator of Qφ and Qϑ scale in the same way with a. Similarly, Qφ and Qϑ are independent of the translation map, since both apparent horizons are translated by the same amount. The skew map can change Qφ and Qϑ, but only by an amount proportional to control errors, because the skew map leaves invariant and other maps ensure that are close (within a control error) to . The shape and CutX maps cannot affect Qφ and Qϑ because those maps connect the grid and distorted frames (and therefore they cannot change the distorted-frame horizon centers ).

4.3. Translation

The translation map, , transforms the Cartesian coordinates, xi, according to

where f(R) is a Gaussian centered on the origin with a width set such that f(R) falls off to machine precision at the outer boundary radius, and Ti(t) are translation parameters that are adjusted by a control system.

The translation map moves the grid to account for any drift of the 'center of mass' of the system (as computed assuming point masses at the apparent horizon centers) in the inertial frame. This drift can be caused by momentum exchange between the black holes and the surrounding gravitational field [22, 23], by anisotropic radiation of linear momentum to infinity, or by linear momentum in the initial data. This is the third map (the other two are rotation and scaling) that drives the centers of the apparent horizons toward the centers of the excision boundaries. The apparent horizon centers and represent six degrees of freedom: one is fixed by the scaling map, two by rotation, and three by translation.

The control errors will be more complicated than for the other control systems because translation and rotation do not commute. We define the control errors for each of the translation directions i = 0, 1, 2 as

where is the rotation matrix in equation (48), and is some matrix yet to be determined, which may depend on the rotation parameters (φ, ϑ) and on the constants , but which may not depend on the translation parameters Ti. This control error must have the property that when , so our first restriction on is that it satisfies

To check equation (14), we note that near the black holes we can neglect the last term in equation (41) and we can use f(R) ∼ 1 in equation (55), so that the apparent horizon centers in the inertial and distorted frames are related by

Inserting equation (58) into equation (56), we obtain

The second term in equation (59) is the only term that depends on the translation parameter Ti, so we have

When varying map parameters, the inertial-frame horizon centers remain fixed, so the only other term in equation (59) that depends on map parameters is the last term, which depends on (ϑ, φ) because of the rotation matrices and because of the (ϑ, φ) dependence in . We can therefore write the variation of with respect to (ϑ, φ) as

where W stands for either ϑ or φ, and where in the last line we have used equation (58). To obey equation (14), must either be zero, or on the order of a control error Q. For i = 1, 2, the quantity is proportional to the control error of the rotation map, equations (49) and (50), so these terms can be neglected in equation (62). However, for i = 0, is not proportional to a control error; instead is driven to a constant finite value of by the scaling control system. Therefore, in order to satisfy equation (14), we require

We find that we can satisfy both equations (57) and (63) by choosing

Here we have again assumed that the separation between the centers of the excision boundaries is parallel to the x-axis, i.e., and .

4.4. Skew

In figure 4, a prominent feature of the domain decomposition is a plane (a vertical line in the two-dimensional figure) that is perpendicular to the grid-frame x-axis and lies between the two excision boundaries A and B. We call this plane the 'cutting plane'.

The skew map, , acts on the distorted-frame coordinates, in which the cutting plane is still perpendicular to the x-axis. The skew map leaves the coordinates y, z unchanged, but changes the x-coordinate in order to give a skewed shape to the cutting plane, as shown in figure 5. Let be the intersection point of the line segment connecting the excision boundary centers and the cutting plane. The action of the skew map is defined as

where W is a radial Gaussian function centered around , and the angles Θj(t) are the time-dependent map parameters. For j = 1, 2 the parameter Θj(t) is the angle between the mapped and unmapped xj-axis when projected into the plane. Note that the line intersecting and parallel to the x-axis is left invariant by the skew map5. The width of the Gaussian W is set such that W is below machine precision at the innermost wave extraction sphere. This implies that the spherical-shell subdomains used to evolve the metric in the wave zone will not be affected by the skew map.

Figure 5. Refer to the following caption and surrounding text.

Figure 5. Snapshot of the grid, viewed in the mapped frame, from a binary black hole evolution with MA = 8MB shortly before the common horizon forms. Left: without . Right: with . The gray areas are excised regions. In the left panel, the grid is compressed as the excision boundaries track increasingly skewed apparent horizons, and the evolution is terminated because of excessively large constraint violation in the compressed region. This problem is resolved by the inclusion of .

Standard image High-resolution image

The purpose of the skew map is to (as much as possible) align the cutting plane with the surfaces of the apparent horizons in the region where the surfaces are closest to the cutting plane. We derive the control system in charge of setting the parameters Θj by the following condition: we demand that the angle between the mapped cutting plane and the x-axis at be driven to the (weighted) average of the angles at which the mapped apparent horizons intersect the same x-axis.

The input coordinates to the skew map are the coordinates in the distorted frame. For each horizon, we therefore measure an angle in the distorted frame as follows: let be the distorted-frame x-coordinate at which apparent horizon H intersects the line segment connecting the centers of the excision boundaries. For j = 1, 2, we calculate the normal to the surface at this intersection point. This normal is projected into the plane. We define as the angle between the projected normal and the x-axis. Thus, projecting the normal into the y = const. plane gives and vice versa (see figure 6). We then compute a weighted average of the such that the horizon closer to the cutting plane has a larger effect on the skew angles,

where wA, wB are averaging weights,

Here is the center of the excision boundary H.

Figure 6. Refer to the following caption and surrounding text.

Figure 6. A diagram of the skew map in the mapped frame. The horizon surfaces are drawn in black and the excision surfaces are drawn in red. The dotted red line represents the line segment connecting the excision surface centers, which is parallel to the x-axis. The normal to either horizon at the intersection point with this segment is represented by the straight black lines. The cutting plane is represented by the (skewed) blue curve, and the normal to this plane at is represented by the central green line. The green lines near the two excision surfaces are constructed parallel to the central green line, where parallelism is defined assuming a Euclidean background. There are three angles involved in the skew control system—the angle between the normal to the skewed cutting plane and the x-axis, Θj, and the angle between the normal to either horizon and the normal to the skewed cutting plane, . Skew control acts to minimize . We measure in the unmapped (distorted) frame, but is invariant under the skew map for W ≈ 1.

Standard image High-resolution image

We measure in the distorted frame, and in this frame the cutting plane is always normal to the x-axis. Therefore, thinking about the desired result in the distorted frame, we see that the control system for the skew map should drive to zero. This leads us to consider the following control error for the skew angles: . Assuming that the function W is unity near the apparent horizons, we find that

in agreement with equation (13). In deriving equation (69), it is helpful to observe that the partial derivative in equation (69) is taken with the inertial-frame apparent horizon held fixed. For a fixed inertial-frame horizon, the only map that can change the shape (as opposed to merely the center) of the distorted-frame horizon (and thus ) is the skew map.

We do not use for the entire evolution, however, because at early times, when the coordinate distance between the apparent horizons is larger than their combined radii, the skew map is not needed. Furthermore, the skew map can cause difficulties early during the run, especially during the 'junk radiation' phase when the horizons are oscillating in shape. For this reason, we gradually turn on the skew map as the black holes approach each other. This is done by defining a roll-on function g that is zero when the horizons are far apart, and one when they are close together. This roll-on function is defined as

For values g < 10−3 the skew map is turned off completely; this is not strictly necessary, but it saves some computation. Given the function g, we define the control error as

This control error drives the skew angles to zero when the black holes are far apart and drives to zero as they approach each other.

4.5. Shape control

We define the shape map as:

The index H goes over each of the two excised regions A and B, and the map is applied to the grid-frame coordinates. The polar coordinates (rH, θH, ϕH) centered about excised region H are defined by equations (32)–(34), the quantities YmH, ϕH) are spherical harmonics, and are expansion coefficients that parameterize the map near excision region H. The function fH(rH, θH, ϕH) is chosen to be unity near excision region H and zero near the other excision region, so that the distortion maps for the two black holes are decoupled. Specifically, fH(rH, θH, ϕH) is determined as illustrated in figure 4. For excision region A in the figure, fA(rA, θA, ϕA) = 1 between the excision boundary and the magenta surface, it falls linearly to zero between the magenta and red surfaces, and it is zero everywhere outside the red surface. This means that the gradient of fA(rA, θA, ϕA) is discontinuous on the red surface, the magenta surface, and the blue surfaces in the figure. Because we ensure that these discontinuities occur on subdomain boundaries, they cause no difficulty with using spectral methods. Around excision region B, fB(rB, θB, ϕB) is chosen similarly.

In previous implementations of the shape map [3], the functions fH(rH, θH, ϕH) were chosen to be smooth Gaussians centered around each excision boundary rather than to be piecewise linear functions. We find smooth Gaussians to be inferior for two reasons. The first is that piecewise linear functions are easier and faster to invert (the inverse map is required for interpolation to trial solutions during apparent horizon finding). The second is that for smooth Gaussians, it is necessary to choose the widths of the Gaussians sufficiently narrow so that the Gaussian for excision region A does not overlap the Gaussian for excision region B and vice versa, so that the maps and control systems for A and B remain decoupled. However, decreasing the width of the Gaussians increases the Jacobians of the map, producing coordinates that are stretched and squeezed nonuniformly. We found that this form of 'grid-stretching' significantly increased the computational resources required to resolve the solution to a given level of accuracy. In other words, with smooth Gaussians we were forced to add computational resources just to resolve the large Jacobians.

A map very similar to equation (72) is also described in [4]. The difference compared to this work is the choice of fH(rH, θH, ϕH), which corresponds to a different choice of domain decomposition. The control system used to choose the map parameters in [4] is also different than what is described here.

We control the expansion coefficients of the shape map, equation (72), so that each excision boundary, as measured in the intermediate frame , has the same shape as the corresponding apparent horizon. In other words, we desire

where for brevity we have dropped the index H that labels the excision boundary. Here the angle brackets mean averaging over angles, is the radial coordinate of the apparent horizon defined in equation (36), and is the radial coordinate of the excision boundary, which from equation (72) can be written

Here rEB is the radius of the (spherical) excision boundary in the grid frame. In deriving equation (74) we have used the relations , f(r, θ, ϕ) = 1, , and , which hold on the excision boundary.

Combining equations (36), (73), and (74) yields

which we can satisfy by demanding that

Therefore, given an apparent horizon and given a value of λ00, a control system can be set up for each (ℓ, m) pair with ℓ > 0, and the corresponding control errors are

Driving these Qm to zero produces an excision boundary that matches the shape of the corresponding apparent horizon.

Equation (77) determines λm(t) only for ℓ > 0, and equations (73)–(77) can be satisfied for arbitrary values of the remaining undetermined map coefficient λ00(t). Determination of λ00(t) is complicated enough that it is described in its own section, section 5.

Note that equation (77) does not satisfy equation (14) because , which does not vanish even if all the control errors are zero. For small distortions, this coupling between λ00 and Qm seems to cause little difficulty. However, at times when the shapes and sizes of the horizons change rapidly (e.g., during the initial 'junk radiation' phase, after the transition to a single excised region when a common apparent horizon forms, and after rapid gauge changes), simulations using equation (77) exhibit relatively large and high-frequency oscillations in Qm that usually damp away but occasionally destabilize the evolution. Construction of a control system in which all Qm are fully decoupled will be addressed in a future work.

4.6. CutX

The map applies a translation along the grid-frame x-axis in the vicinity of the black holes, but without moving the excision boundaries (or the surrounding spherical shells) themselves. The action of the map is shown in figure 7.

Figure 7. Refer to the following caption and surrounding text.

Figure 7. Two-dimensional projection of the domain decomposition near the two black holes A and B. The function ρ in is zero on the magenta boundaries, one on the red boundaries, and goes linearly between zero and one in the 'radial' direction between these boundaries. The gradient of ρ is discontinuous across the solid magenta, red, and blue boundaries. Dotted lines show the subdomain boundaries under the action of .

Standard image High-resolution image

The goal of this map is to allow for a slight motion of the cutting plane toward the smaller excision boundary. This is important for binary black hole systems with mass ratio q ≳ 8. As such a binary gets closer to merger, the inertial-frame coordinate distance between each excision boundary and the cutting plane decreases. Eventually, this distance falls to zero for the larger excision boundary, producing a coordinate singularity in which the Jacobian of one of the other maps (often the shape map) becomes infinite. By pushing the cutting plane toward the smaller excision boundary, the map avoids this singularity. Even for evolutions in which the inertial-coordinate distance between the larger excision boundary and the cutting plane remains finite but becomes small, the map prevents large Jacobians from developing and thus increases numerical accuracy (because it is no longer necessary to add computational resources to resolve the large Jacobians).

Figure 8 shows the domain decomposition in the inertial frame for a binary black hole simulation with q = 8. The top panel shows the case without , and the compressed grid near the larger excision boundary is evident. The lower panel shows the case with , which removes the extreme grid compression. Looking at the Jacobian of the mapping from the inertial frame to the grid frame shortly before merger, we find that the infinity norm of the determinant of the Jacobian is twice as large in the case without .

Figure 8. Refer to the following caption and surrounding text.

Figure 8. Snapshot of the grid, viewed in the inertial frame, from a binary black hole evolution with MA = 8MB shortly before the common horizon forms. Top: without . Bottom: with . The gray areas are excised regions. In the top panel, the grid is compressed as the larger excision boundary approaches the cutting plane; this is especially evident in the long narrow subdomains immediately adjacent to the larger excision boundary. Using relieves the grid compression.

Standard image High-resolution image

The map is written as

where F(t) is adjusted by a control system.

We choose ρ(xi) to be zero within either of the spherical shell regions, i.e., inside the magenta spheres around A and B in figure 7, and it is also zero outside the outer magenta sphere in the same figure. We set ρ(xi) = 1 on the solid red boundaries in figure 7, and everywhere between the two solid red boundaries that enclose excision boundary B. Every other region on the grid is bounded by a smooth red boundary on one side and a smooth magenta boundary on the other; in these regions ρ varies linearly between zero and one. The solid blue boundaries are locations (in addition to the solid red and solid magenta boundaries) in which the gradient of ρ is discontinuous. Full details for the calculation of ρ can be found in appendix B.

As with the skew map, the map is inactive for most of the inspiral. Let be the distorted-frame x-coordinate of the intersection of the excision boundary H with the line segment connecting the centers of the excision boundaries. This is similar to defined earlier; the difference is that refers to a point on the apparent horizon and refers to a point on the excision boundary. The quantity is time-dependent because it depends on the shape map.

The map is turned off completely as long as

where are the excision boundary centers, and are the coordinates of the intersection of the cutting plane and the line segment connecting the centers of the excision boundaries, as introduced in section 4.4.

Let t0 be the coordinate time at which the map is activated6. We designate the target position x = xT of the cutting plane as

where

Recall that is time-dependent (as it is measured in the distorted frame), so we save the value of xT as calculated at the time when the map is activated, rather than recalculating xT at every measurement time.

Now that we have a target xT, we could designate as the target value to the function F(t) by setting and have the control system drive QF to zero, thus driving the x-coordinate of the cutting plane to xT. However, because we turn on the CutX control system suddenly at time t0, we must be more careful. Turning on any control system suddenly will produce some transient oscillations, unless the control error and its relevant derivatives and integrals are all initially zero. In the case of the CutX map, which is turned on during a very dynamic part of the simulation when excision boundaries need to be controlled very tightly, these oscillations can prematurely terminate the run by, for example, pushing an excision boundary outside its accompanying apparent horizon.

To turn on gradually, we replace xT by a new time-dependent target function T(t) that gradually approaches xT at late times but produces a control error QF with QF = ∂QF/∂t = 0 at the activation time t = t0. We start by estimating the time at which will reach the cutting plane, where H is either A or B. This is done by the method described in appendix C. We then let tXC be the minimum of and . The smooth target function T(t) is then defined by

Designating as the target for F(t)

leads to

so at the activation time the control system does not produce transients. Furthermore, in the limit of small QF,

i.e., by the time the excision boundary would have touched the cutting plane (and formed a grid singularity), the smooth target function T(t) has approached xT, and the cutting plane will have reached its designated target location, xT. As the run proceeds, the behavior of the cutting plane is determined by the map while the motion of the excision boundaries is determined by gauge dynamics and the behavior of the other control systems. We continue to monitor the distance between the cutting plane and the excision boundaries, and if it is predicted to touch within a time less than τd/0.15, the control system is reset, constructing a new target function T(t; t0, xT, tXC), where t0 is the time of the reset, and xT, tXC are also recalculated based on the state of the grid at this reset time.

Each time a new target function T is constructed, the damping time τd of the control system is set to be tXC/2.

The control systems responsible for and are decoupled, as controls the location of the cutting plane, leaving the excision boundary unchanged, while controls the shape of the excision boundary, leaving the location of the cutting plane unchanged. Recall that and define the mapping from the grid frame to the distorted frame. As the apparent horizons are found in the distorted frame, and the other maps only depend upon measurements of the horizons, and are decoupled from the other maps.

5. Size control

In this section we discuss how we control the spherical part of the map given by equation (72), namely, the coefficients for each excision boundary H. We apply the same method to each excision boundary, so for clarity, in this section we again drop the index H from the coefficients and , and from the coordinates (rH, θH, ϕH).

5.1. Characteristic speed control

Controlling the size of the excision boundary is more complicated than simply keeping the excision boundary inside the apparent horizon. This is because black hole excision requires conditions on the characteristic speeds of the system, and if these conditions are not enforced they are likely to be violated.

The minimum characteristic speed at each excision boundary is given by

where α is the lapse, is the shift, and is the normal to the excision boundary pointing out of the computational domain, i.e., toward the center of the hole. Here are the inertial frame coordinates. The first two terms in equation (87) describe the coordinate speed of the ingoing (i.e., directed opposite to ) light cone in the inertial frame, and the last term accounts for the motion of the excision boundary (which is fixed in the grid frame) with respect to the inertial frame.

In our simulations, we impose no boundary condition whatsoever at each excision boundary. Therefore, well-posedness requires that all of the characteristic speeds, and in particular the minimum speed v, must be non-negative; in other words, characteristics must flow into the hole. In practice, if v becomes negative, the simulation is terminated, because a boundary condition is needed, but we do not have one to impose. This can occur even when the excision boundary is inside the horizon. In this case, one might argue that if the simulation is able to continue without crashing (e.g. by becoming unstable inside the horizon), that the solution outside the horizon would not be contaminated. We have not explored this possibility. Instead, we choose to avoid this situation by terminating the code if negative speeds are detected.

Therefore, we would like to control λ00 in such a way that v remains positive. We start by writing v in a way that separates terms that explicitly depend on from terms that do not. To do this we expand the derivative in the last term of equation (87) as

where a in the first line of equation (88) is a four-dimensional spacetime index, and the last line of equation (88) follows from . Inserting this into equation (87) yields

where is the frame that is obtained from the grid frame by applying the distortion map; see equation (30).

We then use equation (72) to rewrite this as

where we have used the relations f(r, θ, ϕ) = 1 and when evaluating the distortion map on the excision boundary.

By combining all the terms that do not explicitly depend on into a quantity v0, we obtain

Thus, the characteristic speed v can be thought of as consisting of two parts: one part, v0, that depends on the position and shape of the excision boundary and the values of the metric quantities there, and another part that depends on the average speed of the excision boundary in the direction of the boundary normal.

We now construct a control system that drives the characteristic speed v to some target speed vT. This is a control system that controls the derivative quantity , as opposed to directly controlling the map quantity λ00. We choose

where

the minimum is over the excision boundary, and the angle brackets in equation (92) refer to an average over the excision boundary. Note that Ξ < 0 because points radially inward and xi/r points radially outward; this means that , in accordance with our normalization choice for a control system on .

As in our other controlled map parameters, we demand that is a function with a piecewise-constant second derivative. It is then easy to construct λ00 as a function with a piecewise-constant third derivative.

The control system given by equation (92) with a hand-chosen value of vT has been used successfully [24, 25] in simulations of high-spin binaries. Figure 9 illustrates why characteristic speed control is crucial for the success of these simulations.

Figure 9. Refer to the following caption and surrounding text.

Figure 9. Minimum characteristic speed on one of the excision surfaces of an equal mass binary with equal aligned spins of χ = 0.97, shown just before merger [25]. Two cases are shown: one without characteristic speed control (solid) and one that is restarted from the uncontrolled run at t = 6255M with characteristic speed control turned on and vT = 5 × 10−5 (dashed). The uncontrolled run is terminated because of negative characteristic speeds shortly after t = 6290M, but the controlled run continues through merger and ringdown.

Standard image High-resolution image

5.2. Apparent horizon tracking

The characteristic speed control described above has the disadvantage that it requires a user-specified target value vT. If vT is chosen to be too small, then small fluctuations (due to shape control, the horizon finder, or simply numerical truncation error) can cause the characteristic speed to become negative and spoil the simulation.

If vT is chosen to be too large, the simulation can also fail. To understand why, recall that characteristic speed control achieves the target characteristic speed by moving the excision boundary and thus changing the velocity term in equation (87). So if v > vT the control system moves the excision boundary radially inward, and if v < vT the control system moves the excision boundary radially outward. If vT is too large, the control system can push the excision boundary outward until it crosses the apparent horizon. This halts the evolution because the apparent horizon can no longer be found.

One way to prevent the excision boundary from crossing the horizon is to drive the excision boundary to some constant fraction of the horizon radius, or in other words, drive the quantity d/dtr) to zero, where

is the relative difference between the average radius of the apparent horizon (in the intermediate frame) and the average radius of the excision boundary. Using equations (74) and (36), we can write

and therefore a control system that adjusts to achieve d/dtr) = 0 can be obtained by defining

A slight generalization of this control system can be obtained by demanding that , where is some chosen constant,

We have not found the control systems defined by equations (96) and (97) to be especially useful on their own. One drawback of these systems is that they do not prevent the minimum characteristic speed v from becoming negative. Instead, we use the horizon tracking control systems described here as part of a more sophisticated control system discussed in the next section.

5.3. Adaptive switching of size control

Here we introduce a means of controlling λ00 that combines the best features of characteristic speed control and horizon tracking. The idea is to continuously monitor the state of the system and switch between different control systems as the evolution proceeds.

At fixed intervals during the simulation that we call 'measurement times', we monitor the minimum characteristic speed v and the relative distance between the horizon and the excision boundary Δr. The goal of the control system is to ensure that both of these values remain positive.

Consider first the characteristic speed v. Using the method described in appendix C, we determine whether v is in danger of becoming negative in the near future, and if so, we estimate the timescale τv on which this will occur. Similarly, we also determine whether Δr will soon become negative, and if so we estimate a corresponding timescale τΔr. Having estimated both τv and τΔr, we use these quantities to determine how to control . In particular, we switch between horizon tracking, equation (96), and characteristic speed control, equation (92), based on τv and τΔr.

We do this by the following algorithm, which favors horizon tracking over characteristic speed control unless the latter is essential. Assume that the control system for is currently tracking the horizon, equation (96), and that the current damping timescale is some value τd. If v is in danger of crossing zero according to the above estimate, and if τv < τd and τv < τΔr, we then switch to characteristic speed control, equation (92), we set vT = 1.01v where v is the current value of the characteristic speed (the factor 1.01 prevents the algorithm from switching back from characteristic speed control to horizon tracking on the very next time step), and we reset the damping time τd equal to τv. Otherwise we continue to use equation (96), resetting τd = τΔr if τΔr < τd.

Now assume that the control system for is controlling the characteristic speed, equation (92). If v is not in danger of crossing zero, so that we no longer need active control of the characteristic speed, then we switch to horizon tracking, equation (96), without changing the damping time τd. If v is in danger of crossing zero, and if Δr is either in no danger of crossing zero or if it will cross zero sufficiently far in the future such that τΔr ⩾ σ1τd, then we continue to use equation (92) with τd reset to min(τd, τv) so as to maintain control of the characteristic speed. Here σ1 is a constant that we typically choose to be about 20.

The more complicated case occurs when both v and Δr are in danger of crossing zero and τΔr < σ1τd. In this case, we have two possible methods by which we attempt to prevent Δr from becoming negative. We choose between these two methods based on the values of τΔr and τd, and also by the value of a quantity that we call the comoving characteristic speed:

This quantity is the value that the characteristic speed v would have if horizon tracking (equation (96)) were in effect and working perfectly. Equation (98) is derived by assuming Q = 0 in equation (96), solving for , and substituting this value into equation (90). The reason to consider vc is that for min(vc) < 0 (which can happen temporarily during a simulation), horizon tracking is to be avoided, because horizon tracking will drive min(v) toward a negative value, namely min(vc).

The first method of preventing Δr from becoming negative is to switch to horizon tracking, equation (96); we do this if min(vc) > 0 and if τΔr < σ2τd, where σ2 is a constant that we typically choose to be 5. The second method, which we employ if σ2τd < τΔr < σ1τd or if min(vc) < 0, is to continue to use characteristic speed control, equation (92), but to reduce the target characteristic speed vT by multiplying its current value by some fraction η (typically 0.25). By reducing the target speed vT, we reduce the outward speed of the excision boundary, and this increases τΔr. The reason we use the latter method for min(vc) < 0 is that the former method, horizon tracking, will drive v toward vc and we wish to keep v positive. The reason we use the latter method for σ2τd < τΔr < σ1τd is that in this range of timescales the control system is already working hard to keep v positive, therefore a switch to horizon tracking is usually followed by a switch back to characteristic speed control in only a few time steps, and rapid switches between different types of control make it more difficult for the control system to remain locked. The constants η, σ1, and σ2 are adjustable, and although the details of the algorithm (i.e., which particular quantity is controlled at which particular time) are sensitive to the choices of these constants, the overall behavior of the algorithm is not, provided 1 < σ2 < σ1.

The overall behavior of this algorithm is to cause to settle to a state in which both v > 0 and Δr > 0 for a long stretch of the simulation. Occasionally, when either v or Δr threatens to cross zero as a result of evolution of the metric or gauge, the algorithm switches between characteristic speed control and horizon tracking several times and then settles into a new near-equilibrium state in which both v > 0 and Δr > 0.

The actual value of Δr and of v in the near-equilibrium state is unknown a priori, and in particular this algorithm can in principle settle to values of Δr that are either small enough that control system timescales must be very short in order to prevent Δr from becoming negative, or large enough that excessive computational resources are needed to resolve the metric quantities deep inside the horizon. To prevent either of these cases from occurring, we introduce a constant correction velocity , a nominal target value Δrtarget, and a nominal target characteristic speed vtarget. We currently choose these to be , Δrtarget = 0.08, and vtarget = 0.08. These quantities are used only to decide whether to replace equation (96) by equation (97) when the algorithm chooses horizon tracking, as described below; these quantities are not used when the algorithm chooses characteristic speed control.

First we consider the case where Δr is too large during horizon tracking. If Δr > 1.1Δrtarget, then we replace equation (96) with equation (97), and we use . We continue to use until Δr < Δrtarget, at which point we set .

The case where Δr is too small during horizon tracking is more complicated because we want to be careful so as to not make the characteristic speeds decrease, since it is more difficult to recover from decreasing characteristic speeds when Δr is small. In this case, if Δr < 0.9Δrtarget, v < 0.9vtarget, and 〈nkkvc〉 > 0, then we replace equation (96) with equation (97), and we use . Here vc is the comoving characteristic speed defined in equation (98) and the angle brackets refer to an average over the excision boundary. The condition on the gradient of vc ensures that vc will increase if Δr is increased; otherwise a positive will threaten the positivity of the characteristic speeds. We continue to use until either v > 0.9vtarget, Δr > 0.9Δrtarget, 〈nkkvc〉 < 0, or if v will cross vtarget or Δr will cross Δrtarget within a time less than the current damping time τd (where crossing times are determined by the procedure of appendix C). When any of these conditions occur, we switch to , and we prohibit switching back to a positive until either v > 0.99vtarget or Δr > 0.99Δrtarget, or until both v and Δr stop increasing in time. These last conditions prevent the algorithm from oscillating rapidly between positive and zero values of .

6. Merger and ringdown

The maps and control systems in section 4 were discussed in the context of a domain decomposition with two excision boundaries, one inside each apparent horizon. The skew and CutX maps were introduced specifically to handle difficulties that occur when two distorted excision boundaries approach each other. At some point in the evolution as the two black holes become sufficiently close, a common apparent horizon forms around them. After this occurs, the simulation can be simplified considerably by constructing a new domain decomposition with a single excision boundary placed just inside the common horizon. The evolved variables are interpolated from the old to the new domain decomposition, and the simulation then proceeds on the new one.

The algorithm for transitioning to a new grid with a single excision boundary is fundamentally the same as that described in [3, 4], but there have been improvements in the maps and the control systems, so for completeness we describe the procedure here.

At some time t = tm shortly after a common horizon forms, we define a new, post-merger set of grid coordinates and a corresponding new domain decomposition composed only of spherical shells. In coordinates, the new excision boundary is a sphere centered at the origin. We also define a post-merger map , where

Note that the post-merger grid coordinates differ from the pre-merger grid coordinates, but there is only one set of inertial coordinates . Recall that in the dual-frame picture [1], the inertial-frame components of tensors are stored and evolved, so the evolved variables are continuous at t = tm even though the grid coordinates are not.

The post-merger translation map and its control system are the same as discussed in section 4.3, except that translates with respect to the origin of the coordinate system, which is different from the origin of the xi coordinate system. The post-merger translation control system keeps the common apparent horizon centered at the origin in the post-merger grid frame. Note that the center of the common apparent horizon does not necessarily lie on the same line as the centers of the individual apparent horizons (see [23] for an example). This means that is not continuous with the pre-merger translation map , except near the outer boundary where both maps are the identity.

To evolve a distorted single black hole we do not need a rotation map. However, if rotation is turned off suddenly at t = tm, then the outer boundary condition (which is imposed in inertial coordinates) is not smooth in time, and we see a pulse of gauge and constraint violating modes propagate inward from the outer boundary because of this sharp change in the boundary condition. Therefore, we use the same rotation map before and after merger, and we slow down the rotation gradually. To accomplish this, instead of adjusting the map parameters (ϑ, φ) by a control system, for ttm we set these parameters equal to prescribed functions that approach a constant at late times. We set

where the constants A, B, and C are determined by demanding that ϑ(t) and its first two time derivatives are continuous at t = tm. The parameter φ obeys an equation of the same form. We choose τroll = 20M.

The post-merger scaling map is written

where is the post-merger grid-coordinate radius, and is the outer boundary radius in the post-merger grid coordinates. The function b(t) is given by equation (42) before and after merger. We set so that at t = tm, matches at the outer boundary. Note that the post-merger scaling map is the identity near the merged black hole; the only purpose of this map is to keep the inertial-coordinate location of the outer boundary smooth in time at t = tm.

The post-merger shape map and its control system are the same as discussed in sections 4.5 and 5, except the map is centered about the origin of the coordinate system, the sum over excised regions in equation (72) runs over only one region (which we call excision region C), and the function fC(rC, θC, ϕC) appearing in equation (72) is

where rmax is the radius of a (spherical) subdomain boundary that is well inside the wave zone. We typically choose rmax = 32rEB.

Once the post-merger map parameters are initialized, as discussed below, we interpolate all variables from the pre-merger grid to the post-merger grid. The inertial coordinates are the same before and after merger, so this interpolation is easily accomplished using both the pre-merger and post-merger maps, e.g. for some function F. After interpolating all variables onto the post-merger grid, we continue the evolution. This entire process—from detecting a common apparent horizon to continuing the evolution on the new domain—is done automatically.

6.1. Initialization

All that remains for a full specification of is to describe how parameters of the two discontinuous maps and are initialized at t = tm. To do this, we first construct a temporary distorted frame with coordinates , defined by

The coordinates are the same as the post-merger distorted coordinates except that the pre-merger translation map is used in equation (103). We then represent the common apparent horizon (which is already known in coordinates) in coordinates:

The expansion coefficients and the horizon expansion center are computed using the (inertial frame) common horizon surface plus the (time-dependent) map defined in equation (103). Here are polar coordinates centered about , and is a unit vector corresponding to the direction . Equation (104) is the same expansion as equation (36), except here we write the expansion to explicitly include the center . In equation (104) we write and as functions of time because we compute them at several discrete times surrounding the matching time tm. By finite-differencing in time, we then compute first and second time derivatives of and at t = tm.

Once we have and its time derivatives, we initialize , where are the map parameters appearing in equation (72), and the minus sign accounts for the sign difference between the definitions of equations (72) and (104). We do this for all (ℓ, m) except for ℓ = m = 0: we set , thus defining the radius of the common apparent horizon in the post-merger grid frame. For all (ℓ, m) including ℓ = m = 0 we set , and similarly for the second derivatives.

Note that the temporary distorted coordinates are incompatible with the assumptions of our control system, because the center of the excision boundary in these coordinates is time-dependent. We therefore define new post-merger distorted coordinates by

where

If we denote the map parameters in by , the map parameters in by Ti, and if we denote by the matrix , then equations (105) and (106) require

Here we have assumed that f(R) appearing in equation (55) is unity in the vicinity of the horizon, so we can treat the translation map as a rigid translation near the horizon. We initialize Ti and its first two time derivatives at t = tm according to equation (107). Note that the distorted-frame horizon expansion coefficients and hence the initialization of are unchanged by the change in translation map because and differ only by an overall translation, equation (106), which leaves angles invariant.

7. Control systems for efficiency

Although the most important use of control systems in SpEC is to adjust parameters of the mapping between the inertial and grid coordinates, another situation for which control systems are helpful is the approximation of functions that vary slowly in time, are needed frequently during the simulation, but are expensive to compute.

For example, the average radius of the apparent horizon, rAH, is used in the control system for , which is evaluated at every time step. Evaluation at each time step is necessary to allow the control system for to respond rapidly to sudden changes in the characteristic speed or the size of the excision boundary, as may occur after regridding, after mesh refinement changes, or when other control systems (such as size control) are temporarily out of lock.

However, computing the apparent horizon (and thus its average radius rAH) at every time step is prohibitively expensive. To significantly reduce the expense, we define a function with piecewise-constant second derivative, , we define a control error

and we define a control system that drives Q to zero. We then pass instead of rAH to those functions that require the average apparent horizon radius at each time step. The control error Q, and thus the expensive computation of the apparent horizon, needs to be evaluated only infrequently, i.e., on the timescale on which the average horizon radius is changing, which may be tens or hundreds of time steps.

8. Summary

In simulations of binary black holes, we use a set of time-dependent coordinate mappings to connect the asymptotically inertial frame (in which the black holes inspiral about one another, merge, and finally ringdown) to the grid frame in which the excision surfaces are stationary and spherical. The maps are described by parameters that are adjusted by a control system to follow the motion of the black holes, to keep the excision surface just inside the apparent horizons of the holes, and also to prevent grid compression. We take care to decouple the control systems and choose stable control timescales.

The scaling, rotation, and translation maps are used to track the overall motion of the black holes in the inertial frame. These are the most important maps during the inspiral phase of the evolution, as the shapes of the horizons remain fairly constant after the relaxation of the initial data. As the binary approaches merger, the horizon shapes begin to distort, and shape and size control start to become important. Shape and size control are especially crucial for unequal-mass binaries and for black holes with near-extremal spins. In the latter case, the excision surface (which must remain an outflow boundary with respect to the characteristics of the evolution system) needs to be quite close to the horizon.

In order to decouple the shape maps of the individual black holes, our grid is split by a cutting plane at which the shape maps reduce to the identity map. As the black holes merge, a skew map is introduced in order to align the cutting plane with the excision surfaces (see figure 5) and to minimize grid compression between the two black holes.

Finally, the implementation of CutX control was necessary to complete the merger of high mass-ratio configurations. In these systems, the excision boundaries approach the cutting plane asymmetrically as the black holes merge, thus compressing the grid between the cutting plane and the nearest excision boundary. CutX control translates the cutting plane to keep it centered between the two excision boundaries, alleviating this grid compression.

We find that we need all of the maps described in this paper with a sufficiently tight control system in order to robustly simulate a wide range of the parameter space of binary black hole systems [4, 24, 5]. Many of these maps and control systems are also used in our simulations of black hole—neutron star binaries [2628].

Acknowledgments

We would like to thank Harald Pfeiffer for useful discussions. We would like to thank Abdul Mroué for performing simulations that led to the development and improvement of some of the mappings presented in this paper. We gratefully acknowledge support from the Sherman Fairchild Foundation; from NSF grants PHY-0969111 and PHY-1005426 at Cornell, and from NSF grants PHY-1068881 and PHY-1005655 at Caltech. Simulations used in this work were computed with the SpEC code [17]. Computations were performed on the Zwicky cluster at Caltech, which is supported by the Sherman Fairchild Foundation and by NSF award PHY-0960291; on the NSF XSEDE network under grant TG-PHY990007N; and on the GPC supercomputer at the SciNet HPC Consortium [29]. SciNet is funded by: the Canada Foundation for Innovation under the auspices of Compute Canada; the Government of Ontario; Ontario Research Fund–Research Excellence; and the University of Toronto.

Appendix A.: Implementation of exponentially-weighted averaging

Our exponentially-weighted averaging scheme uses an averaging timescale τavg to smooth noisy quantities F that are measured at intervals τm := tktk − 1, where F is the measured value of the control error Q, its integral, or its derivatives. Recall from section 3.3 that we typically choose τavg ∼ 0.25τd and τm ∼ 0.075min (τd).

The averaging is implemented by solving the following system of ordinary differential equations (ODEs):

where the evolved variables are a weight factor W, the average value Favg, and the effective time τ at which Favg is calculated. The ODEs are solved approximately using backward Euler differencing, which results in the recursive equations

where D = 1 + τmavg. The recursion is initialized with W0 = 0, τ0 = t0, and .

In the control law equations, equations (15) and (16), we want to use the averaged value at tk instead of τk. Therefore, to adjust for the offset induced by averaging, δtk = tk − τk, we evaluate at tk an approximate Taylor series for expanded about τk

where n is defined by F := dnQ/dtn (for convenience, F represents the integral of Q when n = −1), and N is the same as in equation (11), where it is defined as the number of derivatives used to represent the map parameter. Note that this approximation matches the true Taylor series inasmuch as W is constant.

For the highest order derivative of Q, where n = N, we can no longer directly adjust for the offset because equation (A.7) reduces to

We would need to take additional derivatives of Q to provide a meaningful correction, but this is exactly what we want to avoid because of the noisiness of derivatives. Therefore, to circumvent taking higher order derivatives, we substitute Favg(tk) into the control law, e.g. equation (21) for PID, and then solve for dNQ/dtN.

Appendix B.: Details on computing the CutX map weight function

As discussed in section 4.6, we use the map to control the location of the cutting plane in the last phase of the merger, as the distance between the excision boundaries and the cutting plane becomes small. The value of the weight function ρ(xi) in equation (78) is zero in the spherical shells describing the wave zone and in the shells around the excision boundaries (see figure B1). The weight function is unity on the cutting plane, and on the 'cut-sphere' surfaces around either excision boundary. For the smaller excision surface, we have two such cut-sphere surfaces, and the value of the weight function is one within the region enclosed by these two cut-spheres and the cutting plane. The weight function transitions linearly from zero to one (from the magenta curves to the red curves in figure B1). In these transitional regions the value of ρ(xi) is computed as described below.

Figure B1. Refer to the following caption and surrounding text.

Figure B1. Schematic diagram indicating the way the weight function is defined. The value of the weight function ρ(xi) is one on the red curves and in the black region enclosed by red curves, it vanishes in the white regions (inside the two inner magenta curves and outside the outer magenta curve) and it changes linearly from zero to one in the gray regions between the red and magenta curves.

Standard image High-resolution image

Consider the region spanning the volume between the spherical shells around the excision boundary H (with H = A, B) and the cutting plane , as shown in figure B2. (This is referred to in the code as the M region.) In order to calculate the value of ρ(xi) in this region, we shoot a ray from in the direction of xi. This ray intersects both the outer spherical boundary of the shells and the cutting plane. The x-coordinate of the intersection with the shells will be

where RH is the outer radius of the spherical region around . Then, for a point xi in the M region ρ is given by

Figure B2. Refer to the following caption and surrounding text.

Figure B2. Schematic diagram illustrating the algorithm used to compute the weight function inside the cut-sphere. The point xi represents an arbitrary point in the M region. RH is the radius of the magenta sphere, and xM is the x0-component of the point on the magenta sphere that intersects the ray pointing from toward xi. The weight function ρ(xi) is zero at the intersection of the ray with the magenta curve, it is unity at the intersection of the ray with the cutting plane, and changes linearly in between. Similarly, for a point in the E region, between the magenta sphere and the spherical part of the red cut-sphere, ρ(xi) changes linearly from zero (at the intersection of the ray with the inner, magenta sphere) to unity (at the intersection with the outer, red cut-sphere.)

Standard image High-resolution image

All other transitional regions are delimited on both ends by spheres. Our computational domain has two zones of this type; one is depicted in figure B2 (labeled as the E region), while the other is seen in figure B3. Let denote the 'center of projection', i.e., the point toward which the unmapped radial grid lines of the given zone converge, and let denote the center of a sphere of radius R (noting that the inner and outer spheres may have different centers). In figure B2 the center of projection coincides with . In figure B3 we choose the center of projection to be on the cutting plane, at its intersection with the line segment connecting the centers of the two excision surfaces, . To compute ρ(xi) in this type of region, we shoot a ray from in the direction of xi. This ray intersects the two spheres that delimit the region. We define r0 to be the distance between and the point of intersection with the (magenta) sphere, for which ρ = 0; similarly, we define r1 to be the distance between and the point of intersection with the (red) sphere, for which ρ = 1. Then, ρ(xi) is given by

where . To compute r0 and r1, we must solve

for the associated intersection point Xi. The parameter is defined as the positive solution of the quadratic system,

where

Figure B3. Refer to the following caption and surrounding text.

Figure B3. Schematic diagram illustrating the algorithm used to compute the weight function in the region between the red cut-sphere and the outer, magenta sphere.

Standard image High-resolution image

The input coordinates to are the coordinates that are obtained from the grid coordinates xi by the shape map, . As seen above, computation of the weight function at any point requires knowledge of the region containing that point, which in turn requires knowledge of its grid-frame coordinates xi. Therefore, to compute the weight function one must first compute . When computing the forward CutX map, this inverse is done only once. However, the situation is more complicated when computing the inverse CutX map, because the grid-frame coordinates depend upon the inverse CutX map itself, which depends on the weight function. This leads to an iterative algorithm where we must call the inverse map function of from each iteration of the inverse map function of . This could easily become an efficiency bottleneck. We mitigate this by keeping inactive for most of the run, only activating it when it becomes crucial in order to avoid a singular map.

Appendix C.: Estimation of zero-crossing times

Several of the control systems described here are designed to ensure that some measured quantity remains positive. For example, in section 5.3, we demand that both the characteristic speed v at the excision boundary and the difference Δr between the horizon radius and the excision boundary radius remain positive. Similarly, in section 4.6 we demand that each excision boundary does not cross the cutting plane.

Part of the algorithm for ensuring that some quantity q remains positive is estimating whether q is in danger of becoming negative in the near future, and if so, estimating the timescale τ on which this will occur. In this appendix we describe a method of obtaining this estimate.

We assume the quantity q is measured at a set of (not necessarily equally-spaced) measurement times, and we remember the values of q at several (typically 4) previous measurement times. At each measurement time t0 we fit these remembered values to a line q(t) = a + b(tt0). The fit gives us not only the slope b and the intercept a, but also error bars for these two quantities δa and δb. Assuming that the true q(t) lies within the error bars, the earliest time at which q will cross zero is t = t0 + ( − a + δa)/(b − δb), and the latest time is t = t0 + ( − a − δa)/(b + δb). If both of these times are finite and in the future, then we regard q as being in danger of crossing zero, and we estimate the timescale on which this will happen as τ = −a/b.

Footnotes

  • We consider inertial-frame quantities to be fundamental and determined by the solution of Einstein's equations plus gauge conditions, and therefore independent (modulo numerical truncation error) of the numerical grid and of the maps that we use to construct, move, and distort that grid.

  • The horizon centers are not invariant under the skew map because they do not necessarily lie on this line. This deviation, which is quantified in equations (38)–(40), leads to a coupling of with the translation, rotation, and scaling maps.

  • Both and are turned on late in the run, but the condition triggering their activation is different, given the different nature of the problems they address. is needed for all runs where the horizons eventually intersect the line segment connecting their excision centers at an angle sufficiently different from π/2. This will happen essentially for all runs except the simplest head-on collisions. , on the other hand, is primarily for unequal-mass runs where the larger excision surface encroaches upon the cutting plane near merger.

10.1088/0264-9381/30/11/115001
undefined