You are on page 1of 22

Computer Physics

Communications
ELSEV1ER Computer PhysicsCommunications89 (1995) 127-148

MOCCT: A numerical technique for astrophysical MHD


John F. Hawley a, James M. Stoneb
a Virginia Institute for Theoretical Astronomy, Department of Astronomy, University of Virginia, PO Box 3818,
Charlottesville, VA 22903, USA
b Department of Astronomy, University of Muryland, College Park, MD 20742, USA

Abstract
Magnetic fields are important components of many astrophysical systems. These systems are studied with numerical
simulations of the equations of magnetohydrodynamics (MHD). We briefly review the MHD assumptions, some of the
numerical approaches currently in use, and some of the problems to which MHD codes are being applied. We describe in
detail the Method of Characteristics-Constrained Transport scheme. This is a time-explicit, operator split, nonconservative
technique that uses information propagated along Alfvrn characteristics to compute electromagnetic forces at intermediate
time levels for the induction equation and for the Lorentz force. The advantages and difficulties with this scheme are
investigated with a series of test problems.

1. Introduction

Magnetic fields are ubiquitous in astrophysical systems. They are present in planets, in the sun and other
stars, and they are observed in interstellar and intergalactic space. The magnetic field strengths measured in
many of these sites often have magnetic energy densities as large or larger than other energy densities in the
system (such as the thermal or kinetic energy densities). Hence the study of magnetized plasmas is of great
importance to the field of astrophysical fluid dynamics.
Despite their importance, many of the most fundamental questions regarding the origin, effect, and evolution
of magnetic fields in astrophysical systems remain unanswered. For example, the basic question of how strong
cosmical magnetic fields originate is still uncertain. It is thought that strong astrophysical magnetic fields are
generated via amplification of an initially small seed field through a dynamo process. This process is associated
with bulk fluid motions that occur in such diverse places as the core of the Earth, the convection zone of the
Sun and other stars, and within the interstellar medium of the galaxy itself. Despite the wide range of physical
conditions that result in dynamo action, we have only the most basic ideas as to how the dynamo mechanism
actually operates.
In addition to the dynamo studies there are many other areas of active research within astrophysics that
involve detailed modeling of magnetic processes. One dramatic example of a phenomenon that is thought to
require magnetic fields is the astrophysical jet. Jets are seen in both stellar and galactic systems, on scales
ranging from parsecs to megaparsecs. They are generally interpreted as beams of high energy plasma shot out
from a central power source, or "engine". On the stellar scale this engine is often a protostar; for galactic

0010-4655/95/$09.50 (~) 1995 Elsevier Science B.V. All rights reserved


SSD10010-4655(95)00190-1
128 J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148

systems it is believed to be a massive black hole. Since the galactic jets are observed in synchrotron radio
emission, there is direct evidence for the presence of magnetic fields. There is also good evidence that jets are
collimated by strong magnetic fields, and that magnetic processes are involved in launching them as well.
Naturally the list of astrophysical problems in which magnetic fields are thought to play an important role
goes on, ranging from the dynamics of the sun's atmosphere and the interaction of the solar wind with planetary
magnetospheres, to the dynamics and evolution of interstellar clouds, star-forming regions, neutron stars, and
active galactic nuclei. Each of these is a complex system, exhibiting both intricate spatial structure and time
variability. To study these phenomena we must solve time-dependent partial differential dynamical equations
in several spatial dimensions. Although many potential astrophysical investigations will require physics besides
that governing the magnetic fields (such as radiative transport, fully and partially ionized plasma physics,
nuclear reactions, molecular physics, etc.) in this paper we will restrict our attention to the equations of
magnetohydrodynamics (MHD).
As we discuss more fully in Section 2, MHD considers the macroscopic interaction between electromag-
netic fields and a conducting plasma subject to a variety of assumptions that are nonetheless valid in many
astrophysical systems. The perfect MHD limit results from setting the resistivity of the plasma to zero. As-
trophysical plasmas are often well approximated by this limit, unlike many terrestrial applications which use
the imperfect MHD equations that retain a finite resistivity. Magnetic field strengths in astrophysical settings
range from extremely weak, where the magnetic field is carried along by a relatively unperturbed fluid flow
(passive MHD), to the field-dominated limit where hydrodynamic forces can be neglected. The strength of the
field is often parameterized by the plasma fl value, defined as the ratio of the gas to the magnetic pressure,
fl = /°gas/(B2/87r). In a typical astrophysical context fl ,-~ 1 and neither the magnetic field nor the compressible
gas dynamics can be neglected. This stands in contrast to magnetically-confined fusion research which focuses
on the fl << l limit.
Although MHD represents a dramatic simplification to the general problem of the dynamics of a plasma, it
is still a great deal more complicated than one-fluid compressible hydrodynamics so often used in astrophysical
studies. However, even one-fluid hydrodynamical studies are challenging for astrophysical researchers. Time-
dependent multidimensional hydrodynamics is sufficiently complicated that it is tractable only through the use
of numerical codes run on supercomputers. Moreover, typical astrophysical problems involve a disparate range
of time and length scales making it difficult to carry out large-scale global simulations. This remains true for
MHD which is further complicated by new wave families, discontinuities, and other physical effects, all of
which increase the difficulty of achieving an accurate solution. As an example, Maxwell's equations consist of
two evolution equations and two constraint equations. Although the analytic evolution equations automatically
satisfy the constraints, this need not be true for numerical implementations of the equations, i.e., numerical
errors can result in the generation of unphysical magnetic monopoles. Another difficulty is that in nonrelativistic
problems the propagation speed of MHD waves can become much larger than the fluid velocities or the sound
speed (for a low fl plasma); this can bring the Courant limit of a time-explicit numerical computation down
to the point where further evolution is impossible. The behavior of MHD flows changes dramatically from the
passive field to the strong field limit, and any attempt to develop a numerical scheme that can go easily from
one limit to the other will face many daunting obstacles. Many years of effort have gone into the search for
good numerical algorithms for compressible hydrodynamics to bring the art to its present relatively mature
form. Considerably less time has been spent on developing the more complicated MHD algorithms, so that
while substantial progress has been made, it remains an area of active algorithmic development and testing.
In this paper we review some numerical techniques for solving the MHD equations, and describe in detail
the particular scheme that we are currently using. It is important to begin (in Section 2) with a description of
the applications for which this code is written since this determines the range in fl over which the techniques
must work, as well as the performance specifications required to answer the physically-motivated questions.
In order to highlight more clearly the reasoning behind our particular algorithm, we present in Section 2 a
general discussion of issues in testing and evaluating MHD methods. We also briefly review some alternate
J.E Hawley, J.M. Swne / Computer Physics Communications 89 (1995) 127-148 129

numerical approaches to the MHD equations that have been used in astrophysical research. Having outlined
some astrophysical applications for which one would like to have an MHD code, we then proceed in Section
3 to describe in detail the scheme that we are currently using. However, as we (and others) continue to test
and improve MHD algorithms, what we present here will not be the last word on numerical MHD. In Section
4 wc sum up with a discussion of future applications and directions in astrophysical MHD.

2. Background

2.1. Astrophysical M H D

There are many different algorithms available to solve the equations of hydrodynamics; we expect a similar
diversity for MHD. It is unlikely that any one numerical technique will prove adequate for the diverse range of
applications required for astrophysical studies. One's goal should not be a search for the best scheme, but for
the most appropriate scheme for a specific problem. In this section we briefly describe some of the ideas behind
approaches currently in use or being studied for use in astrophysical problems. This review will be somewhat
subjective since our impressions of the fortes and foibles of these techniques were obtained without having
extensive personal experience with most of them. The literature lacks detailed information about astrophysical
MHD codes, in part because this area of research is relatively new. This paper is an effort to provide such
information about our MHD techniques. Hence our intention in this review has less to do with rating or
comparing techniques than it does with providing the background that motivated our algorithm's development.
Standard magnetobydrodynamics is based upon several assumptions. The first is that the system is nonrel-
ativistic and all velocities are much less than the speed of light c. Among other things this means that the
displacement currents in Maxwell's equations can be neglected. While there are important astrophysical systems
where this condition will be violated, such as accretion disks near black holes (where orbital speeds are near
c), it is acceptable in many, more prosaic contexts. The next approximation is that the local net electric charge
is very small, i.e., there is local charge neutrality. We further assume that the plasma is completely ionized and
can be described with a one-fluid treatment. This approximation is certainly adequate for many astrophysical
situations, although, again, there are important exceptions, such as cold molecular clouds where a two-fluid
ion-neutral plasma is required, And finally, an MHD treatment of the plasma is only appropriate when a ttuid
description is valid, that is, when the length scales of interest are sufficiently large compared to the plasma
length scales, e.g., particle gyroradii.
With these standard assumptions one arrives at the equations of MHD. In conservative form they are (in
Gaussian units)

c),p + X7 • ( p v ) = 0, (2.1)

i~t(S) + • . ( S v + I ( P + B2/87r) - BB/4rr) = 0, (2.2)

