1:
2:
3:
4: \chapter{Equations for numerical simulations}\label{chap:G2}
5:
6:
7: In the remaining two chapters,
8: we show
9: a variety of numerical simulations to support our analysis in
10: Chapter~\ref{chap:past}, and to explore new phenomena.
11:
12: For simplicity we restrict our considerations to perfect fluid models with
13: one tilt degree of freedom:
14: \be
15: v_2=v_3=0,
16: \label{one_tilt}
17: \ee
18: although for some experiments we shall use vacuum models.
19: In doing so, the shear spatial gauge (\ref{G2_spatial_gauge}) simplifies
20: to
21: \be
22: \label{common_gauge}
23: \Sigma_{3}=0,\quad
24: \Np = \sqrt{3}\Nm,\quad
25: R = -\sqrt{3} \Sc\ .
26: \ee
27:
28: As discussed in Section~\ref{sec:SH_var} in the context of SH dynamics,
29: the stability of the constraints is of great concern when doing numerical
30: simulations.
31: The concern is even greater for simulations of PDEs, which are less
32: accurate than simulations of ODEs.
33: Numerical experiments of $G_2$ cosmologies show that the Gauss constraint
34: (\ref{C_G}) is the most unstable one during the transient regime, and the
35: resulting error is unacceptably large.
36: We remedy this problem by using (\ref{C_G}) to determine $\Sp$.
37: The decision to use the $(\mathcal{C}_{\rm C})_1$ constraint to determine
38: $r$ (see (\ref{r})) also turns out to be equally important.
39: The remaining $(\mathcal{C}_{\rm C})_3$ and
40: $(\mathcal{C}_\beta)$ constraints yield small, acceptable errors during
41: the transient regime, and are stable in the asymptotic regimes.
42: Ideally, the errors should be minimized, and the difficulties in doing so
43: are discussed in Section~\ref{sec:unsatisfactory_aspects}.
44:
45:
46:
47: With the restrictions (\ref{one_tilt})--(\ref{common_gauge}) and solving
48: $(\mathcal{C}_G)=0$ for $\Sp$,
49: the state vector (\ref{state_vector}) reduces to
50: the following for numerical purposes:
51: \be
52: \X =(\EEE,A,\Sigma_-,\Nc,\Sigma_\times,\Nm,\Sigma_2,
53: \Omega,v_1,\Omega_\Lambda),
54: \ee
55: together with the parameter $\gamma$, and we drop the index on $v_1$.
56: The full system of 10 evolution equations and 2 constraint equations is
57: given in Appendix~\ref{appG2}.
58: We write the system of evolution equations
59: (\ref{be_numeq})--(\ref{ee_numeq})
60: symbolically as
61: \begin{gather}
62: \dt \X + M(\X) \partial_x \X = g(\X).
63: \label{symbolic_eqs}
64: \end{gather}
65:
66:
67: Boundary conditions are required for simulations of PDEs.
68: We shall prescribe \emph{periodic boundary condition}, i.e. the numerical
69: solutions are required to satisfy
70: \be
71: \X(t,0)=\X(t,2\pi)\quad\text{for all $t$.}
72: \label{BC}
73: \ee
74: It is customary to do so for numerical simulations of $G_2$ cosmologies.
75:
76: By identifying $x=2\pi$ with $x=0$, we have used up some but not all of
77: the freedom in the choice of $x$-coordinate.
78: A change of $x$-coordinate that satisfies (\ref{f_condition}) preserves
79: this identification.
80: We want to use all the freedom in the choice of $x$ when specifying
81: the initial conditions.
82: Making $\EEE=const.$ in the initial conditions achieves this, and also
83: makes the simulations more efficient.
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96: \section{Specifying the initial conditions}\label{sec:IC}
97:
98: To perform a numerical simulation, we must first specify initial
99: conditions
100: that satisfy the boundary condition
101: (\ref{BC}) and the remaining constraints $(\mathcal{C}_{\rm C})_3$ and
102: $(\mathcal{C}_\beta)$:
103: \begin{align}
104: \label{eqs_CC3}
105: 0 &= (\mathcal{C}_{\rm C})_3 = \EEE \ptl_x \St
106: -(r+3A-\sqrt{3}\Nc)\St
107: \\
108: \label{eqs_C_beta}
109: 0 &= (\mathcal{C}_\beta) =
110: (\EEE \ptl_x - 2r)\Oml\ .
111: \end{align}
112:
113:
114:
115: A good way to specify the initial conditions is the following.
116: We first specify the following eight variables:
117: \be
118: \label{init}
119: (\EEE,\ r,\ A,\ \Sm,\ \Nc,\ \Sc,\ \Nm,\ \Omega)\
120: \ee
121: on the interval $x \in [ 0,2\pi]$, and the parameter $\gamma$.
122: \footnote{Although during the simulation we use (\ref{r}) to calculate
123: $r$ in terms of the state variables $\X$, when
124: specifying the initial conditions it is more convenient to specify $r$ and
125: use (\ref{r}) to calculate $Q$ and hence $v$.}
126: Because we are using the periodic boundary condition (\ref{BC}), the
127: initial data must be $2\pi$-periodic.
128: Then we calculate successively the following four variables
129: \be
130: (\Oml,\ \St,\ \Sp,\ Q),
131: \ee
132: where
133: \be
134: \label{Q_v}
135: Q=\frac{\gamma v}{G_+} \Omega\ ,\quad
136: G_+ = 1 + (\gamma-1) v^2\ ,
137: \ee
138: from the constraints (\ref{eqs_C_beta}), (\ref{eqs_CC3}), (\ref{C_G}) and
139: (\ref{r}) respectively:
140: \begin{align}
141: \label{define_Oml}
142: \Oml &= (\Oml)_0 \exp \left( \int_0^x \frac{2r}{\EEE}\, dx \right)
143: \\
144: \label{St_init}
145: \St &= (\St)_0
146: \exp \left( \int_0^x \frac{r+3A-\sqrt{3}\Nc}{\EEE} \,dx \right)
147: \\
148: \Sp &= \tfrac{1}{2}
149: \big[ 1-\Sm^2-\Sc^2-\St^2 -\Om_k-\Omega-\Oml \big]
150: \label{define_Sp_init}
151: \\
152: Q &= \tfrac{2}{3}\big[ -3A\Sp-3\Nc\Sm+3\Nm\Sc-r \big]\ ,
153: \label{define_Q}
154: \end{align}
155: where $(\Oml)_0$ and
156: $(\St)_0$ are freely specifiable positive constants, and
157: \be
158: \Om_k =
159: \Nm^2 + \Nc^2 - \tfrac{2}{3} (\EEE \ptl_x -r)A + A^2\ .
160: \ee
161: We often specify initial conditions which are so simple that $\Oml$ and
162: $\St$ can be computed by hand.
163: We must make sure that (\ref{define_Oml}) and (\ref{St_init}) yield
164: $2\pi$-periodic $\Oml$ and
165: $\St$, i.e. we must ensure that (\ref{init}) satisfies
166: \footnote{If $\Lambda=0$, then $r$ does not have to satisfy
167: (\ref{periodic1}). Likewise if $\St=0$, then $r+3A-\sqrt{3}\Nc$ does not
168: have to satisfy (\ref{periodic2}).}
169: \begin{gather}
170: \int_0^{2\pi} \frac{2r}{\EEE}\, dx =0
171: \label{periodic1}
172: \\
173: \int_0^{2\pi} \frac{r+3A-\sqrt{3}\Nc}{\EEE}\, dx =0\ .
174: \label{periodic2}
175: \end{gather}
176: The tilt $v$ is obtained by solving (\ref{Q_v}), which is a quadratic
177: equation for $v$, giving
178: %\[
179: % v = \frac{ \gamma + \sqrt{\gamma^2 -4(\gamma-1)(Q/\Omega)^2}}{
180: % 2(\gamma-1)(Q/\Omega)},
181: %\]
182: %is out of range, as $v$ must satisfy $v^2\leq 1$.}
183: \be
184: \label{v_init}
185: v =
186: \frac{2 (Q/\Omega)}{
187: \gamma + \sqrt{\gamma^2 -4(\gamma-1)(Q/\Omega)^2}}\ .\
188: \footnote{The second solution for $v$ does not satisfy $v^2 \leq 1$.}
189: \ee
190: We must make sure that (\ref{init}) and $(\St)_0$ yield a $v$ that
191: satisfies
192: \be
193: \label{v_range}
194: -1 < v < 1,\quad \text{or equivalently,}\quad
195: -1 < \tfrac{Q}{\Omega} < 1\ .\
196: \footnote{One can prove this by plotting (\ref{v_init}) on the box
197: $ -1 \leq \tfrac{Q}{\Omega} \leq 1$, $1 \leq \gamma \leq 2$, and
198: by plotting (\ref{Q_v}) on the box $-1 \leq v \leq 1$, $1 \leq \gamma \leq
199: 2$ using {\tt MAPLE}.}
200: \ee
201: One way to ensure this is to specify a large $\Omega$, as we now explain.
202:
203: \begin{comment}
204: Write
205: \[
206: 1-(Q/\Omega)^2 = G_+^{-2}(1-v^2)[1-(\gamma-1)^2v^2] \leq 1.
207: \]
208: For $1 \leq \gamma <2$ and
209: $v^2\leq 1$, then $G_+$ and $1-(\gamma-1)^2v^2$ are positive.
210: Thus $1-(Q/\Omega)^2 \geq 0$ if and only if $1-v^2 \geq 0$.
211: \end{comment}
212:
213:
214:
215: Consider the following format for the initial data, which we shall use in
216: most numerical simulations in the next chapter:
217: \begin{gather}
218: \EEE=(\EEE)_0\ ,\quad
219: r=\eps \sin x,\quad
220: A = A_0 + \epsilon \sin x,\quad
221: \Sm = (\Sm)_0 + \epsilon \sin x,
222: \notag\\
223: \Nc = \sqrt{3}A_0 + \tfrac{\epsilon}{\sqrt{3}} \sin x,\quad
224: \Nm = (\Nm)_0 + \epsilon \sin x,\quad
225: \Sc = (\Sc)_0 + \epsilon \sin x,
226: \notag\\
227: \Omega = \Om_0 + \epsilon \sin x,
228: \label{IC}
229: \end{gather}
230: where the subscript 0 indicates a constant, and $\epsilon$ is a small
231: positive constant.
232: Note that we have made the choice $r_0 =0$ and
233: $(\Nc)_0 = \sqrt{3}A_0$ in order to
234: satisfy (\ref{periodic1})--(\ref{periodic2}).
235: The remaining variables are determined by
236: (\ref{define_Oml})--(\ref{define_Q}) and (\ref{v_init}).
237: Equations (\ref{define_Oml})
238: and (\ref{St_init}) simplify to
239: \be
240: \Oml = (\Oml)_0 \exp\left[-2\tfrac{\epsilon}{(\EEE)_0}\cos x \right],
241: \quad
242: \St = (\St)_0 \exp\left[-3\tfrac{\epsilon}{(\EEE)_0}\cos x \right]\ ,
243: \label{Oml_St}
244: \ee
245: while $\Sp$ and $v$ have complicated expressions.
246: Expanding $\tfrac{Q}{\Omega}$ as a power series in $\epsilon$, we obtain
247: \begin{multline}
248: \tfrac{Q}{\Omega} =
249: A_0 + 2(\Nm)_0(\Sc)_0-2\sqrt{3}A_0(\Sm)_0
250: \\
251: -A_0\big[1-4A_0^2-(\Nm)_0^2-(\Sm)_0^2-(\Sc)_0^2-(\St)_0^2
252: \big]/\Omega_0
253: + \bigO(\epsilon).
254: \end{multline}
255: One can ensure $v^2 <1$ by choosing a sufficiently small $\epsilon$ and a
256: sufficiently large $\Omega_0$.
257: It also helps to specify a small $A_0$ (assuming $A_0 > 0$).
258:
259:
260:
261:
262:
263:
264:
265: \subsubsection*{Timelike area gauge $A=0$}
266:
267: If we use the timelike area gauge ($A=0$), there is a simpler scheme.
268: We first specify
269: \be
270: (\EEE,\ \Sm,\ \Nc,\ \Sc,\ \Nm,\ \Omega,\ v)
271: \ee
272: and $\gamma$.
273: Then we calculate successively
274: \be
275: (r,\ \Omega_\Lambda,\ \St,\ \Sp),
276: \ee
277: from (\ref{r}), (\ref{eqs_C_beta}),
278: (\ref{eqs_CC3}) and (\ref{C_G}) respectively:
279: \begin{align}
280: r &= -3(\Nc\Sm -\Nm\Sc)
281: -\frac{3}{2} \frac{\gamma \Omega}{G_+} v
282: \\
283: \Oml &= (\Oml)_0 \exp \left( \int_0^x \frac{2r}{\EEE}\, dx \right)
284: \\
285: \St &= (\St)_0
286: \exp \left( \int_0^x \frac{r-\sqrt{3}\Nc}{\EEE} dx \right)
287: \\
288: \Sp &= \tfrac{1}{2}
289: \big[ 1-\Sm^2-\Sc^2-\St^2 -\Nm^2-\Nc^2-\Omega-\Oml\big]
290: \ ,
291: \end{align}
292: where $(\Oml)_0$ and $(\St)_0$ are freely specifiable positive constants.
293: Note that in order to ensure that $\Omega_\Lambda$ and $\St$ are periodic,
294: equations (\ref{periodic1})--(\ref{periodic2}) with $A=0$ must be
295: satisfied.
296:
297:
298:
299:
300: \subsubsection*{Vacuum subcase}
301:
302: The scheme for the generic case does not apply to vacuum initial
303: conditions, while the scheme for the $A=0$ subcase above does.
304: We now provide a way to specify vacuum initial conditions with $A > 0$.
305: We choose $\Nc=0$ and specify
306: \be
307: (\EEE,\ A,\ \Sc,\ \Nm,\ \St).
308: \ee
309: Then the $(\mathcal{C}_{\rm C})_3$ and $(\mathcal{C}_{\rm G})$
310: constraints (\ref{CC_3}) and (\ref{C_G})
311: are solved for $\Sp$ and $\Sm$ in sequence, yielding
312: \begin{align}
313: \label{vac_Sp}
314: \Sp &= 1-(\tfrac{1}{3}\EEE \ptl_x \ln\St-\Nm\Sc)/A
315: \\
316: \Sm &= \left[ 1-\Om_k - 2\Sp - \Sc^2 - \St^2 \right]^{1/2},
317: \end{align}
318: where
319: \be
320: \Om_k =\Nm^2 - \tfrac{2}{3} (\EEE \ptl_x -r)A + A^2,\quad
321: r = - 3A\Sp + 3\Nm\Sc \ .
322: \label{vac_r}
323: \ee
324:
325:
326:
327:
328: \begin{comment}
329: \subsubsection*{Vacuum subcase}
330:
331: The scheme above does not apply to vacuum initial conditions. One scheme
332: that works for both vacuum and perfect fluid initial conditions is to
333: specify
334: \[
335: (\EEE,\ A,\ \Omega,\ v,\ \Sm,\ \Sc,\ \Nm,\ \St,\ \gamma)
336: \]
337: and then solve a quadratic equation for $\Nc$.
338: However, the process is more of a trial and error kind, since the
339: solutions for $\Nc$ often turn out to be complex, and there are no
340: intuitive ways to help choose an initial condition that yields a real
341: value for $\Nc$. This scheme also involves a division by $A$, which
342: prevents us from specifying an $A$ that has both signs.
343: \end{comment}
344:
345:
346:
347:
348:
349:
350:
351: \begin{comment}
352: \subsubsection*{OT $G_2$ subcase}
353:
354: For simulations of OT $G_2$ models, $\St$ is zero and there is no
355: $(\mathcal{C}_{\rm C})_3$ constraint.
356: We have the full freedom to specify all the remaining variables,
357: \[
358: (\EEE,\ A,\ \Omega,\ v,\ \Sm,\ \Nc,\ \Sc,\ \Nm,\ \gamma),
359: \]
360: for the initial condition.
361: This scheme works for both vacuum and perfect fluid initial conditions.
362: For simulations of diagonal $G_2$ models,
363: we use the this framework with $\Sc=0=\Nm$.
364: \end{comment}
365:
366:
367:
368:
369:
370:
371: \section{Is the system hyperbolic?}\label{sec:hyperbolic}
372:
373: We ask the following question: does the system of equations
374: (\ref{symbolic_eqs})
375: lead to a well-posed initial value problem?
376: To answer this we rely on a theorem that states that
377: if (\ref{symbolic_eqs}) is symmetric hyperbolic,
378: then it leads to a well-posed IVP
379: (see Friedrich \& Rendall 2000~\cite[pages
380: 147--157]{inbook:FriedrichRendall2000}).
381: By symmetric hyperbolic we mean $M(\X)$ is symmetric, or more
382: generally,
383: that
384: (\ref{symbolic_eqs}) can be multiplied by a symmetric positive definite
385: matrix $A(\X)$
386: so that $A(\X)M(\X)$ is symmetric
387: (see Friedrich \& Rendall 2000~\cite[pages
388: 148, 157]{inbook:FriedrichRendall2000}).
389: One important notion of hyperbolicity is strong hyperbolicity, which
390: means $M(\X)$ is diagonalizable.
391: Strongly hyperbolic systems are also symmetric hyperbolic in the general
392: sense (see Friedrich \& Rendall 2000~\cite[page
393: 161]{inbook:FriedrichRendall2000}).
394: To our knowledge there are no other proofs of well-posedness for
395: quasi-linear systems of PDEs that satisfy other notions of hyperbolicity.
396: See Gustafsson \etal 1995~\cite[page 119]{book:Gustafssonetal1995} for
397: these notions in the context of linear PDEs.
398:
399:
400:
401: The presence of $\ptl_x A$ (contained in $q$ and $\Sp$)
402: in $M(\X)$ complicates the matrix.
403: As a result we have been unable to determine whether
404: the system
405: (\ref{symbolic_eqs})
406: is symmetric hyperbolic.%
407: \footnote{The system is not strongly hyperbolic, because although
408: $M(\X)$
409: has real eigenvalues, it is not diagonalizable on a set of points with
410: measure zero.}
411: We comment that if we use the timelike area gauge, where
412: $A$ is identically zero, then the system is symmetric hyperbolic,%
413: \footnote{This is proved by van Elst \etal 2002~\cite{art:vEUW2002} for OT
414: $G_2$ cosmologies.
415: This result generalizes to the class of generic $G_2$ cosmologies with one
416: tilt degree of freedom, because the evolution equations for OT $G_2$ are
417: aumented by the $\ptl_t \St$ equation (\ref{app_St}), which has a zero
418: characteristic speed of propagation.}
419: and thus has a well-posed IVP.
420: Since
421: we find that the numerical results obtained in this gauge and in the
422: separable area gauge are qualitatively the same, we are confident that the
423: separable area gauge is suitable for simulations.
424:
425:
426:
427:
428: \section{Accuracy of numerical schemes}\label{sec:acc}
429:
430:
431: In our numerical experiments, we make use of
432: the following three numerical schemes:
433: \begin{enumerate}[i)]
434: \item the fourth order Runge-Kutta method ({\tt RK4}),
435: \item the 3-step iterative Crank-Nicholson method ({\tt ICN}), and
436: \item the {\tt CLAWPACK} code
437: \end{enumerate}
438: (see Gustafsson \etal 1995~\cite[page 241]{book:Gustafssonetal1995},
439: Teukolsky 2000~\cite{art:Teukolsky2000}, and LeVeque
440: 2002~\cite{book:LeVeque2002} respectively).
441: {\tt RK4} is a classic numerical solver for ODEs, but is suggested for
442: application to PDEs by Gustafsson \etal.
443: {\tt ICN} is a new method developed by Choptuik, but is not
444: well-documented.
445: {\tt CLAWPACK} is developed by LeVeque, and is well-documented in
446: \cite{book:LeVeque2002}.
447:
448:
449: We now explain the algorithm for each method briefly,
450: and describe some tests of their accuracy when applied to the system
451: (\ref{symbolic_eqs}).
452: To conform with the notation in the literature on numerical algorithms for
453: PDEs,
454: we denote the state vector $\X$ by $y$
455: and rewrite the symbolic equation (\ref{symbolic_eqs}) as
456: \be
457: \label{symbolic_f}
458: \dt y = f(y,\ \partial_x y).
459: \ee
460: We denote the grid size by $\Delta x$ and the step size by $\Delta t$.
461: First,
462: we have to decide how to discretize the spatial partial
463: derivative $\partial_x y$.
464: The central differencing scheme for the derivative gives
465: \be
466: \partial_x y(t,x) = \frac{y(t,x+\Delta x) - y(t,x-\Delta x)}{2\Delta x}
467: + \bigO(\ (\Delta x)^2),
468: \ee
469: which is second order accurate,
470: i.e. the error is of order $(\Delta x)^2$.
471: The central differencing on five grid points is fourth order
472: accurate:
473: \begin{multline}
474: \partial_x y(t,x) =
475: \frac{4}{3}\frac{y(t,x+\Delta x) - y(t,x-\Delta x)}{2\Delta x}
476: \\
477: - \frac{1}{3}\frac{y(t,x+2\Delta x) - y(t,x-2\Delta x)}{4\Delta x}
478: + \bigO(\ (\Delta x)^4)
479: \end{multline}
480: (see, e.g., Gustafsson \etal 1995~\cite[pages 19,
481: 247]{book:Gustafssonetal1995}).
482:
483: Secondly, we have to give a scheme for time-stepping, i.e.
484: to compute $y(t+\Delta t,x)$, given $y(t,x)$.
485: Let $y_n$ and $y_{n+1}$ denote the computed values for
486: $y(t)$ and $y(t+\Delta t)$ respectively.
487: The fourth order Runge-Kutta method ({\tt RK4}) is described as follows
488: (see, e.g., Gustafsson \etal 1995~\cite[page
489: 241]{book:Gustafssonetal1995}).
490: For brevity we write $f(y_n, \partial_x y_n)$ as $f(y_n)$ (or think of $f$
491: as an operator).
492: \begin{align*}
493: k_1 &= \Delta t f(y_n)
494: \\
495: k_2 &= \Delta t f(y_n + \tfrac{1}{2}k_1)
496: \\
497: k_3 &= \Delta t f(y_n + \tfrac{1}{2}k_2)
498: \\
499: k_4 &= \Delta t f(y_n + k_3)
500: \\
501: y_{n+1} &= y_n + \tfrac{1}{6}(k_1 + 2 k_2 + 2 k_3 + k_4).
502: \end{align*}
503: Using Taylor polynomials, it is straightforward to show that
504: {\tt RK4} is fourth order accurate
505: (the error in the spatial derivatives may for the moment be ignored):
506: \be
507: y_{n+1} = y(t+\Delta t,x) + \bigO(\ (\Delta t)^5),
508: \ee
509: i.e. the power of $\Delta t$ in the error term is four orders higher than
510: that in the formula for $y_{n+1}$.
511: Now combining {\tt RK4} with the 5-grid central difference scheme, one
512: obtains
513: a fourth order accurate finite difference scheme.
514:
515:
516:
517: The 3-step iterative Crank-Nicholson method ({\tt ICN}) is described as
518: follows:
519: \begin{align*}
520: k_1 &= \Delta t f(y_n)
521: \\
522: k_2 &= \Delta t f(y_n + \tfrac{1}{2}k_1)
523: \\
524: k_3 &= \Delta t f(y_n + \tfrac{1}{2}k_2)
525: \\
526: y_{n+1} &= y_n + k_3.
527: \end{align*}
528: {\tt ICN} is second order accurate.%
529: \footnote{See Teukolsky 2000~\cite{art:Teukolsky2000}.
530: While an $n$-th order Runge-Kutta method is $n$-th order
531: accurate,
532: Teukolsky's analysis shows that
533: all {\tt ICN} methods are only second order accurate, and the
534: 3-step {\tt ICN} method is the cheapest stable method among them (see
535: Teukolsky 2000~\cite{art:Teukolsky2000}).
536: We note that there are more sophisticated
537: implementations of the iterative Crank-Nicholson method (Choptuik
538: 2004~\cite{com:Choptuik2004}).
539: Teukolsky claims that there is no benefit in applying more iterations.
540: Choptuik, however, has reservations about this claim, on the basis that
541: Teukolsky's idealized analysis is incomplete.}
542: Now combining {\tt ICN} with the 3-grid central difference scheme, one
543: obtains a second order accurate finite difference scheme.
544: Since {\tt RK4} evaluates the equations four times at each
545: time step while {\tt ICN} only three,
546: it takes {\tt RK4} $4/3$ times as long to
547: run as it takes {\tt ICN}.
548:
549: The {\tt CLAWPACK} code (see
550: LeVeque 2002~\cite{book:LeVeque2002})
551: handles the evolution equations
552: (\ref{symbolic_eqs}) in two stages for
553: each time step, using the so-called Godunov splitting
554: (see LeVeque 2002~\cite[pages 380-388]{book:LeVeque2002}).
555: In the first stage, {\tt CLAWPACK} solves the following system
556: (referring to (\ref{symbolic_eqs})):
557: \be
558: \label{symb_1}
559: \dt y + M(y) \partial_x y =0,
560: \ee
561: where $M(y)$ must be diagonalizable. i.e. it can be written as
562: \be
563: \label{QDQ}
564: M = Q D Q^{-1},
565: \ee
566: where $D$ is a diagonal matrix of real eigenvalues, and $Q$ is a matrix
567: constructed from the corresponding eigenvectors.
568: The upwind finite volume method
569: (see
570: LeVeque 2002~\cite[page 73]{book:LeVeque2002})
571: is then used to
572: discretize (\ref{symb_1}).
573: To explain the discretization, consider
574: rewriting (\ref{symb_1}) as
575: \be
576: \dt w + D \partial_x w =0,\quad w = Q^{-1} y,
577: \ee
578: pretending that $Q$ is constant.
579: Since $D$ is diagonal, this system decouples into independent advection
580: equations, and the eigenvalues determine the velocities (and hence the
581: upwind directions) of
582: the waves in the characteristic eigenfields $w$.
583: So we are able to
584: determine the upwind direction for each wave.
585: In finite volume methods, an $x$-interval is divided into cells, and
586: fluxes are computed at the interface of two adjacent cells.
587: To obtain the data at the interface, some averaging scheme must be used
588: (see LeVeque 2002~\cite[Section 15.3]{book:LeVeque2002}),
589: and here we simply take the arithmetic average.
590: The discretization of (\ref{symb_1}) yields
591: \be
592: y_i^{n+1} = y_i^n - \frac{\Delta t}{\Delta x}\left[
593: \mathcal{A}^{+n}_{i-\frac{1}{2}} (y_i^n-y_{i-1}^n)
594: + \mathcal{A}^{-n}_{i+\frac{1}{2}} (y_{i+1}^n-y_i^n) \right],
595: \ee
596: where
597: \be
598: \mathcal{A}^{\pm n}_{i-\frac{1}{2}}
599: = Q_{i-\frac{1}{2}}^n D^{\pm n}_{i-\frac{1}{2}}
600: (Q_{i-\frac{1}{2}}^n)^{-1},
601: \ee
602: and $D=D^+ + D^-$, where
603: $D^+$ contains only positive eigenvalues while
604: $D^-$ contains only negative eigenvalues.
605: The vector
606: $\mathcal{A}^+_{i-\frac{1}{2}} (y_i-y_{i-1})/\Delta x$ describes fluxes to
607: the
608: right from the $(i-1)$-th cell to the $i$-th cell, etc.
609: For details see
610: LeVeque 2002~\cite[pages 78--82]{book:LeVeque2002}.
611: The first stage is first order accurate.
612:
613: In the second stage, {\tt CLAWPACK} solves the system
614: \be
615: \dt y = g(y).
616: \ee
617: This part can be discretized by any ODE solver.
618: We solve this part by using the explicit Euler method,
619: \[
620: y_{n+1} = y_n + \Delta t\, g(y_n),
621: \]
622: which is first order accurate.
623:
624: Overall, {\tt CLAWPACK} is first order accurate.
625: While {\tt RK4} and {\tt ICN} do poorly in simulating shock waves
626: (Taylor polynomials do not apply at points of discontinuity),
627: {\tt CLAWPACK} sacrifices high accuracy for smooth solutions for the
628: ability to simulate shock waves reasonably well. The error analysis of
629: {\tt CLAWPACK} near shock waves is based on conservative systems of
630: the form:
631: \[
632: \dt y + \partial_x( G(y) ) = g(y).
633: \]
634: However, the system (\ref{be_numeq})--(\ref{ee_numeq}) is not
635: conservative, due to the presence of inhomogeneity in
636: $E_1{}^1$ and the non-conservative pair $(\ln\Omega, \arctanh\ v)$.
637: This will likely reduce the accuracy of
638: {\tt CLAWPACK} when simulating shock waves.
639: Another more serious abuse of {\tt CLAWPACK} is that we have put $\ptl_x
640: A$
641: (contained in $q$ and $\Sp$)
642: in the right hand side of the equations ($g(y)$ becomes $g(y,\partial_x
643: y)$),%
644: \footnote{{\tt CLAWPACK} requires a coefficient matrix $M(y)$ that is
645: diagonalizable. By putting $\ptl_x A$
646: in the left hand side, {\tt CLAWPACK}
647: is liable to crash due to unbounded determinant of the $Q$
648: matrix in (\ref{QDQ}).}
649: which makes it unsuitable for shock waves
650: simulations.
651: The best we can do is to simulate shock waves using the timelike area
652: gauge $A=0$.
653: The abuse becomes relatively harmless if $\EEE$ is small.
654: For example, {\tt CLAWPACK} does a better job than the
655: other two schemes at simulating permanent spikes under low resolution
656: (see Section~\ref{sec:unsatisfactory_aspects}),
657: so there is value in keeping {\tt CLAWPACK}.
658:
659:
660:
661:
662: To measure the rate of convergence for each method,
663: we make three runs, using 512, 1024 and 4096 spatial grid points.
664: The data using 4096 spatial grid points serves as the reference, and the
665: errors of the two runs with cruder grids are compared.
666: We use both $L_2$ and $L_\infty$ norms to measure the errors.%
667: \footnote{Let $y_{i}^m$ be the $m$-th component of the vector $y$
668: evaluated
669: at the $i$-th grid point. Then the $L_2$ norm of the error in $y$ is given
670: by
671: \[
672: \| y - y_{\rm ref} \|_2 = \sqrt{\frac{1}{N}
673: \sum_{i,m} (y_{i}^m - (y_{\rm ref})_{i}^m)^2 }\ ,
674: \]
675: where $N$ is the number of grid points.
676: The $L_\infty$ norm of the error in $y$ is given by
677: \[
678: \| y - y_{\rm ref} \|_\infty =
679: \max_{i,m} | y_{i}^m - (y_{\rm ref})_{i}^m |\ .
680: \]
681: }
682:
683: \begin{table}[h]
684: \begin{spacing}{1.1}
685: \caption{The rate of convergence of numerical methods:
686: errors relative to the solution on 4096 grid points as measured
687: in the $L_\infty$ norm.}
688: \label{tab:error}
689: \begin{center}
690: \begin{tabular*}{\textwidth}%
691: {@{\extracolsep{\fill}}cccrc}
692: \hline
693: Method & error (512) & error (1024) & ratio & convergence \\
694: \hline
695: {\tt RK4} & $2.9746 \times 10^{-7}$ & $1.9852 \times 10^{-8}$
696: & 14.9839 & fourth order
697: \\
698: {\tt ICN} & $2.2908 \times 10^{-3}$ & $5.3947 \times 10^{-4}$
699: & 4.2464 & second order
700: \\
701: {\tt CLAWPACK} & $1.7974 \times 10^{-1}$ & $7.8783 \times 10^{-2}$
702: & 2.2814 & first order
703: \\
704: \hline
705: \end{tabular*}
706: \end{center}
707: \end{spacing}
708: \end{table}
709:
710: In Table~\ref{tab:error} we present the errors in $L_\infty$
711: norm.
712: A method is said to be $n$-th order
713: accurate in time if its error (approximately) shrinks by a factor of
714: $2^{-n}$ when the number of grid points is doubled.
715: Errors in $L_2$ norm are of similar size and are not presented.
716: The initial data is chosen to be (\ref{IC}) with $\gamma=\tfrac{4}{3}$ and
717: \begin{gather}
718: \epsilon= 0.01,\quad
719: (\EEE)_0= 1 ,\quad
720: A_0 = 0.2,\quad
721: (\Sm) _0= 0.2,\quad
722: (\Sc) _0 = 0.4,
723: \notag\\
724: (\Nm) _0 =-0.4,\quad
725: \Om _0 = 0.5,\quad
726: (\Oml)_0 = 0.7,\quad
727: (\St)_0 = 0.1.
728: \end{gather}
729: The simulations run from $t=0$ to $t=-1$. Longer simulations will see the
730: formation of spikes. The order of accuracy is derived from Taylor
731: polynomial approximation.
732: With decreasing resolution around the spikes, the approximation becomes
733: poorer and poorer, and eventually becomes totally useless. Higher
734: resolution will be needed to prolong simulations.
735: The CFL stability condition
736: (see Gustafsson \etal 1995~\cite[page 54]{book:Gustafssonetal1995})
737: is set at $\Delta t \leq \Delta x/\max\EEE$.
738: This serves as a cap for the step size $\Delta t$ to maintain the
739: stability of the solution.%
740: \footnote{We also impose an absolute cap to the time step: $\Delta t \leq
741: 0.1$ for stability.}
742: The preferred value for $\Delta t$ is set at
743: $\Delta t = 0.9 \Delta x/\max\EEE$,
744: i.e. the step size is computed as follows:
745: \be
746: \Delta t = 0.9 \Delta x / \max\EEE(t,x).
747: \ee
748: After the data at time $t+\Delta t$ is obtained, we check that
749: \be
750: \Delta t \leq \Delta x / \max\EEE(t+\Delta t,x).
751: \ee
752: If this is satisfied, we continue;
753: otherwise we recalculate the data with a smaller step size
754: \be
755: \Delta t_{\rm smaller} = 0.9 \Delta x / \max\EEE(t+\Delta t,x).
756: \ee
757: This smaller step size will satisfy the CFL condition:
758: \be
759: \Delta t_{\rm smaller} \leq \Delta x / \max\EEE(t+\Delta
760: t_{\rm smaller},x).
761: \ee
762:
763:
764:
765: % The CFL condition depends on the equations and schemes.
766: % We haven't derived the CFL condition for our equations.
767:
768: % Long runs are not done because we put a limit of $\Delta t \leq 0.1$,
769: % which is reached when $\EEE$ gets small enough. Then the runs
770: % will have the same $\Delta t$ and comparison is pointless.
771:
772:
773:
774:
775:
776: Now since the reference solution is computed by the same method, we can
777: only conclude that each method converges at the respective rate. Do they
778: all converge to the real solution?
779: To answer this we need an exact solution against which the
780: error of the methods can be measured.
781: Unfortunately there are no exact generic $G_2$ solutions available thus
782: far.
783: The most suitable possible test solution is the WM
784: solution (see Section~\ref{sec:WMspike}),
785: which is an exact vacuum OT $G_2$ solution,
786: containing one arbitrary function $f:\mathbb{R} \rightarrow \mathbb{R}$.
787: It is given by (\ref{WM_sol}):
788: \be
789: \Sm = -\tfrac{1}{2\sqrt{3}},\quad
790: \Nc = 0 = A,\quad
791: \Sc = -\Nm = \tfrac{1}{\sqrt{3}}e^t f(e^{2t} - 2x),\quad
792: \EEE= e^{2t}.
793: \ee
794: For the test, we choose
795: \be
796: f(e^{2t} - 2x) = \sin(e^{2t} - 2x) \quad\text{with}\quad
797: 0 \leq x \leq 2\pi.
798: \ee
799: The solution then satisfies periodic boundary conditions.
800: The simulations run from $t=0$ to $t=-1$. The CFL condition is set at
801: $\Delta t \leq \Delta x/\max\EEE$,
802: and the preferred value for $\Delta t$ at
803: $\Delta t = 0.9 \Delta x/\max\EEE$.
804: In Table~\ref{tab:error_WM} we present the errors in $\Sc$ in the
805: $L_\infty$ norm. Errors in the $L_2$ norm are similar and are not
806: presented.
807:
808: \begin{table}[h]
809: \begin{spacing}{1.1}
810: \caption{The accuracy of numerical methods: errors in the simulated $\Sc$
811: for the WM solution as measured in the $L_\infty$ norm.}
812: \label{tab:error_WM}
813: \begin{center}
814: \begin{tabular*}{\textwidth}%
815: {@{\extracolsep{\fill}}cccrc}
816: \hline
817: Method & error (512) & error (1024) & ratio & accuracy \\
818: \hline
819: {\tt RK4} & $9.5834 \times 10^{-9}$ & $6.2809 \times 10^{-10}$
820: & 15.2581 & fourth order
821: \\
822: {\tt ICN} & $9.8275 \times 10^{-6}$ & $2.7601 \times 10^{-6}$
823: & 3.5605 & second order
824: \\
825: {\tt CLAWPACK} & $4.3212 \times 10^{-3}$ & $2.2423 \times 10^{-3}$
826: & 1.9272 & first order
827: \\
828: \hline
829: \end{tabular*}
830: \end{center}
831: \end{spacing}
832: \end{table}
833:
834:
835: \begin{table}[h]
836: \begin{spacing}{1.1}
837: \caption{The accuracy of numerical methods: errors in the simulated $\Sm$
838: for the transformed WM solution as measured in the $L_\infty$ norm.}
839: \label{tab:error_WMspike}
840: \begin{center}
841: \begin{tabular*}{\textwidth}%
842: {@{\extracolsep{\fill}}cccrc}
843: \hline
844: Method & error (512) & error (1024) & ratio & accuracy \\
845: \hline
846: {\tt RK4} & $1.5157 \times 10^{-5}$ & $9.7292 \times 10^{-7}$
847: & 15.5789 & fourth order
848: \\
849: {\tt ICN} & $2.6242 \times 10^{-3}$ & $6.6930 \times 10^{-4}$
850: & 3.9208 & second order
851: \\
852: {\tt CLAWPACK} & $2.4204 \times 10^{-2}$ & $1.2511 \times 10^{-2}$
853: & 1.9347 & first order
854: \\
855: \hline
856: \end{tabular*}
857: \end{center}
858: \end{spacing}
859: \end{table}
860:
861: The WM solution can be transformed into a new solution
862: (see Section~\ref{sec:WMspike}).
863: We test the codes against this
864: solution, using the initial condition for the WM solution above.
865: In Table~\ref{tab:error_WMspike} we present the errors in $\Sm$ in
866: $L_\infty$ norm.
867:
868:
869:
870: The tests confirm that the methods produce solutions that converge to
871: the exact solution at the expected rates, which
872: gives us some confidence that the methods are reliable.
873:
874:
875:
876:
877:
878: \section{Unsatisfactory aspects of the numerical
879: simulations}\label{sec:unsatisfactory_aspects}
880:
881:
882:
883: \subsubsection*{Instability of $(\mathcal{C}_{\rm C})_3$}
884:
885: The evolution equation for $(\mathcal{C}_{\rm C})_3$ is given by
886: \be
887: \dt (\mathcal{C}_{\rm C})_3 = (2q-2+3\Sp+\sqrt{3}\Sm)
888: (\mathcal{C}_{\rm C})_3.
889: \ee
890: This constraint is stable into the past near Kasner equilibrium points.
891: However, when $\St$ is large, $(\mathcal{C}_{\rm C})_3$ grows as
892: $t\rightarrow -\infty$.
893: This is a cause for concern especially when $(\mathcal{C}_{\rm C})_3$
894: grows at
895: the beginning of the simulation (i.e. before entering the asymptotic
896: regime). Using finer grids or taking smaller time steps reduces the size
897: of $(\mathcal{C}_{\rm C})_3$, but is very inefficient.
898: Unfortunately, we find that
899: adding the constraint in the evolution equations
900: \footnote{For example,
901: \[
902: \ptl_t \St = ( q -2 +\sqrt{3}\Sm ) \St + (\mathcal{C}_{\rm C})_3\
903: .
904: \]
905: }
906: does not change its instability.
907: Constraint instability is a recurring problem in numerical relativity.
908: For other methods in controlling constraint instability, see Lindblom
909: \etal 2004~\cite{art:Lindblometal2004}.
910:
911: \subsubsection*{Resolution}
912:
913: As we have not implemented an adaptive mesh refinement scheme,
914: high-resolution simulations are expensive for the numerical schemes
915: we have.
916: This imposes a severe limitation when spikes occur.
917: Without mesh refinement, we can only adequately simulate spikes for a
918: short time before the spikes become too narrow to resolve numerically.
919: If $\EEE$ is sufficiently large near a spike,
920: {\tt RK4} can generate spurious oscillations, while {\tt ICN} also
921: generate some overshoot. Only {\tt CLAWPACK} handles spikes reasonably
922: well in all situations.
923:
924:
925:
926:
927:
928:
929: %\subsubsection*{Boundary condition}
930: %
931: %We specify periodic boundary condition to avoid specifying an actual
932: %boundary condition. This prevents us from simulating many existing
933: %exact solutions which are not spatially periodic.
934: %Another way to avoid specifying an actual boundary condition is
935: %by discarding edge grid points that are not computed correctly on every
936: %time step. This method is wasteful and very soon one runs out of grid
937: %points.
938:
939:
940: \subsubsection*{The dust case}
941:
942: For dust ($\gamma=1$) the equations are not strongly hyperbolic (the
943: matrix $M(\X)$ is not diagonalizable at any point in spacetime),
944: regardless of whether $A=0$ or not.
945: We shall not simulate the dust case in this thesis.
946:
947:
948: \subsubsection*{The Taub Kasner point $T_1$}
949:
950: The Taub Kasner point $T_1$ given by $\beta=0$
951: causes difficulties for numerical
952: simulations. It causes blow-up in the $\beta$-normalized variables because
953: $\beta$ is zero here. This problem cannot be avoided by using
954: Hubble-normalized variables or other gauges, because the Taub Kasner point
955: is qualitatively different from other Kasner points, namely it is
956: non-silent in the $x$-direction.
957: We can only simulate solutions that do
958: not get too close to the Taub Kasner point during the period of interest.
959: As a general rule of thumb,
960: the more inhomogeneous the initial condition is, the more likely we will
961: run into the Taub Kasner point at an early stage in numerical simulations.
962: