-
Notifications
You must be signed in to change notification settings - Fork 0
/
numerical-mhd-dedner.tex
76 lines (61 loc) · 3.82 KB
/
numerical-mhd-dedner.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
\subsection{Hydrodynamics and Magnetohydrodynamics: MUSCL with Dedner cleaning}
\label{sec.num.hydro-muscl}
The second method we describe is a MUSCL-based solver than can be used
in both HD and MHD modes. The description here will be very brief
both because the ideas are similar to those described in the previous
section, and because this implementation has previously been described
in more detail elsewhere \citep{WangAbelZhang08, WangAbel09}.
Much like the PPM solver, we have three basic steps: the first is reconstruction of the variables, the second is a solution of the Riemann problem, and the third is is updating the conserved quanties with the fluxes as written above. For the reconstruction scheme we have implemented only the simple piecewise linear reconstruction \citep{1979JCoPh..32..101V, 1985JCoPh..59..264C}, with options for both primitive and conservative variable reconstruction. The available Riemann solvers are HLL, HLLC, and HLLD, as described earlier.
To more clearly describe the Dedner divergence cleaning modifications,
we write the equations of compressible inviscid hydrodynamics in the
form of conservation laws as,
\begin{equation}
\frac{\partial{U}}{\partial{t}} +
\frac{\partial{F^x}}{\partial{x}} + \frac{\partial{F^y}}{\partial{y}} + \frac{\partial{F^z}}{\partial{z}}= 0, \label{hydro}
\end{equation}
The conserved variable $U$ is given by
\begin{equation}
U = (\rho, \rho v_x, \rho v_y, \rho v_z, \rho E)^{T},
\end{equation}
where $\rho$ is density, $v_i$ are the three components of velocity
for $i={x,y,z}$, $E=v^2/2 + e$ denotes the specific total energy and $e$ the
specific internal energy (note that in this section only, we use the specific
energy).
For the generalized Lagrange multiplier (GLM) formulation of the MHD
equations \citep{2002JCoPh.175..645D}, we consider these
conserved variables
\begin{equation}
U = (\rho, \rho v_x, \rho v_y, \rho v_z, \rho E+B^2/2, B_x, B_y, B_z, \psi)^{T},
\end{equation}
where $B_i$ with $i={x,y,z}$ are the three components of magnetic
fields and $\psi$ is the additional scalar field introduced in the GLM
formulation for the divergence cleaning. The fluxes then are
\begin{eqnarray}
F^x &=& (\rho v_x, \rho v_x^2+p+B^2/2-B_x^2, \rho v_yv_x-B_yB_x, \cr
&& \rho v_zv_x-B_zB_x, \rho ({v^2\over2} + h)v_x+B^2v_x-B_xB\cdot v, \cr
&& \psi, v_xB_y-v_yB_x, -v_zB_x+v_xB_z, c_h^2B_x)^T,\\
F^y &=& (\rho v_y, \rho v_xv_y-B_xB_y, \rho v_y^2+p+B^2/2-B_y^2, \cr
&& \rho v_zv_y-B_zB_y, \rho ({v^2\over2} + h)v_y+B^2v_y-B_yB\cdot v, \cr
&& v_yB_z-v_zB_y,\psi,-v_xB_y+v_yB_x, c_h^2B_y)^{T}, \\
F^z &=& (\rho v_z, \rho v_xv_z-B_xB_z, \rho v_yv_z-B_yB_z, \rho v_z^2+p+B^2/2-B_z^2, \cr
&& \rho ({v^2\over2} + h)v_z+B^2v_z-B_zB\cdot v, \cr
&& -v_yB_z+v_zB_y, v_zB_x-v_xB_z,\psi, c_h^2B_z)^{T},
\end{eqnarray}
where $c_h$ is a constant controlling the propagation speed and
damping rate of $\div B$, and $h=e+p/\rho$ denotes the specific
enthalpy. All quantities are cell-centered.
The method is dimensionally un-split in that the fluxes are computed
for all dimensions first and the conserved quantities are updated in
one step, in contrast to the Strang splitting employed in the other
fluid methods described in this paper. Also unlike the other schemes,
time-integration is done with a second-order Runge-Kutta scheme
\citep{1988JCoPh..77..439S}.
Finally, we note that for cosmological simulations, this solver uses a
slightly different definition of the magnetic field than used in the
rest of the paper. In particular, the field is defined as $\vecB =
a^{3/2} \vecB^{\prime}$ (where $\vecB^{\prime}$ is the proper field
strength). This adds a source term of $-\dot{a}/(2a) \vecB$ on the
right-hand side of Equation~(\ref{eq:induction}) and removes the
factor of $a$ in the $\vecB$ term in the energy equation
(Eq.~\ref{eq:total_energy_def}) and in the definition of the isotropic
pressure $p^*$.