3te + V . Pv( ½pv2 + ( y _7 l + x E =0, (2.3)

atB = ~7 × E. (2.4)

The symbols have their usual meaning, with p the fluid density, P the fluid pressure, v the velocity, e the total
energy, B the magnetic field, S =-- pv the momentum, o- the conductivity, and I is the unit vector. We have
assumed an equation of state

P = pc(y- 1), (2.5)


130 J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148

where • is the specific internal energy. We also assume that the electric field E is specified from Ohm's law

c E = - v x B + J/o-. (2.6)

The current J is given by

4 7 r j = V x B. (2.7)
c

In addition the magnetic field is constrained by the no-monopole condition

V . B = 0. (2.8)

It is important to note that V' • B is a constraint, not an evolution equation. Analytically this constraint is
preserved for all time, but this cannot be generally guaranteed in numerical evolution.
The equations that we evolve with our finite difference code are modified from those above, first by assuming
the ideal MHD limit and dropping the terms that depend upon the conductivity. Second, we do not use the
conservative form for the momentum conservation equation (2.2) and the energy conservation equation (2.3).
Instead, we construct a nonconservative momentum equation that represents the magnetic force as a source
term,

at(S)+(V.Sv)=[~----~(VxB×B)-XTP]

1 ( B .V)B-V
= ~--~ ( P + 8~-) . (2.9,

The advantage of (2.9) is that terms in the magnetic force that are proportional to V • B have been removed
analytically. The energy equation is written in terms of the internal energy pc,

O,(pe) + V . ( p • v ) = - ( P + Q ) ( V . v), (2.10)

where Q is an artificial bulk viscosity included to account for nonadiabatic shock heating.
One can choose to evolve either the conservative or nonconservative form of the equations and there are
advantages and disadvantages to both approaches. The most obvious advantage of the conservative form is
that it is possible to construct straightforward finite difference operators that will conserve total mass, energy
and momentum. One potential difficulty with the total energy equation is that the internal energy (and hence
the pressure) must be obtained from the total energy by subtracting off the contributions from kinetic and
magnetic energies. Thus, conservation alone doesn't guarantee entropy conservation (for an adiabatic flow), or
that entropy will only increase in a given fluid element (for dissipative flow). In addition, if a flow is highly
supersonic, the truncation error in total energy may exceed the internal energy, leading to obvious errors such
as negative pressures.
Brackbill and Barnes (1980) point out a potential problem with the conservative form of the momentum
equation. Since an arbitrary numerical implementation of the induction equation (2.4) does not necessarily
guarantee that the constraint ~7. B = 0 will be satisfied, any resulting nonzero divergence of B leads to
unphysical accelerations due to monopoles in the direction of the magnetic field if the conservative form of
the momentum Eq. (2.2) is used. In this form, the force contains terms proportional to V • B which, while
analytically zero, may be numerically nonnegligible. Such forces can ruin a simulation even if they appear only
at the level of the truncation error. Brackbill and Barnes (1980) demonstrate that this problem is avoided if an
equation of the form of (2.9) is used and those force terms are removed analytically prior to finite-differencing
the momentum equation.
J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148 131

It is nevertheless useful to consider how one solves systems of equations in conservative form with a
finite-difference technique. Such systems can be formulated as

+ - - -0, (2.11)
cgt cgxi
where U represents a column matrix of the fundamental variables, F ( U ) a matrix of fluxes constructed out of
those variables, and i goes over all spatial dimensions. In a finite difference formulation U is discretized in both
space and time, located at time levels labeled by n, and spatial locations labeled by integers i, j, and k. The
fluxes are at half-integral space and time locations so that (2.11) can be written as a centered second-order
difference approximations. The difficulty, of course, is in obtaining accurate flux values at the appropriate time-
and space-centered locations from the available data, i.e., U n, the fundamental variables at timestep n. This
requires an accurate technique to interpolate in space and extrapolate in time.
There are many numerical approaches that have been applied to equations of the form of (2.11). For
MHD one of the most popular is the two-step Lax-Wendroff technique, or related variations (see Roache,
1972). For example, Shibata and Uchida (1985) have studied the transients associated with the spin-up of
a vertical magnetic field threaded through an accretion disk using a 2.5 dimensional (2.5D) Lax-Wendroff
MHD code. (The term "2.5 dimensional" refers to a code that fully evolves two spatial dimensions and retains
the vector components of the third, symmetric direction. An example is the retention of angular momentum
and toroidal field in an axisymmetric computation in spherical or cylindrical coordinates.) One of the most
extensive applications of this approach to three-dimensional (3D) MHD has been by groups investigating
the global structure of the Earth's magnetosphere. For examples see Kageyama, Watanabe, and Sato (1992),
Watanabe and Sato (1990), Fedder and Lyon (1987), and Ogino et al. (1986). These authors discuss some
of the difficulties associated with their numerical approaches. The two-step Lax-Wendroff technique is used
by Ogino et al (1986), while Watanabe and Sato (1990) and Kageyama, Watanabe and Sato (1992) use a
Runge-Kutta time evolution. However, as discussed by Kageyama et al. (1992) both the Lax-Wendroff and
their Runge-Kutta technique exhibit considerable phase error, manifested primarily as high-frequency ringing
near discontinuities. We discuss the issue of phase error below in Section 3.3. This ringing can be smoothed
through extensive use of numerical viscosities (Ogino et al., 1986), but, of course, at the cost of greater
diffusion error. For example, Watanabe and Sato (1990) carry out Alfv6n wave test problems that show one of
the disadvantages of Lax-Wendroff schemes that use an explicit numerical viscosity: large numerical damping
on short wavelengths. These are well-known drawbacks of these schemes.
Another approach that makes use of the conservative form of the equations is the Godunov technique
(Godunov, 1959). In the Godunov technique the time-advanced fluxes F ( U ) are obtained through the solution
of nonlinear characteristic equations. For compressible hydrodynamics, this approach has met with considerable
success. The best example is the Piecewise Parabolic Method (PPM) code of Colella and Woodward (1984)
which uses third-order piecewise representations of the fundamental variables and a nonlinear Riemann-solver
to obtain fluxes F that are second-order in time. The technique is extended to more than one dimension through
directional splitting (Strang, 1968; Gottlieb, 1972). In directional splitting a multidimensional finite-difference
operator Lx~.. is constructed out of symmetrized one dimensional operators, i.e., Lx~,/_7.= 7(L~L~,I + L:.Lx)U. So
long as the one-dimensional operators Lx and Ly are each second-order and time-symmetric, the procedure will
be second-order. Intuitively, one can see that the successive application of ID operators will account for cross
terms (such as c)x0:,) whereas constructing one operator out of separate, entirely ID components will not.
Given the success of the hydrodynamic Godunov approach, it is natural to try to extend the technique to
MHD. Brio and Wu (1988), Zachary and Colella (1992), Zachary, Malagoli, and Colella (1994), and Dai and
Woodward (1994a,b) have made such an attempt. The algorithm is still under development, but initial results
certainly appear promising. The difficulty is that the MHD Riemann problem is considerably more complex
than the hydrodynamic version. There are additional wave families, each with its own left- and right-going
characteristic. These new families are the fast and slow magnetosonic waves and the Alfv6n waves, all of which
132 J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148

can lead to new types of discontinuities and rarefactions. Many of these wave families become degenerate in
the high /3 (low field) limit, further adding to the complexity of developing a general numerical Riemann
solver. When these techniques are fully developed one can anticipate that they will have all the advantages
seen in hydrodynamic versions, namely highly accurate shock and wave propagation. The disadvantages of
this approach include their complexity, and the difficulties encountered if one wishes to extend the method to
include additional physics in a self-consistent fashion.
One of the more ambitious attempts to apply numerical techniques to an astrophysical MHD problem has
recently been carried out by Nordlund et al. (1992) in their study of magnetized convection in the sun. Their
code was 3D, and included both magnetic fields and radiative transport. Their approach was straightforward
finite-differencing of the nonconservative equations, using a vector potential A, defined by B = V x A as the
fundamental variable rather than the magnetic field itself. As discussed below, this is one way of ensuring
that the solenoidal constraint is preserved in a numerical simulation. Numerical derivatives were obtained using
splines over several grid points. Explicit dissipation and resistivity were added to eliminate dispersion error
and to maintain smooth solutions. This work is an example of how a complicated problem, involving many
physical effects, can be studied with a direct finite difference scheme. It could not have been done with a
Godunov-type scheme since the appropriate Riemann-solver simply does not now exist. By comparing the
hydrodynamic portion of this code with the results from a PPM simulation on a turbulence test problem,
however, Stein (private communication) has found that while the PPM scheme was less diffusive, particularly
at smaller scales, the large-scale features of the two simulations were quite similar.
There are several alternative numerical schemes that have also been investigated. One such is the Method of
Characteristics (MOC). An MOC test code was constructed by Lou, Rosner and Ulmschneider (1987). While
instructive, such an approach has had limited application in hydrodynamics, mainly because it is incapable of
obtaining solutions that contain discontinuities, an almost certain state of affairs in astrophysical simulations.
A more radical departure is offered by abandoning finite-difference methods altogether. Philips and Monaghan
(1985) have attempted to incorporate MHD into the smooth-particle hydrodynamics (SPH) technique. SPH
has seen considerable use for hydrodynamic astrophysical problems, although its extension to the MHD system
may strain the limits of the ability of discrete particles to model a continuum. One advantage of the particle
approaches is that they are Galilean invariant, unlike more traditional finite difference techniques where the
truncation error is a function of the velocity.

2.2. Accretion disks

Our efforts to develop a multidimensional MHD code are motivated by our interest in the structure and
evolution of accretion disk systems. An accretion disk consists of gravitationally bound gas in orbit around a
compact star or black hole. The gas orbits that central star in nearly circular, Keplerian, coplanar orbits forming
a disk that extends radially outward. These disks are generally thin in the sense that their vertical thickness
H(R) is much less than the radial distance R from the star. This in turn requires that the sound speed of
the gas, c,., be much less than the orbital velocity, RS2, where .(2 is the angular velocity. Note that since the
orbital speeds are supersonic, shocks are a distinct possibility. Now the gas in the disk would simply orbit
indefinitely were it not for torques that remove angular momentum from a given fluid element. This allows
that fluid element to drop to a lower orbit. As the gas spirals in, it releases gravitational binding energy that
is thermalized and radiated through the disk surface. The accretion disk is believed to play a fundamental role
in such diverse systems as protostars, mass-transferring binary star systems, and the central engines of active
galactic nuclei and quasars. The basic properties of accretion disks are reviewed by Pringle ( 1981 ).
While there are many possible applications of a numerical MHD code to accretion disk theory, we are
particularly interested in the nature of the torque that decouples the angular momentum from a fluid element
and allows it to accrete. Ordinary molecular viscosity is an example of a hydrodynamic torque; in accretion
disks, however, the molecular viscosity is infinitesimal. Magnetic fields are a promising alternative. We can
J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148 133

classify the influence of a magnetic field as an external or an internal torque. An example of an external torque
is a rotating magnetized wind coming off of the disk and carrying away angular momentum. In order for this
wind to be a significant sink of angular momentum, the magnetic fields must be moderately strong, on order
of equipartition or stronger. An internal torque, on the other hand, results in the radial transfer of angular
momentum out through the disk. The effective viscosity is proportional to the magnetic energy density, so this
mechanism also seems to require near equipartition strength magnetic fields (o be effective. If the fields are
weak they would have little influence.
However, this conclusion is premature. It turns out that accretion disks are linearly unstable to an angular
momentum transfer process in the presence of a weak magnetic field (Balbus and Hawley, 1991). The addition
of a rotational velocity to the MHD equations has added a new wave family, an incompressible magneto-
rotational wave. What is remarkable is that there is a branch of the dispersion relation that is unstable for
certain wavenumbers. The instability results from the ability of the magnetic tension force to transfer angular
momentum from fluid elements in low orbits with high angular velocity to fluid elements in higher orbits with
lower angular velocities. In orbital mechanics a body that is accelerated in the direction of its orbit will gain
angular momentum and move to a higher orbit which results in a decrease in its angular velocity (Kepler's
law). A magnetic field, by attempting to enforce corotation between such fluid elements (Ferraro's law) will
decelerate the lower fluid element and accelerate the higher fluid element, transferring angular momentum
outward in the process. Paradoxically, it is the weak magnetic field that is unstable, because the centrifugal
forces resulting from the displacement must dominate over the ability of the magnetic field to hold the fluid
elements together. If the field is strong the magnetic tension provides a restoring force that leads to rotationally-
modified Alfv6n waves. From a linear analysis (Balbus and Hawley, 1991) we find that perturbations are
unstable for wavenumbers k when
ds22
(k - va) 2 < - dln"--R' (2.12)

where/2 A is the Alfv6n velocity. Since the magnetic field strength enters only in combination with the wavenum-
bet, there will always be an unstable wavelength no matter how weak the field. (Strictly speaking this conclusion
holds only down to wavelengths for which resistive effects become significant. In accretion disks, however,
the resistive lengthscale and the corresponding field strengths are minute.) Thus whether or not magnetic ten-
sion lorces are important is not determined by the value of the integrated magnetic energy in comparison to
the pressure or kinetic energies, i.e. /3. For any magnetic field strength there are length scales for which the
magnetic tension forces are significant. In a Keplerian disk, with ,(2 ~ R -3/2, the disk will be unstable for all
wavenumbers k such that

( k . VA) / ~ < "g/3. (2.13)


For weak fields, i.e. VA << C~ << R/2 and/3 >> 1, there will be unstable modes with wavelength smaller than the
disk scale height, H ,-~ cs/£2. If the magnetic field becomes too strong, the shortest unstable wavelength would
not "fit" within one disk scale height, leading to a strongly magnetized disk. The existence of this magneto-
rotational instability indicates that MHD is essential for the structure and evolution of an accretion disk.
Further, since the magnetic field enters the dispersion relation only as the dot product with the wavenumber, the
instability is independent of the direction of the magnetic field. In practical terms this means that there are both
axisymmetric and nonaxisymmetric forms of the instability, and their study requires a fully three-dimensional
code.
If we wish to simulate a realistic accretion disk we need an ideal MHD code that can handle dynamically
important magnetic fields on both small and large length scales. Such field strengths range from /3 ~ I
(equipartition) to ,8 >> l (weak). It is also of obvious importance to include the compressive, centrifugal,
gravitational, and buoyant forces that are already known to be important in an accretion disk. Hence we require a
code that can do compressible magnetohydrodynamics, with gravity and noninertial forces, in 3D. The code we
134 J.F. Hawley, J.M. Stone~ComputerPhysics Communications 89 (1995) 127-148

describe below was designed with these issues in mind, and has been used successfully for several investigations
of MHD accretion disk physics.

3. The MOC-CT scheme

3.1. Overview

As the background discussion in Section 2 should make clear, there are many techniques for solving the
MHD equations currently in use and in development. The scheme that we are using and that is described here
is the Method of Characteristic Constrained Transport (MOCCT) scheme. We are presently using MOCCT
for a variety of applications including, as described above, accretion disk studies. The MOCCT scheme is
also undergoing continuing development. The MOCCT code incorporates the following general framework: ( 1 )
The equations are solved in the nonconservative form using operator-split, time-explicit finite differencing on a
staggered grid, in which scalar variables are located at zone centers and vectors are located at zone boundaries.
(2) The hydrodynamic terms are evolved following the already established procedures of codes such as ZEUS-
3D (Stone and Norman, 1992a; see also Norman and Winkler, 1986). We wish to maintain unchanged as
much of the hydrodynamic algorithm as possible, and incorporate the new MHD terms in a manner that is
consistent with the hydrodynamics. (3) We use the Constrained Transport (CT) formalism described by Evans
and Hawley (1988; hereafter EH) which treats the magnetic fields as fluxes through zone faces at staggered
grid locations. These fluxes are evolved using electromotive forces (EMFs) computed along the boundaries of
the zone face. Through this procedure the V- B = 0 constraint is preserved to machine-roundoff precision in the
numerical evolution. (4) The EMFs used in the induction equation are computed from time-advanced velocity
and magnetic field estimates that are obtained with upwinded AlfvEn characteristic equations. (5) The magnetic
pressure force terms of MHD are handled in a manner analogous to the hydrodynamic pressure terms, while
the noncompressive transverse Lorentz forces are computed with the Alfv6n characteristic equations.
We begin with a brief review of the hydrodynamic techniques. A detailed and specific discussion can be found
in the cited literature, in particular Stone and Norman (1992a). The essential components to this approach are
staggered grids and operator splitting. On a staggered grid the variables are located at different points in space,
and possibly in time as well. (The leapfrog scheme provides one example of a grid that is staggered in both
space and time.) The aim is to center naturally the derivatives that enter into evolution equations. For example,
the evolution of the momentum is determined in part by pressure gradients, VP. By positioning the momentum
between the spatial locations of the pressure one naturally obtains a centered derivative.
Operator splitting is the technique in which the equations are broken down into successive steps, each of
which operates on the output of the previous step. The full set of operations constitute the complete timestep.
(See Bowers and Wilson, 1991, for a discussion of the advantages and drawbacks of operator splitting.) We
divide the hydrodynamic equations into a Lagrangian and an Eulerian update. The Lagrangian phase consists of
those terms that affect a specific fluid element, namely the acceleration terms, e.g., pressure and gravitational
accelerations, and terms such as compressive heating and radiative losses. Since we solve the nonconservative
internal energy equation we also include an artificial viscosity Q to account for shock heating. The Eulerian
advection update moves the fluid elements through the fixed finite-difference grid according to the updated
velocity field. For example, to evolve one-dimensional sound waves in a fixed grid one would update the
momentum at spatial location i + 1/2 using the pressure gradient ~'P = (P/+I - P i ) / A x , solve for the updated
velocity, and then evolve the pressure using this updated velocity in the compression term ~7 - v. This centers
these derivatives in space and time resulting in a scheme that is in principle second order. All variables would
then be advected through the grid according to the current velocity, thus completing the timestep. Operator
splitting has a distinct advantage in that one can easily incorporate more physics into a scheme by adding
additional terms to the Lagrangian update.
J.E Hawle),; J.M. Stone~Computer Physics Communications 89 (1995) 127-148 135

We note that there are additional differences of approach within this same basic framework, and these might
vary from code to code or application to application. For example, one must choose either momentum S = pv
or velocity v as the fundamental variable of evolution. In spherical or cylindrical coordinates one may also
choose between angular momentum l, velocity v,b, or angular velocity ,(2, and that choice can have specific and
important consequences (Norman, Wilson and Barton, 1980). In our experience, the best choice varies from
problem to problem.
The Eulerian phase of the timestep requires the computation of advection terms. We take as our model the
continuity equation (2.1). The advection problem has been described in great detail in the cited literature to
which the reader should refer for additional information. Here we review certain pertinent facts that will be
used in developing the MHD algorithm.
The finite difference form of the ID advection equation is
At F, ,,+1/2 ,+1/21
p~i,+l = pn _ ~ b~ pVx)i+l/2 _ ( p v x ) i _ l / 2 j . (3.1)

where Pi" represents the zone-averaged density in zone i at timestep n, and I'Pbx)i+l/2"
, ,,+1/2 is a density flux
through the i + 1/2 zone face at time level n + 1/2. The fluxes must be obtained from the values PI'; on a
n+l/2
staggered mesh the velocity is already appropriately located in space and time so that v.~ i+1/2 is known. We
make the approximation that the fluid is simply advected along at this centered velocity over the timestep.
n+l/2
We can therefore predict the value Pi+l/2 by interpolating back along the advective characteristic a distance
n~ I/2
l,~ ,+1/2 At and computing the average value of the density within this domain of dependence. This procedure
depends upon establishing some functional representation of the density p ( x ) consistent with the zone average
values that we have. The simplest scheme is to assume that the density is constant throughout the zone. The
interpolation always yields the upwind value of the density, i.e., Pi for L'x > 0 and Pi+l for t'x "~ 0. This is
the first order donor-cell scheme; donor-cell is noted for its great stability and large numerical diffusion. A
signiticant improvement can be obtained by computing and making use of the slope A p / A x in the zone, i.e., a
second-order representation. Lax-Wendroff is an example of one such second order scheme. The drawback of
such higher order schemes is that they typically have substantial dispersion error that results in unacceptable
high frequency oscillations in the advected function. This can be dealt with through the addition of an explicit
numerical dissipation that filters out the short wavelength components. However, this runs contrary to one's aim
in implementing a second-order scheme which is to reduce the numerical diffusion. The monotonic schemes
such as those described by van Leer (1977; see also Sweby, 1984) provide a much better alternative to the
"Lax-Wendroff plus viscosity" approach. In these schemes, a nonlinear term is added to the interpolation
that damps precisely those 2Ax wavelength components that produce high frequency ringing. Ill van Leer's
scheme the variables are represented by piecewise-linear functions that are allowed to be discontinuous at zone
interfaces. For example, from x = Xi_l/2 to X = Xi+l/2, the density is given by the function

p ( x ) = Pi + ( A p / A x ) i ( x - xi), (3.2)
where (Ap/Ax)i is a zone-centered slope. The nonlinearity enters through the monotoniciO' condition which
requires that the value of the function at the edge of the zone, say p(Xi+l/2), not exceed the zone average value
in the next zone, Pi+l. This condition prevents the development of new, numerically-generated local minima
or maxima in the density. An example of one such monotonic slope is given by the harmonic average ol' two
face-centered slopes,

2 [ (Pi+l--Pi)(Pi--Pi-1) 1
(Ap/Ax)i = ~x L(P,--~ --)5 +(-~--~//-~) ' (3.3)

At local maxima or minima, where (Pi+l - - P i ) ( P i - Pi-l) < O, the slope is set to zero. van Leer (1977) gives
several suitable monotonic slopes which can be used instead of (3.3) as desired.
136 J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148

Once one has the density distribution (3.2), the flux term for the zone face at i + 1/2 in Eq. (3.1) will
be the time-averaged value of the density that flows through that zone face in time At. This is obtained by
integrating the density function from Xi+l/2 to xi+l/2 - VxAt. For the piecewise-linear function this is

n+l/2
Pi+ 1/2 = Pi + I ( A x VxAt)(Ap/Ax)i,

for vx > O, and

n+l/2 = Pi+l -- I ( A x + Vxat) ( A p / A x ) i,


Pi+l/2 (3.4)

for Vx < 0. One computes these values for all zone faces, and then carries out the evolution step (3.1) to
complete the update of the continuity equation.
For purposes of comparison, consider PPM. The PPM scheme represents variable distributions through the
zones by third-order parabolas (Colella and Woodward, 1984). As discussed in Section 2.1, PPM is an example
of a Godunov-type scheme in which all variables are zone-centered zone averages. To obtain the flux at the
interface in the Eulerian version of PPM one interpolates back from the zone face not only along the advective
characteristic v (as discussed above) but also along the characteristics v + c and v - c, where c is the sound
speed. The averaged fluid values within these characteristic domains of dependence are the time-averaged fluid
values that will interact at the zone face during the time interval At. These averaged values are used as input
states to a nonlinear Riemann solver that resolves the input states into unique time- and space-centered values
consistent with the equations of motion. Thus all the physics in a given problem must be incorporated directly
into the solver. Conservative fluxes for all the equations are constructed from these values, and the update of
Eq. (2.11 ) completes the timestep. Thus the Godunov-type scheme relies on a quite different approach from an
operator-split finite differencing scheme such as we have outlined here. For a comparison of the performance
of artificial viscosity schemes with conservative Riemann-solving schemes see Woodward and Colella (1984).
As mentioned in Section 2.1, the Godunov approach could be employed for the full MHD equations and
several groups are working on such an algorithm. However, the basic MHD Riemann solver is still under
development, and, in any case, we wish to study systems that have more physics and physical wave families
than these first MHD Riemann solvers are designed to handle. Hence, instead of following that track, we will
try to make use of some of the ideas of a Godunov-type scheme to obtain a more accurate staggered-grid
scheme.

3.2. Constrained transport

We begin the discussion of the MHD algorithm with the equation for the evolution of the magnetic field,
i.e., the induction equation (2.4). For simplicity we will assume infinite conductivity, although nothing in the
general CT approach depends upon that assumption. In this limit the induction equation is

c~,B+ V × ( v × B) = 0 . (3.5)
One of the challenging aspects of MHD is to evolve this equation subject to the solenoidal constraint on the
magnetic field V . B = 0. In a finite difference calculation there are several ways one might choose to define
the numerical divergence of a vector, only one of which can be exactly equal to zero. This can make it slightly
ambiguous as to what one means by "divergence-less field" Brackbill and Barnes (1980) suggest that what is
most important is that the magnetic field produces no nonphysical forces due to diverging magnetic fields. They
show how this can be guaranteed by removing all terms that depend on the divergence of B from the force
computation directly. However, the divergence free condition also implies a conservation law, i.e., the magnetic
flux through a surface enclosing a volume should always be zero, and for accurate field evolution one would
like to maintain this property regardless of how one computes the forces. This implies the need for a numerical
J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127--148 137

conservation formulation of the induction equation that is explicitly multidimensional. This issue remains the
subject of investigation, and here we summarize several of the options that have been considered.
( 1) Just evolve the magnetic field directly using the best available technique without regard to the constraint
equation. The constraint will be violated because of truncation error, but this should vanish as Ax ~ 0.
There are two concerns with this approach. First, one should check that the truncation error does not
accumulate; it should remain bounded throughout the calculation. One should also determine the order
of the error in V • B and how that order compares with that of the code as a whole. Second, because
magnetic monopoles are completely unphysical, even if the divergence of the field is proportional to the
truncation error its effect may be significant. The nonconservative form of the equations has the advantage
of eliminating terms that depend on V - B prior to differencing.
(2) One can evolve the vector potential, defined by B = V x A, instead of the magnetic field. This is
advantageous primarily in two dimensions since it reduces the evolution of two magnetic field terms
to the evolution of one scalar. The primary disadvantage is that the Lorentz force depends on second
derivatives of the vector potential. This can be a real problem if the numerical scheme is based upon
terms that are only continuous in first derivatives. Anomalous current reversals are quite easy to generate
in such circumstances.
(3) Another option is to fix up the magnetic field after an evolutionary step so as to force satisfaction of
the constraint. One might, for example, evolve only two field components and use the constraint to get
the third. This could be a problem if one is continuously dumping accumulated truncation error into one
of the magnetic field components. Another approach would be to add an artificial "flux-cleaning" term
using a scalar potential 05 defined by V205 + V - B = 0; the new field B = B - V'05 will be divergenceless
(Brackbill and Barnes, 1980; Ramshaw, 1983). This approach was used by Zachary et al. (1993) in their
2D Godunov MHD scheme along with nonconservative momentum equations. They note, however, that
there was no apparent difference between tests run with flux cleaning and tests without, suggesting that
if the nonconservative momentum equations are used, monopoles may not be too severe a problem.
(4) Another technique has been suggested by van Putten (1993). This entails replacing Faraday's equations
plus constraints with a more general form for which the constrained MHD equations are a subset. An
interesting facet of van Putten's equations is that they are fully general relativistic and may constitute the
appropriate approach for the black hole electrodynamics problem. He has shown that for certain types
of numerical schemes the constraint can be satisfied numerically throughout a computation (van Putten,
1994).
(5) Finally, one can enforce the constraint on the numerical evolution equations through the use of staggered
grid locations for the field and constraint-preserving finite difference equations. This guarantees that a
unique finite-difference definition of the divergence will be zero throughout the evolution. This is the
approach we have adopted. The details are given in EH who refer to this general method of numerical
constraint preservation as "Constrained Transport" (CT). We now describe this approach in more detail.
The CT approach starts by rewriting the induction equation into integral form using Stokes's theorem

c?tcl)s= f (v x B) dl, (3.6)


8S

where q0s is the magnetic flux through surface S bounded by OS. If we consider a 3D finite difference zone
aligned with the directions (x, y, z) labeled by indices (i, j, k), with edges of length Ax, Ay, and Az, then the
magnetic flux piercing a given face, e.g. that located at Xi+l/2, is

f
qbi+t/2 = [ Bxdydz. (3.7)
2xy~z
138 J.F Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148

|,j,k+l/2
/
~y Ex

(Bx)i÷ t/2,j,k
AZ
(x,,yj,~)~y)i,j+
I/2,k
~z

X
Y

AY "--...L_--- t f AX
Fig. I. Locations of variables in the finite-difference zone. Scalars such as pressure and density are located at the zone center, labeled by
integer values (i, j, k). The magnetic fields are regarded as area-averaged fluxes through zone faces at half-integer locations. Velocities are
also located at zone faces. Electromotive forces (EMFs) are located along zone edges. The time evolution of the magnetic flux through a
given zone face is obtained by a right-handed summation of the four edge EMFs.

Similar definitions can be made for the remaining zone faces. This is illustrated in Fig. 1. The scalar quantities
are considered to be volume averages centered in the zone at the point labeled i,j,k. Vector quantities are
located at the faces, with both velocity and magnetic components located at the same face, e.g., Vx and Bx are
both located at zone x-boundary. The constraint simply requires that the total flux emerging through the 6 faces
of the zone vanishes,

¢Pi+1/2 -- C1)i--1/2 ~- ¢Pj+l/2 -- % - 1 / 2 "1- ¢~k+1/2 -- ~ k - l / 2 = 0. (3.8)


Substituting the definition (3.7) into (3.8) and dividing by the cell volume AxAyAz produces the finite
difference definition of the constraint • • B = 0.
By regarding the magnetic field as a flux through a zone face we recast the field's evolution entirely in terms
of a line integral around that face, i.e, along the zone boundaries. The total rate of change of the flux through
the surface equals minus the total electromotive force (EMF), -~" = p × B, around the contour 3S. An EMF at
a given edge, say the one running in the z-direction, is defined,
z(~+]/2)
P

~zi+l/2,j+l/2 = - - / (vxBy -- vyBx) dz. (3.9)


z(k--l/2)

The extension to the other directions is obvious. The finite difference EMFs surrounding the surface at i - 1/2
are Cy i+1/2,k÷1/2' Ey i+U2,k-U2' Ez i+1/2,j+1/2 and Ez i+1/2,j-1/2. From these definitions we can write the finite-
difference version of (3.6), taking the line integral around the surface in the right-hand sense, as

~.~_( ¢15n+1
At "ri+J/z - 4'~+1/2) = + ~ ' i+l/2'k+l/zA Y -- Ev i+l/2.k_l/2A y
-- ~z i+1/2,j+1/2 A z "]'-~z i+1/2,j--1/2 A z,
J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148 139

for B~, and for By and Bz we have

I t @r~+l n
A~ ~ .]+1/2 -- ¢~j+1/2 ) = -- gX j+l/2,k+l/2 m x ÷ g.~ j+l/2,k-I/2 A x

÷ ~Z i+1/2,j+1/2 AZ --~z i-1/2,j+1/2 mg,


L/,q~n+l _ ~ibn
At ~k+l/2 k-~ 1/2) = -- gY i+l/2,k+l/2AY ÷ gY i-1/2,k+l/2Ay

÷ £_~,j+l/2,k+l/2Ax -- £.,: j_I/Z,k+I/zAX. (3.10)

Division of both sides of these finite-difference equations by the appropriate area, e.g. A y A z for q~i+~/2, yields the
CT evolution equation for the magnetic fields. If one substitutes the finite-difference evolution equation (3.10)
into the constraint equation (3.8), one sees that numerical conservation of flux follows naturally since each
EMF edge contribution appears twice in the sum, once with positive sign and once with negative. If the initial
field satisfies the constraint, so will the field generated by (3.10).
EH were concerned with obtaining such a conservative formalism for general coordinates with an eye to
general relativistic calculations. This is achieved by evolving not the magnetic field directly, but instead the
magnetic vector density/3 i = Bi/x/~, where x/Y is the determinant of the three metric (e.g., r 2 sin 0 in spherical
coordinates). By subsuming the coordinate information in the definition of the vector density we reduce the
induction equation in curvilinear coordinates back to the simple Cartesian form described here. This approach
will work so long as the zone volume is well approximated by v / ~ A x A y A z , where Ax, Ay, and AZ are general
curvilinear coordinate elements. Near a coordinate singularity, e.g. near r = 0 in spherical coordinates, additional
care is required if the truncation error associated with the geometry is to be kept to a minimum (see, e.g.,
M6nchmeyer and Mtiller, 1989).
Note that the addition of a finite resistivity can be accomplished by computing the current J along the zone
edges from the curl of the magnetic field (already naturally centered), and subtracting r/J from the appropriate
EMFs (where "r/ is the magnetic diffusivity).

3.3. ID M O C - C T

Up to this point we have not specified how to obtain the EMFs. As long as one stays within the CT framework,
any technique could be used to compute EMFs and the constraint would still be preserved. Obviously there
will be good and bad procedures for computing EMFs as determined by numerical stability and consistency
requirements, as well as the size of the truncation error.
To begin our search for a suitable EMF we consider a 1.5 dimensional (1.5D) system in (x, y) where Oy = 0
and assume a uniform Bx field. For this simple system, OtBx = 0. The induction equation for B,. can be written

OlBy = BxOxCy - 0x(cxBy). (3.11 )

The second term is just an advection term corresponding to the physical transport of the transverse field by the
velocity Vx. The first term, however, is different. It represents the shearing of the Bx field by a gradient in C'y.
It is this first term which, when coupled to the transverse Lorentz force, leads to the propagation of Alfvdn
waves at the Alfvdn velocity Ca = Bx/x/4zrp.
Since the EMF is located at an advanced time level, we must obtain estimates for v and B at the n + ½ time
level. If the induction equation consisted of nothing more than the advection of magnetic field by fluid motion
we would simply replace the density in (3.4) with By and vx to obtain average values for the magnetic field
and transverse velocity within the domain defined by the characteristic speed Vx. This was the approach used by
EH lbr their passive field advection test problems, and in the limit Vx >> Ca this is entirely adequate. However,
as we shall see, when evolving systems in which the magnetic field is dynamically important we need to take
into account the Alfv6n waves produced by the transverse Lorentz force.
140 J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148

The Lorentz force is ([ x7 × B ] × B )/4zr. This in turn can be subdivided into the magnetic pressure and
the transverse force terms,

( [~7 x B ] x B ) / 4 ~ = - ~ ( B 2 / 8 ~ ) + (B. "~B)/4~r. (3.12)


It is the second term on the right, the transverse tension force, that is responsible for Alfv6n waves. Ignoring
for the moment the pressure terms, the momentum equation,

8tUy = 4~pSxBy - 8x(VxVy), (3.13)

consists of the tension force and an advection term. The advection term is familiar, but the transverse force
term is why MHD has fundamentally different properties from hydrodynamics. This implies that caution is in
order when we try to extrapolate from past experience with numerical hydrodynamics.
To develop a scheme we need to start with simple applications, and the 1.5D system makes an admirable
testing ground for MHD algorithms. Stone et al. (1992) describe a number of such 1.5D tests, including a
rotating solar wind problem, the Brio and Wu (1988) MHD shock tube, and pure Alfv6n wave propagation
problems. It is the latter which are most enlightening in developing MHD algorithms. In a full MHD problem
such as the shock tube or the solar wind evolution, hydrodynamic and magnetic pressures are more important
than the magnetic tension force, and it is possible to solve those test problems to apparently acceptable accuracy
without ever rigorously testing the Alfv6n terms. In the limit of the pure Alfv6n wave problem, however, these
potentially troublesome terms from the MHD equations are isolated for study.
Indeed, our first attempts to create a finite difference MHD scheme, based on a straightforward extension
of the original CT scheme of EH, had difficulty with the pure Alfv6n wave test problem (Stone and Norman,
1992b), although it handled the shock tube and MHD wind problems reasonably well. C. Evans (private
communication) showed that it was possible to understand these initial difficulties from a v o n Neumann
analysis of the Alfv6n wave system. Consider this limit in which the MHD equations reduce to a simple wave
equation of the form

3,(b = 3xW, 3tw = 8xq~, (3.14)

assuming unit Alfv6n velocity. One obvious approach to differencing this system is with operator-splitting and
a staggered mesh so that

(fy~:r+ 1 n n+2l- n+2I-


j -~b~ = o ' ( w l - w . 1), (3.15)
J+~ J-~
and

W 1 -- W 1 ----"O ' ( t ~ J + l -- t~;), (3.16)


.i+ ~ J+
where o- = A t / A x is the Courant number. This is the staggered leap-frog scheme and it is stable, with
amplification factor equal to unity, so long as the Courant number is less than one. However, the standard
von Neumann analysis yields a numerical dispersion relation o~(k), where w and k are the frequency and
wavenumber in which the group velocity d w / d k goes to zero as the wavelength approaches 2Ax. This means
that an Aifv6n wave computed with the leapfrog scheme will be very dispersive, leaving high frequency
components in its wake as it travels through the grid.
Things are worse if the terms & and w are located at the same point in space, as they are in the centering
described above for the MOCCT scheme. The scheme is still stable but the dispersion relation has a maximum
at the wavenumber kmax/2, where kmax = 7T/Ax, and then turns over. Thus, for the shortest wavelength on
the grid, the group velocity is minus the physical propagation speed. In the absence of sufficient dissipation
J.E Hawley, J.M. Stone~ComputerPhysics Communications 89 (1995) 127-148 141

to eliminate the short wavelength components, significant ringing and numerical noise will quickly develop
throughout a calculational grid. Waves propagating off the grid through boundaries pose a great problem since
truncation errors at boundaries often generate noise, and this dispersion relation guarantees that this noise will
propagate back onto the grid. This explains the early difficulties with Alfv6n waves, such as the test shown in
Fig. 18 of Stone and Norman (1992b). It is worth noting that these undesirable numerical effects were present
in other test problems where pressure terms were more important than Alfv6n waves, but at sufficiently subtle
levels that they were not easily noticed (although they could be seen clearly by plotting the error rather than
the variables themselves). This demonstrates the importance of continual testing with many different problems
in different physical limits.
Dispersion errors such as these can be dealt with through the use of an aggressive numerical diffusion term.
Many of the finite-difference codes used in previous work depend on just such diffusion terms. This may not
be the best strategy, however, if one wishes to evolve wave phenomena over a fairly wide dynamic range.
We would like to work toward a scheme in which just enough damping is applied to prevent these dispersion
errors, but not so much as to compromise the solution. This was, of course, the idea behind such algorithms
as van Leer's monotonicity condition for hydrodynamics. Clearly we must take greater care when formulating
a scheme to compute both the EMFs and the Lorentz force.
Let's return to the EMF problem and consider what will happen over time At at the zone edge located at
xi+l/2 where the EMF is computed. First the magnetic field will be swept past by any velocity field that is
present (advection). In the usual way the time average over At of the advected field will be the average field
within the domain of dependence determined by Vxat (as in [3.4]). However, simple advection is not the
only way that the magnetic field evolves. There will also be left- and right-traveling Alfv6n waves if there is
a transverse field to support such waves. These waves will have domains of dependence determined by wave
speeds (u + VA)At and (v - UA)At. Using (3.4) with magnetic field substituted for density and the left- and
right-traveling AlfvEn wave speeds for the velocity, we can compute the average magnetic field values over
these domains for the time interval At. These are designated By and B +, respectively. Similar averages can be
obtained for Vy, i.e., Vy and u +. Now the solution to (3.11) and (3.13) is given by the Alfv6n characteristic
equation

Dt;.~, i 1 DBy _ O, (3.17)


Dt 4 x / - ~ Dt

where
D c9 Bx )a_a_
Dt - cgt + (Ux 5: ~ ax

At xi+l/2 where we wish to compute the EMF, this equation must be satisfied for both the left- and right-going
Alfv6n wave over the timestep At. There are two equations for the unknowns By and v~,, the time-advanced
magnetic field and velocity. Along the + characteristic B v. and Uy evolve from B + and Oy+to B~,* and v~,,*"along
the - characteristic B~7n and o~7n also evolve to By and Vy. Using Eq. (3.17) we can write

e ,• = [B:+ + a; + Vy) ] , (3.18a)

and

V•y = 7,[+Vy + Vy + ( B y+ - B y ) . (3.18b)

Thus the time-averaged values of the magnetic field and velocity carried to the zone face by the fluid flow and
the Alfv6n waves, along with the characteristic equations, give us a prediction for By and Vy at an advanced
time level that will, by design, account for the Alfv6n waves.
142 J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148

Here we describe in detail the steps in the MOCCT algorithm for the 1.5D problem in (x,y), with y as the
symmetry direction. For convenience we have incorporated the factor of ~ into the definition of the magnetic
field in all following equations. The density p, By field and Uy velocity are all located at zone centers designated
by the integer xi locations. (In 2D By and Uy will be located at the half-integer Yj+1/2 zone faces.) The velocity
Vx and magnetic field Bx are located at half-integer zone boundaries xi+v2. Note that in the Cartesian 1.5D
problem Bx is a constant in space and time. The induction equation for By is relatively simple, involving only
one EMF. To compute that EMF £i+1/2 at location xi+l/2, first compute the characteristic wave speeds

C%1/2 = Ux i+1/2 -- Bx i+l/2/v@i+l/2,

Ci;1/2 = Ux i+1/2 @ Bx i+l/2/V/-'Pi+l/2 , (3.19)

where Pi+l/2 is a suitable average to the location Xi+l/2, e.g.,

Pi+l/2 =- ½(Pi+I + Pi). (3.20)

In multidimensions both Bx and Vx would need to be averaged in the transverse (in this case y) direction as
well.
Next compute the time-averaged values of the y field and velocity within the domain of dependence for these
two wave speeds using the piecewise-continuous van Leer functions. For example, consider B +,

B,+=Byi+½(Ax-c+At)(~) ,
i
if c + > 0, and

B ,+ = B r i + j - ½( Ax + c+At) ( ABy ) (3.21)


" \ AX //i+1 '

if c + < 0. The t e r m ( A B y / A x ) i is the monotonic van Leer slope centered on xi as defined, for example, in
(3.3). Similar time-averages are obtained for By and v~. Once all four input averages are computed, we can
solve the characteristic equation for By and Cy at zone face i + 1/2,

8:* = ~' (SCNv~l v,+-vTl + le,+ + 8 7 1 ) , (3.22a)

and

v~*,= ½ (SGN [B~+, - Byl/V'7 + IVy+ + Vy]), (3.22b)


where SGN is the sign of Bx. Note that this algorithm reduces to simple advection in the limit that VA << Vx.
Finally, construct the EMFs from the starred values,

--Ei+I/2 = Vx i+l/2By - VyBx i+1/2" (3.23)

The magnetic field is then updated via the CT step,

By n+l = By n ..]_At (Ei+I/2 -- Ei-1/2) lax. (3.24)

Because both the induction equation and the Lorentz force are implicated in the production of undesirable
dispersion error, it is important to carry out a similar procedure for the transverse Lorentz force. We again
require magnetic fields at a time advanced level, now for the momentum difference equation,

Syin+l = S n
yi + A t B x ( B y i*+ l / 2 - B y i -*u 2 ) / A x " (3.25)
J.F. Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148 143

Here the B~ terms are those responsible for Alfv6n waves and again we use the Alfvdn characteristics to
improve our estimate. Note that in problems more complicated than the simple 1.5D system we must use an
appropriate average of Bx after it is updated in the induction equation routine. The By values for (3.25) are
obtained as described above using updated magnetic fields and characteristic speeds of ±Bx/x/-P. Note that the
characteristic speed no longer includes the vx velocity because we regard this update as a Lagrangian step; the
advection of momentum and magnetic field have already been performed for this timestep.
The magnetic pressure term poses no special problem. In the 1.5 dimensional case the By field provides an
acceleration term for the x momentum Sx,

S n~l
i~1/2 --= S.~ ,,i+1/2 - A t ~ ( O y i + l -Oyi)/Ax, (3.26)

where ~ is an appropriately centered spatial average of By at location i + 1/2. In higher dimensions the
difference in B). will also have to be averaged in the y-direction. The pressure acceleration is a Lagrangian step
and is carried out after momentum advection and the evolution of the magnetic field by the induction equation.
This is required for proper centering in time of the terms in the wave equation.
The 1.5D version of MOCCT has been tested extensively and many of these tests are described in Stone et al.
(1992). The scheme reproduces all the features of the Brio and Wu (1988) magnetic shock tube. Comparing
our results with those of the MHD Godunov-type codes we find that MOCCT has larger errors in the post-shock
values; this is consistent with the performance of an artificial viscosity code versus a Godunov code on ordinary
hydrodynamic shock tubes. The Alfvdn wave tests are quite satisfactory. Alfvdn waves are propagated on the
grid in both stationary and moving backgrounds with, if anything, less dissipation than seen in the passive
advection of a pulse with the van Leer algorithm. Stone et al. (1992) compute a rotating, magnetic solar wind
problem and a magnetic-braking problem and compare with analytic solutions. For even moderately resolved
grids the relative error is on order 0.1%, and Stone et al. (1992) demonstrate convergence toward the analytic
solution with increasing resolution.

3.4. Multidimensional M O C C T

In principle, the extension of the 1.5D MOCCT scheme to muitidimensions is straightlorward. In either 2D
or 3D the MOCCT step is done in planar slices. For example, the computation of the z-component of the
EMF involves only the x and y components of B and v. This is illustrated in Fig. 2. Consider a 3D system
in Cartesian coordinates (x, y, z). A given EMF, say £z i+l/2,j+l/2,k, is computed in the (x, y) plane located at
zk and centered at the zone corner xi+v2, Yj+J/2. First, as described above, one computes the B~ and v~ values
using u~ and the Alfvdn speed averaged to the zone corner. Then one repeats the procedure, computing B~
and ;.,.
•* from the t,,. velocity and Alfvdn speed similarly averaged to the zone corner. One can then construct an
EMF,

- £ : i~J/2,j+l/2.k = v~B,*, - v3*Bx. (3.27a)

Similarly one defines

--'~x i,.i+l/2,k+l/2 = urO,. - vzB~., (3.27b)

and

- ~ y i+l/2,j,k+l/2 = Uz*Ox* - VxBz,


* * (3.27c)

each computed in the appropriate 2D plane. These can now be inserted into the CT evolution equation (3.10).
The extension to multidimensions of the 1D scheme for the magnetic force is also obvious. For example, the
acceleration of the z momentum Sz by the transverse magnetic forces is given by
144 J.E Hawley,J.M. Stone~ComputerPhysics Communications89 (1995) 127-148

(~,) (e,)t,j+./... (~)tn+l/sj+l/~k)

AY pl P (B,)o.,/~j.~)
] (x,, ~, z,)
f
I
I
f
I
f~x
r
Fig. 2. A two-dimensional (x, y) slice showing the location of variables used in the computationof the z componentof the EME
Sz i,j,k+l/2
n+l
= Sz i,j,k+l/2 -~- At [ -~v(Bz.
n
i,j+l - Bz ,,j*.)/Ay + Bx(Bz i+l,j
* - - *
- - Bz i,j)/Ax ] ,
*
(3.28)

where Bx and By are four-point averages to the spatial location of Sz of the magnetic field after an update by
constrained transport. The starred magnetic field values are each computed with a 1D characteristic computation
as described above. Similarly, the magnetic pressure acceleration is

Szn+, , [-~xfABx)+-~y(ABy)]
i,j,k+l/2 = Sz i,j,k+l/2 -- A t ~x Az } \ mz }J ' (3.29)

