Abstract
We describe a numerical method to solve the magnetohydrodynamic (MHD) equations. The fluid variables are updated along each direction using the flux conservative, 2nd order, total variation diminishing (TVD), upwind scheme of Jin and Xin. The magnetic field is updated separately in two-dimensional advection-constraint steps. The electromotive force (EMF) is computed in the advection step using the TVD scheme, and this same EMF is used immediately in the constraint step in order to preserve \grad.B=0 without the need to store intermediate fluxes. Operator splitting is used to extend the code to three dimensions, and Runge-Kutta is used to get second order accuracy in time. The advantages of this code are high resolution per grid cell, second order accuracy in space and time, enforcement of the \grad.B=0 constraint to machine precision, no memory overhead, speed, and simplicity. A 3-D Fortran implementation less than 400 lines long is made freely available. We also implemented a fully scalable message-passing parallel MPI version. We present tests of the code on MHD waves and shocks.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.