# Good introduction to numerical methods for magnetohydrodynamics (MHD)

I very recently started to read up about magnetohydrodynamics (MHD). While I have experience in the fluid part (both theory and numerics), my knowledge about the magneto part is very limited.

At the moment, I am working through the book by Davidson which is great for learning about physics. I decided that a good first step will be to write my own simple code solving the induction equation

$$\begin{equation} B_t = \nabla \times \left( \mathbf{u} \times B \right). \end{equation}$$

The problem is I do not know how a specific choice of numerical method will perform for this problem nor how good test cases would look like.

Therefore, I am looking for a good introductory book or script on numerical methods for MHD. Ideally, I hope to find something that is similar to the book by Durran for geophysical fluid dynamics (GFD) - a thorough introduction to different numerical methods used in the field and analysis of their performance from simple to complex benchmarks problems.

Addendum: To clarify my question a little bit, I am not looking for general introductions into methods that are used in MHD (finite differences, specific integration methods, finite elements, etc). Rather, I am looking for a book that discusses how these methods perform for specific equations related to MHD. For example, what happens if I solve the induction equation with an implicit Euler and centred differences? What changes if I use an upwind stencil instead? The book by Durran does a really great job answering such questions for GFD - I was hoping something similar might be around for MHD, too.

PS: I found the following question which is interesting (I will try out the codes linked there), but does not provide an answer for a good book to understand what is happening in the codes linked there.

• You might ask Frank Graziani at Lawrence Livermore for advice on this. Nov 4, 2015 at 12:29

From what I understand, you'd like to see which numerical method best simulate the real physics relevant for a particular problem. MHD spans a wide scale of phenomena -- plasma physics (on length scales of ions and electrons) to ideal MHD (on the length scale relevant to accretion disks around blackhole or other compact objects).
In this case, it's advisable to keep track of what part/scale of physics you'd like simulate and neglect others with proper justification from physics scaling arguments, especially where fluid approximation is or is not suitable and to what error.

I have referred mostly the book by Bowers and Wilson, Numerical Modeling in Applied Physics and Astrophysics. It introduces the numerical scheme very soon after setting up the basic equations and has an introduction to both Lagrangian and Eulerian schemes. Gabor Toth, an experienced researcher in this field, has lecture notes -- http://www-personal.umich.edu/~gtoth/Teach/porto_course.pdf. It is a good introduction to common problems in MHD simulation (keeping divergence free etc) and principles of code design.

Regarding test cases, any research grade code base will have an excellent comparison or at least a list of test problems. FLASH (http://flash.uchicago.edu/site/) is one such base extensively used for research. Its user guide (http://flash.uchicago.edu/site/flashcode/user_support/flash4_ug_4p3/node39.html#SECTION010120000000000000000) has a good collection and considered as a good set of test problems and MHD code has to satisfy.

P.S.: For induction equation, the two-dimensional MHD rotor problem (Balsara and Spicer, 1999) would be a good one.

• Thanks @sceptic_one for the answer. I browsed through the lecture notes and while they are interesting, they seem to provide a rather general discussion of methods like finite difference, finite volumes etc. but not with much detail regarding their use in MHD (except chapter 5 probably). I will check out the book, though! Nov 4, 2015 at 14:50

There was a good series of lectures given by Jim Stone at a summer school held at IAS. The links are here (Stone_Lecturex.pdf)

http://www.sns.ias.edu/pitp2/2009files/Lecture_Notes/

• Thanks @Kareem, for the slides. This must have been an interesting event to attend! But the slides also seem to cover mostly general topics of numerical analysis (finite differences, geometric integration etc) but I could not find much discussion about their performance for specific problems related to MHD. Nov 5, 2015 at 8:23
• It may be worth looking at some of the MHD method papers, they often have lengthy appendices with discussions of the behavior of algorithms on test problems. The Zeus MP method paper is good (Hayes 2006) as well as the Athena method paper. Nov 5, 2015 at 14:28

http://users.monash.edu.au/~dprice/SPH/ has references to some introductory notes on MHD in the case of SPH. There's also a number of astrobites on the topic (some of the references may be of some help):