where the differences and averages are all computed using the updated magnetic field values.
The multidimensional MOCCT scheme has undergone testing on a variety of problems, including wave
advection tests (both pressure and Aifv6n) and Brio and Wu (1988) shock problems in all directions. However,
these tests are just variations on the 1D tests. True multidimensional tests are more difficult to come by. The
solar coronal ejection problem in Stone et al. (1992) is one example. The simulations described in Hawley and
Balbus ( 1991 ) provide another test by comparing numerical growth rates for the MHD instability in rotationally
supported systems with those obtained analytically from perturbation theory. The MOCCT scheme does well
with all of these these problems.
We have found, however, a test problem on which the scheme as described above has difficulties. This is the
evolution of a current sheet. A current sheet is present whenever the magnetic field changes discontinuously.
The existence of current sheets is a problem in general for finite difference MHD, as is any discontinuity, since
they cannot be represented accurately in finite-sized zones. In the absence of resistivity a current sheet should
not diffuse away, nor should field lines reconnect across it. However, since a finite difference code cannot
resolve structures on scales smaller than a grid zone, numerical reconnection will occur.
It is worth noting that the finite grid size sets an effective reconnection length scale even in the ideal MHD
limit. Because magnetic flux is viewed as a finite integral over a surface, one loses information each time
oppositely-directed fields are carried into the same grid zone. This is anomalous numerical reconnection and
the magnetic energy thus lost does not go into heat via Joule heating. Some of this magnetic energy is carried
off in waves, however, so it need not be entirely lost to the system. The corresponding numerical magnetic
Reynolds number is roughly equal to the number of grid zones used to resolve a given spatial dimension,
J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148 145

