Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include "DataStructures/Tensor/TypeAliases.hpp"
7 : #include "Utilities/Gsl.hpp"
8 :
9 : /// \cond
10 : class DataVector;
11 : namespace Frame {
12 : struct Distorted;
13 : struct Grid;
14 : } // namespace Frame
15 : /// \endcond
16 :
17 : namespace control_system::size {
18 :
19 : /*!
20 : * \brief Computes the derivative of the comoving characteristic speed
21 : * with respect to the size map parameter.
22 : *
23 : * \param result the derivative of the comoving char speed
24 : * \f$d v_c/d\lambda_{00}\f$, which is computed here using
25 : * Eq. (\f$\ref{eq:result}\f$).
26 : * \param lambda_00 the map parameter \f$\lambda_{00}\f$. This is the usual
27 : * spherical harmonic coefficient, not a Spherepack value.
28 : * \param dt_lambda_00 the time derivative of the map parameter
29 : * \param horizon_00 the average coefficient of the horizon \f$\hat{S}_{00}\f$.
30 : * This is the usual spherical harmonic coefficient, not a Spherepack
31 : * value.
32 : * \param dt_horizon_00 the time derivative of horizon_00
33 : * \param grid_frame_excision_sphere_radius radius of the excision boundary
34 : * in the grid frame, \f$r_{\mathrm{EB}}\f$.
35 : * \param excision_rhat the direction cosine \f$\xi_\hat{i}\f$. Not a
36 : * spacetime tensor: it is raised/lowered with \f$\delta_{ij}\f$
37 : * \param excision_normal_one_form the unnormalized one-form
38 : * \f$\hat{s}_\hat{i}\f$
39 : * \param excision_normal_one_form_norm the norm of the one-form \f$a\f$
40 : * \param distorted_components_of_grid_shift the quantity
41 : * \f$\beta^i \frac{\partial x^\hat{i}}{\partial x_i}\f$
42 : * evaluated on the excision boundary. This is not the shift in
43 : * the distorted frame.
44 : * \param inverse_spatial_metric_on_excision_boundary metric in
45 : * the distorted frame.
46 : * \param spatial_christoffel_second_kind the Christoffel symbols
47 : * \f$\Gamma^\hat{k}_{\hat{i}\hat{j}}\f$
48 : * \param deriv_lapse the spatial derivative of the lapse
49 : * \f$\partial_\hat{i} \alpha\f$
50 : * \param deriv_of_distorted_shift the spatial derivative of the shift in the
51 : * distorted frame
52 : * \f$\partial_\hat{j} \hat{\beta}^\hat{i}\f$. This is not the
53 : * derivative of distorted_components_of_grid_shift.
54 : * \param inverse_jacobian_grid_to_distorted the quantity
55 : * \f$J^i_\hat{k}=\partial_\hat{k} x^i\f$,
56 : * where \f$x^i\f$ are the grid frame coordinates and
57 : * \f$x^{\hat k}\f$ are the distorted frame coordinates.
58 : * ## Background
59 : *
60 : * The characteristic speed on the excision boundary is
61 : * \f{align}
62 : * v &= -\alpha + n_i\beta^i
63 : * \f}
64 : * where \f$\alpha\f$ is the lapse (invariant under frame transformations),
65 : * \f$\beta^i\f$ is the grid-frame shift, and \f$n_i\f$ is the metric-normalized
66 : * **outward-pointing** (i.e. pointing out of the black hole,
67 : * toward larger radius)
68 : * normal one-form to the excision boundary in the grid frame.
69 : * (Note that the usual expression for the characteristic speed, as in
70 : * eq. 87 of \cite Hemberger2012jz, has
71 : * a minus sign and defines \f$n_i\f$ as the inward-pointing (i.e. out of the
72 : * computational domain) normal; here
73 : * we have a plus sign and we define \f$n_i\f$ as outward-pointing because
74 : * the outward-pointing normal is passed into comoving_char_speed_derivative.)
75 : *
76 : * The size/shape map at the excision boundary is given by Eq. 72 of
77 : * \cite Hemberger2012jz :
78 : * \f{align}
79 : * \hat{x}^i &= \frac{x^i}{r_{\mathrm{EB}}}
80 : * \left(1 - \lambda_{00} Y_{00}
81 : * -\sum_{\ell>0} Y_{\ell m} \lambda_{\ell m}\right),
82 : * \label{eq:map}
83 : * \f}
84 : * where \f$\hat{x}^i\f$ are the distorted-frame coordinates and \f$x^i\f$
85 : * are the grid-frame coordinates, and where we have separated the \f$\ell=0\f$
86 : * piece from the sum.
87 : * Here \f$Y_{\ell m}\f$ are
88 : * spherical harmonics, \f$\lambda_{\ell m}\f$ are
89 : * the map parameters, and \f$r_{\mathrm{EB}}\f$ is the radius of the
90 : * excision boundary in the
91 : * grid frame (where the excision boundary is a sphere). The final term with
92 : * the sum over $\ell>0$ is independent of \f$\lambda_{00}\f$,
93 : * and will not be important
94 : * because below we will be differentiating the map with respect
95 : * to \f$\lambda_{00}\f$.
96 : *
97 : * The comoving characteristic speed is given by rewriting Eq. 98
98 : * of \cite Hemberger2012jz in terms of the distorted-frame shift:
99 : * \f{align}
100 : * v_c &= -\alpha +\hat{n}_\hat{i}\hat{\beta}^\hat{i}
101 : * - Y_{00} \hat{n}_{\hat i} \xi^{\hat i}
102 : * \left[ \dot{\hat{S}}_{00} (\lambda_{00}
103 : * - r_{\mathrm{EB}}/Y_{00}) / \hat{S}_{00}
104 : * + \frac{1}{Y_{00}} \sum_{\ell>0} Y_{\ell m} \dot{\lambda}_{\ell m}
105 : * \right], \\
106 : * &= -\alpha +\hat{n}_\hat{i}\beta^\hat{i}
107 : * - Y_{00} \hat{n}_{\hat i} \xi^{\hat i}
108 : * \left[ \dot{\hat{S}}_{00} (\lambda_{00}
109 : * - r_{\mathrm{EB}}/Y_{00}) / \hat{S}_{00}
110 : * -\dot{\lambda}_{00} \right], \label{eq:comovingspeed}
111 : * \f}
112 : * where in the last line we have rewritten $\hat{\beta}^\hat{i}$
113 : * in terms of $\beta^\hat{i}$ (see Eq. (\f$\ref{eq:framecompsshiftdef}\f$)
114 : * below) and we have substituted
115 : * the time derivative of Eq. (\f$\ref{eq:map}\f$).
116 : * Here \f$\dot{\lambda}_{00}\f$ is the time derivative of
117 : * \f$\lambda_{00}\f$, and
118 : * \f$\hat{S}_{00}\f$ is the constant spherical-harmonic coefficient of the
119 : * horizon and \f$\dot{\hat{S}}_{00}\f$ is its time derivative.
120 : * The symbol \f$\xi^{\hat i}\f$ is
121 : * a direction cosine, i.e. \f$x^i/r_{\mathrm{EB}}\f$ evaluated on the
122 : * excision boundary, which is the same as
123 : * \f$\hat{x}^i/\hat{r}_{\mathrm{EB}}\f$ evaluated on the excision boundary
124 : * because the size and shape maps preserve angles. Note that
125 : * \f$r_{\mathrm{EB}}\f$ is a constant but \f$\hat{r}_{\mathrm{EB}}\f$ is
126 : * a function of angles. Note also
127 : * that \f$\xi^{\hat i}\f$ is **not** a vector; it
128 : * is a coordinate quantity. In particular,
129 : * the lower-index \f$\xi_{\hat i}\f$ is \f$\delta_{ij}x^j/r_{\mathrm{EB}}\f$.
130 : * The non-vectorness of \f$\xi^{\hat i}\f$ (and of \f$x^i\f$ itself
131 : * in Eq. (\f$\ref{eq:map}\f$)) might cause some confusion when using the
132 : * Einstein summation convention; we attempt to alleviate that confusion by
133 : * never using the lower-index \f$\xi_{\hat i}\f$ and by keeping
134 : * \f$\delta_{ij}\f$ in formulas below.
135 : * The normal
136 : * \f$\hat{n}_\hat{i}\f$ is the same as $n_i$
137 : * transformed into the distorted frame, that is
138 : * \f$\hat{n}_\hat{i} = n_j \partial x^j/\partial\hat{x}^\hat{i}\f$.
139 : * We have put a hat on \f$\hat{n}\f$ in addition to putting a hat on
140 : * its index
141 : * (despite the usual convention that tensors have
142 : * decorations on indices and not on the tensors themselves)
143 : * to reduce later ambiguities
144 : * in notation that arise because
145 : * Eq. (\f$\ref{eq:map}\f$) has the same index on both sides of the equation
146 : * and because \f$\xi^{\hat i}\f$ and \f$x^i\f$ are not tensors.
147 : * The quantity \f$\beta^\hat{i}\f$ in Eq. (\f$\ref{eq:comovingspeed}\f$)
148 : * is the distorted-frame
149 : * component of the grid-frame shift, defined by
150 : * \f{align}
151 : * \beta^\hat{i} &= \beta^i \frac{\partial \hat{x}^\hat{i}}{\partial x^i}.
152 : * \label{eq:shiftyquantity}
153 : * \f}
154 : * This is **not** the shift in the distorted frame \f$\hat{\beta}^\hat{i}\f$,
155 : * because the shift does
156 : * not transform like a spatial tensor under the maps.
157 : *
158 : * If the comoving characteristic speed \f$v_c\f$ is negative and remains
159 : * negative forever, then size control will fail. Therefore \f$v_c\f$ is
160 : * used in making decisions in size control. We care about
161 : * \f$d v_c/d\lambda_{00}\f$ because the sign of that quantity tells us
162 : * whether \f$v_c\f$ will increase or decrease when we increase or decrease
163 : * the map parameter \f$\lambda_{00}\f$; this information will be used to
164 : * decide whether to transition between different size control states.
165 : *
166 : * ## Derivation of derivative of comoving characteristic speed
167 : *
168 : * This function computes
169 : * \f$d v_c/d\lambda_{00}\f$ on the excision boundary, where the total
170 : * derivative means that all other map parameters
171 : * (like \f$\lambda_{\ell m}\f$ for \f$\ell>0\f$) are held fixed, and the
172 : * coordinates of the excision boundary (the grid coordinates) are held fixed.
173 : * We also hold fixed \f$\dot{\lambda}_{00}\f$ because we are interested
174 : * in how $v_c$ changes from a configuration with a given
175 : * \f$\lambda_{00}\f$ and \f$\dot{\lambda}_{00}\sim 0\f$ to another
176 : * configuration with a different nearby \f$\lambda_{00}\f$ and also with
177 : * \f$\dot{\lambda}_{00}\sim 0\f$.
178 : *
179 : * Here we derive an expression for \f$d v_c/d\lambda_{00}\f$.
180 : * This expression will be
181 : * complicated, mostly because of the normals \f$\hat{n}_\hat{i}\f$ that appear
182 : * in Eq. (\f$\ref{eq:comovingspeed}\f$) and because of the Jacobians.
183 : *
184 : * ### Derivative of the Jacobian
185 : *
186 : * First, note that by differentiating Eq. (\f$\ref{eq:map}\f$) we obtain
187 : * \f{align}
188 : * \frac{d\hat{x}^i}{d\lambda_{00}}
189 : * &= - \frac{x^i Y_{00}}{r_{\mathrm{EB}}} \\
190 : * &= -\xi^i Y_{00},
191 : * \f}
192 : * where the last line follows from the definition of the direction cosines.
193 : *
194 : * The Jacobian of the map is
195 : * \f{align}
196 : * \frac{\partial \hat{x}^i}{\partial x^j}
197 : * &= (1 - \lambda_{00} Y_{00}/r_{\mathrm{EB}} + B) \delta^i_j
198 : * + x^i \frac{\partial B}{\partial x^j},
199 : * \f}
200 : * where \f$B\f$ represents the term with the sum over \f$\ell>0\f$
201 : * in Eq. (\f$\ref{eq:map}\f$); this term is independent
202 : * of \f$\lambda_{00}\f$.
203 : * Therefore, we have
204 : * \f{align}
205 : * \frac{d}{d\lambda_{00}}\frac{\partial \hat{x}^i}{\partial x^j} &=
206 : * -\frac{Y_{00}}{r_{\mathrm{EB}}} \delta^i_j.
207 : * \label{eq:derivjacobian}
208 : * \f}
209 : *
210 : * But we want the derivative of the inverse Jacobian, not the forward
211 : * Jacobian. By taking the derivative of the identity
212 : * \f{align}
213 : * \frac{\partial \hat{x}^\hat{i}}{\partial x^k}
214 : * \frac{\partial x^k}{\partial \hat{x}^\hat{j}} &= \delta^\hat{i}_\hat{j}
215 : * \f}
216 : * and by using Eq. (\f$\ref{eq:derivjacobian}\f$) we can derive
217 : * \f{align}
218 : * \frac{d}{d\lambda_{00}}\frac{\partial x^i}{\partial \hat{x}^j} &=
219 : * +\frac{Y_{00}}{r_{\mathrm{EB}}}
220 : * \frac{\partial x^i}{\partial \hat{x}^k}
221 : * \frac{\partial x^k}{\partial \hat{x}^j}.
222 : * \label{eq:strangederivjacobian}
223 : * \f}
224 : * Note that the right-hand side of Eq. (\f$\ref{eq:strangederivjacobian}\f$)
225 : * has two inverse Jacobians contracted with each other, which is not
226 : * the same as \f$\delta^i_j\f$.
227 : *
228 : * ### Derivative of a function of space
229 : *
230 : * Assume we have an arbitrary function of space \f$f(\hat{x}^i)\f$.
231 : * Here we treat \f$f\f$ as a function of the distorted-frame
232 : * coordinates \f$\hat{x}^i\f$ and not a function of the grid-frame
233 : * coordinates. This is because we consider the metric functions to be defined
234 : * in the inertial frame (and equivalently for our purposes the functions are
235 : * defined in the distorted frame because the distorted-to-inertial map
236 : * is independent of \f$\lambda_{00}\f$), and we consider \f$\lambda_{00}\f$
237 : * a parameter in a map that moves the grid with respect to these
238 : * distorted-frame metric functions.
239 : * The derivative of \f$f\f$ can be written
240 : * \f{align}
241 : * \frac{d}{d\lambda_{00}}f &= \frac{\partial f}{\partial \hat{x}^i}
242 : * \frac{d \hat{x}^i}{d\lambda_{00}}\\
243 : * &= -\xi^\hat{i} Y_{00} \frac{\partial f}{\partial \hat{x}^i}.
244 : * \label{eq:derivf}
245 : * \f}
246 : * This is how we will evaluate derivatives of metric functions like
247 : * the lapse.
248 : *
249 : * ### Derivative of the distorted-frame components of the grid-frame shift.
250 : *
251 : * To differentiate the quantity defined by Eq. (\f$\ref{eq:shiftyquantity}\f$)
252 : * note that
253 : * \f{align}
254 : * \beta^\hat{i} &=
255 : * \beta^i \frac{\partial \hat{x}^\hat{i}}{\partial x^i} \\
256 : * &= \hat{\beta}^\hat{i} + \frac{\partial \hat{x}^\hat{i}}{\partial t},
257 : * \label{eq:framecompsshiftdef}
258 : * \f}
259 : * where \f$\hat{\beta}^\hat{i} \equiv \alpha^2 g^{\hat{0}\hat{i}}\f$ is
260 : * the shift in the distorted frame.
261 : * From the map, Eq. (\f$\ref{eq:map}\f$), we see that
262 : * \f{align}
263 : * \frac{d}{d\lambda_{00}} \frac{\partial \hat{x}^\hat{i}}{\partial t} &=0,
264 : * \f}
265 : * because there is no remaining \f$\lambda_{00}\f$ in
266 : * \f$\frac{\partial \hat{x}^\hat{i}}{\partial t}\f$.
267 : * So
268 : * \f{align}
269 : * \frac{d}{d\lambda_{00}}\beta^\hat{i} &=
270 : * \frac{d}{d\lambda_{00}} \hat{\beta}^\hat{i} \\
271 : * &= -\xi^\hat{j} Y_{00} \partial_\hat{j} \hat{\beta}^\hat{i},
272 : * \f}
273 : * where we have used Eq. (\f$\ref{eq:derivf}\f$) in the last line.
274 : * Note that we cannot use Eq. (\f$\ref{eq:derivf}\f$) on
275 : * \f$\beta^\hat{i}\f$ directly,
276 : * because \f$\beta^\hat{i}\f$ depends in a complicated
277 : * way on the grid-to-distorted map. In particular, we will be evaluating
278 : * \f$\partial_\hat{j} \hat{\beta}^\hat{i}\f$ numerically, and numerical
279 : * spatial derivatives \f$\partial_\hat{j} \hat{\beta}^\hat{i}\f$ are not
280 : * the same as numerical spatial derivatives
281 : * \f$\partial_\hat{j} \beta^\hat{i}\f$.
282 : *
283 : * ### Derivative of the normal one-form
284 : *
285 : * The normal to the surface is the most complicated expression in
286 : * Eq. (\f$\ref{eq:comovingspeed}\f$), because of how it depends on the
287 : * map and on the metric.
288 : * The grid-frame un-normalized outward-pointing one-form
289 : * to the excision boundary is
290 : * \f{align}
291 : * s_i &= \xi^j \delta_{ij},
292 : * \f}
293 : * because the excision boundary is a sphere of fixed radius in the
294 : * grid frame. Therefore
295 : * \f$s_i\f$ doesn't depend on \f$\lambda_{00}\f$.
296 : *
297 : * The normalized one-form \f$\hat{n}_\hat{i}\f$ is given by
298 : * \f{align}
299 : * \hat{n}_\hat{i} &= \frac{\hat{s}_{\hat i}}{a},
300 : * \f}
301 : * where
302 : * \f{align}
303 : * \hat{s}_{\hat i} &= s_i \frac{\partial x^i}{\partial \hat{x}^{\hat i}},\\
304 : * a^2 &= \hat{s}_{\hat i} \hat{s}_{\hat j} \gamma^{\hat{i} \hat{j}}.
305 : * \f}
306 : * Here \f$\gamma^{\hat{i} \hat{j}}\f$ is the inverse 3-metric in the
307 : * distorted frame. Again, to avoid ambiguity later,
308 : * we have put hats on \f$n\f$ and \f$s\f$, despite
309 : * the usual convention that when transforming tensors one puts
310 : * hats on the indices and not on the tensors.
311 : *
312 : * Now
313 : * \f{align}
314 : * \frac{d}{d\lambda_{00}} \hat{s}_{\hat i} &=
315 : * \frac{Y_{00}}{r_{\mathrm{EB}}}
316 : * \hat{s}_k\frac{\partial x^k}{\partial \hat{x}^\hat{i}}, \\
317 : * \frac{d}{d\lambda_{00}} a^2 &= 2 \frac{Y_{00}}{r_{\mathrm{EB}}}
318 : * \hat{s}_k\frac{\partial x^k}{\partial \hat{x}^\hat{i}}
319 : * \hat{s}_{\hat j} \gamma^{\hat{i} \hat{j}}
320 : * + \hat{s}_{\hat i} \hat{s}_{\hat j}
321 : * \gamma^{\hat{i} \hat{k}} \gamma^{\hat{j} \hat{l}}
322 : * \xi^\hat{m} Y_{00} \partial_{\hat m} \gamma_{\hat{k} \hat{l}}.
323 : * \f}
324 : * Here we have used Eq. (\f$\ref{eq:strangederivjacobian}\f$) to differentiate
325 : * the Jacobian, and Eq. (\f$\ref{eq:derivf}\f$) to differentiate the 3-metric.
326 : * We have also refrained from raising and lowering indices
327 : * on \f$\hat{n}_\hat{i}\f$, \f$\hat{s}_\hat{i}\f$, and \f$\xi^\hat{i}\f$
328 : * to alleviate potential confusion over whether to raise or lower using
329 : * \f$\gamma_{\hat{i} \hat{j}}\f$ or using \f$\delta_{\hat{i}\hat{j}}\f$.
330 : * The factor \f$\hat{s}_k \partial x^k/\partial \hat{x}^\hat{i}\f$
331 : * is unusal and is not a tensor
332 : * (\f$\hat{s}_k\f$ is a tensor but the Jacobian it is being multiplied by
333 : * is the inverse of the one that would transform it into a different frame);
334 : * this factor arises because some quantities being differentiated are
335 : * not tensors.
336 : *
337 : * Given the above, the derivative of the normalized normal one-form is
338 : * \f{align}
339 : * \frac{d}{d\lambda_{00}} \hat{n}_{\hat i} &=
340 : * \frac{1}{a}\frac{d}{d\lambda_{00}} \hat{s}_{\hat i}
341 : * - \hat{s}_{\hat i} \frac{1}{2a^3}
342 : * \frac{d}{d\lambda_{00}} a^2\\
343 : * &=
344 : * \hat{s}_i\frac{Y_{00}}{a r_{\mathrm{EB}}}
345 : * \frac{\partial x^i}{\partial \hat{x}^\hat{i}}
346 : * - \hat{s}_{\hat i} \frac{1}{a^3} \hat{s}_i\frac{Y_{00}}{r_{\mathrm{EB}}}
347 : * \frac{\partial x^i}{\partial \hat{x}^\hat{k}}
348 : * \hat{s}_{\hat j} \gamma^{\hat{k} \hat{j}}
349 : * - \hat{s}_{\hat i} \frac{Y_{00}}{2a^3} \hat{s}_{\hat p}
350 : * \hat{s}_{\hat j} \gamma^{\hat{p} \hat{k}}
351 : * \gamma^{\hat{j} \hat{l}}
352 : * \xi^\hat{m} \partial_{\hat m} \gamma_{\hat{k} \hat{l}} \\
353 : * &=
354 : * \hat{n}_i
355 : * \frac{\partial x^i}{\partial \hat{x}^\hat{k}}
356 : * \frac{Y_{00}}{r_{\mathrm{EB}}}
357 : * (\delta^\hat{k}_\hat{i} - \hat{n}^\hat{k} \hat{n}_\hat{i})
358 : * - \hat{s}_{\hat i} \frac{Y_{00}}{2a^3} \hat{s}_{\hat p}
359 : * \hat{s}_{\hat j} \gamma^{\hat{p} \hat{k}}
360 : * \gamma^{\hat{j} \hat{l}}
361 : * \xi^\hat{m} \partial_{\hat m} \gamma_{\hat{k} \hat{l}}
362 : * \label{eq:dnormal} \\
363 : * &=
364 : * \hat{n}_i
365 : * \frac{\partial x^i}{\partial \hat{x}^\hat{k}}
366 : * \frac{Y_{00}}{r_{\mathrm{EB}}}
367 : * (\delta^\hat{k}_\hat{i} - \hat{n}^\hat{k} \hat{n}_\hat{i})
368 : * - Y_{00} \hat{n}_{\hat i} \hat{n}_{\hat p}
369 : * \hat{n}_{\hat j} \gamma^{\hat{p} \hat{k}}
370 : * \xi^\hat{m} \Gamma^\hat{j}_{\hat{k} \hat{m}}
371 : * \label{eq:dnormalgamma},
372 : * \f}
373 : * where we have eliminated \f$\hat{s}_{\hat i}\f$ and \f$a\f$ in favor
374 : * of \f$\hat{n}_{\hat i}\f$
375 : * and we have substituted 3-Christoffel symbols for
376 : * spatial derivatives of the 3-metric (and the factor of 2 on the penultimate
377 : * line has been absorbed into the 3-Christoffel symbol on the last line).
378 : * Note that the last term in Eq.
379 : * (\f$\ref{eq:dnormalgamma}\f$) could also be derived by differentiating
380 : * \f$\hat{n}_\hat{i}\hat{n}_\hat{j}\gamma^{\hat{i}\hat{j}}=1\f$.
381 : * The first term in Eq. (\f$\ref{eq:dnormalgamma}\f$) is strange because
382 : * the inverse Jacobian (as opposed to the forward Jacobian) is contracted
383 : * with \f$\hat{n}_i\f$, so that is not a tensor transformation.
384 : *
385 : * We can now differentiate Eq. (\f$\ref{eq:comovingspeed}\f$) to obtain
386 : * \f{align}
387 : * \frac{d}{d\lambda_{00}} v_c &=
388 : * \xi^\hat{i} Y_{00} \partial_\hat{i} \alpha
389 : * +\left[ \beta^\hat{i}
390 : * - Y_{00} \xi^\hat{i} \dot{\hat{S}}_{00} (\lambda_{00}
391 : * - r_{\mathrm{EB}}/Y_{00}) / \hat{S}_{00}
392 : * + Y_{00} \xi^\hat{i}\dot{\lambda}_{00} \right]
393 : * \frac{d}{d\lambda_{00}} \hat{n}_{\hat i} \nonumber \\
394 : * &- \hat{n}_{\hat i} \xi^\hat{j} Y_{00} \partial_\hat{j} \hat{\beta}^\hat{i}
395 : * - Y_{00} \hat{n}_{\hat i} \xi^{\hat i} \dot{\hat{S}}_{00}/\hat{S}_{00},
396 : * \label{eq:result}
397 : * \f}
398 : * where \f$\frac{d}{d\lambda_{00}} \hat{n}_{\hat i}\f$ is given by
399 : * Eq. (\f$\ref{eq:dnormalgamma}\f$).
400 : */
401 1 : void comoving_char_speed_derivative(
402 : gsl::not_null<Scalar<DataVector>*> result, double lambda_00,
403 : double dt_lambda_00, double horizon_00, double dt_horizon_00,
404 : double grid_frame_excision_sphere_radius,
405 : const tnsr::i<DataVector, 3, Frame::Distorted>& excision_rhat,
406 : const tnsr::i<DataVector, 3, Frame::Distorted>& excision_normal_one_form,
407 : const Scalar<DataVector>& excision_normal_one_form_norm,
408 : const tnsr::I<DataVector, 3, Frame::Distorted>&
409 : distorted_components_of_grid_shift,
410 : const tnsr::II<DataVector, 3, Frame::Distorted>&
411 : inverse_spatial_metric_on_excision_boundary,
412 : const tnsr::Ijj<DataVector, 3, Frame::Distorted>&
413 : spatial_christoffel_second_kind,
414 : const tnsr::i<DataVector, 3, Frame::Distorted>& deriv_lapse,
415 : const tnsr::iJ<DataVector, 3, Frame::Distorted>& deriv_of_distorted_shift,
416 : const InverseJacobian<DataVector, 3, Frame::Grid, Frame::Distorted>&
417 : inverse_jacobian_grid_to_distorted);
418 : } // namespace control_system::size
|