although the effect is not strictly a magnetic resistivity; stationary fields will not diffuse away, for example.
This numerical Reynolds number does, however, set a limit on how small a physical resistivity can be modeled
with a finite-difference code. The diffusion length scale set by the physical resistivity must be greater than the
size of the grid zones, i.e., it must be resolved. Given the relatively crude resolution currently possible in 3D
astrophysical simulations, and the very high magnetic Reynolds numbers associated with most astrophysical
plasmas, there is no need to include a physical resistivity term.
The current sheet test problem is designed to see what an algorithm will do with a perturbed current sheet.
Although we do not have an analytic solution for this test problem, it is nevertheless useful to test the response
of the code to the presence of a current sheet. A typical current sheet test is run in two dimensions using a
periodic, square grid upon which there is a uniform magnetic field that discontinuously reverses direction at
some point. This current sheet is then perturbed by adding a small, spatially-varying transverse velocity. In
one test we used a 64 x 64 zone grid over an x- and y-domain from 0 to 1. The background pressure and
density are constants ( P = 10 -6, p = 1). From 0 < x < 0.5 we set By equal to a large positive value (we
used lv/]-0P), and from 0.5 < x < 1 we set By negative. Because of the periodic boundary conditions there are
two current sheets. These initial conditions are perturbed with a periodically varying sub-Alfv6nic transverse
velocity, Vx (= 10-4By sin(27ry)). We then observe how the current sheet evolves. One expects it to oscillate
with an Alfv6n frequency (so long as the amplitudes are very small). Any numerical reconnection along the
current sheet will show up as loss of magnetic energy and/or the generation of waves at the reconnection site.
We found that numerical reconnection occurred in amounts that depend upon such factors as the relative
strength of the magnetic field and the grid resolution. However, some of the reconnection events were accompa-
nied by the generation of a strong local maxima in the EMF at one grid corner location which, in turn, created
a strong field loop around that corner. Sometimes this strong field loop lingers and sometimes it is promptly
destroyed by reconnection, but even then it produces anomalous sound waves that add to the numerical noise
at the current sheet. These strong field loops can also significantly reduce the timestep, a serious problem for
multidimensional simulations since one then spends inordinate time evolving an anomalously strong field loop.
These difficulties can be avoided by adding a large enough resistivity so that the resistive length scale is
larger than a grid zone. The current sheet is then no longer a discontinuity. If this were done, however, we
would no longer be computing the ideal MHD equations. In fact the goal for astrophysical MHD is to reduce
the resistivity as much as possible. Hence we again seek a solution to this difficulty that does not involve
increasing the numerical diffusivity.
A problem similar to that seen in the current sheet test problem was observed by D. Clarke (private
communication) in tests of 3D MOCCT with strongly shearing MHD jet flows in an extreme limit: fl ~ 10 l°.
In Clarke's case, this was an especially severe problem, since these field generation events generated anomalous
strong field loops in an otherwise utterly weak field domain. Clarke was able to identify the source of the
difficulty as stemming from two things: (1) the presence of discontinuities at the zone boundaries due to
the piecewise-linear monotonic representations of the functions, and (2) a potential inconsistency between
the velocity and magnetic field used to estimate the Alfv6n wave domain of dependence, (B,F), and the
time-advanced values, (B*, c,*).
Let's consider these two points in more detail. First, the piecewise linear functions representing the magnetic
and velocity fields are often discontinuous at the zone boundaries. Physically such discontinuities will generate
an Alfv6n wave which will, in turn, be included in the time-advanced field and velocity estimates. The strength
of that wave, however, will depend on the magnitude of the transverse magnetic field; a negligible field will
produce a negligible effect. Now recall that when estimating the time-advanced magnetic field, e.g. B,*., we used
an Alfv6n characteristic cone determined by the transverse magnetic field strength and velocity, obtained using
averaged values, v-~-Bx/v/-fi. Similarly, B--~yand ~ are used when computing B x and vx. However, each starred
field component, e.g., B~*, is a solution of the characteristic problem only with the transverse field estimate, Bx,
that was used in establishing the characteristic cone. This Bx need not be consistent with the transverse starred
146 J.F. Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148

field estimate B x. In most cases it is, but near current sheets or near strong shear layers they may be quite
different.
To make this more concrete, consider what happens near the current sheet in the problem described above.
There is a strong discontinuity in By. If Bx/v/-fi > vx then the plus and minus characteristics domains straddle
the discontinuity and there will be a large difference between B~+ and By due to the discontinuity. By the
characteristic Eq. (3.18) a significant Vy will be generated. This is the correct solution: a rotational discontinuity
in the field will produce an Alfv6n wave; however, the amplitude of that wave will depend on Bx. If, however,
in the computation of B x through the sweep in the y-direction one obtains a dramatically different value
of Bx from that used to compute the Alfv6n speed in the x-direction, then the two values B x and v~*, will
not be consistent with one another and an EMF constructed out of their product will be inaccurate. This is
fundamentally a multidimensional problem; in simple 1.5D only one Alfv6n wave direction exists and there
is only one characteristic equation to solve. The root of this difficulty lies with the use of a ID directionally-
split procedure to create components of an inherently multidimensional operation, i.e., evolving the induction
equation subject to the divergence-free field constraint.
Clarke addresses this difficulty with an algorithm he calls Consistent MOCCT. The characteristic problem is
done implicitly in two directions at once so that the starred values are the same as the values used to compute
the domain of dependence in the time-averaging. (In the present notation this means that B x and B~ are the
same.) Thus the two 1D MOC procedures are replaced with one 2D implicit MOC calculation. From tests
and simulations, Clarke (private communication) has demonstrated that this procedure solves the anomalous
EMF problem. It has the drawback usually associated with any implicit scheme of much greater complexity
and computational expense.
We have developed an alternative procedure that remains time-explicit, but corrects the difficulty by using
our I D sweeps consistently. To demonstrate this approach, consider the computation of Ez from x- and y-
components of the velocity and magnetic field. To obtain B**. and Vy we need characteristic cones projected in
the x direction back from the zone corner at velocities ~ + B--~/v/-fi and b T - ~ - ~ / v ~ " To estimate these velocities
we assume that a good first guess of Fxx and Bx at the zone corner can be obtained by using velocities that have
already been advected in the Eulerian transport step and assuming passive advection of the magnetic field by
that velocity. (This is in contrast to the simple spatial averages used originally.) Essentially these estimates are
those used in the passive advection formulation of CT (EH). The advected values are then used to formulate
the cones for the characteristic problem in the y-direction. The characteristic problem is carried out as usual,
producing B~*. and v~*..The process is repeated for v~ and B~ using advection-estimates ~ and BT'. Finally we
form the EMF by combining starred estimates only with the values with which they are consistent. The two
1D EMFs are averaged to obtain a final EMF,

( Vx By + v-TB ~* v,, Bx - v~B~ ). (3.30)

The remaining EMF components are similarly dealt with and the constrained transport proceeds as usual. In
the torsional MHD force routine the starred values were already coupled directly with the magnetic field value
used to compute the Alfv6n speed, hence no changes are required there.
We can now summarize the full timestep in the multidimensional MOCCT scheme: ( 1 ) Eulerian transport of
momentum, energy and density, (2) constrained transport of the magnetic fields, (3) transverse Lorentz force
using updated fields, (4) acceleration by gas and magnetic pressure, followed by the velocity update, and (5)
PdV work and viscous heating. As usual, the timestep is limited by the Courant condition, which now must
include the fast magnetosonic speed as well as the sound speed.
Undoubtably there are still improvements that could be made within this framework, but in tests this algorithm
performs very well. The current sheet test problem is significantly improved by using the EMFs as defined by
(3.30). There are no anomalous current spikes or fields anywhere along the current sheet. There are few other
apparent differences from the original formulation for the EMF, (3.27). The only change observed in MHD
J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148 147

shock test problem is that the post-shock oscillations were slightly smaller in the original form of the scheme.
The only proof of the procedure, however, will be further applications and tests.

4. Applications and directions

In this paper we have described the current implementation of the MOCCT finite difference algorithm for
multidimensional MHD. We believe that the 3D MOCCT scheme is a significant improvement over MHD
schemes based on the donor cell or Lax-Wendroff techniques. We have been able to simulate systems both
with weak fields B >> 1 and relatively strong fields/3 < 1, as well as models where the magnetic field is found
in only part of the system, i.e. hydrodynamic regions and MHD regions in the same problem.
To date the MOCCT scheme has been employed in a number of astrophysical applications including MHD
jets, and shocks hitting magnetized interstellar clouds. In our own work, MOCCT has been used for studies
of magnetized accretion disks. The behavior of the MHD accretion disk instability has been investigated
through 2.5D axisymmetric simulations (Hawley and Balbus, 1991; 1992). The results were compared directly
with analytic linear perturbations calculations. Hawley and Balbus (1992) found excellent agreement between
numerical and analytic growth rates. Fully 3D simulations of the instability have also been carried out (Hawley,
Gammie and Balbus, 1995). The resolution that can be used for such simulations is necessarily crude, but
there is still good agreement between analytic and numerical growth rates and wave frequencies. Stone and
Norman (1994) have simulated an accretion disk in 2.5D with axisymmetry. The disk is initially in Keplerian
equilibrium and threaded by a vertical magnetic field. In the weak field limit (/3 > 1) the disk is subject to
the MHD instability of Balbus and Hawley (1991). The transfer of angular momentum within the disk quickly
leads to infall. In the strong field limit (/3 < 1) the predominate means of angular momentum transfer is up
and out of the disk through torsional Alfv6n waves. This too leads to a rapid disk infall.
There are several future directions for MHD code development that will be important for astrophysical
simulations. One of the advantages of the MOCCT scheme is that it is relatively straightforward to add
additional physics. For example, simple radiative cooling could be added after the P d V work step. Another
example would be finite resistivity. To date we have used only the ideal MHD equations, i.e., infinite conductivity,
in our astrophysical applications. We have not included any explicit resistivity, nor is any needed in order for
the code to perform well. Of course, there is no difficulty in adding finite resistivity to this formulation and we
have run such cases as test problems. Finite resistivity may be appropriate when considering the evolution of
protostellar disks.
An important astrophysical extension of the present algorithm would be to two-fluid systems consisting of
both ions and neutrals. Such a system is appropriate to describe dense regions of cold molecular clouds where
the ionization fraction is small. Two fluid systems of ions and neutrals have several additional wave families
whose properties will have to be accounted for properly. Another challenging task is to develop techniques
that will work both for MHD regions and electro-magnetic regions. An example application is to the study of
accretion disks around black holes. Magnetic fields can, in principle, tap directly into the rotational energy of a
black hole. The process is primarily electrodynamic, although an accretion disk is required to anchor the field
around the hole. Such a model has been invoked as a possible scenario for radio jet production. For this we
would need a fully relativistic algorithm that included displacement currents. Such a code is still beyond the
current state of the art, but we are hopeful that the efforts of the many people now investigating astrophysical
MHD algorithms will point the way toward this future.
148 J.E Hawley, J.M. Stone~Computer Physics Communications 89 (1995) 127-148

Acknowledgements

We w o u l d like to a c k n o w l e d g e D a v i d Clarke, Charles Evans, and M i k e N o r m a n for contributions to this


a l g o r i t h m d e v e l o p m e n t effort, and Charles G a m m i e for a careful reading o f the manuscript. This w o r k is partially
supported by N S F grant P H Y - 9 0 1 8 2 5 1 and N A S A grants N A G W - 1 5 1 0 and N A G W - 2 3 7 6 . C o m p u t a t i o n s were
carried out on the Cray YMP, Cray 2, and C M 2 systems o f the National Center for S u p e r c o m p u t i n g Applications.

References

S.A. Balbus and J.E Hawley, 1991, Astrophys. J. 376, 214.


R.L. Bowers and J.R. Wilson, 1991, Numerical Modeling in Applied Physics and Astrophysics (Jones and Bartlett, Boston).
J.U. Brackbill and D.C. Barnes, 1980, J. Comput. Phys 35, 426.
M. Brio and C.C. Wu, 1988, J. Comput. Phys. 75, 400.
P. Colella and P.R. Woodward, 1984, J. Comput. Phys. 54, 174.
W. Dai and P.R. Woodward, 1994a, J. Comput. Phys. 111,354.
W. Dai and P.R. Woodward, 1994b, J. Comput. Phys. 115, 485.
C.R. Evans and J.E Hawley, 1988, Astrophys. J. 332, 659 (EH).
J.A. Fedder and J.G. Lyon, 1987, Geophys. Res. Lett. 14, 880.
S.K. Godunov, 1959, Matematicheskii Sbornik 47, 271.
D. Gottlieb, 1972, J. Numer. Anal. 9, 650.
J.E Hawley and S.A. Balbus, 1991, Astrophys. J. 376, 223.
J.E Hawley and S.A. Balbus, 1992, Astrophys. J. 400, 595.
J.F. Hawley, C.F. Gammie and S.A. Balbus, 1995, Astrophys. J. 440, 742.
A. Kageyama, K. Watanabe and T. Sato, 1992, J. Geophys. Res. 97, 3929-3943.
Y.Q. Lou, R. Rosner and P. Ulmschneider, 1987, Astrophys. J. 315, 349.
R. Mtinchmeyer and E. Mtiller, 1989, Astron. Astrophys. 317, 351.
A. Nordlund, A. Brandenburg, R.L. Jennings, M. Rieutord, J. Ruokolainen, R.E Stein and I. Tuominen, 1992, Astrophys. J. 392, 647.
M.L. Norman, J.R. Wilson and R.T. Barton, 1980, Astrophys. J. 239, 968.
M.L. Norman and K-H.A. Winkler, 1986, in: Astrophysical Radiation Hydrodynamics, K-H. Winkler and M. Norman, eds (Reidel,
Dordrecht) p. 187.
T. Ogino, R.J. Walker, M. Ashour-Abdalla and J.M. Dawson, 1986, J. Geophys. Res. 91, 10029-10045.
G.J. Philips and J.J. Monaghan, 1985, Mon. Not. R. Astron. Soc. 216, 883.
J. Pringle, 1981, Ann. Rev. Astron. Astrophys. 19, 137.
J.D. Ramshaw, 1983, J. Comput. Phys. 52, 592.
P.J. Roache, 1972, Computational Fluid Dynamics (Hermosa, Albuquerque).
K. Shibata, Y. Uchida, 1985, Publ. Astron. Soc. Jpn 37, 31-46.
J. Stone, J.F. Hawley, C.R. Evans and M. Norman, 1992, Astrophys. J. 388, 415.
J. Stone and M. Norman, 1992a, Astrophys. J. Supp. 80, 753.
J. Stone and M. Norman, 1992b, Astrophys. J. Supp. 80, 791.
J. Stone and M. Norman, 1994, Astrophys. J. 433, 746.
G. Strang, 1968, SIAM J. Numer. Anal. 5, 506.
P.K. Sweby, 1984, SIAM J. Numer. Anal. 21,995.
B. van Leer, 1977, J. Comput. Phys. 23, 276.
M. van Putten, 1993, J. Comput. Phys. 105, 339.
M. van Putten, 1994, SIAM J. Numer. Anal., in press.
K. Watanabe, and T. Sato, 1990, J. Geophys. Res. 95, 75-88.
P. Woodward and P. Colella, 1984, J. Comput. Phys. 54, 115.
A.L. Zachary and P. Colella, 1992, J. Comput. Phys. 99, 341.
A.L. Zachary, A. Malagoli and P. Colella, 1994, SIAM J. Sci. Comput. 15, 263.

You might also like