Skip to main content

A Finite Volume MHD Code in Spherical Coordinates for Background Solar Wind

  • Chapter
  • First Online:
Magnetohydrodynamic Modeling of the Solar Corona and Heliosphere

Part of the book series: Atmosphere, Earth, Ocean & Space ((AEONS))

Abstract

A second-order Godunov-type finite volume method (FVM) to advance the equations of single-fluid solar wind plasma magnetohydrodynamics (MHD) in time has been implemented into a numerical code. This code operates on a three-dimensional (3D) spherical shell with both non-staggered and staggered grids on the overlapping grid system with hexahedral cells of quadrilateral frustum type. By merging geometrical factors in spherical coordinates into the reformulation of fluxes, flux evaluation is made easy to achieve, and thus many numerical schemes with the total variation diminishing (TVD) slope limiters and approximate Roe solvers intended for Cartesian case can follow in the present context of spherical grid described here. At the same time, alternative strategies to ensure a solenoidal magnetic field, such as projection Poisson (PP) solver, hyperbolic divergence cleaning (HDC) method derived from generalized Lagrange multiplier (GLM) formulation of MHD system and constrained transport (CT) method, are employed. In this chapter, an FVM is described exemplarily on a six-component composite grid system by using a minmod limiter for oscillation control. Additionally, an implicit dual time-stepping technique is demonstrated to model the steady state solar wind ambient. Being of second order in space and time, this model is written in FORTRAN language with Message Passing Interface (MPI) parallelization, and validated in modeling the large-scale structure of solar wind from the Sun to Earth process (hereafter called Sun-to-Earth Process MHD model, also STEP-MHD model for brief). To demonstrate the suitability of our code for the simulation of solar wind ambient from the Sun to Earth, selected results from Carrington rotations (CR) during different solar activity phases are presented to show its capability of producing structured solar wind in agreement with observations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 119.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 159.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 159.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Arge CN, Odstrčil D, Pizzo VJ, Mayer LR (2003) Improved method for specifying solar wind speed near the Sun. In: Velli M, Bruno R, Malara F, Bucci B (eds) Solar Wind Ten, American institute of physics conference series, vol 679, pp 190–193

    Google Scholar 

  2. Balsara DS, Kim J (2004) A comparison between divergence-cleaning and staggered-mesh formulations for numerical magnetohydrodynamics. Astrophys J 602:1079–1090

    Article  ADS  Google Scholar 

  3. Balsara DS (2004) Second-order-accurate schemes for magnetohydrodynamics with divergence-free reconstruction. Astrophys J Suppl Ser 151:149–184

    Article  ADS  Google Scholar 

  4. Balsara DS (2009) Divergence-free reconstruction of magnetic fields and WENO schemes for magnetohydrodynamics. J Comput Phys 228:5040–5056

    Article  ADS  MathSciNet  MATH  Google Scholar 

  5. Balsara DS (2010) Multidimensional HLLE Riemann solver: application to Euler and magnetohydrodynamic flows. J Comput Phys 229:1970–1993

    Article  ADS  MathSciNet  MATH  Google Scholar 

  6. Balsara DS (2012a) A two-dimensional HLLC Riemann solver for conservation laws: application to Euler and magnetohydrodynamic flows. J Comput Phys 231:7476–7503

    Article  ADS  MathSciNet  MATH  Google Scholar 

  7. Balsara DS (1998) Total variation diminishing scheme for adiabatic and isothermal magnetohydrodynamics. Astrophys J Suppl Ser 116(1):133

    Article  ADS  Google Scholar 

  8. Balsara DS (2012b) Self-adjusting, positivity preserving high order schemes for hydrodynamics and magnetohydrodynamics. J Comput Phys 231(22):7504–7517

    Article  ADS  MathSciNet  Google Scholar 

  9. Balsara DS, Shu CW (2000) Monotonicity preserving weighted essentially non-oscillatory schemes with increasingly high order of accuracy. J Comput Phys 160(2):405–452

    Article  ADS  MathSciNet  MATH  Google Scholar 

  10. Balsara DS, Spicer D (1999) Maintaining pressure positivity in magnetohydrodynamic simulations. J Comput Phys 148(1):133–148

    Article  ADS  MathSciNet  MATH  Google Scholar 

  11. Balsara DS, Meyer C, Dumbser M, Du H, Xu Z (2013) Efficient implementation of ADER schemes for Euler and magnetohydrodynamical flows on structured meshes - Speed comparisons with Runge-Kutta methods. J Comput Phys 235:934–969

    Article  ADS  MathSciNet  MATH  Google Scholar 

  12. Barth TJ, Jespersen DC (1989) The design and application of upwind schemes on unstructured meshes. AIAA Paper 89–0366

    Google Scholar 

  13. Berthon C (2005) Stability of the MUSCL schemes for the Euler equations. Commun Math Sci 3(2):133–157. https://projecteuclid.org:443/euclid.cms/1118778272

    Article  MathSciNet  MATH  Google Scholar 

  14. Berthon C (2006) Why the MUSCL-Hancock scheme is \(L^1\)-stable. Numerische Mathematik 104(1):27–46. https://doi.org/10.1007/s00211-006-0007-4

    Article  MathSciNet  MATH  Google Scholar 

  15. Blazek J (2005) Chapter 10-Consistency, accuracy and stability. In: Blazek J (ed) Computational fluid dynamics: principles and applications, 2nd edn. Elsevier Science, Oxford, pp 351–371

    Chapter  Google Scholar 

  16. Brio M, Wu C (1988) An upwind differencing scheme for the equations of ideal magnetohydrodynamics. J Comput Phys 75(2):400–422

    Article  ADS  MathSciNet  MATH  Google Scholar 

  17. Bryan GL, Norman ML, Stone JM, Cen R, Ostriker JP (1995) A piecewise parabolic method for cosmological hydrodynamics. Comput Phys Commun 89:149–168. https://doi.org/10.1016/0010-4655(94)00191-4

    Article  ADS  MATH  Google Scholar 

  18. Čada M, Torrilhon M (2009) Compact third-order limiter functions for finite volume methods. J Comput Phys 228(11):4118–4145. https://doi.org/10.1016/j.jcp.2009.02.020

    Article  ADS  MathSciNet  MATH  Google Scholar 

  19. Calgaro C, Creusé E, Goudon T, Penel Y (2013) Positivity-preserving schemes for Euler equations: sharp and practical CFL conditions. J Comput Phys 234:417–438. https://doi.org/10.1016/j.jcp.2012.09.040

    Article  ADS  MathSciNet  MATH  Google Scholar 

  20. Cargill PJ, Schmidt J, Spicer DS, Zalesak ST (2000) Magnetic structure of overexpanding coronal mass ejections: numerical models. J Geophys Res 105:7509–7520

    Article  ADS  Google Scholar 

  21. Chen XY, Zha GC (2006) Implicit application of non-reflective boundary conditions for Navier-Stokes equations in generalized coordinates. Int J Numer Methods Fluids 50(7):767–793

    Article  MathSciNet  MATH  Google Scholar 

  22. Cheng Y, Li F, Qiu J, Xu L (2013) Positivity-preserving DG and central DG methods for ideal MHD equations. J Comput Phys 238:255–280

    Article  ADS  MathSciNet  MATH  Google Scholar 

  23. Chesshire G, Henshaw WD (1990) Composite overlapping meshes for the solution of partial differential equations. J Comput Phys 90(1):1–64

    Article  ADS  MathSciNet  MATH  Google Scholar 

  24. Chesshire G, Henshaw WD (1994) A scheme for conservative interpolation on overlapping grids. SIAM J Sci Comput 15(4):819–845

    Article  MathSciNet  MATH  Google Scholar 

  25. Christlieb AJ, Feng X, Jiang Y, Tang Q (2018) A high-order finite difference WENO scheme for ideal magnetohydrodynamics on curvilinear meshes. SIAM J Sci Comput 40(4):A2631–A2666. https://doi.org/10.1137/17M115757X

    Article  MathSciNet  MATH  Google Scholar 

  26. Christlieb AJ, Feng X, Seal DC, Tang Q (2016) A high-order positivity-preserving single-stage single-step method for the ideal magnetohydrodynamic equations. J Comput Phys 316(Supplement C):218–242, https://doi.org/10.1016/j.jcp.2016.04.016

    Article  ADS  MathSciNet  MATH  Google Scholar 

  27. Christlieb AJ, Rossmanith JA, Tang Q (2014) Finite difference weighted essentially non-oscillatory schemes with constrained transport for ideal magnetohydrodynamics. J Comput Phys 268(302):325. https://doi.org/10.1016/j.jcp.2014.03.001

    Article  ADS  MathSciNet  MATH  Google Scholar 

  28. Christlieb AJ, Liu Y, Tang Q, Xu Z (2015a) High order parametrized maximum-principle-preserving and positivity-preserving WENO schemes on unstructured meshes. J Comput Phys 281:334–351

    Article  ADS  MathSciNet  MATH  Google Scholar 

  29. Christlieb AJ, Liu Y, Tang Q, Xu Z (2015b) Positivity-preserving finite difference weighted ENO schemes with constrained transport for ideal magnetohydrodynamic equations. SIAM J Sci Comput 37(4):A1825–A1845

    Article  MathSciNet  MATH  Google Scholar 

  30. Cohen O, Sokolov IV, Roussev II, Gombosi TI (2008) Validation of a synoptic solar wind model. J Geophys Res: Space Phys 113(A3):A03104. https://doi.org/10.1029/2007JA012797, https://agupubs.onlinelibrary.wiley.com

    Article  Google Scholar 

  31. Cranmer SR (2002) Coronal holes and the high-speed solar wind. Space Sci Rev 101:229–294

    Article  ADS  Google Scholar 

  32. Crockett RK, Colella P, Fisher RT, Klein RI, McKee CF (2005) An unsplit, cell-centered Godunov method for ideal MHD. J Comput Phys 203:422–448

    Article  ADS  MathSciNet  MATH  Google Scholar 

  33. Dai W, Woodward PR (1998a) On the divergence-free condition and conservation laws in numerical simulations for supersonic magnetohydrodynamical flows. Astrophys J 494(1):317

    Article  ADS  Google Scholar 

  34. Dai W, Woodward PR (1998b) A simple finite difference scheme for multidimensional magnetohydrodynamical equations. J Comput Phys 142(2):331–369

    Article  ADS  MathSciNet  MATH  Google Scholar 

  35. Dedner A, Kemm F, Kröner D, Munz CD, Schnitzer T, Wesenberg M (2002) Hyperbolic divergence cleaning for the MHD equations. J Comput Phys 175(2):645–673

    Article  ADS  MathSciNet  MATH  Google Scholar 

  36. DeForest CE, Howard TA, McComas DJ (2014) Inbound waves in the solar corona: a direct indicator of Alfvén surface location. Astrophys J 787(2):124

    Article  ADS  Google Scholar 

  37. Dellar PJ (2001) A note on magnetic monopoles and the one dimensional MHD Riemann problem. J Comput Phys 172:392–398. https://doi.org/10.1006/jcph.2001.6815

    Article  ADS  MathSciNet  MATH  Google Scholar 

  38. Derigs D, Winters AR, Gassner GJ, Walch S (2016) A novel high-order, entropy stable, 3D AMR MHD solver with guaranteed positive pressure. J Comput Phys 317:223–256. https://doi.org/10.1016/j.jcp.2016.04.048

    Article  ADS  MathSciNet  MATH  Google Scholar 

  39. Derigs D, Winters AR, Gassner GJ, Walch S (2017) A novel averaging technique for discrete entropy-stable dissipation operators for ideal MHD. J Comput Phys 330:624–632. https://doi.org/10.1016/j.jcp.2016.10.055

    Article  ADS  MathSciNet  MATH  Google Scholar 

  40. DeVore CR (1991) Flux-corrected transport techniques for multidimensional compressible magnetohydrodynamics. J Comput Phys 92(1):142–160

    Article  ADS  MATH  Google Scholar 

  41. Eirik E, Leer E, Holzer TE (2003) Two-dimensional magnetohydrodynamic models of the solar corona: mass loss from the streamer belt. Astrophys J 589(2):1040

    Article  ADS  Google Scholar 

  42. Endeve E, Hauck CD, Xing Y, Mezzacappa A (2015) Bound-preserving discontinuous Galerkin methods for conservative phase space advection in curvilinear coordinates. J Comput Phys 287(Supplement C):151–183. https://doi.org/10.1016/j.jcp.2015.02.005

    Article  ADS  MathSciNet  MATH  Google Scholar 

  43. Evans CR, Hawley JF (1988) Simulation of magnetohydrodynamic flows - a constrained transport method. Astrophys J 332:659–677

    Article  ADS  Google Scholar 

  44. Feng XS, Yang LP, Xiang CQ, Liu Y, Zhao XP, Wu ST (2012c) Numerical study of the global corona for CR 2055 driven by daily updated synoptic magnetic field. In: Astronomical society of the pacific conference series, vol 459, p 202

    Google Scholar 

  45. Feng XS, Wu ST, Fan QL, Wei FS (2002) A class of TVD type combined numerical scheme for MHD equations and its application to MHD numerical simulations (in Chinese). Chin J Space Sci 22:300–308

    Google Scholar 

  46. Feng XS, Wu ST, Wei FS, Fan QL (2003) A class of TVD type combined numerical scheme for MHD equations with a survey about numerical methods in solar wind simulations. Space Sci Rev 107:43–53

    Google Scholar 

  47. Feng XS, Xiang CQ, Zhong DK, Fan QL (2005) A comparative study on 3-D solar wind structure observed by Ulysses and MHD simulation. Chin Sci Bull 50(8):672–678

    Article  Google Scholar 

  48. Feng XS, Zhou YF, Hu YQ (2006) A 3rd order WENO GLM-MHD scheme for magnetic reconnection. Chin J Space Sci 26(1):1

    Google Scholar 

  49. Feng XS, Zhou YF, Wu ST (2007) A novel numerical implementation for solar wind modeling by the modified conservation element/solution element method. Astrophys J 655:1110–1126

    Article  ADS  Google Scholar 

  50. Feng XS, Yang LP, Xiang C, Wu ST, Zhou YF, Zhong DK (2010) Three-dimensional solar wind modeling from the Sun to Earth by a SIP-CESE MHD model with a six-component grid. Astrophys J 723:300–319

    Article  ADS  Google Scholar 

  51. Feng XS, Xiang CQ, Zhong DK (2011a) The state-of-art of three-dimensional numerical study for corona-interplanetary process of solar storms (in Chinese). Sci Sin-Terrae 41:1–28

    Google Scholar 

  52. Feng XS, Zhang SH, Xiang CQ, Yang LP, Jiang CW, Wu ST (2011b) A hybrid solar wind model of the CESE+HLL method with a Yin-Yang overset grid and an AMR grid. Astrophys J 734:50

    Article  ADS  Google Scholar 

  53. Feng XS, Jiang CW, Xiang CQ, Zhao XP, Wu ST (2012a) A data-driven model for the global coronal evolution. Astrophys J 758(1):62

    Article  ADS  Google Scholar 

  54. Feng XS, Yang LP, Xiang CQ, Jiang CW, Ma XP, Wu ST, Zhong DK, Zhou YF (2012b) Validation of the 3D AMR SIP-CESE solar wind model for four Carrington rotations. Sol Phys 279(1):207–229

    Article  ADS  Google Scholar 

  55. Feng XS, Xiang CQ, Zhong DK (2013a) Numerical study of interplanetary solar storms (in Chinese). Sci Sin-Terrae 43:912–933

    Google Scholar 

  56. Feng XS, Zhong DK, Xiang CQ, Zhang Y (2013b) GPU-accelerated computing of three-dimensional solar wind background. Sci China Earth Sci 56(11):1864–1880

    Article  Google Scholar 

  57. Feng XS, Xiang CQ, Zhong DK, Zhou YF, Yang LP, Ma XP (2014a) SIP-CESE MHD model of solar wind with adaptive mesh refinement of hexahedral meshes. Comput Phys Commun 185(7):1965–1980

    Article  ADS  MathSciNet  Google Scholar 

  58. Feng XS, Zhang M, Zhou YF (2014b) A new three-dimensional solar wind model in spherical coordinates with a six-component grid. Astrophys J Suppl Ser 214(1):6

    Article  ADS  Google Scholar 

  59. Feng XS, Li CX, Xiang CQ, Zhang M, Li HC, Wei FS (2017) Data-driven modeling of the solar corona by a new three-dimensional path-conservative Osher-Solomon MHD model. Astrophys J Suppl Ser 233:10

    Article  ADS  Google Scholar 

  60. Fogang F, Tchuen G, Burtschell Y, Woafo P (2015) An extension of AUFSR scheme for the ideal magnetohydrodynamics equations. Comput Fluids 114:297–313. https://doi.org/10.1016/j.compfluid.2015.02.003

    Article  MathSciNet  MATH  Google Scholar 

  61. Fuchs FG, McMurry AD, Mishra S, Risebro NH, Waagan K (2010) Finite volume methods for wave propagation in stratified magneto-atmospheres. Commun Comput Phys 7(3):1–30

    MathSciNet  MATH  Google Scholar 

  62. Fuchs FG, McMurry AD, Mishra S, Risebro NH, Waagan K (2011) Approximate Riemann solvers and robust high-order finite volume schemes for multi-dimensional ideal MHD equations. Commun Comput Phys 9:324–362. https://doi.org/10.4208/cicp.171109.070510a

    Article  ADS  MathSciNet  MATH  Google Scholar 

  63. Gardiner TA, Stone JM (2005) An unsplit Godunov method for ideal MHD via constrained transport. J Comput Phys 205(2):509–539

    Article  ADS  MathSciNet  MATH  Google Scholar 

  64. Gardiner TA, Stone JM (2008) An unsplit Godunov method for ideal MHD via constrained transport in three dimensions. J Comput Phys 227(8):4123–4141

    Article  ADS  MathSciNet  MATH  Google Scholar 

  65. Goelzer ML, Schwadron NA, Smith CW (2014) An analysis of Alfvén radius based on sunspot number from 1749 to today. J Geophys Res: Space Phys 119(1):115–120

    ADS  Google Scholar 

  66. Gombosi TI, Zeeuw DL, Powell KG, Ridley AJ, Sokolov IV, Stout QF, Tóth G (2003) Adaptive mesh refinement for global magnetohydrodynamic simulation. In: Büchner J, Scholer M, Dum CT (eds) Space plasma simulation, vol 615. Lecture notes in physics. Springer, Berlin Heidelberg, pp 247–274

    Chapter  Google Scholar 

  67. Groth CPT, De Zeeuw DL, Gombosi TI, Powell KG (2000) Global three-dimensional MHD simulation of a space weather event: CME formation, interplanetary propagation, and interaction with the magnetosphere. J Geophys Res: Space Phys 105:25053–25078

    Article  ADS  Google Scholar 

  68. Gurski K (2004) An HLLC-type approximate Riemann solver for ideal magnetohydrodynamics. SIAM J Sci Comput 25(6):2165–2187

    Article  MathSciNet  MATH  Google Scholar 

  69. Han SH, Lee JI, Kim KH (2009) Accurate and robust pressure weight advection upstream splitting method for magnetohydrodynamics equations. AIAA J 47:970–981

    Article  ADS  Google Scholar 

  70. Harten A, Lax PD, Leer Bv (1983) On upstream differencing and Godunov-type schemes for hyperbolic conservation laws. SIAM Rev 25(1):35–61

    Article  MathSciNet  MATH  Google Scholar 

  71. Hayashi K (2005) Magnetohydrodynamic simulations of the solar corona and solar wind using a boundary treatment to limit solar wind mass flux. Astrophys J Suppl Ser 161:480–494

    Article  ADS  Google Scholar 

  72. Hayashi K (2013) An MHD simulation model of time-dependent global solar corona with temporally varying solar-surface magnetic field maps. J Geophys Res: Space Phys 118(11):6889–6906

    Article  ADS  Google Scholar 

  73. Hayashi K, Benevolenskaya E, Hoeksema T, Liu Y, Zhao XP (2006) Three-dimensional magnetohydrodynamic simulation of a global solar corona using a temperature distribution map obtained from SOHO EIT measurements. Astrophys J Lett 636:L165–L168

    Article  ADS  Google Scholar 

  74. Hayashi K, Zhao XP, Liu Y (2008) MHD simulations of the global solar corona around the Halloween event in 2003 using the synchronic frame format of the solar photospheric magnetic field. J Geophys Res: Space Phys 113(A7):A07104

    Article  Google Scholar 

  75. Henshaw WD (2010) Adaptive Mesh and Overlapping Grid Methods. Wiley, New York, pp 623–630

    Google Scholar 

  76. Honkkila V, Janhunen P (2007) HLLC solver for ideal relativistic MHD. J Comput Phys 223(2):643–656

    Article  ADS  MathSciNet  MATH  Google Scholar 

  77. Housman JA, Barad MF, Kiris CC, Kwak D (2011) Space-time convergence analysis of a dual-time stepping method for simulating ignition overpressure waves. Computational fluid dynamics 2010. Springer, Berlin, pp 645–652

    Chapter  Google Scholar 

  78. Hu YQ, Feng XS, Wu ST, Song WB (2008) Three-dimensional MHD modeling of the global corona throughout solar cycle 23. J Geophys Res: Space Phys 113(A3):A03106

    Article  Google Scholar 

  79. Hu XY, Adams NA, Shu CW (2013) Positivity-preserving method for high-order conservative schemes solving compressible Euler equations. J Comput Phys 242:169–80

    Article  ADS  MathSciNet  MATH  Google Scholar 

  80. Hundhausen AJ (1972) Coronal expansion and solar wind. Springer, New York

    Book  Google Scholar 

  81. Ivan L, De Sterck H, Northrup SA, Groth CPT (2013) Multi-dimensional finite-volume scheme for hyperbolic conservation laws on three-dimensional solution-adaptive cubed-sphere grids. J Comput Phys 255:205–227

    Article  ADS  MathSciNet  MATH  Google Scholar 

  82. Ivan L, Sterck HD, Susanto A, Groth C (2015) High-order central ENO finite-volume scheme for hyperbolic conservation laws on three-dimensional cubed-sphere grids. J Comput Phys 282:157–182

    Article  ADS  MathSciNet  MATH  Google Scholar 

  83. Ivan L, De Sterck H, Northrup SA, Groth CPT (2011) Three-dimensional MHD on cubed-sphere grids: parallel solution-adaptive simulation framework. In: 20th AIAA CFD conference, vol 3382, pp 1325–1342

    Google Scholar 

  84. Ivan L, Susanto A, De Sterck H, Northrup SA, Groth CPT (2012) High-order central ENO finite-volume scheme for MHD on three-dimensional cubed-sphere grids. In: Proceedings of the seventh international conference on computational fluid dynamics (ICCFD7), Hawaii, 2012, vol 3382, pp 1325–1342

    Google Scholar 

  85. Jameson A (1991) Time dependent calculations using multigrid, with applications to unsteady flows past airfoils and wings. AIAA 91–1596

    Google Scholar 

  86. Janhunen P (2000) A positive conservative method for magnetohydrodynamics based on HLL and Roe methods. J Comput Phys 160(2):649–661

    Article  ADS  MathSciNet  MATH  Google Scholar 

  87. Jeltsch R, Torrilhon M (2005) Solenoidal discrete initialization for magnetohydrodynamics. In: Bock H, Phu H, Kostina E, Rannacher R (eds) Modeling, Simulation and Optimization of Complex Processes. Springer, Berlin Heidelberg, pp 235–253

    Chapter  Google Scholar 

  88. Jiang RL, Fang C, Chen PF (2012) A new MHD code with adaptive mesh refinement and parallelization for astrophysics. Comput Phys Commun 183(8):1617–1633

    Article  ADS  MATH  Google Scholar 

  89. Jiang Y, Xu Z (2013) Parametrized maximum principle preserving limiter for finite difference WENO schemes solving convection-dominated diffusion equations. SIAM J Sci Comput 35(6):A2524–A2553. https://doi.org/10.1137/130924937

    Article  MathSciNet  MATH  Google Scholar 

  90. Kageyama A (2005) Dissection of a sphere and Yin-Yang grids. J Earth Simulator 3:20–28

    Google Scholar 

  91. Kageyama A, Sato T (2004) Yin-Yang grid: an overset grid in spherical geometry. Geochem, Geophys, Geosystems 5(9):Q09005. https://doi.org/10.1029/2004GC000734

    Article  Google Scholar 

  92. Kawai S (2013) Divergence-free-preserving high-order schemes for magnetohydrodynamics: an artificial magnetic resistivity method. J Comput Phys 251:292–318

    Article  ADS  MathSciNet  MATH  Google Scholar 

  93. Kemm F (2011) A comparative study of TVD-limitersa̧łwell-known limiters and an introduction of new ones. Int J Numer Methods Fluids 67(4):404–440

    Article  MathSciNet  MATH  Google Scholar 

  94. Keppens R, Meliani Z, van Marle A, Delmont P, Vlasis A, van der Holst B (2012) Parallel, grid-adaptive approaches for relativistic hydro and magnetohydrodynamics. J Comput Phys 231(3):718–744

    Article  ADS  MathSciNet  MATH  Google Scholar 

  95. Kermani MJ, Plett EG (2001) Modified entropy correction formula for the Roe scheme. AIAA 2001–0083

    Google Scholar 

  96. Kifonidis K, Müller E (2012) On multigrid solution of the implicit equations of hydrodynamics-experiments for the compressible Euler equations in general coordinates. Astron Astrophys 544:A47

    Article  ADS  Google Scholar 

  97. Kim J, Balsara DS (2014) A stable HLLC Riemann solver for relativistic magnetohydrodynamics. J Comput Phys 270:634–639

    Article  ADS  MathSciNet  MATH  Google Scholar 

  98. Kitamura K, Shima E (2012) Simple and parameter-free second slope limiter for unstructured grid aerodynamic simulations. AIAA J 50(6):1415–1426

    Article  ADS  Google Scholar 

  99. Kleimann J, Kopp A, Fichtner H, Grauer R (2009) A novel code for numerical 3-D MHD studies of CME expansion. Ann Geophys 27(3):989–1004

    Article  ADS  Google Scholar 

  100. Kley W (1998) On the treatment of the Coriolis force in computational astrophysics. Astron Astrophys 338:L37–L41

    ADS  Google Scholar 

  101. Lee D, Deane AE (2009) An unsplit staggered mesh scheme for multidimensional magnetohydrodynamics. J Comput Phys 228(4):952–975

    Article  ADS  MathSciNet  MATH  Google Scholar 

  102. Li S (2005) An HLLC Riemann solver for magneto-hydrodynamics. J Comput Phys 203:344–357

    Article  ADS  MathSciNet  MATH  Google Scholar 

  103. Li ST (2008) High order central scheme on overlapping cells for magneto-hydrodynamic flows with and without constrained transport method. J Comput Phys 227(15):7368–7393

    Article  ADS  MathSciNet  MATH  Google Scholar 

  104. Li ST (2010) A fourth-order divergence-free method for MHD flows. J Comput Phys 229(20):7893–7910

    Article  ADS  MathSciNet  MATH  Google Scholar 

  105. Li F, Xu L (2012) Arbitrary order exactly divergence-free central discontinuous Galerkin methods for ideal MHD equations. J Comput Phys 231(6):2655–2675

    Article  ADS  MathSciNet  MATH  Google Scholar 

  106. Li ST, Li H, Cen R (2008) CosmoMHD: a cosmological magnetohydrodynamics code. Astrophys J Suppl Ser 174(1):1

    Article  ADS  MathSciNet  Google Scholar 

  107. Li D, Merkle C, Scott WM, Keefer D, Moeller T, Rhodes R (2011) Hyperbolic algorithm for coupled plasma/electromagnetic fields including conduction and displacement currents. AIAA J 49:909–920

    Article  ADS  Google Scholar 

  108. Liang C, Xu Z (2014a) Parametrized maximum principle preserving flux limiters for high order schemes solving multi-dimensional scalar hyperbolic conservation laws. J Sci Comput 58(1):41–60

    Article  MathSciNet  MATH  Google Scholar 

  109. Liang C, Xu Z (2014b) Parametrized maximum principle preserving flux limiters for high order schemes solving multi-dimensional scalar hyperbolic conservation laws. J Sci Comput 58(1):41–60. https://doi.org/10.1007/s10915-013-9724-x

    Article  MathSciNet  MATH  Google Scholar 

  110. Li S, Li H (2003) A modern code for solving magneto-hydrodynamic or hydrodynamic equations. Technical report LA-UR-03-8925, Los Alamos National Lab

    Google Scholar 

  111. Linde T (2002) A practical, general-purpose, two-state HLL Riemann solver for hyperbolic conservation laws. Int J Numer Methods Fluids 40(3–4):391–402

    Article  MathSciNet  MATH  Google Scholar 

  112. Linker JA, Kivelson MG, Walker RJ (1991) A three-dimensional MHD simulation of plasma flow past io. J Geophys Res Space Phys 96(A12):21037–21053

    Article  ADS  Google Scholar 

  113. Linker JA, Mikić Z, Biesecker DA, Forsyth RJ, Gibson SE, Lazarus AJ, Lecinski A, Riley P, Szabo A, Thompson BJ (1999) Magnetohydrodynamic modeling of the solar corona during whole sun month. J Geophys Res Space Phys 104(A5):9809–9830

    Article  ADS  Google Scholar 

  114. Lionello R, Linker JA, Mikić Z (2001) Including the transition region in models of the large-scale solar corona. Astrophys J 546:542–551

    Article  ADS  Google Scholar 

  115. Liu Y, Shu CW, Zhang M (2018) Entropy stable high order discontinuous Galerkin methods for ideal compressible MHD on structured meshes. J Comput Phys 354:163–178. https://doi.org/10.1016/j.jcp.2017.10.043

    Article  ADS  MathSciNet  MATH  Google Scholar 

  116. Lohmann C, Kuzmin D (2016) Synchronized flux limiting for gas dynamics variables. J Comput Phys 326:973–990. https://doi.org/10.1016/j.jcp.2016.09.025

    Article  ADS  MathSciNet  MATH  Google Scholar 

  117. Londrillo P, Zanna LD (2004) On the divergence-free condition in Godunov-type schemes for ideal magnetohydrodynamics: the upwind constrained transport method. J Comput Phys 195(1):17–48

    Article  ADS  MathSciNet  MATH  Google Scholar 

  118. Marder B (1987) A method for incorporating Gauss’ law into electromagnetic PIC codes. J Comput Phys 68(1):48

    Article  ADS  MATH  Google Scholar 

  119. Mathur SR, Murthy JY (1997) A pressure-based method for unstructured meshes. Numer Heat Transf, Part B: Fundam 31(2):195–215

    Article  ADS  Google Scholar 

  120. Mignone A (2014) High-order conservative reconstruction schemes for finite volume methods in cylindrical and spherical coordinates. J Comput Phys 270:784–814

    Article  ADS  MathSciNet  MATH  Google Scholar 

  121. Mignone A, Tzeferacos P (2010) A second-order unsplit Godunov scheme for cell-centered MHD: the CTU-GLM scheme. J Comput Phys 229(6):2117–2138

    Article  ADS  MathSciNet  MATH  Google Scholar 

  122. Mignone A, Tzeferacos P, Bodo G (2010) High-order conservative finite difference GLM-MHD schemes for cell-centered MHD. J Comput Phys 229(17):5896–5920

    Article  ADS  MathSciNet  MATH  Google Scholar 

  123. Mignone A, Bodo G (2006) An HLLC Riemann solver for relativistic flows-II. Magnetohydrodynamics. Mon Not R Astron Soc 368:1040–1054

    Google Scholar 

  124. Mignone A, Ugliano M, Bodo G (2009) A five-wave Harten-Lax-van Leer Riemann solver for relativistic magnetohydrodynamics. Mon Not R Astron Soc 393:1141–1156. https://doi.org/10.1111/j.1365-2966.2008.14221.x

    Article  ADS  Google Scholar 

  125. Mikić Z, Linker JA (1994) Disruption of coronal magnetic field arcades. Astrophys J 430:898–912

    Article  ADS  Google Scholar 

  126. Mikić Z, Linker JA, Schnack DD, Lionello R, Tarditi A (1999) Magnetohydrodynamic modeling of the global solar corona. Phys Plasmas 6(5):2217–2224

    Article  ADS  Google Scholar 

  127. Miyoshi T, Kusano K (2005) A multi-state HLL approximate Riemann solver for ideal magnetohydrodynamics. J Comput Phys 208:315–344

    Article  ADS  MathSciNet  MATH  Google Scholar 

  128. Miyoshi T, Terada N, Matsumoto Y, Fukazawa K, Umeda T, Kusano K (2010) The HLLD approximate Riemann solver for magnetospheric simulation. IEEE Trans Plasma Sci 38:2236–2242

    Article  ADS  Google Scholar 

  129. Miyoshi T, Kusano K (2011) A comparative study of divergence-cleaning techniques for multi-dimensional MHD schemes. Plasma Fusion Res 6:2401124–2401124. https://doi.org/10.1585/pfr.6.2401124

    Article  ADS  Google Scholar 

  130. Nakamizo A, Tanaka T, Kubo Y, Kamei S, Shimazu H, Shinagawa H (2009) Development of the 3-D MHD model of the solar corona-solar wind combining system. J Geophys Res: Space Phys 114(A07):A07109. https://doi.org/10.1029/2008JA013844

    Article  Google Scholar 

  131. Neugebauer M (1999) The three-dimensional solar wind at solar activity minimum. Rev Geophys 37(1):107–126

    Article  ADS  Google Scholar 

  132. Norman MR, Semazzi FHM, Nair RD (2009) Conservative cascade interpolation on the sphere: an intercomparison of various non-oscillatory reconstructions. Q J R Meteorol Soc 135(640):795–805. https://doi.org/10.1002/qj.402

    Article  ADS  Google Scholar 

  133. Odstrčil D, Linker JA, Lionello R, Mikic Z, Riley P, Pizzo VJ, Luhmann JG (2002) Merging of coronal and heliospheric numerical two-dimensional MHD models. J Geophys Res 107:1493

    Article  Google Scholar 

  134. Odstrčil D, Riley P, Zhao XP (2004) Numerical simulation of the 12 May 1997 interplanetary CME event. J Geophys Res: Space Phys 109(A2):A02116

    Google Scholar 

  135. Owens MJ, Spence HE, McGregor S, Hughes WJ, Quinn JM, Arge CN, Riley P, Linker J, Odstrčil D (2008) Metrics for solar wind prediction models: comparison of empirical, hybrid, and physics-based schemes with 8 years of L1 observations. Space Weather 6(8):S08001

    Article  Google Scholar 

  136. Parent B (2012) Positivity-preserving high-resolution schemes for systems of conservation laws. J. Comput. Phys. 231(1):173–189

    Article  ADS  MathSciNet  MATH  Google Scholar 

  137. Parker EN (1963) Interplanetary dynamical processes. Interscience Publishers, New York, p 1963

    MATH  Google Scholar 

  138. Peng XD, Xiao F, Takahashi K (2006) Conservative constraint for a quasi-uniform overset grid on the sphere. Q J R Meteorol Soc 132(616):979–996

    Article  ADS  Google Scholar 

  139. Perthame B, Shu CW (1996) On positivity preserving finite volume schemes for Euler equations. Numer Math 73(1):119–130. https://doi.org/10.1007/s002110050187

    Article  MathSciNet  MATH  Google Scholar 

  140. Pneuman GW, Kopp RA (1971) Gas-magnetic field interactions in the solar corona. Sol Phys 18:258–270

    Article  ADS  Google Scholar 

  141. Powell KG, Roe PL, Linde TJ, Gombosi TI, De Zeeuw DL (1999) A solution-adaptive upwind scheme for ideal magnetohydrodynamics. J Comput Phys 154(2):284–309

    Article  ADS  MathSciNet  MATH  Google Scholar 

  142. Rai MM (1986) A conservative treatment of zonal boundaries for Euler equation calculations. J Comput Phys 62(2):472–503

    Google Scholar 

  143. Ranocha H (2018) Comparison of some entropy conservative numerical fluxes for the Euler equations. J Sci Comput 76:216–242. https://doi.org/10.1007/s10915-017-0618-1

    Article  MathSciNet  MATH  Google Scholar 

  144. Reynolds DR, Samtaney R, Tiedeman HC (2012) A fully implicit Newton-Krylov-Schwarz method for tokamak magnetohydrodynamics: Jacobian construction and preconditioner formulation. Comput Sci Discov 5(1):014003

    Article  ADS  Google Scholar 

  145. Reynolds D, Samtaney R, Woodward C (2010) Operator-based preconditioning of stiff hyperbolic systems. SIAM J Sci Comput 32(1):150–170

    Article  MathSciNet  MATH  Google Scholar 

  146. Riley P, Lionello R, Linker JA, Mikić Z, Luhmann J, Wijaya J (2011) Global MHD modeling of the solar corona and inner heliosphere for the whole heliosphere interval. Sol Phys 274(1–2):361–377

    Article  ADS  Google Scholar 

  147. Riley P, Linker JA, Lionello R, Mikić Z (2012) Corotating interaction regions during the recent solar minimum: the power and limitations of global MHD modeling. J Atmos Sol-Terr Phys 83:1–10

    Article  ADS  Google Scholar 

  148. Riley P, Linker JA, Mikić Z (2013) On the application of ensemble modeling techniques to improve ambient solar wind models. J Geophys Res: Space Phys 118(2):600–607

    Article  ADS  Google Scholar 

  149. Riley P, Linker JA, Mikić Z (2001) An empirically-driven global MHD model of the solar corona and inner heliosphere. J Geophys Res: Space Phys 106(A8):15,889–15,901

    Article  Google Scholar 

  150. Roe P, Balsara D (1996) Notes on the eigensystem of magnetohydrodynamics. SIAM J Appl Math 56(1):57–67

    Article  MathSciNet  MATH  Google Scholar 

  151. Ronchi C, Iacono R, Paolucci PS (1996) The “cubed sphere”: a new method for the solution of partial differential equations in spherical geometry. J Comput Phys 124(1):93–114

    Article  ADS  MathSciNet  MATH  Google Scholar 

  152. Ryu D, Jones TW (1995) Numerical magetohydrodynamics in astrophysics: algorithm and tests for one-dimensional flow. Astrophys J 442:228–258

    Article  ADS  Google Scholar 

  153. Ryu D, Ostriker JP, Kang H, Cen R (1993) A cosmological hydrodynamic code based on the total variation diminishing scheme. Astrophys J 414:1–19

    Article  ADS  Google Scholar 

  154. Ryu D, Miniati F, Jones TW, Frank A (1998) A divergence-free upwind code for multidimensional magnetohydrodynamic flows. Astrophys J 509:244–255

    Article  ADS  Google Scholar 

  155. Samtaney R (2012) Implicit numerical methods for magnetohydrodynamics. In: Zheng L (ed) Topics in magnetohydrodynamics. Shanghai, InTech China, pp 59–84

    Google Scholar 

  156. Schwadron NA, Connick DE, Smith CW (2010) Magnetic flux balance in the heliosphere. Astrophys J Lett 722(2):L132

    Article  ADS  Google Scholar 

  157. Serna S (2006) A class of extended limiters applied to piecewise hyperbolic methods. SIAM J Sci Comput 28(1):123–140. https://doi.org/10.1137/040611811

    Article  MathSciNet  MATH  Google Scholar 

  158. Serna S (2009) A characteristic-based nonconvex entropy-fix upwind scheme for the ideal magnetohydrodynamic equations. J Comput Phys 228(11):4232–4247

    Article  ADS  MathSciNet  MATH  Google Scholar 

  159. Sheeley NR, Wang YM, Hawley SH, Brueckner GE, Dere KP, Howard RA, Koomen MJ, Korendyke CM, Michels DJ, Paswaters SE, Socker DG, St Cyr OC, Wang D, Lamy PL, Llebaria A, Schwenn R, Simnett GM, Plunkett S, Biesecker DA (1997) Measurements of flow speeds in the corona between 2 and 30 R\(_{\rm sun}\). The Astrophysical Journal 484:472–478

    Article  ADS  Google Scholar 

  160. Sheeley NRJ, Wang YM (2001) Coronal inflows and sector magnetism. Astrophys J Lett 562(1):L107

    Article  ADS  Google Scholar 

  161. Sheeley NRJ, Warren HP, Wang YM (2004) The origin of postflare loops. Astrophys J 616(2):1224

    Article  ADS  Google Scholar 

  162. Shen F, Feng XS, Wu ST, Xiang CQ, Song WB (2011) Three-dimensional MHD simulation of the evolution of the April 2000 CME event and its induced shocks using a magnetized plasma blob model. J Geophys Res: Space Phys 116:A04102

    ADS  Google Scholar 

  163. Shen F, Feng XS, Wu ST, Xiang CQ (2007) Three-dimensional MHD simulation of CMEs in three-dimensional background solar wind with the self-consistent structure on the source surface as input: numerical simulation of the January 1997 Sun-Earth connection event. J Geophys Res: Space Phys 112(A6):A06109. https://doi.org/10.1029/2006JA012164

    Google Scholar 

  164. Shiota D, Kusano K, Miyoshi T, Shibata K (2010) Magnetohydrodynamic modeling for a formation process of coronal mass ejections: interaction between an ejecting flux rope and an ambient field. Astrophys J 718(2):1305

    Article  ADS  Google Scholar 

  165. Shiota D, Kataoka R, Miyoshi Y, Hara T, Tao C, Masunaga K, Futaana Y, Terada N (2014) Inner heliosphere MHD modeling system applicable to space weather forecasting for the other planets. Space Weather 12(4):187–204

    Article  ADS  Google Scholar 

  166. Shiota D, Kataoka R (2016) Magnetohydrodynamic simulation of interplanetary propagation of multiple coronal mass ejections with internal magnetic flux rope (SUSANOO-CME). Space Weather 14(2):56–75

    Article  ADS  Google Scholar 

  167. Skinner MA, Ostriker EC (2010) The Athena astrophysical magnetohydrodynamics code in cylindrical geometry. Astrophys J Suppl Ser 188(1):290, http://stacks.iop.org/0067-0049/188/i=1/a=290

    Article  ADS  Google Scholar 

  168. Smith CW, Schwadron NA, DeForest CE (2013) Decline and recovery of the interplanetary magnetic field during the protracted solar minimum. Astrophys J 775(1):59

    Article  ADS  Google Scholar 

  169. Steger J, Benek J (1987) On the use of composite grid schemes in computational aerodynamics. Comput Methods Appl Mech Eng 64:301–320

    Article  ADS  MathSciNet  MATH  Google Scholar 

  170. Susanto A, Ivan L, De Sterck H, Groth CPT (2013) High-order central ENO finite-volume scheme for ideal MHD. J Comput Phys 250:141–164

    Article  ADS  MathSciNet  MATH  Google Scholar 

  171. Tanaka T (1995) Generation mechanisms for magnetosphere-ionosphere current systems deduced from a three-dimensional MHD simulation of the solar wind-magnetosphere-ionosphere coupling processes. J Geophys Res 100(A7):12,057–12,074

    Article  ADS  Google Scholar 

  172. Tanaka T (1999) Configuration of the magnetosphere-ionosphere convection system under northward IMF conditions with nonzero IMF By. J Geophys Res 104(A7):14,683–14,690

    Article  Google Scholar 

  173. Tanaka T (2000) The state transition model of the substorm onset. J Geophys Res 105(A9):21,081–21,096

    Article  Google Scholar 

  174. Tanaka T (1994) Finite volume TVD scheme on an unstructured grid system for three-dimensional MHD simulation of inhomogeneous systems including strong background potential fields. J Comput Phys 111:381–390

    Article  ADS  MATH  Google Scholar 

  175. Tóth G (2000) The \(\nabla \cdot \mathbf{B}=0\) constraint in shock-capturing magnetohydrodynamics codes. Journal of Computational Physics 161(2):605–652

    Article  ADS  MathSciNet  MATH  Google Scholar 

  176. Tóth G, van der Holst B, Sokolov IV, De Zeeuw DL, Gombosi TI, Fang F, Manchester WB, Meng X, Najib D, Powell KG, Stout QF, Glocer A, Ma YJ, Opher M (2012) Adaptive numerical algorithms in space weather modeling. J Comput Phys 231(3):870–903

    Article  ADS  MathSciNet  Google Scholar 

  177. Turkel E (1999) Preconditioning techniques in computational fluid dynamics. Annu Rev Fluid Mech 31:385–416

    Article  ADS  MathSciNet  Google Scholar 

  178. Uand Brackbill JU, Barnes DC (1980) The effect of nonzero \(\nabla \cdot \mathbf{B}\) on the numerical solution of the magnetohydrodynamic equations. J Comput Phys 35(3):426–430

    Article  ADS  MathSciNet  Google Scholar 

  179. Usmanov AV, Goldstein ML (2003) A tilted-dipole MHD model of the solar corona and solar wind. J Geophys Res: Space Phys 108(A9):1354. https://doi.org/10.1029/2002JA009777

  180. Usmanov AV, Matthaeus WH, Goldstein ML, Chhiber R (2018) The steady global corona and solar wind: a three-dimensional MHD simulation with turbulence transport and heating. Astrophys J 865(1):25, http://stacks.iop.org/0004-637X/865/i=1/a=25

    Article  ADS  Google Scholar 

  181. Usmanov AV (1996) A global 3-D MHD solar wind model with Alfvén waves. In: AIP Conference Proceedings, vol 382, p 141

    Google Scholar 

  182. Usmanov AV (1993) A global numerical 3-D MHD model of the solar wind. Sol Phys 146(2):377–396

    Article  ADS  Google Scholar 

  183. Usmanov AV, Dryer M (1995) A global 3-D simulation of interplanetary dynamics in June 1991. Sol Phys 159:347–370

    Article  ADS  Google Scholar 

  184. Usmanov AV, Goldstein ML, Matthaeus WH (2012) Three-dimensional magnetohydrodynamic modeling of the solar wind including pickup protons and turbulence transport. Astrophys J 754(1):40

    Article  ADS  Google Scholar 

  185. van der Holst B, Keppens R (2007) Hybrid block-AMR in cartesian and curvilinear coordinates: MHD applications. J Comput Phys 226(1):925–946

    Article  ADS  MATH  Google Scholar 

  186. Venkatakrishnan V (1993) On the accuracy of limiters and convergence to steady state solutions. AIAA Paper 93–0880

    Google Scholar 

  187. Vides J, Audit E, Guillard H, Nkonga B (2013) Divergence-free MHD simulations with the HERACLES code. In: ESAIM: Proceedings 43:180–194

    Article  MathSciNet  MATH  Google Scholar 

  188. Waagan K (2009) A positive MUSCL-Hancock scheme for ideal magnetohydrodynamics. J Comput Phys 228(23):8609–8626

    Article  ADS  MathSciNet  MATH  Google Scholar 

  189. Wang AH, Wu ST, Suess ST, Poletto G (1998) Global model of the corona with heat and momentum addition. J Geophys Res: Space Phys 103(A2):1913–1922

    Article  ADS  Google Scholar 

  190. Wang YM, Sheeley NR, Howard RA, Cyr OCS, Simnett GM (1999) Coronagraph observations of inflows during high solar activity. Geophys Res Lett 26(9):1203–1206

    Article  ADS  Google Scholar 

  191. Winters AR, Derigs D, Gassner GJ, Walch S (2017) A uniquely defined entropy stable matrix dissipation operator for high mach number ideal MHD and compressible Euler simulations. J Comput Phys 332:274–289. https://doi.org/10.1016/j.jcp.2016.12.006

    Article  ADS  MathSciNet  MATH  Google Scholar 

  192. Winters AR, Gassner GJ (2016) Affordable, entropy conserving and entropy stable flux functions for the ideal MHD equations. J Comput Phys 304:72–108. https://doi.org/10.1016/j.jcp.2015.09.055

    Article  ADS  MathSciNet  MATH  Google Scholar 

  193. Wongwathanarat A, Hammer NJ, Müller E (2010) An axis-free overset grid in spherical polar coordinates for simulating 3D self-gravitating flows. Astron Astrophys 514:A48

    Article  ADS  Google Scholar 

  194. Wu K (2017) Design of provably physical-constraint-preserving methods for general relativistic hydrodynamics. Phys Rev D 95(103):001. https://doi.org/10.1103/PhysRevD.95.103001

    Article  MathSciNet  Google Scholar 

  195. Wu ST, Guo WP, Michels DJ, Burlaga LF (1999) MHD description of the dynamical relationships between a flux rope, streamer, coronal mass ejection, and magnetic cloud: an analysis of the January 1997 Sun-Earth connection event. J Geophys Res 104:14,789–14,802

    Article  Google Scholar 

  196. Wu ZN, Xu SS, Gao B, Zhuang LS (2007) Review of numerical computation of compressible flows with artificial interfaces. Comput Fluids 36(10):1657

    Article  MathSciNet  MATH  Google Scholar 

  197. Wu ST, Dryer M (2015) Comparative analyses of current three-dimensional numerical solar wind models. Sci China Earth Sci 58:839–858

    Article  Google Scholar 

  198. Wu K, Tang H (2017) Admissible states and physical-constraints-preserving schemes for relativistic magnetohydrodynamic equations. Math Model Methods Appl Sci 27(10):1871–1928. https://doi.org/10.1142/S0218202517500348

    Article  MathSciNet  MATH  Google Scholar 

  199. Xing Y, Zhang X, Shu CW (2010) Positivity-preserving high order well-balanced discontinuous Galerkin methods for the shallow water equations. Adv Water Resour 33(12):1476–1493. https://doi.org/10.1016/j.advwatres.2010.08.005

    Article  Google Scholar 

  200. Xiong T, Qiu JM, Xu Z (2013) A parametrized maximum principle preserving flux limiter for finite difference RK-WENO schemes with applications in incompressible flows. J Comput Phys 252:310–331

    Article  ADS  MathSciNet  MATH  Google Scholar 

  201. Xiong T, Qiu JM, Xu Z (2016) Parametrized positivity preserving flux limiters for the high order finite difference WENO scheme solving compressible Euler equations. J Sci Comput 67(3):1066–1088. https://doi.org/10.1007/s10915-015-0118-0

    Article  MathSciNet  MATH  Google Scholar 

  202. Xisto CM, Páscoa JC, Oliveira PJ (2013) A pressure-based method with AUSM-type fluxes for MHD flows at arbitrary mach numbers. Int J Numer Methods Fluids 72:1165–1182

    Article  MathSciNet  Google Scholar 

  203. Xu Z (2014) Parametrized maximum principle preserving flux limiters for high order schemes solving hyperbolic conservation laws: one-dimensional scalar problem. Math Comp 83:2213–2238

    Article  MathSciNet  MATH  Google Scholar 

  204. Xu Z, Zhang X (2017) Chapter 4 - Bound-preserving high-order schemes. In: Abgrall R, Shu CW (eds) Handbook of numerical methods for hyperbolic problems, handbook of numerical analysis, vol 18, Elsevier, pp 81–102, https://doi.org/10.1016/bs.hna.2016.08.002

    Google Scholar 

  205. Yakovlev S, Xu L, Li F (2013) Locally divergence-free central discontinuous Galerkin methods for ideal MHD equations. J Comput Phys 4(1–2):80–91

    Google Scholar 

  206. Yalim MS, Abeele DV, Lani A, Quintino T, Deconinck H (2011) A finite volume implicit time integration method for solving the equations of ideal magnetohydrodynamics for the hyperbolic divergence cleaning approach. J Comput Phys 230(15):6136–6154

    Article  ADS  MathSciNet  MATH  Google Scholar 

  207. Yuan L (2002) Comparison of implicit multigrid schemes for three-dimensional incompressible flows. J Comput Phys 177:134–155

    Article  ADS  MathSciNet  MATH  Google Scholar 

  208. Zachary A, Malagoli A, Colella P (1994) A higher-order godunov method for multidimensional ideal magnetohydrodynamics. SIAM J Sci Comput 15(2):263–284

    Article  MathSciNet  MATH  Google Scholar 

  209. Zhang X (2017) On positivity-preserving high order discontinuous Galerkin schemes for compressible Navier Stokes equations. Journal of Computational Physics 328(Supplement C):301–343, https://doi.org/10.1016/j.jcp.2016.10.002

    Article  ADS  MathSciNet  MATH  Google Scholar 

  210. Zhang M, Feng XS (2015) Implicit dual-time stepping method for a solar wind model in spherical coordinates. Comput Fluids 115:115–123

    Article  MathSciNet  MATH  Google Scholar 

  211. Zhang M, Feng XS (2016) A comparative study of divergence cleaning methods of magnetic field in the solar coronal numerical simulation. Front Astron Space Sci 3(6):1–14

    ADS  Google Scholar 

  212. Zhang X, Shu CW (2010b) On positivity-preserving high order discontinuous Galerkin schemes for compressible Euler equations on rectangular meshes. J Comput Phys 229(23):8918–8934

    Article  ADS  MathSciNet  MATH  Google Scholar 

  213. Zhang X, Shu CW (2010a) On maximum-principle-satisfying high order schemes for scalar conservation laws. J Comput Phys 229(9):3091–3120. https://doi.org/10.1016/j.jcp.2009.12.030

    Article  ADS  MathSciNet  MATH  Google Scholar 

  214. Zhang X, Shu CW (2011) Positivity-preserving high order discontinuous Galerkin schemes for compressible Euler equations with source terms. J Comput Phys 230(4):1238–1248. https://doi.org/10.1016/j.jcp.2010.10.036

    Article  ADS  MathSciNet  MATH  Google Scholar 

  215. Zhang X, Xia Y, Shu CW (2012) Maximum-principle-satisfying and positivity-preserving high order discontinuoud Galerkin schemes for conservation laws on triangular meshes. J Sci Comput 50(1):29–62. https://doi.org/10.1007/s10915-011-9472-8

    Article  MathSciNet  MATH  Google Scholar 

  216. Zhao XP, Hoeksema JT (2010) The magnetic field at the inner boundary of the heliosphere around solar minimum. Sol Phys 266:379–390

    Article  ADS  Google Scholar 

  217. Zhao X, Yang Y, Seyler CE (2014) A positivity-preserving semi-implicit discontinuous Galerkin scheme for solving extended magnetohydrodynamics equations. J Comput Phys 278:400–415

    Article  ADS  MathSciNet  MATH  Google Scholar 

  218. Ziegler U (2005) A solution-adaptive central-constraint transport scheme for magnetohydrodynamics. Comput Phys Commun 170:153–174

    Article  ADS  MATH  Google Scholar 

  219. Ziegler U (2011) A semi-discrete central scheme for magnetohydrodynamics on orthogonal-curvilinear grids. J Comput Phys 230:1035–1063

    Article  ADS  MathSciNet  MATH  Google Scholar 

  220. Ziegler U (2012) Block-structured adaptive mesh refinement on curvilinear-orthogonal grids. SIAM J Sci Comput 34(3):C102–C121

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xueshang Feng .

Appendix: Discretizations, Reconstructions and MPP Flux-corrected Method

Appendix: Discretizations, Reconstructions and MPP Flux-corrected Method

This appendix presents the used numerical techniques in some details for the discretized formulation of the solar wind MHD governing equations.

The STEP code advances the variables at the centroid point \((\overline{r}_i, \overline{\theta }_j, \phi _k)\) by constructing the semi-discretization for the solar wind MHD governing Eqs. (3.2) in a cell with geometrical center (ijk):

$$\begin{aligned} \begin{aligned} \frac{d\overline{\mathbf {U}}}{dt}=&-\frac{3\left( r_{ip}^2\mathbf {F}_{r,ip,j,k}^n-r_{im}^2\mathbf {F}_{r,im,j,k}^n\right) }{\left( r_{ip}^3-r_{im}^3\right) }- \frac{\sin \theta _{jp}\mathbf {F}_{\theta , i,jp,k}^n-\sin \theta _{jm}\mathbf {F}_{,\theta , i,jm,k}^n}{r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) }\\&-\frac{\varDelta \theta (j)}{r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) }\frac{\mathbf {F}_{\phi , i,j,kp}^n-\mathbf {F}_{\phi , i,j,km}^n}{\varDelta \phi (k)} +\overline{\mathbf {S}}_{i,j,k} \end{aligned} \end{aligned}$$
(A.1)

where \(\mathbf {U}=\left( \rho , \rho v_{r}, \rho v_{\theta }, \rho v_{\phi }r\sin \theta , e, B_r, B_\theta , B_\phi \right) ^T\) or \( \left( \rho , \rho v_{r}, \rho v_{\theta }, \rho v_{\phi }r\sin \theta , e, B_r, B_\theta ,\right. \left. B_\phi , \psi \right) ^T\) with primitive variables \(\mathbf {W}=\left( \rho , v_{r}, v_{\theta }, v_{\phi }, p, B_r, B_\theta , B_\phi \right) ^T\) or \(\left( \rho , v_{r}, v_{\theta }, v_{\phi }, p,\right. \left. B_r, B_\theta , B_\phi , \psi \right) ^T\).

The STEP code uses Roe and HLL solvers with PP, HDC and CT methods to keep the magnetic field divergence constraint. Flux formulations are displayed below.

3.1.1 Roe Type Flux with Powell’s Eight-wave Formulation

According to the papers [71, 72, 74, 141], the Roe flux form is given as follows:

(A.2)
(A.3)
(A.4)
(A.5)
(A.6)
(A.7)

Be care of the subscripts. For instance, the subscript \(r\jmath lm\) (\(r\jmath lp\)) represents the r direction, \(\jmath \)th component, the arithmetic average at the interface \(l=r_{im}\) (\(r_{ip}\) ) of the variable between the left and right sides. \(\widetilde{\mathbf {U}}_{[i,j,k]}\) denotes a second-order accurate linear reconstruction [219] on cell with geometrical center (ijk):

$$\begin{aligned} \begin{aligned}&\widetilde{\mathbf {U}}_{[i,j,k]}=\overline{\mathbf U}_{i,j,k}+(\widetilde{\partial _r\mathbf U})_{i,j,k}(r-\overline{r}_i)+ (\widetilde{\partial _\theta \mathbf U})_{i,j,k}(\theta -\overline{\theta }_j)+(\widetilde{\partial _\phi \mathbf U})_{i,j,k}(\phi -\phi _k)\\&(\widetilde{\partial _r\mathbf U})_{i,j,k}=\mathrm{minmod} \left( \frac{\overline{\mathbf U}_{i+1,j,k}-\overline{\mathbf U}_{i,j,k}}{\overline{r}_{i+1}-\overline{r}_i}, \frac{\overline{\mathbf U}_{i,j,k}-\overline{\mathbf U}_{i-1,j,k}}{\overline{r}_{i}-\overline{r}_{i-1}} \right) \\&(\widetilde{\partial _\theta \mathbf U})_{i,j,k}=\mathrm{minmod} \left( \frac{\overline{\mathbf U}_{i,j+1,k}-\overline{\mathbf U}_{i,j,k}}{\overline{\theta }_{j+1}- \overline{\theta }_j}, \ \frac{\overline{\mathbf U}_{i,j,k}-\overline{\mathbf U}_{i,j-1,k}}{\overline{\theta }_{j}-\overline{\theta }_{j-1}}\right) \\&(\widetilde{\partial _\phi \mathbf U})_{i,j,k}=\mathrm{minmod} \left( \frac{\overline{\mathbf U}_{i,j,k+1}-\overline{\mathbf U}_{i,j,k}}{\phi _{k+1}-\phi _k}, \ \frac{\overline{\mathbf U}_{i,j,k}-\overline{\mathbf U}_{i,j,k-1}}{\phi _k-\phi _{k-1}} \right) \\ \end{aligned} \end{aligned}$$
(A.8)

For the Powell’s eight wave formulation of MHD equations [141], the Jacobian matrices \(\mathbf {A}=\frac{\partial \mathbf {F}_r}{\partial \mathbf {W}}\), \(\mathbf {B}=\frac{\partial \mathbf {F}_\theta }{\partial \mathbf {W}}\), and \(\mathbf {C}=\frac{\partial \mathbf {F}_\phi }{\partial \mathbf {W}}\) corresponding to the primitive variables in r, \(\theta \), and \(\phi \) directions are:

$$\begin{aligned} \mathbf {A}=\left( \begin{array}{cccccccc} v_r&{}\rho &{}0&{}0&{}0&{}0&{}0&{}0\\ 0&{}v_r&{}0&{}0&{}\frac{1}{\rho }&{}0&{}\frac{B_\theta }{\mu \rho }&{}\frac{B_\phi }{\mu \rho }\\ 0&{}0&{}v_r&{}0&{}0&{}0&{}-\frac{B_r}{\mu \rho }&{}0\\ 0&{}0&{}0&{}v_r&{}0&{}0&{}0&{}-\frac{B_r}{\mu \rho }\\ 0&{}\gamma p&{}0&{}0&{}v_r&{}0&{}0&{}0\\ 0&{}0&{}0&{}0&{}0&{}v_r&{}0&{}0\\ 0&{}B_\theta &{}-B_r&{}0&{}0&{}0&{}v_r&{}0\\ 0&{}B_\phi &{}0&{}-B_r&{}0&{}0&{}0&{}v_r \end{array} \right) \end{aligned}$$
$$\begin{aligned} \mathbf {B}=\left( \begin{array}{cccccccc} v_{\theta }&{}0&{}\rho &{}0&{}0&{}0&{}0&{}0\\ 0&{}v_{\theta }&{}0&{}0&{}0&{}-\frac{B_{\theta }}{\mu \rho }&{}0&{}0\\ 0&{}0&{}v_{\theta }&{}0&{}\frac{1}{\rho }&{}\frac{B_{r}}{\mu \rho }&{}0&{}\frac{B_\phi }{\mu \rho }\\ 0&{}0&{}0&{}v_{\theta }&{}0&{}0&{}0&{}-\frac{B_{\theta }}{\mu \rho }\\ 0&{}0&{}\gamma p&{}0&{}v_{\theta }&{}0&{}0&{}0\\ 0&{}-B_{\theta }&{}B_{r}&{}0&{}0&{}v_{\theta }&{}0&{}0\\ 0&{}0&{}0&{}0&{}0&{}0&{}v_{\theta }&{}0\\ 0&{}0&{}B_\phi &{}-B_{\theta }&{}0&{}0&{}0&{}v_{\theta } \end{array} \right) \end{aligned}$$
$$\begin{aligned} \mathbf {C}=\left( \begin{array}{cccccccc} v_\phi &{}0&{}0&{}\rho &{}0&{}0&{}0&{}0\\ 0&{}v_\phi &{}0&{}0&{}0&{}-\frac{B_\phi }{\mu \rho }&{}0&{}0\\ 0&{}0&{}v_\phi &{}0&{}0&{}0&{}-\frac{B_\phi }{\mu \rho }&{}0\\ 0&{}0&{}0&{}v_\phi &{}\frac{1}{\rho }&{}\frac{B_r}{\mu \rho }&{}\frac{B_\theta }{\mu \rho }&{}0\\ 0&{}0&{}0&{}\gamma p&{}v_\phi &{}0&{}0&{}0\\ 0&{}-B_\phi &{}0&{}B_r&{}0&{}v_\phi &{}0&{}0\\ 0&{}0&{}-B_\phi &{}B_\theta &{}0&{}0&{}v_\phi &{}0\\ 0&{}0&{}0&{}0&{}0&{}0&{}0&{}v_\phi \end{array} \right) \end{aligned}$$

In fact, the Jacobian of each direction may be transferred to each other.

$$\begin{aligned} \mathbf {T}_{AB}\left( \mathbf {A}\left( \mathbf {T}_{AB}\mathbf {W}\right) \right) \mathbf {T}_{AB}^{-1}= \mathbf {T}_{AB} \left( \begin{array}{cccccccc} v_{\theta }&{}\rho &{}0&{}0&{}0&{}0&{}0&{}0\\ 0&{}v_{\theta }&{}0&{}0&{}\frac{1}{\rho }&{}0&{}\frac{B_{r}}{\mu \rho }&{}\frac{B_\phi }{\mu \rho }\\ 0&{}0&{}v_{\theta }&{}0&{}0&{}0&{}-\frac{B_{\theta }}{\mu \rho }&{}0\\ 0&{}0&{}0&{}v_{\theta }&{}0&{}0&{}0&{}-\frac{B_{\theta }}{\mu \rho }\\ 0&{}\gamma p&{}0&{}0&{}v_{\theta }&{}0&{}0&{}0\\ 0&{}0&{}0&{}0&{}0&{}v_{\theta }&{}0&{}0\\ 0&{}B_{r}&{}-B_{\theta }&{}0&{}0&{}0&{}v_{\theta }&{}0\\ 0&{}B_\phi &{}0&{}-B_{\theta }&{}0&{}0&{}0&{}v_{\theta } \end{array} \right) \mathbf {T}_{AB}^{-1}=\mathbf {B}\left( \mathbf {W}\right) \end{aligned}$$

where

$$\begin{aligned} \mathbf {T}_{AB}=\mathbf {T}_{AB}^{-1}= \left( \begin{array}{cccccccc} 1&{}0&{}0&{}0&{}0&{}0&{}0&{}0\\ 0&{}0&{}1&{}0&{}0&{}0&{}0&{}0\\ 0&{}1&{}0&{}0&{}0&{}0&{}0&{}0\\ 0&{}0&{}0&{}1&{}0&{}0&{}0&{}0\\ 0&{}0&{}0&{}0&{}1&{}0&{}0&{}0\\ 0&{}0&{}0&{}0&{}0&{}0&{}1&{}0\\ 0&{}0&{}0&{}0&{}0&{}1&{}0&{}0\\ 0&{}0&{}0&{}0&{}0&{}0&{}0&{}1 \end{array} \right) \end{aligned}$$

Similarly, one can also obtain the Jacobian matrix \(\mathbf {C}\left( \mathbf {W}\right) =\mathbf {T}_{AC}\left( \mathbf {A}\left( \mathbf {T}_{AC}\mathbf {W}\right) \right) \mathbf {T}_{AC}^{-1}\), and

$$\begin{aligned} \mathbf {T}_{AC}=\mathbf {T}_{AC}^{-1}= \left( \begin{array}{cccccccc} 1&{}0&{}0&{}0&{}0&{}0&{}0&{}0\\ 0&{}0&{}0&{}1&{}0&{}0&{}0&{}0\\ 0&{}0&{}1&{}0&{}0&{}0&{}0&{}0\\ 0&{}1&{}0&{}0&{}0&{}0&{}0&{}0\\ 0&{}0&{}0&{}0&{}1&{}0&{}0&{}0\\ 0&{}0&{}0&{}0&{}0&{}0&{}0&{}1\\ 0&{}0&{}0&{}0&{}0&{}0&{}1&{}0\\ 0&{}0&{}0&{}0&{}0&{}1&{}0&{}0 \end{array} \right) \end{aligned}$$

The corresponding eigenvalues and eigenvectors of \(\mathbf {B}\left( \mathbf {W}\right) \) and \(\mathbf {C}\left( \mathbf {W}\right) \) can be generated as follows:

$$ \lambda _{\theta \jmath }=\lambda _{r\jmath }\left( \mathbf {T}_{AB}\mathbf {W}\right) ,\mathbf {r}_{\theta \jmath }=\mathbf {T}_{AB}\left( \mathbf {r}_{r \jmath }\left( \mathbf {T}_{AB}\mathbf {W}\right) \right) ,\mathbf {l}_{\theta \jmath }=\left( \mathbf {l}_{r \jmath }\left( \mathbf {T}_{AB}\mathbf {W}\right) \right) \mathbf {T}^{-1}_{AB} $$
$$ \lambda _{\phi \jmath }=\lambda _{r\jmath }\left( \mathbf {T}_{AC}\mathbf {W}\right) ,\mathbf {r}_{\phi \jmath }=\mathbf {T}_{AC}\left( \mathbf {r}_{r \jmath }\left( \mathbf {T}_{AC}\mathbf {W}\right) \right) ,\mathbf {l}_{\phi \jmath }=\left( \mathbf {l}_{r \jmath }\left( \mathbf {T}_{AC}\mathbf {W}\right) \right) \mathbf {T}^{-1}_{AC} $$

For simplicity, here is only listed the eigensystem corresponding to r direction.

$$\begin{aligned} \lambda _{r\jmath lm}=\lambda _{r\jmath }\left( \mathbf {U}_{lm}\right) =\lambda _{r\jmath }\left( \frac{1}{2}\left( \widetilde{\mathbf {U}}_{[i-1,j,k]}(r_{im},\theta _j^r,\phi _k)+ \widetilde{\mathbf {U}}_{[i,j,k]}(r_{im},\theta _j^r,\phi _k)\right) \right) \end{aligned}$$
(A.9)

The corresponding eigenvectors \(\mathbf {L}_{r\jmath lm}\) and \(\mathbf {R}_{r\jmath lm}\) are as follows:

$$\begin{aligned} \begin{aligned}&\mathbf {L}_{r\jmath lm}=\left( \mathbf {l}_{r\jmath }\frac{\partial \mathbf {W}}{\partial \mathbf {U}}\right) \left( \mathbf {U}_{lm}\right) =\left( \mathbf {l}_{r\jmath }\frac{\partial \mathbf {W}}{\partial \mathbf {U}}\right) \left( \frac{1}{2}\left( \widetilde{\mathbf {U}}_{[i-1,j,k]}(r_{im},\theta _j^r,\phi _k)+ \widetilde{\mathbf {U}}_{[i,j,k]}(r_{im},\theta _j^r,\phi _k)\right) \right) \\&\mathbf {R}_{r\jmath lm}=\left( \frac{\partial \mathbf {U}}{\partial \mathbf {W}}\mathbf {r}_{r\jmath }\right) \left( \mathbf {U}_{lm}\right) =\left( \frac{\partial \mathbf {U}}{\partial \mathbf {W}}\mathbf {r}_{r\jmath }\right) \left( \frac{1}{2}\left( \widetilde{\mathbf {U}}_{[i-1,j,k]}(r_{im},\theta _j^r,\phi _k)+ \widetilde{\mathbf {U}}_{[i,j,k]}(r_{im},\theta _j^r,\phi _k)\right) \right) \end{aligned} \end{aligned}$$
(A.10)
$$\begin{aligned} \frac{\partial \mathbf {W}}{\partial \mathbf {U}}=\left( \begin{array}{cccccccc} 1&{}0&{}0&{}0&{}0&{}0&{}0&{}0\\ -\frac{v_r}{\rho }&{}\frac{1}{\rho }&{}0&{}0&{}0&{}0&{}0&{}0\\ -\frac{v_{\theta }}{\rho }&{}0&{}\frac{1}{\rho }&{}0&{}0&{}0&{}0&{}0\\ -\frac{v_{\phi }}{\rho }&{}0&{}0&{}\frac{1}{\rho r \sin \theta }&{}0&{}0&{}0&{}0\\ \alpha \zeta &{}-v_r\zeta &{}-v_{\theta }\zeta &{}-\frac{v_{\phi }\zeta }{r \sin \theta }&{}\zeta &{}-\frac{B_{r}\zeta }{\mu }&{} -\frac{B_{\theta }\zeta }{\mu }&{}-\frac{B_{\phi }\zeta }{\mu } \\ 0&{}0&{}0&{}0&{}0&{}1&{}0&{}0\\ 0&{}0&{}0&{}0&{}0&{}0&{}1&{}0\\ 0&{}0&{}0&{}0&{}0&{}0&{}0&{}1 \end{array}\right) \end{aligned}$$
(A.11)
$$\begin{aligned} \frac{\partial \mathbf {U}}{\partial \mathbf {W}}=\left( \begin{array}{cccccccc} 1&{}0&{}0&{}0&{}0&{}0&{}0&{}0\\ v_r&{}\rho &{}0&{}0&{}0&{}0&{}0&{}0\\ v_{\theta }&{}0&{}\rho &{}0&{}0&{}0&{}0&{}0\\ v_{\phi }r \sin \theta &{}0&{}0&{}\rho r \sin \theta &{}0&{}0&{}0&{}0\\ \alpha &{}\rho v_r&{}\rho v_{\theta }&{}\rho v_{\phi }&{}\frac{1}{\zeta }&{}\frac{B_{r }}{\mu } &{} \frac{B_{\theta }}{\mu }&{}\frac{B_{\phi }}{\mu }\\ 0&{}0&{}0&{}0&{}0&{}1&{}0&{}0\\ 0&{}0&{}0&{}0&{}0&{}0&{}1&{}0\\ 0&{}0&{}0&{}0&{}0&{}0&{}0&{}1 \end{array}\right) \end{aligned}$$
(A.12)

where \(\alpha =\frac{1}{2}(v_r^2+v_{\theta }^2+v_{\phi }^2)\) and \(\zeta =\gamma -1\).

For convenience, denote \({c}_{fr}, {c}_{sr}, {c}_{f\theta }, {c}_{s\theta }, {c}_{f\phi }, {c}_{s\phi }\) the fast and slow magnetosonic speeds in \((r,\theta ,\phi )\) directions

$$\begin{aligned} \begin{aligned}&c_{fr}=\frac{1}{\sqrt{2}}\sqrt{c_s^2+c_A^2+\left( \left( c_s^2+c_A^2\right) ^2-4c_s^2\frac{B_r^2}{\mu \rho }\right) ^{\frac{1}{2}}}, c_{sr}=\frac{1}{\sqrt{2}}\sqrt{c_s^2+c_A^2-\left( \left( c_s^2+c_A^2\right) ^2-4c_s^2\frac{B_r^2}{\mu \rho }\right) ^{\frac{1}{2}}} \\&c_{f\theta }=\frac{1}{\sqrt{2}}\sqrt{c_s^2+c_A^2+\left( \left( c_s^2+c_A^2\right) ^2-4c_s^2\frac{B_\theta ^2}{\mu \rho }\right) ^{\frac{1}{2}}}, c_{s\theta }=\frac{1}{\sqrt{2}}\sqrt{c_s^2+c_A^2-\left( \left( c_s^2+c_A^2\right) ^2-4c_s^2\frac{B_\theta ^2}{\mu \rho }\right) ^{\frac{1}{2}}} \\&c_{f\phi }=\frac{1}{\sqrt{2}}\sqrt{c_s^2+c_A^2+\left( \left( c_s^2+c_A^2\right) ^2-4c_s^2\frac{B_\phi ^2}{\mu \rho }\right) ^{\frac{1}{2}}}, c_{s\phi }=\frac{1}{\sqrt{2}}\sqrt{c_s^2+c_A^2-\left( \left( c_s^2+c_A^2\right) ^2-4c_s^2\frac{B_\phi ^2}{\mu \rho }\right) ^{\frac{1}{2}}} \end{aligned} \end{aligned}$$

where \(c_s=\sqrt{\frac{\gamma p}{\rho }}\) and \(c_A=\sqrt{ \frac{B_r^2+B_\theta ^2+B_\phi ^2}{\mu \rho } }\) are the sound and total Alfvénic speeds, respectively. \(c_{ax}=\frac{B_x}{\sqrt{\mu \rho }}\) is the Alfvénic speed in x-direction with \(x=r, \theta , \phi \).

The eigenvectors associated with those eigenvalues are:

$$ \lambda _{r1}=v_r-c_{fr} $$
$$ \mathbf {r}_{r1}=(\rho \alpha _f,-c_{fr}\alpha _f, c_{sr} \alpha _s\beta _\theta M, c_{sr} \alpha _s\beta _{\phi } M, \alpha _f\gamma p, 0, \alpha _s\sqrt{\mu \rho }c_s \beta _\theta , \alpha _s\sqrt{\mu \rho }c_s \beta _{\phi })^T $$
$$ \mathbf {l}_{r1}=(0,-\frac{c_{fr} \alpha _f}{2c_s^2}, \frac{c_{sr} \alpha _s\beta _{\theta }M}{2c_s^2},\frac{c_{sr}\alpha _s\beta _{\phi }M}{2c_s^2}, \frac{\alpha _f}{2\rho c_s^2}, 0, \frac{\alpha _s\beta _{\theta }}{2\sqrt{\mu \rho } c_s},\frac{\alpha _s\beta _{\phi }}{2\sqrt{\mu \rho } c_s}) $$
$$ \lambda _{r2}=v_r-|c_{ar}| $$
$$ \mathbf {r}_{r2}=(0, 0, -\frac{\beta _{\phi }}{\sqrt{2}}, \frac{\beta _{\theta }}{\sqrt{2}}, 0, 0, -\beta _{\phi }M\sqrt{\frac{\mu \rho }{2}}, \beta _{\theta }M\sqrt{\frac{\mu \rho }{2}})^T $$
$$ \mathbf {l}_{r2}=(0, 0, -\frac{\beta _{\phi }}{\sqrt{2}}, \frac{\beta _{\theta }}{\sqrt{2}}, 0, 0, -\frac{\beta _{\phi }M}{\sqrt{2\mu \rho }}, \frac{\beta _{\theta }M}{\sqrt{2\mu \rho }}) $$
$$ \lambda _{r3}=v_r-c_{sr} $$
$$ \mathbf {r}_{r3}=(\rho \alpha _s, -c_{rs} \alpha _s, -c_{fr} \alpha _f\beta _{\theta } M, -c_{fr} \alpha _f \beta _{\phi } M, \alpha _s \gamma p, 0, -\alpha _f \sqrt{\mu \rho }c_s \beta _{\theta }, -\alpha _f\sqrt{\mu \rho }c_s \beta _{\phi })^T $$
$$ \mathbf {l}_{r3}=(0, -\frac{c_{sr} \alpha _s}{2c_s^2}, -\frac{c_{fr} \alpha _f \beta _{\theta } M}{2c_s^2}, -\frac{c_{fr} \alpha _f \beta _{\phi } M}{2\alpha ^2}, \frac{\alpha _s}{2\rho c_s^2}, 0, -\frac{\alpha _f \beta _{\theta }}{2\sqrt{\mu \rho }c_s}, -\frac{\alpha _f\beta _{\phi }}{2\sqrt{\mu \rho }c_s}) $$
$$ \lambda _{r4}=v_r, \ \ \mathbf {r}_{r4}=(1,0,0,0,0,0,0,0)^T,\ \ \mathbf {l}_{r4}=(1, 0, 0, 0, -\frac{1}{c_s^2}, 0, 0, 0) $$
$$ \lambda _{r5}=v_r,\ \ \mathbf {r}_{r5}=(0, 0, 0, 0, 0, 1, 0, 0)^T, \ \ \mathbf {l}_{r5}=(0, 0, 0, 0, 0, 1, 0, 0) $$
$$ \lambda _{r6}=v_r+c_{sr} $$
$$ \mathbf {r}_{r6}=(\rho \alpha _s, c_{sr}\alpha _s, c_{fr}\alpha _f\beta _{\theta } M, c_{fr} \alpha _f\beta _{\phi } M, \alpha _s\gamma p, 0, -\alpha _f\sqrt{\mu \rho }c_s\beta _\theta , -\alpha _f\sqrt{\mu \rho }c_s\beta _{\phi })^T $$
$$ \mathbf {l}_{r6}=(0, \frac{c_{sr} \alpha _s}{2c_s^2}, \frac{c_{fr}\alpha _f\beta _\theta M}{2c_s^2}, \frac{c_{fr} \alpha _f\beta _{\phi } M}{2c_s^2}, \frac{\alpha _s}{2\rho c_s^2}, 0, -\frac{\alpha _f\beta _\theta }{2\sqrt{\mu \rho }c_s}, -\frac{\alpha _f\beta _{\phi }}{2\sqrt{\mu \rho }c_s}) $$
$$ \lambda _{r7}=v_r+|c_{ar}| $$
$$ \mathbf {r}_{r7}=(0, 0, -\frac{\beta _{\phi }}{\sqrt{2}}, \frac{\beta _{\theta }}{\sqrt{2}}, 0, 0, \beta _{\phi }M\sqrt{\frac{\mu \rho }{2}}, -\beta _{\theta }M\sqrt{\frac{\mu \rho }{2}})^T $$
$$ \mathbf {l}_{r7}=(0, 0, -\frac{\beta _{\phi }}{\sqrt{2}}, \frac{\beta _{\theta }}{\sqrt{2}}, 0, 0, \frac{\beta _{\phi }M}{\sqrt{2\mu \rho }}, -\frac{\beta _{\theta }M}{\sqrt{2\mu \rho }}) $$
$$ \lambda _{r8}=v_r+c_{fr} $$
$$ \mathbf {r}_{r8}=(\rho \alpha _f, c_{fr}\alpha _f, -c_{sr} \alpha _s \beta _{\theta } M, -c_{sr} \alpha _s\beta _{\phi } M, \alpha _f\gamma p, 0, \alpha _s\sqrt{\mu \rho }c_s\beta _{\theta }, \alpha _s\sqrt{\mu \rho } c_s \beta _{\phi })^T $$
$$ \mathbf {l}_{r8}=(0,\frac{c_{fr}\alpha _f}{2c_s^2}, -\frac{c_{sr} \alpha _s\beta _{\theta }M}{2c_s^2}, -\frac{c_{sr}\alpha _s\beta _{\phi }M}{2c_s^2},\frac{\alpha _f}{2\rho c_s^2}, 0, \frac{\alpha _s\beta _{\theta }}{2\sqrt{\mu \rho }c_s}, \frac{\alpha _s\beta _{\phi }}{2\sqrt{\mu \rho }c_s}) $$

where

$$ M=sign(B_r), \alpha _f^2=\frac{c_s^2-c_{sr}^2}{c_{fr}^2-c_{sr}^2}, \alpha _s^2=\frac{c_{fr}^2-c_s^2}{c_{fr}^2-c_{sr}^2}, \beta _{\theta }=\frac{B_{\theta }}{\sqrt{B_{\theta }^2+B_{\phi }^2}}, \beta _{\phi }=\frac{B_{\phi }}{\sqrt{B_{\theta }^2+B_{\phi }^2}} $$

The eigenvectors given above are orthogonal, and, since \(\alpha _f\), \(\alpha _s\), \(\beta _\theta \), and \(\beta _\phi \) all lie between zero and one, the eigenvectors are all well-formed, once these four parameters are defined. The only difficulties in defining these occur when \(B_{\theta }^2+B_{\phi }^2=0\), in which case \(\beta _\theta \) and \(\beta _\phi \) are ill-defined, and when \(B_{\theta }^2+B_{\phi }^2=0\), and \(B_r^2=\mu \rho c_s^2\), in which case \(\alpha _f\) and \(\alpha _s\) are ill-defined. The first case is fairly trivial; \(\beta _\theta \) and \(\beta _\phi \) represent direction cosines for the tangential component of the \(\mathbf {B}\)-field, and in the case of a zero component, it is only important to choose so that \(\beta _{\theta }^2+\beta _{\phi }^2=1\) [141] or \(\beta _{\theta }=\beta _{\phi }=\frac{1}{\sqrt{2}}\) [16, 158]. An approach for the case in which \(\alpha _f\) and \(\alpha _s\) are ill-defined has been outlined in detail by Roe and Balsara [150]. Indeed, they have shown in Roe and Balsara [150] that multiple solutions in this case for the linearized Riemann problem does not affect the value for the interface flux.

In case of \(B_\theta ^2+B_\phi ^2=0\) (say, \(B_{\theta }^2+B_{\phi }^2<10^{-10}\)), one can set \(\beta _{\theta }=\beta _{\phi }=\frac{1}{\sqrt{2}}\) as done by Brio and Wu [16]. The second case of \(|c_{ar}|= c_s\) and \(B_\theta ^2+B_\phi ^2=0\) corresponds to the magnetosonic case, in which \(c_{fr}^2=c_{sr}^2=c_s^2\), and \(\alpha _f^2+\alpha _s^2=1\). In order to remove the singularities in eigenvectors, in case of \(|c_{ar}|- c_s=0, B_\theta ^2+B_\phi ^2=0\) (say, \(\left| |c_{ar}|- c_s\right| <10^{-10}\) and \(B_{\theta }^2+B_{\phi }^2<10^{-10}\)), one can follow the formulation of Case V suggested by Roe and Balsara [150] or directly set \(\alpha _f^2=\alpha _s^2=\frac{1}{2}\) [158]. Thus, one will have well-defined orthogonal eigenvectors.

3.1.2 Roe Type Flux in GLM Form

Using the GLM [35], the divergence constraint is coupled with the conservation laws by introducing a new variable \(\psi \). Now, the coupling part can be written in the following form

$$\begin{aligned} \begin{aligned}&\frac{\partial \mathbf {B}}{\partial t}+\nabla \cdot \left( \mathbf {vB}-\mathbf {Bv}+\psi I\right) =0 \\&\frac{\partial \psi }{\partial t}+\nabla \cdot \left( c_h^2\mathbf {B}\right) =-\frac{c_h^2}{c_p^2}\psi \end{aligned} \end{aligned}$$
(A.13)

Thus, the governing equations involve the ninth variable in \(\mathbf {U}=\left( \rho , \rho v_{r}, \rho v_{\theta }, \rho v_{\phi }r\right. \left. \sin \theta , e, B_r, B_\theta , B_\phi , \psi \right) ^T\), with primitive variables \(\mathbf {W}=\left( \rho , v_{r}, v_{\theta }, v_{\phi }, p, B_r, B_\theta ,\right. \left. B_\phi , \psi \right) ^T\). In the GLM approach, divergence errors are propagated to the domain boundaries at finite speed \(c_h\) and damped at a rate given by \(c^2_h/c^2_p\). The parameter \(c_h\) is the constant advection velocity of \(\psi \). In order to avoid bringing additional constraint on the time step, it is evaluated as the fastest eigenvalue in the whole computation domain \(c_h=\max _{i,j,k}\left( |v_r|+c_{fr},|v_\theta |+c_{f\theta },|v_\phi |+c_{f\phi }\right) \). The choice of constant \(c_p\) will be given below. In the GLM formulation, computing the flux across the interface in each direction can follow from decoupling the equations of normal magnetic field and \(\psi \) from the other seven equations [35, 121, 122, 170]. That is, when solving a one dimensional Riemann problem at a zone interface (say the r direction), these additional waves are decoupled from the remaining ones and are described by the following \(2\times 2\) linear hyperbolic system without the source term:

$$\begin{aligned} \left\{ \begin{array}{l} \frac{\partial B_{r}}{\partial t}+\frac{1}{r^2}\frac{\partial r^2\psi }{\partial r}=0\\ \frac{\partial \psi }{\partial t}+\frac{1}{r^2}\frac{\partial }{\partial r}\left( c_h^2 r^2 B_{r}\right) =0 \end{array} \right. \end{aligned}$$
(A.14)

For a generic pair of left and right input states \((B_{rL}, \psi _L)\) and \((B_{rR}, \psi _R)\), the Godunov flux at the interface l of the system (A.14) can be computed exactly [35, 121, 122, 170] as

$$\begin{aligned} {F}_{r,B_{r}}=\psi _l=\frac{\psi _L+\psi _R}{2}-\frac{c_h(B_{rR}-B_{rL})}{2} \end{aligned}$$
(A.15)
$$\begin{aligned} {F}_{r,\psi }=c_h^2B_{rl}=c_h^2\left( \frac{B_{rL}+B_{rR}}{2}-\frac{\psi _R-\psi _L}{2c_h}\right) \end{aligned}$$
(A.16)

This allows us to carry out the solution of the \(2\times 2\) linear Riemann problem separately before using any standard 7-wave Riemann solver for the one-dimensional MHD equations. Similarly, one can obtain the flux corresponding to the \(\theta \) and \(\phi \) directions. Specifically, the flux of the magnetic field and \(\psi \) components at the cell interfaces are as follows:

$$\begin{aligned} {F}_{r,B_{r}, im,j,k}^n=~&\frac{1}{2}\left[ \widetilde{\psi }_{[i-1,j,k]}(r_{im},\theta _j^r,\phi _k)+\widetilde{\psi }_{[i,j,k]}(r_{im},\theta _j^r,\phi _k) \right] + \nonumber \\&\frac{1}{2}c_h\left( \widetilde{B}_{r[i-1,j,k]}(r_{im},\theta _j^r,\phi _k)-\widetilde{B}_{r[i,j,k]}(r_{im},\theta _j^r,\phi _k)\right) \nonumber \\ {F}_{r,\psi , im,j,k}^n=~&c_h^2\left\{ \frac{1}{2}\left( \widetilde{B}_{r[i-1,j,k]}(r_{im},\theta _j^r,\phi _k)+\widetilde{B}_{r[i,j,k]}(r_{im},\theta _j^r,\phi _k)\right) +\right. \nonumber \\&\left. \frac{1}{2c_h}\left( \widetilde{\psi }_{[i-1,j,k]}(r_{im},\theta _j^r,\phi _k)-\widetilde{\psi }_{[i,j,k]}(r_{im},\theta _j^r,\phi _k) \right) \right\} \nonumber \\ {F}_{\theta ,B_{\theta }, i,jm,k}^n=~&\frac{1}{2}\left[ \widetilde{\psi }_{[i,j-1,k]}(r_i^\theta ,\theta _{jm},\phi _k)+\widetilde{\psi }_{[i,j,k]}(r_i^\theta ,\theta _{jm},\phi _k) \right] + \nonumber \\&\frac{1}{2}c_h\left( \widetilde{B}_{\theta [i,j-1,k]}(r_i^\theta ,\theta _{jm},\phi _k)-\widetilde{B}_{\theta [i,j,k]}(r_i^\theta ,\theta _{jm},\phi _k)\right) \nonumber \\ {F}_{\theta ,\psi ,i,jm,k}^n=~&c_h^2\left\{ \frac{1}{2}\left( \widetilde{B}_{\theta [i,j-1,k]}(r_i^\theta ,\theta _{jm},\phi _k)+\widetilde{B}_{\theta [i,j,k]}(r_i^\theta ,\theta _{jm},\phi _k)\right) +\right. \nonumber \\&\left. \frac{1}{2c_h}\left( \widetilde{\psi }_{[i,j-1,k]}(r_i^\theta ,\theta _{jm},\phi _k)-\widetilde{\psi }_{[i,j,k]}(r_i^\theta ,\theta _{jm},\phi _k) \right) \right\} \nonumber \\ {F}_{\phi ,B_{\phi }, i,j,km}^n=~&\frac{1}{2}\left\{ \widetilde{\psi }_{[i,j,k-1]}(r_i^\phi ,\theta _j^\phi ,\phi _{km})+ \widetilde{\psi }_{[i,j,k]}(r_i^\phi ,\theta _j^\phi ,\phi _{km}) \right\} \nonumber \\&+\frac{1}{2}c_h\left( \widetilde{B}_{\phi [i,j,k-1]}(r_i^\phi ,\theta _j^\phi ,\phi _{km})-\widetilde{B}_{\phi [i,j,k]}(r_i^\phi ,\theta _j^\phi ,\phi _{km})\right) \nonumber \\ {F}_{\phi ,\psi ,i,j,km}^n=~&c_h^2\left\{ \frac{1}{2}\left( \widetilde{B}_{\phi [i,j,k-1]}(r_i^\phi ,\theta _j^\phi ,\phi _{km})+\widetilde{B}_{\phi [i,j,k]}(r_i^\phi ,\theta _j^\phi ,\phi _{km})\right) +\right. \nonumber \\&\left. \frac{1}{2c_h}\left( \widetilde{\psi }_{[i,j,k-1]}(r_i^\phi ,\theta _j^\phi ,\phi _{km})-\widetilde{\psi }_{[i,j,k]}(r_i^\phi ,\theta _j^\phi ,\phi _{km}) \right) \right\} \end{aligned}$$
(A.17)

Besides the fluxes listed above, other flux components not given here are still computed using those in Eqs. (A.2)–(A.7). For convenience, one can rewrite the fluxes for GLM system here by setting \(\mathbf {F}_{r,im,j,k}^{n*}\equiv \left( { F}_{rq,im,j,k}^{n*}\right) ^T\), \(\mathbf {F}_{r,ip,j,k}^{n*}\equiv \left( { F}_{rq,ip,j,k}^{n*}\right) ^T\), \(\mathbf {F}_{\theta ,i,jm,k}^{n*}\equiv \left( { F}_{\theta q,i,jm,k}^{n*}\right) ^T\), \(\mathbf {F}_{\theta ,i,jp,k}^{n*}\equiv \left( {F}_{\theta q,i,jp,k}^{n*}\right) ^T\), \(\mathbf {F}_{\phi ,i,j,km}^{n*}\equiv \left( { F}_{\phi q,i,j,km}^{n*}\right) ^T\) and \(\mathbf {F}_{\phi ,i,j,kp}^{n*}\equiv \left( \mathrm{F}_{\phi q,i,j,kp}^{n*}\right) ^T\), where \(q=1, 2, \ldots , 8,9\):

$$\begin{aligned} \mathbf {F}_{r,im,j,k}^{n*}=~&\frac{1}{2}\left( \mathbf {F}_r\left( \widetilde{\mathbf {U}}_{[i-1,j,k]}\left( r_{im},\theta _j^{r},\phi _k\right) \right) + \mathbf {F}_r\left( \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{im},\theta _j^{r},\phi _k\right) \right) \right) + \nonumber \\&\frac{1}{2}\left( \sum _\jmath \mathbf {R}_{r\jmath lm}\left| \lambda _{r\jmath lm}\right| \left[ \mathbf {L}_{r\jmath lm} \left( \widetilde{\mathbf {U}}_{[i-1,j,k]}\left( r_{im},\theta _j^{r},\phi _k\right) - \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{im},\theta _j^{r},\phi _k\right) \right) \right] \right) \nonumber \\ \mathbf {F}_{r,ip,j,k}^{n*}=~&\frac{1}{2}\left( \mathbf {F}_r\left( \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{ip},\theta _j^{r},\phi _k\right) \right) + \mathbf {F}_r\left( \widetilde{\mathbf {U}}_{[i+1,j,k]}\left( r_{ip},\theta _j^{r},\phi _k\right) \right) \right) + \nonumber \\&\frac{1}{2}\left( \sum _\jmath \mathbf {R}_{r\jmath lp}\left| \lambda _{r\jmath lp}\right| \left[ \mathbf {L}_{r\jmath lp}\left( \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{ip},\theta _j^{r},\phi _k\right) - \widetilde{\mathbf {U}}_{[i+1,j,k]}\left( r_{ip},\theta _j^{r},\phi _k\right) \right) \right] \right) \nonumber \\ \mathbf {F}_{\theta ,i,jm,k}^{n*}=~&\frac{1}{2}\left( \mathbf {F}_\theta \left( \widetilde{\mathbf {U}}_{[i,j-1,k]}\left( r_{i}^{\theta },\theta _{jm},\phi _k\right) \right) + \mathbf {F}_\theta \left( \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{i}^{\theta },\theta _{jm},\phi _k\right) \right) \right) + \nonumber \\&\frac{1}{2}\left( \sum _{\jmath }\mathbf {R}_{\theta \jmath lm}\left| \lambda _{\theta \jmath lm}\right| \left[ \mathbf {L}_{\theta \jmath lm}\left( \widetilde{\mathbf {U}}_{[i,j-1,k]}\left( r_{i}^{\theta },\theta _{jm},\phi _k\right) - \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{i}^{\theta },\theta _{jm},\phi _k\right) \right) \right] \right) \nonumber \\ \mathbf {F}_{\theta ,i,jp,k}^{n*}=~&\frac{1}{2}\left( \mathbf {F}_\theta \left( \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{i}^{\theta },\theta _{jp},\phi _k\right) \right) + \mathbf {F}_\theta \left( \widetilde{\mathbf {U}}_{[i,j+1,k]}\left( r_{i}^{\theta },\theta _{jp},\phi _k\right) \right) \right) + \nonumber \\&\frac{1}{2}\left( \sum _{\jmath }\mathbf {R}_{\theta \jmath lp}\left| \lambda _{\theta \jmath lp}\right| \left[ \mathbf {L}_{\theta \jmath lp}\left( \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{i}^{\theta },\theta _{jp},\phi _k\right) - \widetilde{\mathbf {U}}_{[i,j+1,k]}\left( r_{i}^{\theta },\theta _{jp},\phi _k\right) \right) \right] \right) \nonumber \\ \mathbf {F}_{\phi ,i,j,km}^{n*}=~&\frac{1}{2}\left( \mathbf {F}_\phi \left( \widetilde{\mathbf {U}}_{[i,j,k-1]}\left( r_{i}^{\phi },\theta _{j}^{\phi },\phi _{km}\right) \right) + \mathbf {F}_\phi \left( \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{i}^{\phi },\theta _{j}^{\phi },\phi _{km}\right) \right) \right) + \nonumber \\&\frac{1}{2}\left( \sum _{\jmath }\mathbf {R}_{\phi \jmath lm}\left| \lambda _{\phi \jmath lm}\right| \left[ \mathbf {L}_{\phi \jmath lm} \left( \widetilde{\mathbf {U}}_{[i,j,k-1]}\left( r_{i}^{\phi },\theta _{j}^{\phi },\phi _{km}\right) - \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{i}^{\phi },\theta _{j}^{\phi },\phi _{km}\right) \right) \right] \right) \nonumber \\ \mathbf {F}_{\phi ,i,j,kp}^{n*}=~&\frac{1}{2}\left( \mathbf {F}_\phi \left( \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{i}^{\phi },\theta _{j}^{\phi },\phi _{kp}\right) \right) + \mathbf {F}_\phi \left( \widetilde{\mathbf {U}}_{[i,j,k+1]}\left( r_{i}^{\phi },\theta _{j}^{\phi },\phi _{kp}\right) \right) \right) + \nonumber \\&\frac{1}{2}\left( \sum _{\jmath }\mathbf {R}_{\phi \jmath lp}\left| \lambda _{\phi \jmath lp}\right| \left[ \mathbf {L}_{\phi \jmath lp}\left( \widetilde{\mathbf {U}}_{[i,j,k]}\left( r_{i}^{\phi },\theta _{j}^{\phi },\phi _{kp}\right) - \widetilde{\mathbf {U}}_{[i,j,k+1]}\left( r_{i}^{\phi },\theta _{j}^{\phi },\phi _{kp}\right) \right) \right] \right) \end{aligned}$$
(A.18)

where \(\mathbf {U}=\left( \rho , \rho v_{r}, \rho v_{\theta }, \rho v_{\phi }r\sin \theta , e, B_r, B_\theta , B_\phi , \psi \right) ^T\), and the summation in \(\jmath \) is carried out for all eigenvalues except \(\pm c_h\), with the eigenvalues corresponding to r direction being \(\lambda _{r1}=v_r-c_{fr}\), \(\lambda _{r2}=v_r-|c_{ar}|\), \(\lambda _{r3}=v_r-c_{sr}\), \(\lambda _{r4}=v_r\), \(\lambda _{r5}=v_r+c_{sr}\), \(\lambda _{r6}=v_r+|c_{ar}|\), \(\lambda _{r7}=v_r+c_{fr}\), and the corresponding eigenvectors \(\mathbf {l}_{r\jmath }\) and \(\mathbf {r}_{r\jmath }\), with respect to primitive variables \(\mathbf {W}=\left( \rho , v_{r}, v_{\theta }, v_{\phi }, p, B_r, B_\theta , B_\phi , \psi \right) ^T\). That is, seven of the nine eigenvalues of the GLM system are the same as the Powell’s eight-wave form Powell et al. [141], with two different eigenvalues \(\pm c_h\). The corresponding eigenvectors for these \(\lambda _\jmath \)’s are almost the same but presently with the ninth component being zero associated with \(\psi \), except that the eigenvectors corresponding to the eigenvalues \(\pm c_h\) are complex, however, those eigenvectors associated with the eigenvalues \(\pm c_h\) are not used actually as seen from Eqs. (A.17). The eigenvalues on the interfaces are expressed in the same way as in Eq. (A.9) by \( \lambda _{r\jmath lm}=\lambda _{r\jmath }\left( \mathbf {U}_{lm}\right) =\lambda _{r\jmath }\left( \frac{1}{2}\left( \widetilde{\mathbf {U}}_{[i-1,j,k]}(r_{im},\theta _j^r,\phi _k)+ \widetilde{\mathbf {U}}_{[i,j,k]}(r_{im},\theta _j^r,\phi _k)\right) \right) \), while the corresponding eigenvectors \(\mathbf {L}_{r\jmath lm}\) and \(\mathbf {R}_{r\jmath lm}\) corresponding to the conservative variables \(\mathbf {U}=\left( \rho , \rho v_{r}, \rho v_{\theta }, \rho v_{\phi }r\sin \theta , e, B_r, B_\theta , B_\phi , \psi \right) ^T\) can be calculated by following Eq. (A.10): \( \mathbf {L}_{r\jmath lm}=\left( \mathbf {l}_{r\jmath }\frac{\partial \mathbf {W}}{\partial \mathbf {U}}\right) \left( \mathbf {U}_{lm}\right) , \ \mathbf {R}_{r\jmath lm}=\left( \frac{\partial \mathbf {U}}{\partial \mathbf {W}}\mathbf {r}_{r\jmath }\right) \left( \mathbf {U}_{lm}\right) \). Note that \(\frac{\partial \mathbf {W}}{\partial \mathbf {U}}\) and \(\frac{\partial \mathbf {U}}{\partial \mathbf {W}}\) are \(9\times 9\) matrices, whose left-upper blocks are the same as those in Eqs. (A.11) and (A.12), and right-bottom blocks have only one element 1.

Combining the reconstructed fluxes in Eqs. (A.17) and (A.18), one can obtain the final fluxes \(\mathbf {F}_{r,im,j,k}^n\), \(\mathbf {F}_{r,ip,j,k}^n\), \(\mathbf {F}_{\theta ,i,jm,k}^n\), \(\mathbf {F}_{\theta ,i,jp,k}^n\), \(\mathbf {F}_{\phi ,i,j,km}^n\) and \(\mathbf {F}_{\phi ,i,j,kp}^n\) for the GLM system:

$$\begin{aligned} \mathbf {F}_{r,im,j,k}^n&=\left( { F}_{r1,im,j,k}^{n*},{ F}_{r2,im,j,k}^{n*},{F}_{r3,im,j,k}^{n*},{ F}_{r4,im,j,k}^{n*}, { F}_{r5,im,j,k}^{n*},{ F}_{r,B_r,im,j,k}^n,\right. \nonumber \\&\qquad \left. { F}_{r7,im,j,k}^{n*},{F}_{r8,im,j,k}^{n*}, { F}_{r,\psi ,im,j,k}^n\right) ^T \nonumber \\ \mathbf {F}_{r,ip,j,k}^n&=\left( { F}_{r1,ip,j,k}^{n*},\mathrm{F}_{r2,ip,j,k}^{n*},{ F}_{r3,ip,j,k}^{n*}, {F}_{r4,ip,j,k}^{n*}, {F}_{r5,ip,j,k}^{n*}, {F}_{r,B_r,ip,j,k}^n, { F}_{r7,ip,j,k}^{n*},\right. \nonumber \\&\qquad \left. {F}_{r8,ip,j,k}^{n*}, {F}_{r,\psi ,ip,j,k}^n\right) ^T \nonumber \\ \mathbf {F}_{\theta ,i,jm,k}^n&=\left( {F}_{\theta 1,i,jm,k}^{n*}, {F}_{\theta 2,i,jm,k}^{n*}, {F}_{\theta 3,i,jm,k}^{n*}, {F}_{\theta 4,i,jm,k}^{n*}, {F}_{\theta 5,i,jm,k}^{n*}, { F}_{\theta 6,i,jm,k}^{n*},\right. \nonumber \\&\qquad \left. {F}_{\theta ,B_\theta ,i,jm,k}^n, {F}_{r\theta 8,i,jm,k}^{n*}, { F}_{\theta ,\psi ,i,jm,k}^n\right) ^T \nonumber \\ \mathbf {F}_{\theta ,i,jp,k}^n&=\left( { F}_{\theta 1,i,jp,k}^{n*}, {F}_{\theta 2,i,jp,k}^{n*}, {F}_{\theta 3,i,jp,k}^{n*}, {F}_{\theta 4,i,jp,k}^{n*}, {F}_{\theta 5,i,jp,k}^{n*},\right. \nonumber \\&\qquad \left. { F}_{\theta 6,i,jp,k}^{n*}, {F}_{\theta ,B_\theta ,i,jp,k}^n, {F}_{r\theta 8,i,jp,k}^{n*}, {F}_{\theta ,\psi ,i,jp,k}^n\right) ^T \nonumber \\ \mathbf {F}_{\phi ,i,j,km}^n&=\left( {F}_{\phi 1,i,j,km}^{n*}, {F}_{\phi 2,i,j,km}^{n*}, {F}_{\phi 3,i,j,km}^{n*}, {F}_{\phi 4,i,j,km}^{n*}, {F}_{\phi 5,i,j,km}^{n*}, { F}_{\phi 6,i,j,km}^{n*},\right. \nonumber \\&\qquad \left. {F}_{\phi 7,i,j,km}^{n*}, {F}_{\phi ,B_\phi ,i,j,km}^n, {F}_{\phi ,\psi ,i,j,km}^{n}\right) ^T \nonumber \\ \mathbf {F}_{\phi ,i,j,kp}^n&=\left( {F}_{\phi 1,i,j,kp}^{n*}, {F}_{\phi 2,i,j,kp}^{n*},{ F}_{\phi 3,i,j,kp}^{n*}, {F}_{\phi 4,i,j,kp}^{n*}, { F}_{\phi 5,i,j,kp}^{n*}, { F}_{\phi 6,i,j,kp}^{n*}, {F}_{\phi 7,i,j,kp}^{n*},\right. \nonumber \\&\qquad \left. { F}_{\phi ,B_\phi ,i,j,kp}^n, {F}_{\phi ,\psi ,i,j,kp}^{n}\right) ^T \end{aligned}$$
(A.19)

It should be noted that the interface values \(\psi _l\) and \(B_{rl}\) from Eqs. (A.15) and (A.16) are used as more as possible for flux calculations. According to Harten et al. [70, 141], if a so-called “entropy fix” is not applied to Roe’s scheme, expansion shocks can be permitted. The entropy fix is applied to the magnetosonic waves to bound those eigenvalues away from zero when the flow is expanding. This is done by replacing \(|\lambda _{\jmath l}|\) with \(|\lambda _{\jmath l}^*|\) in the discretized flux formulations above. Note that the replacement is implemented for the values of \(|\lambda _{\jmath l}|\) \((v_r-c_{fr}, v_r-c_{sr}, v_r+c_{sr}, v_r+c_{fr})\) corresponding to the magnetoacoustic waves only, with \(|\lambda _{\jmath l}^*|\) given by

$$\begin{aligned} |\lambda _{\jmath l}^*|= \left\{ \begin{array}{cc} |\lambda _{\jmath l}| &{}|\lambda _{\jmath l}|\ge \frac{\delta \lambda _{\jmath }}{2}\\ \frac{\lambda _{\jmath l}^2}{\delta \lambda _{\jmath }}+\frac{\delta \lambda _{\jmath }}{4} &{} |\lambda _{\jmath l}|<\frac{\delta \lambda _{\jmath }}{2} \end{array} \right. \end{aligned}$$
(A.20)

where

$$ \delta \lambda _{\jmath }=\mathrm{max}\left( 4\left( \lambda _{\jmath R}-\lambda _{\jmath L}\right) ,0\right) $$

Another entropy correction formula suggested by Kermani and Plett [95] runs as follows:

$$\begin{aligned} |\lambda _{\jmath l}^*|= \left\{ \begin{array}{cc} \frac{\lambda _{\jmath l}^2+\epsilon ^2}{2\epsilon } &{} |\lambda _{\jmath l}|<\epsilon \\ |\lambda _{\jmath l}| &{} |\lambda _{\jmath l}|\ge \epsilon \end{array} \right. \end{aligned}$$
(A.21)

where \(\epsilon \) has two choices with \(\epsilon _1=2 \mathrm{max}\left[ 0,\left( \lambda _{\jmath R}-\lambda _{\jmath L}\right) \right] \) and \(\epsilon _2=4 \mathrm{max} \left[ 0,\left( \lambda _{\jmath l}-\lambda _{\jmath L}\right) ,\left( \lambda _{\jmath l}-\lambda _{\jmath R}\right) \right] \). All these entropy fixing methods in Eqs. (A.20) and (A.21) are employed in our code.

Up to now, we are ready to solve Eq. (A.1) with the fluxes defined by Eq. (A.19). Finally, supplemented with the initial condition \(\bar{\psi }_{i,j,k}^{n*}\) given by the output of the most recent step, one can solve the initial value problem obtained by the last equation of (A.14) without the \(\nabla \cdot \mathbf {B}\) term

$$\begin{aligned} \frac{\partial \psi }{\partial t}=-\frac{c_h^2}{c_p^2}\psi \end{aligned}$$
(A.22)

by integrating exactly for a time increment \(\varDelta t_n\), yielding

$$\begin{aligned} {\psi }_{i,j,k}^{n+1}={\exp }(-\varDelta t_n\frac{c_h^2}{c_p^2})\bar{\psi }_{i,j,k}^{n*} \end{aligned}$$
(A.23)

The constant \(c^2_p\) has the dimension of length squared over time and thus can be regarded as a diffusion coefficient. Dedner et al. [35] chose \(c_p=\sqrt{0.18c_h}\), depending on their numerical experiment. However, this definition is incomplete, since \(c_p^2/c_h\) has the dimension of length and thus it is not a dimensionless quantity. Thus, another choice defined by the dimensionless parameter \(\alpha =\frac{\varDelta hc_h}{c_p^2}\in [0,1]\) is suggested [121, 122, 170], and can be regarded as the ratio of the diffusive and advective time scales, i.e., \(\alpha =\frac{\varDelta t_d}{\varDelta t_a}\), where \(\varDelta t_d=\varDelta h^2/c_p^2\) and \( \varDelta t_a=\varDelta h/c_h\). \(\varDelta h\) is the minimum grid spacing \(\left( \displaystyle \min _{i,j,k}\left( \varDelta r(i), r(i)\varDelta \theta (j), r(i)\sin \theta (j)\varDelta \phi (k)\right) \right) \). The third choice \(c_p=\sqrt{-\frac{\varDelta t}{\ln c_d}c_h^2}\) with \(c_d \in (0,1)\) has been used [35, 69, 88, 202], where \(c_h=\frac{\text {CFL}}{\varDelta t}\varDelta h\). If one chooses \(c_d=\exp (-\alpha \mathrm{CFL})\), then the later two choices becomes the same. In STEP-MHD code \(\alpha =0.1\), \(\psi \) is set to be zero initially and \(\psi \) is fixed at the inner boundary and outer boundary.

3.1.3 HLL Type Flux

$$\begin{aligned} \begin{aligned} \mathbf {F}_{r, im,j,k}^n=&-\frac{a_{im,j^r,k}^+a_{im,j^r,k}^-}{a_{im,j^r,k}^+-a_{im,j^r,k}^-} \left( \widetilde{\mathbf {U}}_{[i-1,j,k]}(r_{im},\theta _j^r,\phi _k)-\widetilde{\mathbf {U}}_{[i,j,k]}(r_{im},\theta _j^r,\phi _k)\right) \\&+\frac{a_{im,j^r,k}^+\mathbf {F}_r\left( \widetilde{\mathbf {U}}_{[i-1,j,k]}(r_{im},\theta _j^r,\phi _k),\widetilde{\mathbf {B}}_{[i-1,j,k]} (r_{im},\theta _j^r,\phi _k)\right) }{a_{im,j^r,k}^+-a_{im,j^r,k}^-} \\&-\frac{a_{im,j^r,k}^-\mathbf {F}_r \left( \widetilde{\mathbf {U}}_{[i,j,k]}(r_{im},\theta _j^r,\phi _k),\widetilde{\mathbf {B}}_{[i,j,k]} (r_{im},\theta _j^r,\phi _k)\right) }{a_{im,j^r,k}^+-a_{im,j^r,k}^-} \end{aligned} \end{aligned}$$
$$\begin{aligned} \mathbf {F}_{\theta , i,jm,k}^n=&-\frac{b_{i^\theta ,jm,k}^+b_{i^\theta ,jm,k}^-}{b_{i^\theta ,jm,k}^+-b_{i^\theta ,jm,k}^-} \left( \widetilde{\mathbf {U}}_{[i,j-1,k]}(r_i^\theta ,\theta _{jm},\phi _k)-\widetilde{\mathbf {U}}_{[i,j,k]}(r_i^\theta ,\theta _{jm},\phi _k)\right) \\&+\frac{b_{i^\theta ,jm,k}^+\mathbf {F}_\theta \left( \widetilde{\mathbf {U}}_{[i,j-1,k]}(r_i^\theta ,\theta _{jm},\phi _k),\widetilde{\mathbf {B}}_{[i,j-1,k]} (r_i^\theta ,\theta _{jm},\phi _k)\right) }{b_{i^\theta ,jm,k}^+-b_{i^\theta ,jm,k}^-} \\&-\frac{b_{i^\theta ,jm,k}^-\mathbf {F}_\theta \left( \widetilde{\mathbf {U}}_{[i,j,k]}(r_i^\theta ,\theta _{jm},\phi _k),\widetilde{\mathbf {B}}_{[i,j,k]} (r_i^\theta ,\theta _{jm},\phi _k)\right) }{b_{i^\theta ,jm,k}^+-b_{i^\theta ,jm,k}^-} \end{aligned}$$
$$\begin{aligned} \begin{aligned} \mathbf {F}_{\phi , i,j,km}^n =&-\frac{c_{i^\phi ,j^\phi ,km}^+c_{i^\phi ,j^\phi ,km}^-}{c_{i^\phi ,j^\phi ,km}^+-c_{i^\phi ,j^\phi ,km}^-} \left( \widetilde{\mathbf {U}}_{[i,j,k-1]}(r_i^\phi ,\theta _j^\phi ,\phi _{km})-\widetilde{\mathbf {U}}_{[i,j,k]}(r_i^\phi ,\theta _j^\phi ,\phi _{km})\right) \\&+\frac{c_{i^\phi ,j^\phi ,km}^+\mathbf {F}_\phi \left( \widetilde{\mathbf {U}}_{[i,j,k-1]}(r_i^\phi ,\theta _j^\phi ,\phi _{km}),\widetilde{\mathbf {B}}_{[i,j,k-1]} (r_i^\phi ,\theta _j^\phi ,\phi _{km})\right) }{c_{i^\phi ,j^\phi ,km}^+-c_{i^\phi ,j^\phi ,km}^-} \\&-\frac{c_{i^\phi ,j^\phi ,km}^-\mathbf {F}_\phi \left( \widetilde{\mathbf {U}}_{[i,j,k]}(r_i^\phi ,\theta _j^\phi ,\phi _{km}),\widetilde{\mathbf {B}}_{[i,j,k]} (r_i^\phi ,\theta _j^\phi ,\phi _{km})\right) }{c_{i^\phi ,j^\phi ,km}^+-c_{i^\phi ,j^\phi ,km}^-} \end{aligned} \end{aligned}$$

Parameters \(a_{im,j^r,k}^+, a_{im,j^r,k}^-, b_{i^\theta ,jm,k}^+, b_{i^\theta ,jm,k}^-, c_{i^\phi ,j^\phi ,km}^+, c_{i^\phi ,j^\phi ,km}^-\) involved in the flux functions are defined by the maximum and minimum speed on the centers of six faces

$$\begin{aligned} \begin{aligned}&a_{im,j^r,k}^+=\mathrm{max}\left\{ (\widetilde{v}_r+\widetilde{c}_{fr})_{[i-1,j,k]}(r_{im},\theta _j^r,\phi _k), (\widetilde{v}_r+\widetilde{c}_{fr})_{[i,j,k]}(r_{im},\theta _j^r,\phi _k),0\right\} \\&a_{im,j^r,k}^-=\mathrm{min}\left\{ (\widetilde{v}_r-\widetilde{c}_{fr})_{[i-1,j,k]}(r_{im},\theta _j^r,\phi _k), (\widetilde{v}_r-\widetilde{c}_{fr})_{[i,j,k]}(r_{im},\theta _j^r,\phi _k),0\right\} \\&b_{i^\theta ,jm,k}^+=\mathrm{max}\left\{ (\widetilde{v}_\theta +\widetilde{c}_{f\theta })_{[i,j-1,k]}(r_i^\theta ,\theta _{jm},\phi _k), (\widetilde{v}_\theta +\widetilde{c}_{f\theta })_{[i,j,k]}(r_i^\theta ,\theta _{jm},\phi _k),0\right\} \\&b_{i^\theta ,jm,k}^-=\mathrm{min}\left\{ (\widetilde{v}_\theta -\widetilde{c}_{f\theta })_{[i,j-1,k]}(r_i^\theta ,\theta _{jm},\phi _k), (\widetilde{v}_\theta -\widetilde{c}_{f\theta })_{[i,j,k]}(r_i^\theta ,\theta _{jm},\phi _k),0\right\} \\&c_{i^\phi ,j^\phi ,km}^+=\mathrm{max}\left\{ (\widetilde{v}_\phi +\widetilde{c}_{f\phi })_{[i,j,k-1]}(r_i^\phi ,\theta _j^\phi ,\phi _{km}), (\widetilde{v}_\phi +\widetilde{c}_{f\phi })_{[i,j,k]}(r_i^\phi ,\theta _j^\phi ,\phi _{km}),0\right\} \\&c_{i^\phi ,j^\phi ,km}^-=\mathrm{min}\left\{ (\widetilde{v}_\phi -\widetilde{c}_{f\phi })_{[i,j,k-1]}(r_i^\phi ,\theta _j^\phi ,\phi _{km}), (\widetilde{v}_\phi -\widetilde{c}_{f\phi })_{[i,j,k]}(r_i^\phi ,\theta _j^\phi ,\phi _{km}),0\right\} \\ \end{aligned} \end{aligned}$$
(A.24)

3.1.4 CT Formulation

The CT method advances the variables \(\mathbf {V}=\left( \rho , \rho v_{r}, \rho v_{\theta }, \rho v_{\phi }r\sin \theta , e\right) ^T\) at the centroid point \((\overline{r}_i, \overline{\theta }_j, \phi _k)\) and \(\mathbf {B}=\left( B_r, B_\theta , B_\phi \right) \) at the face center. In the derivation of numerical scheme with CT, the governing MHD equations are divided into two coupled subsystems of equations: a fluid part Eq. (3.14) and a magnetic induction part Eq. (3.15). The numerical formulation of fluid part Eq. (3.14) for the vector \(\mathbf {V}=\left( \rho , \rho v_{r}, \rho v_{\theta }, \rho v_{\phi }r\sin \theta , e\right) ^T\) can be derived from the first five arguments’s equations for \(\mathbf {U}\) in Eq. (3.2), where \(\mathbf {G}_r, \mathbf {G}_\theta , \mathbf {G}_\phi , \mathbf {Q}\) are the first five arguments in \(\mathbf {F}_r, \mathbf {F}_\theta , \mathbf {F}_\phi \), and \(\mathbf {S}_1+\mathbf {S}_2\). Hence, the discretized formulation (3.20) for \(\mathbf {V}\) follows from those of the first five arguments associated with Eq. (A.1).

Following Eq. (3.24) in Ziegler [219], by averaging Eqs. (3.15) over facial areas of a cell with geometrical center (ijk), one can obtain the semi-discrete form Eq. (3.21) separately as follows

$$\begin{aligned} \begin{aligned}&\frac{dB_{r,im,j^r,k}}{dt}=-\frac{\sin \theta _{jp}E_{\phi , im,jp,k}^*- \sin \theta _{jm}E_{\phi , im,jm,k}^*}{r_{im}(\cos \theta _{jm}-\cos \theta _{jp})}\\&\qquad \qquad \qquad \quad + \frac{\varDelta \theta (j)}{r_{im}(\cos \theta _{jm}-\cos \theta _{jp})} \frac{E_{\theta , im,j,kp}^*-E_{\theta , im,j,km}^*}{\varDelta \phi (k)}\\&\frac{dB_{\theta ,i^\theta ,jm,k}}{dt}=-\frac{2}{ (r_{im}+r_{ip})\sin \theta _{jm}}\frac{E_{r, i,jm,kp}^*-E_{r, i,jm,km}^*}{\varDelta \phi (k)}\\&\qquad \qquad \qquad \quad + \frac{2\left( r_{ip}E_{\phi , ip,jm,k}^*-r_{im}E_{\phi , im,jm,k}^*\right) }{r_{ip}^2-r_{im}^2}\\&\frac{dB_{\phi ,i^\phi ,j^\phi ,km}}{dt}=-\frac{2\left( r_{ip}E_{\theta , ip,j,km}^*-r_{im}E_{\theta , im,j,km}^*\right) }{r_{ip}^2-r_{im}^2}\\&\qquad \qquad \qquad \qquad + \frac{2}{r_{im}+r_{ip}}\frac{E_{r, i,jp,km}^*-E_{r, i, jm, km}^*}{\varDelta \theta (j)} \end{aligned} \end{aligned}$$

Here, \(E_{r, i,jm,km}^*, E_{\theta , im, j, km}^*, E_{\phi , im, jm, k}^*\) are the reconstructed values of the electric fields at cell edge \((r_i, \theta _{jm}, \phi _{km})\), \((r_{im}, \theta _j, \phi _{km})\), \((r_{im},\theta _{jm},\phi _k)\), defined respectively by

$$\begin{aligned} \begin{aligned} E_{r, i,jm,km}^*&=-\frac{b_{i,jm,km}^-b_{i,jm,km}^+}{b_{i,jm,km}^+-b_{i,jm,km}^-}\left( \widetilde{B}_{\phi , i,jm+,km}-\widetilde{B}_{\phi , i,jm-,km}\right) +\frac{c_{i,jm,km}^-c_{i,jm,km}^+}{c_{i,jm,km}^+-c_{i,jm,km}^-}\\&\times \left( \widetilde{B}_{\theta , i,jm,km+}-\widetilde{B}_{\theta , i,jm,km-}\right) -\frac{1}{(b_{i,jm,km}^+-b_{i,jm,km}^-)(c_{i,jm,km}^+-c_{i,jm,km}^-)}\\&\times \left( b_{i,jm,km}^+c_{i,jm,km}^-\widetilde{E}_{r,i,jm-,km+}-b_{i,jm,km}^-c_{i,jm,km}^-\widetilde{E}_{r,i,jm+,km+}\right. \\&\left. -\ b_{i,jm,km}^+c_{i,jm,km}^+\widetilde{E}_{r,i,jm-,km-} +b_{i,jm,km}^-c_{i,jm,km}^+\widetilde{E}_{r,i,jm+,km-}\right) \end{aligned} \end{aligned}$$
$$\begin{aligned} \begin{aligned} E_{\theta , im,j,km}^*&=\frac{a_{im,j,km}^-a_{im,j,km}^+}{a_{im,j,km}^+-a_{im,j,km}^-}\left( \widetilde{B}_{\phi , im+,j,km}-\widetilde{B}_{\phi , im-,j,km}\right) -\frac{c_{im,j,km}^-c_{im,j,km}^+}{c_{im,j,km}^+-c_{im,j,km}^-}\\&\times \left( \widetilde{B}_{r, im,j,km+}-\widetilde{B}_{r, im,j,km-}\right) -\frac{1}{(a_{im,j,km}^+-a_{im,j,km}^-)(c_{im,j,km}^+-c_{im,j,km}^-)}\\&\times \left( a_{im,j,km}^+c_{im,j,km}^-\widetilde{E}_{\theta , im-,j,km+}-a_{im,j,km}^-c_{im,j,km}^-\widetilde{E}_{\theta , im+,j,km+}\right. \\&\left. -\ a_{im,j,km}^+c_{im,j,km}^+\widetilde{E}_{\theta , im-,j,km-} +a_{im,j,km}^-c_{im,j,km}^+\widetilde{E}_{\theta , im+,j,km-}\right) \end{aligned} \end{aligned}$$
$$\begin{aligned} \begin{aligned} E_{\phi , im,jm,k}^*&=-\frac{a_{im,jm,k}^-a_{im,jm,k}^+}{a_{im,jm,k}^+-a_{im,jm,k}^-}\left( \widetilde{B}_{\theta , im+,jm,k}-\widetilde{B}_{\theta , im-,jm,k}\right) +\frac{b_{im,jm,k}^-b_{im,jm,k}^+}{b_{im,jm,k}^+-b_{im,jm,k}^-}\\&\times \left( \widetilde{B}_{r, im,jm+,k}-\widetilde{B}_{r, im,jm-,k}\right) -\frac{1}{(b_{im,jm,k}^+-b_{im,jm,k}^-)(a_{im,jm,k}^+-a_{im,jm,k}^-)}\\&\times \left( a_{im,jm,k}^+b_{im,jm,k}^-\widetilde{E}_{\phi , im-,jm+,k}-a_{im,jm,k}^-b_{im,jm,k}^-\widetilde{E}_{\phi , im+,jm+,k}\right. \\&\left. -\ a_{im,jm,k}^+b_{im,jm,k}^+\widetilde{E}_{\phi , im-,jm-,k} +a_{im,jm,k}^-b_{im,jm,k}^+\widetilde{E}_{\phi , im+,jm-,k}\right) \end{aligned} \end{aligned}$$

where

$$\begin{aligned} \begin{aligned}&\widetilde{E}_{r,i,jm+,km+}=-\left( \widetilde{v}_\theta \widetilde{B}_\phi -\widetilde{v}_\phi \widetilde{B}_\theta \right) _{[i,j,k]}(r_i,\theta _{jm},\phi _{km}) \\&\widetilde{E}_{r,i,jm-,km+}=-\left( \widetilde{v}_\theta \widetilde{B}_\phi -\widetilde{v}_\phi \widetilde{B}_\theta \right) _{[i,j-1,k]}(r_i,\theta _{jm},\phi _{km}) \\&\widetilde{E}_{r, i, jm+, km-}=-\left( \widetilde{v}_\theta \widetilde{B}_\phi -\widetilde{v}_\phi \widetilde{B}_\theta \right) _{[i,j,k-1]}(r_i,\theta _{jm},\phi _{km}) \\&\widetilde{E}_{r, i, jm-, km-}=-\left( \widetilde{v}_\theta \widetilde{B}_\phi -\widetilde{v}_\phi \widetilde{B}_\theta \right) _{[i,j-1,k-1]}(r_i,\theta _{jm},\phi _{km}) \\&\widetilde{B}_{r[i,j,k]}(r_{im},\theta _{jm},\phi _k)=\widetilde{B}_{1r[i,j,k]}(r_{im},\theta _{jm},\phi _k)+\widetilde{B}_{0r[i,j,k]}(r_{im},\theta _{jm},\phi _k) \\&\widetilde{B}_{r, im, j, km+}=\widetilde{B}_{r[i,j,k]}(r_{im},\theta _j,\phi _{km}),\ \widetilde{B}_{r, im, j, km-}=\widetilde{B}_{r[i,j,k-1]}(r_{im},\theta _j,\phi _{km}) \\&\widetilde{B}_{r, im, jm+, k}=\widetilde{B}_{r[i,j,k]}(r_{im},\theta _{jm},\phi _k),\ \widetilde{B}_{r, im, jm-, k}=\widetilde{B}_{r[i,j-1,k]}(r_{im},\theta _{jm},\phi _k) \end{aligned} \end{aligned}$$

The formulation in \(\theta \) and \(\phi \) directions is similar to that in the r direction, which is omitted here. It is noted that, \((\widetilde{v}_r, \widetilde{v}_\theta , \widetilde{v}_\phi )\) is defined by Eq. (A.8) as above, while \((\widetilde{B}_r, \widetilde{B}_\theta , \widetilde{B}_\phi )\) is decided by the second-order magnetic field construction proposed in Sect. 3.2.4 by Ziegler [219]

$$\begin{aligned} \begin{aligned} \widetilde{B}_{r[i,j,k]}(\mathbf {r})&=\frac{1}{2}\left( B_{r,ip,j^r,k}+B_{r,im,j^r,k}\right) +\left( B_{r,ip,j^r,k}-B_{r,im,j^r,k}\right) \frac{r-r_i}{\varDelta r(i)} \\&+\left[ \widetilde{(\partial _\theta B_r)}_{ip,j,k}\frac{r-r_{im}}{\varDelta r(i)}+\widetilde{(\partial _\theta B_r)}_{im,j,k}\frac{r_{ip}-r}{\varDelta r(i)}\right] (\theta -\theta _j^r) \\&+\left[ \widetilde{(\partial _\phi B_r)}_{ip,j,k}\frac{r-r_{im}}{\varDelta r(i)}+\widetilde{(\partial _\phi B_r)}_{im,j,k}\frac{r_{ip}-r}{\varDelta r(i)}\right] (\phi -\phi _k) \end{aligned} \end{aligned}$$
$$\begin{aligned} \begin{aligned} \widetilde{B}_{\theta [i,j,k]}(\mathbf {r})&=\frac{1}{2}\left( B_{\theta ,i^\theta ,jp,k}+B_{\theta ,i^\theta ,jm,k}\right) +\left( B_{\theta ,i^\theta ,jp,k}-B_{\theta ,i^\theta ,jm,k}\right) \frac{\theta -\theta _j}{\varDelta \theta (j)} \\&+\left[ \widetilde{(\partial _r B_\theta )}_{i,jp,k}\frac{\theta -\theta _{jm}}{\varDelta \theta (j)}+\widetilde{(\partial _r B_\theta )}_{i,jm,k}\frac{\theta _{jp}-\theta }{\varDelta \theta (j)}\right] (r-r_i^\theta ) \\&+\left[ \widetilde{(\partial _\phi B_\theta )}_{i,jp,k}\frac{\theta -\theta _{jm}}{\varDelta \theta (j)}+\widetilde{(\partial _\phi B_\theta )}_{i,jm,k}\frac{\theta _{jp}-\theta }{\varDelta \theta (j)}\right] (\phi -\phi _k) \end{aligned} \end{aligned}$$
$$\begin{aligned} \begin{aligned} \widetilde{B}_{\phi [i,j,k]}(\mathbf {r})&=\frac{1}{2}\left( B_{\phi ,i^\phi ,j^\phi ,kp}+B_{\phi ,i^\phi ,j^\phi ,km}\right) +\left( B_{\phi ,i^\phi ,j^\phi ,kp}-B_{\phi ,i^\phi ,j^\phi ,km}\right) \frac{\phi -\phi _k}{\varDelta \phi (k)} \\&+\left[ \widetilde{(\partial _r B_\phi )}_{i,j,kp}\frac{\phi -\phi _{km}}{\varDelta \phi (k)} +\widetilde{(\partial _r B_\phi )}_{i,j,km}\frac{\phi _{kp}-\phi }{\varDelta \phi (k)}\right] (r-r_i^\phi ) \\&+\left[ \widetilde{(\partial _\theta B_\phi )}_{i,j,kp}\frac{\phi -\phi _{km}}{\varDelta \phi (k)}+\widetilde{(\partial _\theta B_\phi )}_{i,j,km}\frac{\phi _{kp}-\phi }{\varDelta \phi (k)}\right] (\theta -\theta _j^\phi ) \end{aligned} \end{aligned}$$

where \(\widetilde{(\partial _\theta B_r)}_{i\pm \frac{1}{2},j,k}\) and other cross derivative terms are slope-limited approximations to the exact derivatives at cell faces. For example, using the minmod limiter,

$$\begin{aligned} \begin{aligned}&\widetilde{(\partial _\theta B_r)}_{i\pm \frac{1}{2},j,k}=\mathrm{minmod}\left\{ \frac{B_{r,i\pm \frac{1}{2},(j+1)^r,k}-B_{r,i\pm \frac{1}{2},j^r,k}}{\theta _{j+1}^r-\theta _j^r}, \frac{B_{r,i\pm \frac{1}{2},j^r,k}-B_{r,i\pm \frac{1}{2},(j-1)^r,k}}{\theta _j^r-\theta _{j-1}^r}\right\} \\&\widetilde{(\partial _\phi B_r)}_{i\pm \frac{1}{2},j,k}=\mathrm{minmod}\left\{ \frac{B_{r,i\pm \frac{1}{2},j^r,k+1}-B_{r,i\pm \frac{1}{2},j^r,k}}{\phi _{k+1}-\phi _k}, \frac{B_{r,i\pm \frac{1}{2},j^r,k}-B_{r,i\pm \frac{1}{2},j^r,k-1}}{\phi _{k}-\phi _{k-1}} \right\} \\&\widetilde{(\partial _r B_\theta )}_{i,j\pm \frac{1}{2},k}=\mathrm{minmod}\left\{ \frac{B_{\theta ,(i+1)^\theta ,j\pm \frac{1}{2},k}-B_{\theta ,i^\theta ,j\pm \frac{1}{2},k}}{r_{i+1}^\theta -r_i^\theta }, \frac{B_{\theta ,i^\theta ,j\pm \frac{1}{2},k}-B_{\theta ,(i-1)^\theta ,j\pm \frac{1}{2},k}}{r_i^\theta -r_{i-1}^\theta } \right\} \\&\widetilde{(\partial _\phi B_\theta )}_{i,j\pm \frac{1}{2},k}=\mathrm{minmod}\left\{ \frac{B_{\theta ,i^\theta ,j\pm \frac{1}{2},k+1}-B_{\theta ,i^\theta ,j\pm \frac{1}{2},k}}{\phi _{k+1}-\phi _k}, \frac{B_{\theta ,i^\theta ,j\pm \frac{1}{2},k}-B_{\theta ,i^\theta ,j\pm \frac{1}{2},k-1}}{\phi _{k}-\phi _{k-1}} \right\} \\&\widetilde{(\partial _r B_\phi )}_{i,j,k\pm \frac{1}{2}}=\mathrm{minmod}\left\{ \frac{B_{\phi ,(i+1)^\phi ,j^\phi ,k\pm \frac{1}{2}}-B_{\phi ,i^\phi ,j^\phi ,k\pm \frac{1}{2}}}{r_{i+1}^\phi -r_i^\phi }, \frac{B_{\phi ,i^\phi ,j^\phi ,k\pm \frac{1}{2}}-B_{\phi ,(i-1)^\phi ,j^\phi ,k\pm \frac{1}{2}}}{r_i^\phi -r_{i-1}^\phi } \right\} \\&\widetilde{(\partial _\theta B_\phi )}_{i,j,k\pm \frac{1}{2}}=\mathrm{minmod}\left\{ \frac{B_{\phi ,i^\phi ,(j+1)^\phi ,k\pm \frac{1}{2}}-B_{\phi ,i^\phi ,j^\phi ,k\pm \frac{1}{2}}}{\theta _{j+1}^\phi -\theta _j^\phi }, \frac{B_{\phi ,i^\phi ,j^\phi ,k\pm \frac{1}{2}}-B_{\phi ,i^\phi ,(j-1)^\phi ,k\pm \frac{1}{2}}}{\theta _j^\phi -\theta _{j-1}^\phi } \right\} \end{aligned} \end{aligned}$$

As claimed by Ziegler [219], the above magnetic field reconstruction meets the following three features: (1) magnetic flux conservation

$$\begin{aligned} \begin{aligned}&\langle B_r \rangle _{i\pm \frac{1}{2},j,k}^r=\frac{1}{S_{r,i\pm \frac{1}{2},j,k}}\int _{ S_{r,i\pm \frac{1}{2},j,k}}\widetilde{B}_{r[i,j,k]}(i\pm \frac{1}{2},\theta ', \phi ') dS' \approx B_r(r_{i\pm \frac{1}{2}},\theta _j^r,\phi _k)\\ {}&\qquad \quad \quad \quad \,\,=B_{r,i\pm \frac{1}{2},j^r,k} \\&\langle B_\theta \rangle _{i,j\pm \frac{1}{2},k}^\theta =\frac{1}{ S_{\theta ,i,j\pm \frac{1}{2},k}}\int _{ S_{\theta ,i,j\pm \frac{1}{2},k}} \widetilde{B}_{\theta [i,j,k]} (r',j\pm \frac{1}{2}, \phi ')dS' \approx B_\theta (r_i^\theta ,\theta _{j\pm \frac{1}{2}},\phi _k)\\ {}&\qquad \quad \quad \quad \,\,=B_{\theta ,i^\theta ,j\pm \frac{1}{2},k} \\&\langle B_\phi \rangle _{i,j,k\pm \frac{1}{2}}^\phi =\frac{1}{ S_{\phi ,i,j,k\pm \frac{1}{2}}}\int _{ S_{\phi ,i,j,k\pm \frac{1}{2}}} \widetilde{B}_{\phi [i,j,k]}(r', \theta ', k\pm \frac{1}{2})dS' \approx B_\phi (r_i^\phi ,\theta _j^\phi ,\phi _{k\pm \frac{1}{2}})\\ {}&\qquad \quad \quad \quad \,\,=B_{\phi ,i^\phi ,j^\phi ,k\pm \frac{1}{2}} \end{aligned} \end{aligned}$$

(2) continuity of \(\widetilde{B}_r\ (\widetilde{B}_\theta ,\widetilde{B}_\phi )\) in the \(r\ (\theta , \phi )\)-coordinate, i.e., \(\widetilde{B}_{r[i, j, k]}(r_{im},\theta , \phi )=\widetilde{B}_{r[i-1,j,k]}(r_{im}, \theta , \phi ), \widetilde{B}_{\theta [i,j, k]}(r, \theta _{jm}, \phi )=\widetilde{B}_{\theta [i,j-1,k]}(r, \theta _{jm}, \phi )\), and \(\widetilde{B}_{\phi [i, j, k]}(r, \theta , \phi _{km})=\widetilde{B}_{\phi [i,j, k-1]}(r, \theta , \phi _{km})\). Due to the continuity property of magnetic field components the longitudinal derivatives \(\partial _r B_r, \partial _\theta B_\theta , \partial _\phi B_\phi \) can be approximated in a straightforward manner by using the facial magnetic field values without any slope limitation needed.

(3) Solenoidality of \(\widetilde{ \mathbf {B} }_{[i,j k]} \) on the discretization scale, i.e., \(\left( \overline{ \nabla \cdot \widetilde{ \mathbf {B} }_{ [i,j k]} } \right) _{i,j,k}=0 \). It is noted that the application of Gauss’ law to \(\left( \overline{\nabla \cdot \widetilde{\mathbf {B}}_{[i,j k]}}\right) _{i,j,k}=0 \) yields \(\left[ \varDelta S_r \langle \widetilde{B}_{r[i,j,k]}\rangle ^r\right] _{im}^{ip} +\left[ \varDelta S_\theta \langle \widetilde{B}_{\theta [i,j,k]}\rangle ^\theta \right] _{jm}^{jp}+\left[ \varDelta S_\phi \langle \widetilde{B}_{\phi [i,j,k]}\rangle ^\phi \right] _{km}^{kp}=0 \), which follows from the magnetic flux conservation and continuity stated here. Thus, one can infer that \(\left( \overline{ \nabla \cdot \widetilde{ \mathbf {B} }_{ [i,j k]} } \right) _{i,j,k}=\left( \overline{ \nabla \cdot { \mathbf {B} } } \right) _{i,j,k} \) keeps its initial zero value on the discretization scale in the computation, since the initial magnetic field is cellwisely divergence-free and \(\frac{d}{dt}\left( \overline{ \nabla \cdot { \mathbf {B} } } \right) _{i,j,k}=0\) by the present construction of spatial discretization. However, this method can not claim the more strict condition of pointwise solenoidality.

Similar to the above formulation given by Eq. (A.24), \(a_{im,j,k}^+\), \(a_{im,j,k}^-\), \(b_{i,jm,k}^+\), \( b_{i,jm,k}^-\), \( c_{i,j,km}^+\), and \(c_{i,j,km}^-\) are defined by the maximum and minimum speeds on the geometrical center of six faces

$$\begin{aligned} \begin{aligned}&a_{im,j,k}^+=\mathrm{max}\left\{ (\widetilde{v}_r+\widetilde{c}_{fr})_{[i-1,j,k]}(r_{im},\theta _j,\phi _k), \ (\widetilde{v}_r+\widetilde{c}_{fr})_{[i,j,k]}(r_{im},\theta _j,\phi _k),0 \right\} \\&a_{im,j,k}^-=\mathrm{min}\left\{ (\widetilde{v}_r-\widetilde{c}_{fr})_{[i-1,j,k]}(r_{im},\theta _j,\phi _k), \ (\widetilde{v}_r-\widetilde{c}_{fr})_{[i,j,k]}(r_{im},\theta _j,\phi _k),0 \right\} \\&b_{i,jm,k}^+=\mathrm{max}\left\{ (\widetilde{v}_\theta +\widetilde{c}_{f\theta })_{[i,j-1,k]}(r_i,\theta _{jm},\phi _k),\ (\widetilde{v}_\theta +\widetilde{c}_{f\theta })_{[i,j,k]}(r_i,\theta _{jm},\phi _k),0 \right\} \\&b_{i,jm,k}^-=\mathrm{min}\left\{ (\widetilde{v}_\theta -\widetilde{c}_{f\theta })_{[i,j-1,k]}(r_i,\theta _{jm},\phi _k), \ (\widetilde{v}_\theta -\widetilde{c}_{f\theta })_{[i,j,k]}(r_i,\theta _{jm},\phi _k),0 \right\} \\&c_{i,j,km}^+=\mathrm{max}\left\{ (\widetilde{v}_\phi +\widetilde{c}_{f\phi })_{[i,j,k-1]}(r_i,\theta _j,\phi _{km}), \ (\widetilde{v}_\phi +\widetilde{c}_{f\phi })_{[i,j,k]}(r_i,\theta _j,\phi _{km}),0 \right\} \\&c_{i,j,km}^-=\mathrm{min}\left\{ (\widetilde{v}_\phi -\widetilde{c}_{f\phi })_{[i,j,k-1]}(r_i,\theta _j,\phi _{km}), \ (\widetilde{v}_\phi -\widetilde{c}_{f\phi })_{[i,j,k]}(r_i,\theta _j,\phi _{km}),0 \right\} \end{aligned} \end{aligned}$$

In the same way, \(a_{im,j-1,k}^+, a_{im,j-1,k}^-, a_{im,j,k-1}^+, a_{im,j,k-1}^-, b_{i-1,jm,k}^+, b_{i-1,jm,k}^-, b_{i,jm,k-1}^+, b_{i,jm,k-1}^-\), \(c_{i-1,j,km}^+\), \(c_{i-1,j,km}^-, c_{i,j-1,km}^+, c_{i,j-1,km}^-\) can be given. By using these maximum and minimum speeds on the geometrical center of six faces, the maximum and minimum speeds in the edges involved in \(E_{r, i,jm,km}^*, E_{\theta , im,j,km}^*, E_{\phi , im,jm,k}^*\) can be defined as follows

$$\begin{aligned} \begin{aligned}&a_{im,jm,k}^+=\mathrm{max}\left\{ a_{im,j,k}^+, a_{im,j-1,k}^+\right\} , \ a_{im,jm,k}^-=\mathrm{min}\left\{ a_{im,j,k}^-, a_{im,j-1,k}^- \right\} \\&a_{im,j,km}^+=\mathrm{max}\left\{ a_{im,j,k}^+, a_{im,j,k-1}^+ \right\} , \ a_{im,j,km}^-=\mathrm{min}\left\{ a_{im,j,k}^-, a_{im,j,k-1}^- \right\} \\&b_{im,jm,k}^+=\mathrm{max}\left\{ b_{i,jm,k}^+, b_{i-1,jm,k}^+\right\} , \ b_{im,jm,k}^-=\mathrm{min}\left\{ b_{i,jm,k}^-, b_{i-1,jm,k}^-\right\} \\&b_{i,jm,km}^+=\mathrm{max}\left\{ b_{i,jm,k}^+, b_{i,jm,k-1}^+\right\} , \ b_{i,jm,km}^-=\mathrm{min}\left\{ b_{i,jm,k}^-, b_{i,jm,k-1}^- \right\} \\&c_{im,j,km}^+=\mathrm{max}\left\{ c_{i,j,km}^+, c_{i-1,j,km}^+\right\} , \ c_{im,j,km}^-=\mathrm{min}\left\{ c_{i,j,km}^-, c_{i-1,j,km}^- \right\} \\&c_{i,jm,km}^+=\mathrm{max}\left\{ c_{i,j,km}^+, c_{i,j-1,km}^+\right\} , \ c_{i,jm,km}^-=\mathrm{min}\left\{ c_{i,j,km}^-, c_{i,j-1,km}^-\right\} \end{aligned} \end{aligned}$$

3.1.5 MPP Flux-corrected Method

Positivity-preserving stands for the capability to preserve the positivity of the determinative physical constraints for the solution to be positive within physically-permitted bounds. In ideal MHD, density \(\rho \) and pressure p should be positive, but one can encounter the negativeness of density and pressure when simulating problems with low plasma \(\beta \), high Mach number, or much large magnetic energy compared with internal energy. Even with divergence-free methods, such positivity property is not always satisfied by approximated solutions. When negative density or/and pressure occur, numerical instability may develop so as to cause the breakdown of numerical simulations. Therefore, guaranteeing such determinative properties is a must under consideration in a numerical design.

The positivity-preserving approach introduced in Sect. 3.5.4 is usually the so-called “dual energy” formulation. According to some switching conditions based on the ratio \(\epsilon /e\) between the internal energy \(\epsilon \) and the total energy e or the magnitude of plasma \(\beta \) (usually in small internal energy and/or low plasma \(\beta \) regions), the entropy equation or pressure equation or the internal energy density equation is used to replace the conservative energy equation [10, 17, 20, 50, 57, 58, 106, 153, 176, 184]. Evidently, this kind of dual energy method is sensitive to the “switching conditions” besides its computational overhead. For some comments about the use of conservative versus nonconservative forms of the energy equations, the reader may refer to Sect. 2.7 of Usmanov et al. [180].

Recent years have witnessed some progresses in constructing conservative positivity-preserving schemes for hyperbolic conservation laws. Specifically, some efforts work on the positivity-preserving in Riemann solvers or the evolved solution polynomials in a finite volume or discontinuous Galerkin (DG) method for both hydrodynamic and MHD flows [19, 22, 42, 60, 86, 105, 116, 128, 139, 198, 199, 204, 205, 209, 209, 212,213,214,215, 217]. As demonstrated formerly (e.g., [13, 14, 139, 188]), the positivity property may fail to hold even with positivity-preserving numerical fluxes considered, positivity can be retained by further restricting the reconstructed states (e.g., [8, 59, 61, 62, 188]).

Also, parametrized MPP flux-corrected limiting procedure is an effective measure to preserve the positivity of density and the pressure for finite difference, finite volume and DG methods. Hu et al. [79] suggested a flux cut-off limiter for finite difference WENO schemes to maintain the positivity of density and pressure for the compressible Euler system. It should be mentioned that the MPP flux limiter [108, 203] or later improvement through the parametrized positivity-preserving flux limiter [201] has been developed for the compressible Euler system or hyperbolic conservation laws. Parent [136] suggested a class of flux-limited schemes for conservation laws of both high-resolution and positivity-preserving property through the use of the Steger-Warming method and TVD flux limiters. Christlieb et al. [29] developed a class of high order positivity-preserving finite difference WENO methods for the ideal MHD equations under the CT framework. Moreover, Wu [194] designed a high-order, density and pressure positivity-preserving methods for the general relativistic hydrodynamic (GRHD) equations with a general equation of state and carried it out at every step of the high-order strong stability preserving (SSP) time integration methods. For more details about the positivity-preserving limiters or MPP flux-corrected methods, see the existing literature (e.g., [26, 28, 29, 89, 109, 194, 200, 201, 203, 204, 209]) and references therein.

The positivity-preserving flux limiting approach is to seek a convex combination of the first-order monotone flux with the high-order flux, in the hope of that such combination can achieve both positivity-preserving property and high-order accuracy under certain conditions, e.g. some mild time step constraint. Popularly, positivity-preserving of the first-order Lax-Friedrichs scheme plays a pivotal role in the parametrized positivity-preserving flux-corrected limiting procedure. As pointed out by Zhang and Shu [212,213,214] (also Remark 2.4 of Zhang and Shu [212]), the local Lax-Friedrichs flux preserves positivity of both density and pressure. Xiong et al. [200, 201] showed that the global maximum principle can be preserved while the high order accuracy of the base scheme is maintained, when applied in incompressible flows and the compressible Euler equations, respectively. Through error analysis on one-dimensional non-uniform meshes, Christlieb et al. [28] stated that the proposed MPP flux limiting schemes can maintain high order of accuracy. Cheng et al. [22, 22] proved that the simple first-order local Lax-Friedrichs scheme coupled with forward Euler time discretization is positivity-preserving for one-dimensional MHD under the restriction CFL \(\le \) 0.5. Christlieb et al. [26, 29] also demonstrated that the corrected flux maintains the designed order of accuracy of the high-order flux for ideal MHD equations. Moreover, the overall scheme can also take the same CFL constraint of 0.5 as that of the local Lax-Friedrichs scheme [29].

The following is devoted to the MPP flux limiting technique for a second order positivity-preserving Godunov finite volume HLL method implemented for the solar wind plasma MHD equations. Based on the underlying first order building block of positivity-preserving Lax-Friedrichs, and the CT or GLM framework, the MPP solver described here is built with slightly extra CFL constraints due to spherical geometrical factor. In practice, the construction of the following positivity-preserving formulation abides by the framework of Christlieb et al. [29].

In order to establish positivity-preserving HLL scheme, Eqs. (3.17) or Eq. (A.1) with HLL type flux defined above can be used as the base scheme, where the second-order accurate linear reconstruction Eq. (A.8) is employed. Then, the variables at the centroid point \((\overline{r}_i, \overline{\theta }_j, \phi _k)\) can be advanced with a second-order Runge–Kutta scheme in Eq. (3.18). For clarity, rewrite these two stages explicitly

$$\begin{aligned} \overline{{\mathbf U}}^*=\overline{\mathbf U}^n+\varDelta t\mathcal {R}_{\mathbf U}[\overline{\mathbf U}^n] \end{aligned}$$
(A.25)
$$\begin{aligned} \overline{{\mathbf U}}^{**}=\overline{{\mathbf U}}^*+\varDelta t\mathcal {R}_{\mathbf U}[\overline{{\mathbf U}}^*] \end{aligned}$$
(A.26)
$$\begin{aligned} \overline{\mathbf U}^{n+1}=\frac{1}{2}\overline{\mathbf U}^n+\frac{1}{2}\overline{{\mathbf U}}^{**} =\overline{\mathbf U}^n +\frac{\varDelta t}{2} \left( \mathcal {R}_{\mathbf U}[\overline{\mathbf U}^n] +\mathcal {R}_{\mathbf U}[\overline{{\mathbf U}}^*]\right) \end{aligned}$$
(A.27)

By writing out Eq. (A.26) one has

$$\begin{aligned} \begin{aligned} \overline{{\mathbf U}}^{**}=&\ \overline{{\mathbf U}}^*-\varDelta t \left. \left[ \frac{3\left( r_{ip}^2\mathbf {F}_{r,ip,j,k}^*-r_{im}^2\mathbf {F}_{r,im,j,k}^*\right) }{\left( r_{ip}^3-r_{im}^3\right) } + \frac{\sin \theta _{jp}\mathbf {F}_{\theta , i,jp,k}^*-\sin \theta _{jm}\mathbf {F}_{\theta , i,jm,k}^*}{r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \right. \right. \\&\left. \left. +\ \frac{\varDelta \theta (j)}{r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) }\frac{\mathbf {F}_{\phi , i,j,kp}^*-\mathbf {F}_{\phi , i,j,km}^*}{\varDelta \phi (k)}\right] \right| _{\overline{{\mathbf U}}^*} +\left. \varDelta t\overline{\mathbf {S}}^{*}_{i,j,k}\right| _{\overline{{\mathbf U}}^*} \end{aligned} \end{aligned}$$

where \(\mathbf {F}^*\) is the flux evaluated at \(\overline{{\mathbf U}}^*\) and \(\mathbf {S}^*\) takes its value at \(\overline{{\mathbf U}}^*\). Then substitute \(\overline{{\mathbf U}}^{**}\) into Eq. (A.27) to obtain

$$\begin{aligned} \begin{aligned} \overline{\mathbf U}^{n+1}=&\ \overline{\mathbf U}^n- {\varDelta t} \left[ \frac{3\left( r_{ip}^2\mathbf {F}_{r,ip,j,k}^{rk}-r_{im}^2\mathbf {F}_{r,im,j,k}^{rk}\right) }{\left( r_{ip}^3-r_{im}^3\right) } + \frac{\sin \theta _{jp}\mathbf {F}_{\theta , i,jp,k}^{rk}-\sin \theta _{jm}\mathbf {F}_{\theta , i,jm,k}^{rk}}{r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \right. \\&\left. +\ \frac{\varDelta \theta (j)}{r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) }\frac{\mathbf {F}_{\phi , i,j,kp}^{rk}-\mathbf {F}_{\phi , i,j,km}^{rk}}{\varDelta \phi (k)}\right] +\varDelta t\mathbf {S}^{rk} _{i,j,k} \end{aligned} \end{aligned}$$
(A.28)

where \(\mathbf {F}^{rk}_{r, ip,j,k}{=}\frac{1}{2}(\mathbf {F}^{n}_{r, ip,j,k}{+}\mathbf {F}^{*}_{r, ip,j,k}), \mathbf {F}^{rk}_{\theta , i,jp,k}=\frac{1}{2}(\mathbf {F}^{n}_{\theta , i,jp,k}+\mathbf {F}^{*}_{\theta , i,jp,k}), \mathbf {F}^{rk}_{\phi , i,j,kp}=\frac{1}{2}(\mathbf {F}^{n}_{\phi , i,j,kp}+\mathbf {F}^{*}_{\phi , i,j,kp})\), \(\mathbf {S}^{rk} _{i,j,k}= \frac{1}{2}\left[ \overline{\mathbf {S}}_{i,j,k}+\overline{\mathbf {S}}^{*}_{i,j,k}\right] \). Here, rk stands for Runge–Kutta integration method with two stages.

Before proceeding to state 3D case of positivity-preserving formulation, it is convenient to denote fluxes \(\mathbf {F}_r, \mathbf {F}_\theta , \mathbf {F}_\phi \) as \(\mathbf {f}, \mathbf {g}, \mathbf {h}\) when used in the first-order Lax-Friedrichs scheme. By combining the fluxes \(\mathbf {f}, \mathbf {g}, \mathbf {h}\) in the first-order Lax-Friedrichs scheme and those in our HLL type scheme, one can configure the following fluxes

$$\begin{aligned} {\left\{ \begin{array}{ll} \hat{\mathbf {F}}_{ip}=\omega _{ip,j,k}\left( {\mathbf {F}}^{rk}_{r, ip,j,k} -{\mathbf {f}}^n_{ip, j,k}\right) +{\mathbf {f}}^n_{ip, j,k}\\ \hat{\mathbf {F}}_{im}=\omega _{im,j,k}\left( {\mathbf {F}}^{rk}_{r, im,j,k} -{\mathbf {f}}^n_{im, j,k}\right) +{\mathbf {f}}^n_{im, j,k}\\ \hat{\mathbf {F}}_{jp}=\omega _{i,jp,k}\left( {\mathbf {F}}^{rk}_{\theta , i,jp,k}-{\mathbf {g}}^n_{i,jp,k}\right) +{\mathbf {g}}^n_{i,jp,k}\\ \hat{\mathbf {F}}_{jm}=\omega _{i,jm,k}\left( {\mathbf {F}}^{rk}_{\theta , i,jm,k}-{\mathbf {g}}^n_{i,jm,k}\right) +{\mathbf {g}}^n_{i,jm,k}\\ \hat{\mathbf {F}}_{kp}=\omega _{i,j,kp}\left( {\mathbf {F}}^{rk}_{\phi , i,j,kp}-{\mathbf {h}}^n_{i,j,kp}\right) +{\mathbf {h}}^n_{i,j,kp}\\ \hat{\mathbf {F}}_{km}=\omega _{i,j,km}\left( {\mathbf {F}}^{rk}_{\phi , i,j,km}-{\mathbf {h}}^n_{i,j,km}\right) +{\mathbf {h}}^n_{i,j,km} \end{array}\right. } \end{aligned}$$
(A.29)

By replacing \(\mathbf {F}^{rk}\) in Eq. (A.28) with \(\hat{\mathbf {F}}\) in Eqs. (A.29), (A.28) becomes

$$\begin{aligned} \begin{aligned} \overline{\mathbf U}^{n+1}({\omega })=&\ \overline{\mathbf U}^{n}-\varDelta t \left[ \frac{3\left( r_{ip}^2\hat{\mathbf {F}}_{ip}-r_{im}^2\hat{\mathbf {F}}_{im}\right) }{\left( r_{ip}^3-r_{im}^3\right) }+ \frac{\sin \theta _{jp}\hat{\mathbf {F}}_{jp}-\sin \theta _{jm}\hat{\mathbf {F}}_{jm}}{r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) }+\right. \\&\left. \frac{\varDelta \theta (j)}{r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) }\frac{\hat{\mathbf {F}}_{kp}-\hat{\mathbf {F}}_{km}}{\varDelta \phi (k)}\right] +\varDelta t\mathbf {S}^{rk} _{i,j,k} \end{aligned} \end{aligned}$$
(A.30)

where \(\overline{\mathbf U}^{n+1}({\omega })\) stands for the solution obtained from Eq. (A.30) with the modified fluxes in Eq. (A.29) and \({\omega }=(\omega _{im,j,k}, \omega _{ip,j,k}, \omega _{i,jm,k}, \omega _{i, jp,k}, \omega _{i,j,km}, \omega _{i,j,kp} )\). At this time, \(\hat{\mathbf {F}}\) in Eq. (A.29) completes the flux modification of \(\mathbf {F}^{rk}\) in Eq. (A.28). This procedure modifies the fluxes only at the final state (A.27), and is in practice favorable due to the time cost consideration. It should be mentioned that this kind of flux modification can be carried out in both time integration stages (A.25) and (A.26). Then to guarantee the positivity, one needs to find suitable \(\omega _{ip,j,k}, \omega _{im,j,k}, \omega _{i, jp,k}, \omega _{i,jm,k}, \omega _{i,j,kp}, \omega _{i,j,km}\) such that the solutions satisfy

$$\begin{aligned}\begin{gathered} {\left\{ \begin{array}{ll} \rho ^{n+1}_{i,j,k}({\omega })\ge \epsilon _{\rho }\\ p ^{n+1}_{i,j,k}({\omega })\ge \epsilon _{p} \end{array}\right. } \end{gathered}\end{aligned}$$

where

$$\begin{aligned}\begin{gathered} {\left\{ \begin{array}{ll} \epsilon _{\rho }=\displaystyle \min _{i,j,k}\left( {}^\mathrm{LLF}\rho ^{n+1}_{i,j,k},10^{-13}\right) \\ \epsilon _{p}=\displaystyle \min _{i,j,k}\left( {}^\mathrm{LLF}p^{n+1}_{i,j,k},10^{-13}\right) \end{array}\right. } \end{gathered}\end{aligned}$$

with \({}^\mathrm{LLF}\rho ^{n+1}_{i,j,k}, {}^\mathrm{LLF}p^{n+1}_{i,j,k}\) obtained from the 1st order Lax-Fredrichs scheme.

To facilitate the description, the flux component associated with density equation is labeled with upper left superscript \(\rho \). Then

$$\begin{aligned}\begin{aligned} {}^\mathrm{LLF}\rho ^{n+1} =&\ \overline{\rho }^{n}-\varDelta t \left[ \frac{3\left( r_{ip}^2{}^{\rho }{f}^n_{ip,j,k}-r_{im}^2 {}^{\rho }{f}^n_{im,j,k}\right) }{\left( r_{ip}^3-r_{im}^3\right) }+ \frac{\sin \theta _{jp}{}^{\rho }{g}^n_{i,jp,k}-\sin \theta _{jm}{}^{\rho }{g}^n_{i,jm,k}}{r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } +\right. \\&\left. \frac{\varDelta \theta (j)}{r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) }\frac{{}^{\rho }{h}_{i,j,kp}^n-{}^{\rho }{h}_{i,j,km}^n}{\varDelta \phi (k)} \right] \end{aligned} \end{aligned}$$
$$\begin{aligned} \begin{aligned} \overline{\rho }^{n+1}({\omega })=&\ \overline{\rho }^{n}-\varDelta t \left[ \frac{3\left( r_{ip}^2 {}^{\rho }\hat{{F}}_{ip}-r_{im}^2{}^{\rho }\hat{{F}}_{im}\right) }{\left( r_{ip}^3-r_{im}^3\right) }+ \frac{\sin \theta _{jp}{}^{\rho }\hat{{F}}_{jp}-\sin \theta _{jm}{}^{\rho }\hat{{F}}_{jm}}{r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) }+\right. \\&\left. \frac{\varDelta \theta (j)}{r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) }\frac{{}^{\rho }\hat{{F}}_{kp}-{}^{\rho }\hat{{F}}_{km}}{\varDelta \phi (k)}\right] \end{aligned} \end{aligned}$$
(A.31)

To preserve positive density, it is necessary to find the upper bounds \(\varOmega ^{\rho }_{im,j,k}\), \(\varOmega ^{\rho }_{ip,j,k}\), \(\varOmega ^{\rho }_{i,jm,k}\), \(\varOmega ^{\rho }_{i,jp,k}\), \(\varOmega ^{\rho }_{i,j,km}\), \(\varOmega ^{\rho }_{i,j,kp}\) of the limiting parameters \(\omega _{im,j,k}, \omega _{ip,j,k}\), \(\omega _{i,jm,k}, \omega _{i,jp,k}\), \( \omega _{i,j,km}, \omega _{i,j,kp}\) such that any combination \(\left( \omega _{im,j,k}, \omega _{ip,j,k},\omega _{i,jm,k},\right. \)\(\left. \omega _{i,jp,k},\omega _{i,j,km},\omega _{i,j,kp}\right) \) belongs to \(S_{\rho }\), where

$$\begin{aligned} S_{\rho }&= \left[ 0,\varOmega ^{\rho }_{im,j,k}\right] \times \left[ 0,\varOmega ^{\rho }_{ip,j,k}\right] \times \left[ 0,\varOmega ^{\rho }_{i,jm,k}\right] \times \left[ 0,\varOmega ^{\rho }_{i,jp,k}\right] \times \left[ 0,\varOmega ^{\rho }_{i,j,km}\right] \\&\quad \times \left[ 0,\varOmega ^{\rho }_{i,j,kp}\right] \end{aligned}$$

The requirement of positivity preserving of density implies the following inequality

$$\begin{aligned} \begin{aligned} \overline{\rho }^{n+1}({\omega })=&\ \overline{\rho }^{n}-\varDelta t \left[ \frac{3\left( r_{ip}^2 {}^{\rho }\hat{{F}}_{ip}-r_{im}^2{}^{\rho }\hat{{F}}_{im}\right) }{\left( r_{ip}^3-r_{im}^3\right) }+ \frac{\sin \theta _{jp}{}^{\rho }\hat{{F}}_{jp}-\sin \theta _{jm}{}^{\rho }\hat{{F}}_{jm}}{r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) }+\right. \\&\left. \frac{\varDelta \theta (j)}{r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) }\frac{{}^{\rho }\hat{{F}}_{kp}-{}^{\rho }\hat{{F}}_{km}}{\varDelta \phi (k)}\right] \ge \epsilon _{\rho } \end{aligned} \end{aligned}$$
(A.32)

with fluxes given by Eq. (A.29), i.e.,

$$\begin{aligned}\begin{gathered} {\left\{ \begin{array}{ll} {}^{\rho }\hat{{F}}_{ip}=\omega _{ip,j,k}\left( {}^{\rho }{F}^{rk}_{r, ip,j,k}-{}^{\rho }{f}^{n}_{ip,j,k} \right) +{}^{\rho }{f}^{n}_{ip,j,k}\\ {}^{\rho }\hat{{F}}_{im}=\omega _{im,j,k}\left( {}^{\rho }{F}^{rk}_{r, im,j,k} -{}^{\rho }{f}^{n}_{im,j,k}\right) +{}^{\rho }{f}^{n}_{im,j,k}\\ {}^{\rho }\hat{{F}}_{jp}=\omega _{i,jp,k}\left( {}^{\rho }{F}^{rk}_{\theta , i,jp,k}-{}^{\rho }{g}^{n}_{i,jp,k}\right) +{}^{\rho }{g}^{n}_{i,jp,k}\\ {}^{\rho }\hat{{F}}_{jm}=\omega _{i,jm,k}\left( {}^{\rho }{F}^{rk}_{\theta , i,jm,k}-{}^{\rho }{g}^{n}_{i,jm,k}\right) +{}^{\rho }{g}^{n}_{i,jm,k}\\ {}^{\rho }\hat{{F}}_{kp}=\omega _{i,j,kp}\left( {}^{\rho }{F}^{rk}_{\phi , i,j,kp}-{}^{\rho }{h}^{n}_{i,j,kp}\right) +{}^{\rho }{h}^{n}_{i,j,kp}\\ {}^{\rho }\hat{{F}}_{km}=\omega _{i,j,km}\left( {}^{\rho }{F}^{rk}_{\phi , i,j,km}-{}^{\rho }{h}^{n}_{i,j,km}\right) +{}^{\rho }{h}^{n}_{i,j,km} \end{array}\right. } \end{gathered}\end{aligned}$$

Then Eq. (A.32) becomes

$$\begin{aligned} \begin{aligned}&\left( \omega _{im,j,k}{\delta }{f}_{im,j,k}+\omega _{ip,j,k}{\delta }{f}_{ip,j,k}\right) + \left( \omega _{i,jm,k}{\delta }{f}_{i,jm,k}+\omega _{i,jp,k}{\delta }{f}_{i,jp,k}\right) \\&+\left( \omega _{i,j,km}{\delta }{f}_{i,j,km}+\omega _{i,j,kp}{\delta }{f}_{i,j,kp}\right) \ge \epsilon _{\rho }-{}^\mathrm{LLF}\rho ^{n+1}_{i,j,k} \end{aligned} \end{aligned}$$
(A.33)

where

$$\begin{aligned}\begin{gathered} {\left\{ \begin{array}{ll} \delta {f}_{im,j,k}=\dfrac{3\varDelta t r_{im}^2}{r_{ip}^3-r_{im}^3}\left( {}^{\rho }{F}^{rk}_{r, im,j,k}-{}^{\rho }{f}^{n}_{im,j,k}\right) \\ {\delta }{f}_{i,jm,k}=\dfrac{\varDelta t\sin \theta _{jm}}{r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \left( {}^{\rho }{F}^{rk}_{\theta , i,jm,k}-{}^{\rho }{g}^{n}_{i,jm,k}\right) \\ {\delta }{f}_{i,j,km}=\dfrac{\varDelta t \varDelta \theta (j)}{r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k) } \left( {}^{\rho }{F}^{rk}_{\phi , i,j,km}-{}^{\rho }{h}^{n}_{i,j,km} \right) \\ \end{array}\right. } \end{gathered}\end{aligned}$$
$$\begin{aligned}\begin{gathered} {\left\{ \begin{array}{ll} {\delta }{f}_{ip,j,k}=- \dfrac{3 \varDelta t r_{ip}^2}{r_{ip}^3-r_{im}^3}\left( {}^{\rho }{F}^{rk}_{r, ip,j,k}-{}^{\rho }{f}^{n}_{ip,j,k}\right) \\ {\delta }{f}_{i,jp,k}=-\dfrac{\varDelta t\sin \theta _{jp}}{r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \left( {}^{\rho }{F}^{rk}_{\theta , i,jp,k}-{}^{\rho }{g}^{n}_{i,jp,k}\right) \\ {\delta }{f}_{i,j,kp}=-\dfrac{\varDelta t \varDelta \theta (j)}{r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)}\left( {}^{\rho }{F}^{rk}_{\phi , i,j,kp}-{}^{\rho }{h}^{n}_{i,j,kp}\right) \end{array}\right. } \end{gathered}\end{aligned}$$

Due to the positivity-preserving property of the 1th-order LLF scheme (proved below), \({}^\mathrm{LLF}\rho ^{n+1}_{i,j,k}\ge \epsilon _{\rho }\), the right hand side \(\epsilon _{\rho }-{}^\mathrm{LLF}\rho ^{n+1}_{i,j,k}\le 0\). Then we decouple the inequalities (A.33) based on the sign of the six defined items: \({\delta }{f}_{im,j,k}\), \({\delta }{f}_{ip,j,k}\), \({\delta }{f}_{i,jm,k}\), \({\delta }{f}_{i,jm,k}\), \({\delta }{f}_{i,j, km}\), \({\delta }{f}_{i, j, km}\), and define the upper bounds by limiting parameters as follows:

$$\begin{aligned}\begin{gathered} \varOmega ^{\rho }_\mathrm{index}= {\left\{ \begin{array}{ll} 1 \quad &{} \text {If} \ \ {\delta }{f}_\mathrm{index}\ge 0 \\ \min \left( 1,\dfrac{\epsilon _{\rho }-{}^{\text {LLF}}\rho ^{n+1}_{i,j,k}}{\displaystyle \sum _{{\delta }{f}_ \mathrm{index}<0} {\delta }{f}_\mathrm{index}}\right) \quad &{} \text {If} \ \ {\delta }{f}_ \mathrm{index}<0 \end{array}\right. } \end{gathered}\end{aligned}$$

where the subscript “index” belongs to the index set \(\left\{ \{im,j,k\}, \{ip,j,k\}, \{i,jm,k\},\right. \)\(\left. \{i,jp,k\}, \{i,j,km\}, \{i,j,kp\} \right\} \), and \( {\delta }{f}_\mathrm{index}\in \left\{ {\delta }{f}_{im,j,k},{\delta }{f}_{ip,j,k}, {\delta }{f}_{i,jm,k}, {\delta }{f}_{i,jp,k}, \right. \)\(\left. {\delta }{f}_{i,j,km}, {\delta }{f}_{i,j,kp}\right\} \). Now we denote the sixty four vertices of

$$\begin{aligned} S_{\rho }&= \left[ 0,\varOmega ^{\rho }_{im,j,k}\right] \times \left[ 0,\varOmega ^{\rho }_{ip,j,k}\right] \times \left[ 0,\varOmega ^{\rho }_{i,jm,k}\right] \times \left[ 0,\varOmega ^{\rho }_{i,jp,k}\right] \\&\quad \times \left[ 0,\varOmega ^{\rho }_{i,j,km}\right] \times \left[ 0,\varOmega ^{\rho }_{i,j,kp}\right] \end{aligned}$$

to be \(\mathcal{A}^{k_1,k_2,k_3,k_4,k_5,k_6}\), that is,

$$\begin{aligned}\begin{gathered} \mathcal{A}^{k_1,k_2,k_3,k_4,k_5,k_6}= \left( k_1\varOmega ^{\rho }_{im,j,k},k_2\varOmega ^{\rho }_{ip,j,k}, k_3\varOmega ^{\rho }_{i,jm,k},k_4\varOmega ^{\rho }_{i,jp,k}, k_5\varOmega ^{\rho }_{i,j,km},k_6\varOmega ^{\rho }_{i,j,kp} \right) \end{gathered}\end{aligned}$$

with \(k_1, k_2, k_3, k_4, k_5, k_6\) being 0 or 1. At present, for any set \({\omega }\in S_\rho \), \(\overline{\rho }^{n+1}({\omega })\) obtained from Eq. (A.31) is obviously positive.

Under the condition of preserving positive density, it is ready to describe how to preserve the positivity of the pressure/internal energy. It is known that the pressure can be derived from the energy equation as follows:

$$\begin{aligned}\begin{gathered} p=(\gamma -1)\left( e-\dfrac{1}{2}\frac{(\rho \mathbf {v})^{2}}{\rho }-\dfrac{1}{2\mu }\mathbf {B}^2\right) \end{gathered}\end{aligned}$$

Next a strategy is proposed to obtain positive pressure. More specifically, a subset \(S_p\) of \(S_\rho \) is identified such that \(p^{n+1}_{i,j,k}\) is positive, i.e.,

$$ S_p = \left\{ {\omega }=\left( \omega _{im,j,k}, \omega _{ip,j,k}, \omega _{i,jm,k}, \omega _{i,jp,k}, \omega _{i,j,km}, \omega _{i,j,kp} \right) \in S_\rho : p^{n+1}_{i,j,k}({\omega }) \ge \epsilon _p \right\} $$

In this case, the vertices of \(S_{p}\) consist of

$$\begin{aligned} \mathcal{B}^{k_1,k_2,k_3,k_4,k_5,k_6}= r^{k_1,k_2,k_3,k_4,k_5,k_6} \mathcal{A}^{k_1,k_2,k_3,k_4,k_5,k_6} \end{aligned}$$
(A.34)

and satisfy the following inequality:

$$\begin{aligned} p^{n+1}_{i,j,k}(r^{k_1,k_2,k_3,k_4,k_5,k_6}\mathcal{A}^{k_1,k_2,k_3,k_4,k_5,k_6})\ge \epsilon _{p} \end{aligned}$$
(A.35)

From (A.34) one can obtain \(\mathcal{B}^{k_1,k_2,k_3,k_4,k_5,k_6}\) if \({r}^{k_1,k_2,k_3,k_4,k_5,k_6}\) is defined as below:

  1. 1.

    If \(p^{n+1}_{i,j,k}(\mathcal{A}^{k_1,k_2,k_3,k_4,k_5,k_6})\ge \epsilon _{p}\), then

    $$\begin{aligned}\begin{gathered} r^{k_1,k_2,k_3,k_4,k_5,k_6}=1 \end{gathered}\end{aligned}$$
  2. 2.

    If \(p^{n+1}_{i,j,k}(\mathcal{A}^{k_1,k_2,k_3,k_4,k_5,k_6})< \epsilon _{p}\), one can obtain \(r^{k_1,k_2,k_3,k_4,k_5,k_6}\) by solving the cubic equation (A.35) for the unknown variable \(r\in [0,1)\). Thanks to the concave property of pressure as a function of \(\mathbf {U}\), we can get r in a simple way:

    $$ p(\alpha \mathbf {U}_1+(1-\alpha ) \mathbf {U}_2)\ge \alpha p(\mathbf {U}_1)+ (1-\alpha ) p(\mathbf {U}_2) \ \ \mathrm{if} \ \ \rho (\mathbf {U}_1)>0, \rho (\mathbf {U}_2)>0 $$

    for \(\alpha \in [0,1]\). Evidently it follows that

    $$\begin{aligned} p(\mathbf {U}\left( \alpha {\omega }_1+(1-\alpha ){\omega }_2\right) )&=p(\alpha \mathbf {U}({\omega }_1)+(1-\alpha )\mathbf {U}({\omega }_2))\ge \alpha p(\mathbf {U}({\omega }_1))\\&\quad + (1-\alpha )p(\mathbf {U}({\omega }_2)) \end{aligned}$$

    That is,

    $$\begin{aligned} p(\alpha {\omega }_1+(1-\alpha ) {\omega }_2)\ge \alpha p({\omega }_1)+(1-\alpha ) p({\omega }_2) \ \ \mathrm{if} \ \ \rho ({\omega }_1)>0, \rho ({\omega }_2)>0 \end{aligned}$$
    (A.36)

    where \(\mathbf {U}({\omega }), \rho ({\omega })\) and \(p({\omega })\) are used to denote the solutions obtained from Eq. (A.30) with

    $${\omega }= \left( \omega _{im,j,k}, \omega _{ip,j,k}, \omega _{i,jm,k}, \omega _{i,jp,k}, \omega _{i,j,km}, \omega _{i,j,kp} \right) $$

    If taking \({\omega }_1=\mathcal{A}^{k_1,k_2, k_3, k_4, k_5, k_6}((k_1,k_2, k_3, k_4, k_5, k_6)\ne \mathbf {0} ), {\omega }_2=\mathcal{A}^{\mathbf {0}}=(0,0,0,0,0,0)\), and \(\alpha =r^{k_1,k_2, k_3, k_4, k_5, k_6}\), then \( p\left[ \alpha {\omega }_1+(1-\alpha ) {\omega }_2\right] =p\left[ r^{k_1,k_2, k_3, k_4, k_5, k_6}\right. \)\(\left. \mathcal{A}^{k_1,k_2, k_3, k_4, k_5, k_6}+(1-r^{k_1,k_2, k_3, k_4, k_5, k_6})\mathcal{A}^{\mathbf {0}}\right] =p\left( r^{k_1,k_2, k_3, k_4, k_5, k_6}\mathcal{A}^{k_1,k_2, k_3, k_4, k_5, k_6}\right) \). Thus, Eq. (A.36) becomes

    $$\begin{aligned}&p\left( r^{k_1,k_2, k_3, k_4, k_5, k_6}\mathcal{A}^{k_1,k_2, k_3, k_4, k_5, k_6}\right) \\&\ge r^{k_1,k_2, k_3, k_4, k_5, k_6} p(\mathcal{A}^{k_1,k_2, k_3, k_4, k_5, k_6})+(1-r^{k_1,k_2, k_3, k_4, k_5, k_6}) p(\mathcal{A}^{\mathbf {0}}) \end{aligned}$$

    When the right-hand side of the above inequality \(\ge \epsilon _{p}\) is assumed, it follows that

    $$\begin{aligned} \begin{aligned}&p\left( r^{k_1,k_2, k_3, k_4, k_5, k_6}\mathcal{A}^{k_1,k_2, k_3, k_4, k_5, k_6}\right) \\&\ge r^{k_1,k_2, k_3, k_4, k_5, k_6} p(\mathcal{A}^{k_1,k_2, k_3, k_4, k_5, k_6})+(1-r^{k_1,k_2, k_3, k_4, k_5, k_6}) p(\mathcal{A}^{\mathbf {0}})\ge \epsilon _{p} \end{aligned} \end{aligned}$$
    (A.37)

    Since

    $$\begin{aligned} {\left\{ \begin{array}{ll} p(\mathcal{A}^{\mathbf {0}})\ge \epsilon _{p}\\ p(\mathcal{A}^{k_1,k_2, k_3, k_4, k_5, k_6})<\epsilon _{p} \end{array}\right. } \end{aligned}$$

    from (A.37) we get

    $$\begin{aligned} r^{k_1,k_2, k_3, k_4, k_5, k_6}\le \dfrac{p(\mathcal{A}^{\mathbf {0}})-\epsilon _p}{p(\mathcal{A}^{\mathbf {0}})-p(\mathcal{A}^{k_1,k_2, k_3, k_4, k_5, k_6})}\in [0,1) \end{aligned}$$

    or equivalently

    $$\begin{aligned} r^{k_1,k_2,k_3,k_4,k_5,k_6}\le \dfrac{\epsilon _p-p^{n+1}_{i,j,k}(\mathcal{A}^{0,0,0,0,0,0})}{p^{n+1}_{i,j,k}(\mathcal{A}^{k_1,k_2,k_3,k_4,k_5,k_6})-p^{n+1}_{i,j,k}(\mathcal{A}^{0,0,0,0,0,0})} \end{aligned}$$

We can embark a rectangle subset \(S_{\rho ,p}\) inside \(S_{p}\)

$$\begin{aligned} S_{\rho ,p}&= \left[ 0,\varOmega ^{\rho ,p}_{im,j,k}\right] \times \left[ 0,\varOmega ^{\rho ,p}_{ip,j,k}\right] \times \left[ 0,\varOmega ^{\rho ,p}_{i,jm,k}\right] \times \left[ 0,\varOmega ^{\rho ,p}_{i,jp,k}\right] \\&\quad \times \left[ 0,\varOmega ^{\rho ,p}_{i,j,km}\right] \times \left[ 0,\varOmega ^{\rho ,p}_{i,j,kp}\right] \subset S_{p}, \end{aligned}$$

where

$$\begin{aligned}\begin{gathered} {\left\{ \begin{array}{ll} \varOmega ^{\rho ,p}_{im,j,k}=\displaystyle \min _{k_{2,3,4,5,6}=0,1}\left( \mathcal{B}^{1,k_2,k_3,k_4,k_5,k_6}\right) \\ \varOmega ^{\rho ,p}_{ip,j,k}=\displaystyle \min _{k_{1,3,4,5,6}=0,1}\left( \mathcal{B}^{k_1,1,k_3,k_4,k_5,k_6}\right) \\ \varOmega ^{\rho ,p}_{i,jm,k}=\displaystyle \min _{k_{1,2,4,5,6}=0,1}\left( \mathcal{B}^{k_1,k_2,1,k_3,k_5,k_6}\right) \\ \varOmega ^{\rho ,p}_{i,jp,k}=\displaystyle \min _{k_{1,2,3,5,6}=0,1}\left( \mathcal{B}^{k_1,k_2,k_3,1,k_5,k_6}\right) \\ \varOmega ^{\rho ,p}_{i,j,km}=\displaystyle \min _{k_{1,2,3,4,6}=0,1}\left( \mathcal{B}^{k_1,k_2,k_3,k_4,1,k_6}\right) \\ \varOmega ^{\rho ,p}_{i,j,kp}=\displaystyle \min _{k_{1,2,3,4,5}=0,1}\left( \mathcal{B}^{k_1,k_2,k_3,k_4,k_5,1}\right) \end{array}\right. } \end{gathered}\end{aligned}$$

Finally, one can set

$$\begin{aligned} {\left\{ \begin{array}{ll} \omega _{ip,j,k}=\min \left( \varOmega ^{\rho ,p}_{ip,j,k},\varOmega ^{\rho ,p}_{(i+1)m,j,k}\right) \\ \omega _{im,j,k}=\min \left( \varOmega ^{\rho ,p}_{im,j,k},\varOmega ^{\rho ,p}_{(i-1)p,j,k}\right) \\ \omega _{i,jp,k}=\min \left( \varOmega ^{\rho ,p}_{i,jp,k},\varOmega ^{\rho ,p}_{i,(j+1)m,k}\right) \\ \omega _{i,jm,k}=\min \left( \varOmega ^{\rho ,p}_{i,jm,k},\varOmega ^{\rho ,p}_{i,(j-1)p,k}\right) \\ \omega _{i,j,kp}=\min \left( \varOmega ^{\rho ,p}_{i,j,kp},\varOmega ^{\rho ,p}_{i,j,(k+1)m}\right) \\ \omega _{i,j,km}=\min \left( \varOmega ^{\rho ,p}_{i,j,km},\varOmega ^{\rho ,p}_{i,j,(k-1)p}\right) \end{array}\right. } \end{aligned}$$
(A.38)

With the above limiting bounds \(\omega _{ip,j,k}, \omega _{im,j,k}, \omega _{i, jp,k}, \omega _{i,jm,k}, \omega _{i,j,kp}, \omega _{i,j,km}\) given by Eq. (A.38), one can restart to update \(\overline{\mathbf U}^{n+1}\) from Eq. (A.30). This finishes the positivity-preserving procedure.

Since the first-order local Lax-Friedrichs scheme serves as the building block for the above MPP flux-corrected limiting formulation, we are left to prove positivity-preserving for the local Lax-Friedrichs scheme. In the above context, Lax-Friedrichs scheme can be written as follows:

$$\begin{aligned} \begin{aligned} \frac{d\overline{\mathbf {U}}}{dt}=&-\frac{3\left( r_{ip}^2\mathbf {f}_{ip,j,k}^n-r_{im}^2\mathbf {f}_{im,j,k}^n\right) }{\left( r_{ip}^3-r_{im}^3\right) }- \frac{\sin \theta _{jp}\mathbf {g}_{i,jp,k}^n-\sin \theta _{jm}\mathbf {g}_{i,jm,k}^n}{r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) }\\&-\frac{\varDelta \theta (j)}{r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) }\frac{\mathbf {h}_{i,j,kp}^n-\mathbf {h}_{i,j,km}^n}{\varDelta \phi (k)} +\overline{\mathbf {S}}_{i,j,k} \end{aligned} \end{aligned}$$

where

$$\begin{aligned} \begin{aligned}&\mathbf {f}_{im,j,k}^n=\frac{1}{2} \lambda _{im} \left( \overline{\mathbf {U}}_{i-1,j,k}-\overline{\mathbf {U}}_{i,j,k}\right) + \frac{1}{2} \left[ \mathbf {f}\left( \overline{\mathbf {U}}_{i-1,j,k}\right) +\mathbf {f} \left( \overline{\mathbf {U}}_{i,j,k}\right) \right] \\&\mathbf {g}_{i,jm,k}^n=\frac{1}{2} \lambda _{jm} \left( \overline{\mathbf {U}}_{i,j-1,k}-\overline{\mathbf {U}}_{i,j,k}\right) + \frac{1}{2} \left[ \mathbf {g} \left( \overline{\mathbf {U}}_{i,j-1,k}\right) +\mathbf {g}\left( \overline{\mathbf {U}}_{i,j,k}\right) \right] \\&\mathbf {h}_{i,j,km}^n=\frac{1}{2} \lambda _{km} \left( \overline{\mathbf {U}}_{i,j,k-1}-\overline{\mathbf {U}}_{i,j,k}\right) + \frac{1}{2}\left[ \mathbf {h}\left( \overline{\mathbf {U}}_{i,j,k-1}\right) +\mathbf {h}\left( \overline{\mathbf {U}}_{i,j,k}\right) \right] \end{aligned} \end{aligned}$$

with

$$\begin{aligned} \begin{aligned}&\lambda _{im}=\mathrm{max}\left\{ (\overline{v}_r+\overline{c}_{fr})_{i-1,j,k}, (\overline{v}_r+\overline{c}_{fr})_{i,j,k}\right\} , \\&\lambda _{ip}=\mathrm{max}\left\{ (\overline{v}_r+\overline{c}_{fr})_{i,j,k}, (\overline{v}_r+\overline{c}_{fr})_{i+1,j,k}\right\} \\&\lambda _{jm}=\mathrm{max}\left\{ (\overline{v}_\theta +\overline{c}_{f\theta })_{i,j-1,k}, (\overline{v}_\theta +\overline{c}_{f\theta })_{i,j,k}\right\} , \\&\lambda _{jp}=\mathrm{max}\left\{ (\overline{v}_\theta +\overline{c}_{f\theta })_{i,j,k}, (\overline{v}_\theta +\overline{c}_{f\theta })_{i,j+1,k}\right\} \\&\lambda _{km}=\mathrm{max}\left\{ (\overline{v}_\phi +\overline{c}_{f\phi })_{i,j,k-1}, (\overline{v}_\phi +\overline{c}_{f\phi })_{i,j,k}\right\} , \\&\lambda _{kp}=\mathrm{max}\left\{ (\overline{v}_\phi +\overline{c}_{f\phi })_{i,j,k}, (\overline{v}_\phi +\overline{c}_{f\phi })_{i,j,k+1}\right\} \\ \end{aligned} \end{aligned}$$

For simplicity, by setting

$$\begin{aligned}\begin{gathered} {\left\{ \begin{array}{ll} \mathbf {f}^{n}_{i}=\mathbf {f}\left( \overline{\mathbf {U}}_{i,j,k}\right) , \ \ \mathbf {g}^{n}_{j}=\mathbf {g} \left( \overline{\mathbf {U}}_{i,j,k}\right) , \ \ \mathbf {h}^{n}_{k}=\mathbf {h} \left( \overline{\mathbf {U}}_{i,j,k}\right) \\ \mathbf {U}^{n}_{i}=\overline{\mathbf {U}}_{i,j,k},\ \ \mathbf {U}^{n}_{j}=\overline{\mathbf {U}}_{i,j,k}, \ \ \mathbf {U}^{n}_{k}=\overline{\mathbf {U}}_{i,j,k}\\ \end{array}\right. } \end{gathered}\end{aligned}$$

then the first order local Lax-Friedrichs scheme with a forward Euler time-integration method reads

$$\begin{aligned} \begin{aligned} \overline{\mathbf {U}}^{n+1}_{i,j,k}=~&\overline{\mathbf {U}}^{n}_{i,j,k} - \frac{3 r_{ip}^2 \varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) } \left[ \mathbf {f}^{n}_{i+1}+\mathbf {f}^{n}_{i}-\lambda _{ip}(\mathbf {U}^{n}_{i+1}-\mathbf {U}^{n}_{i})\right] \\&+\frac{3 r_{im}^2 \varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) }\left[ \mathbf {f}^{n}_{i}+\mathbf {f}^{n}_{i-1}-\lambda _{im}(\mathbf {U}^{n}_{i}-\mathbf {U}^{n}_{i-1})\right] \\&- \frac{\varDelta t \sin \theta _{jp} }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \left[ \mathbf {g}^{n}_{j+1}+\mathbf {g}^{n}_{j}-\lambda _{jp}(\mathbf {U}^{n}_{j+1}-\mathbf {U}^{n}_{j})\right] \\&+ \frac{\varDelta t \sin \theta _{jm} }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \left[ \mathbf {g}^{n}_{j}+\mathbf {g}^{n}_{j-1}-\lambda _{jm}(\mathbf {U}^{n}_{j}-\mathbf {U}^{n}_{j-1})\right] \\&- \frac{\varDelta t\varDelta \theta (j)}{2r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)} \left[ \mathbf {h}^{n}_{k+1}+\mathbf {h}^{n}_{k}-\lambda _{kp}(\mathbf {U}^{n}_{k+1}-\mathbf {U}^{n}_{k})\right] \\&+\frac{\varDelta t\varDelta \theta (j)}{2r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)}\left[ \mathbf {h}^{n}_{k}+\mathbf {h}^{n}_{k-1}-\lambda _{km}(\mathbf {U}^{n}_{k}-\mathbf {U}^{n}_{k-1})\right] \end{aligned} \end{aligned}$$
(A.39)

where \(\varDelta t \) is the time marching step to be determined. Now, one can rewrite (A.39) as follows

$$\begin{aligned} \begin{aligned} \overline{\mathbf {U}}^{n+1}_{i,j,k}=~&\overline{\mathbf {U}}^{n}_{i,j,k} \left( 1-\frac{3 (\lambda _{ip} r_{ip}^2 +\lambda _{im} r_{im}^2)\varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) } -\frac{\varDelta t (\lambda _{jp} \sin \theta _{jp}+ \lambda _{jm}\sin \theta _{jm}) }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \right. \nonumber \\&\left. -\frac{\varDelta t\varDelta \theta (j) ( \lambda _{kp}+\lambda _{km}) }{2r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)} \right) \\&+\frac{3 (r_{im}^2-r_{ip}^2 )\varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) }\mathbf {f}^{n}_{i} +\frac{\varDelta t ( \sin \theta _{jm}- \sin \theta _{jp}) }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \mathbf {g}^{n}_{j} \\&+\frac{3 r_{im}^2 \varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) }\left( \mathbf {f}^{n}_{i-1}+\lambda _{im} \mathbf {U}^{n}_{i-1}\right) - \frac{3 r_{ip}^2 \varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) } \left( \mathbf {f}^{n}_{i+1}-\lambda _{ip} \mathbf {U}^{n}_{i+1}\right) \end{aligned} \end{aligned}$$
$$\begin{aligned}&+\frac{\varDelta t \sin \theta _{jm} }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \left( \mathbf {g}^{n}_{j-1}+\lambda _{jm} \mathbf {U}^{n}_{j-1}\right) \nonumber \\&-\frac{\varDelta t \sin \theta _{jp} }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \left( \mathbf {g}^{n}_{j+1}-\lambda _{jp} \mathbf {U}^{n}_{j+1}\right) \nonumber \\&+\frac{\varDelta t\varDelta \theta (j)}{2r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)} \left( \mathbf {h}^{n}_{k-1}+\lambda _{km}\mathbf {U}^{n}_{k-1}\right) \nonumber \\&-\frac{\varDelta t\varDelta \theta (j)}{2r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)}\left( \mathbf {h}^{n}_{k+1}-\lambda _{kp} \mathbf {U}^{n}_{k+1}\right) \end{aligned}$$
(A.40)

with \(\varDelta \phi (k)=\phi _{kp}-\phi _{km}\), \(\varDelta \theta (j)=\theta _{jp}-\theta _{jm} \). For density \(\rho \), it follows from (A.40) that

$$\begin{aligned} \begin{aligned} \overline{\rho }^{n+1}_{i,j,k}=&\overline{\rho }^{n}_{i,j,k} \left( 1-\frac{3 (\lambda _{ip} r_{ip}^2 +\lambda _{im} r_{im}^2)\varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) } -\frac{\varDelta t (\lambda _{jp} \sin \theta _{jp}+ \lambda _{jm} \sin \theta _{jm}) }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) }\right. \\&\left. -\frac{\varDelta t\varDelta \theta (j) ( \lambda _{kp}+\lambda _{km}) }{2r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)} \right) \\&+\frac{3 (r_{im}^2-r_{ip}^2 )\varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) }(\rho v_r)^{n}_{i} +\frac{\varDelta t ( \sin \theta _{jm}- \sin \theta _{jp}) }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } (v_\theta \rho )^{n}_{j}\\&+\frac{3 r_{im}^2 \varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) }\left( (v_r \rho )^{n}_{i-1}+\lambda _{im} \rho ^{n}_{i-1}\right) - \frac{3 r_{ip}^2 \varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) } \left( (v_r \rho )^{n}_{i+1}-\lambda _{ip} \rho ^{n}_{i+1}\right) \\&+\frac{\varDelta t \sin \theta _{jm} }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \left( (v_\theta \rho )^{n}_{j-1}+\lambda _{jm} \rho ^{n}_{j-1}\right) -\frac{\varDelta t \sin \theta _{jp} }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \\&\quad \left( (v_\theta \rho )^{n}_{j+1}-\lambda _{jp} \rho ^{n}_{j+1}\right) \\&+\frac{\varDelta t\varDelta \theta (j)}{2r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)} \left( (v_\phi \rho )^{n}_{k-1}+\lambda _{km} \rho ^{n}_{k-1}\right) \\&-\frac{\varDelta t\varDelta \theta (j)}{2r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)}\left( (v_\phi \rho )^{n}_{k+1}-\lambda _{kp} \rho ^{n}_{k+1}\right) \end{aligned} \end{aligned}$$
(A.41)

Since

$$\begin{aligned} \lambda _{i}=&\ \mathrm{max}\left\{ (\overline{v}_r+\overline{c}_{fr})_{i-1,j,k}, (\overline{v}_r+\overline{c}_{fr})_{i,j,k},(\overline{v}_r+\overline{c}_{fr})_{i+1,j,k}\right\} \nonumber \\ =&\ \mathrm{max}(\lambda _{im}, \lambda _{ip})>\max ( (v_r)_{i+1}, (v_r)_{i}, (v_r)_{i-1}) \nonumber \\ \lambda _{j}=&\ \mathrm{max}\left\{ (\overline{v}_\theta +\overline{c}_{f\theta })_{i,j-1,k}, (\overline{v}_\theta +\overline{c}_{f\theta })_{i,j,k},(\overline{v}_\theta +\overline{c}_{f\theta })_{i,j+1,k}\right\} \nonumber \\ =&\ \mathrm{max}(\lambda _{jm}, \lambda _{jp})>\max ((v_{\theta })_{j+1}, (v_{\theta })_{j}, (v_{\theta })_{j-1}) \nonumber \\ \lambda _{k}=&\ \mathrm{max}\left\{ (\overline{v}_\phi +\overline{c}_{f\phi })_{i,j,k-1}, (\overline{v}_\phi +\overline{c}_{f\phi })_{i,j,k},\overline{v}_\phi +\overline{c}_{f\phi })_{i,j,k+1}\right\} \nonumber \\ =&\ \mathrm{max}(\lambda _{km}, \lambda _{kp})>\max ((v_{\phi })_{k+1}, (v_{\phi })_{k}, (v_{\phi })_{k-1}) \end{aligned}$$
(A.42)

there follow

$$\begin{aligned}&{\left\{ \begin{array}{ll} (\rho v_r)^{n}_{i-1}+\lambda _{im} \rho ^{n}_{i-1}>0\\ (\rho v_r)^{n}_{i }-\lambda _{im} \rho ^{n}_{i }<0\\ (\rho v_r)^{n}_{i+1}-\lambda _{ip} \rho ^{n}_{i+1}<0 \end{array}\right. } \quad {\left\{ \begin{array}{ll} (\rho v_{\theta })^{n}_{j-1}+\lambda _{jm} \rho ^{n}_{j-1}>0\\ (\rho v_{\theta })^{n}_{j }-\lambda _{jm} \rho ^{n}_{j }<0\\ (\rho v_{\theta })^{n}_{j+1}-\lambda _{jp} \rho ^{n}_{j+1}<0 \end{array}\right. } \nonumber \\&{\left\{ \begin{array}{ll} (\rho v_{\phi })^{n}_{k-1}+\lambda _{km} \rho ^{n}_{k-1}>0\\ (\rho v_{\phi })^{n}_{k }-\lambda _{km} \rho ^{n}_{k }<0\\ (\rho v_{\phi })^{n}_{k+1}-\lambda _{kp} \rho ^{n}_{k+1}<0 \end{array}\right. } \end{aligned}$$
(A.43)

Considering (A.41), (A.42) and (A.43), one obtains

$$\begin{aligned} \begin{aligned} \overline{\rho }^{n+1}_{i,j,k}&\ge \overline{\rho }^{n}_{i,j,k} \left( 1-\frac{3 ( \lambda _{ip} r_{ip}^2 +\lambda _{im} r_{im}^2)\varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) } -\frac{\varDelta t (\lambda _{jp} \sin \theta _{jp}+ \lambda _{jm} \sin \theta _{jm}) }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \right. \\&\left. -\frac{\varDelta t\varDelta \theta (j) ( \lambda _{kp}+\lambda _{km}) }{2r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)} \right) +\frac{3 (r_{im}^2-r_{ip}^2 )\varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) }\lambda _{im} (\rho )^{n}_{i} \\&\quad -\frac{\varDelta t}{2r_i^\theta }\left| \frac{( \sin \theta _{jm}- \sin \theta _{jp}) }{\left( \cos \theta _{jm}-\cos \theta _{jp}\right) }\right| \lambda _{jm}( \rho )^{n}_{j}\\&\ge \overline{\rho }^{n}_{i,j,k} \left( 1-\frac{3 ( \lambda _{ip} +\lambda _{im} )r_{ip}^2\varDelta t}{2\left( r_{ip}^3-r_{im}^3\right) } -\frac{\varDelta t}{2r_i^\theta }\left( \frac{ ( \lambda _{jp}\sin \theta _{jp}+ \lambda _{jm}\sin \theta _{jm}) }{\left( \cos \theta _{jm}-\cos \theta _{jp}\right) }\right. \right. \\&\left. +\left| \frac{( \sin \theta _{jm}- \sin \theta _{jp}) }{\left( \cos \theta _{jm}-\cos \theta _{jp}\right) } \right| \lambda _{jm}\right) \left. -\frac{\varDelta t\varDelta \theta (j) ( \lambda _{kp}+\lambda _{km}) }{2r_i^\phi \left( \cos \theta _{jm}-\cos \theta _{jp} \right) \varDelta \phi (k)} \right) \\&\ge \overline{\rho }^{n}_{i,j,k} \left( 1-\frac{3 r_{ip}^2 \varDelta t}{\left( r_{ip}^3-r_{im}^3\right) } \lambda _i -\frac{\varDelta t}{2r_i^\theta }\left( \cot \frac{\varDelta \theta (j)}{2}+\left| \cot \theta _j \right| \right) \lambda _j \right. \\&\left. -\frac{\varDelta t\varDelta \theta (j)}{2r_i^\phi \sin \theta _j \sin \frac{\varDelta \theta (j)}{2} \varDelta \phi (k)} \lambda _k \right) \\&=\overline{\rho }^{n}_{i,j,k} \left( 1-\frac{3 r_{ip}^2 \varDelta t}{\left( r_{ip}^3-r_{im}^3\right) } \lambda _i -\frac{\varDelta t}{2r_i^\theta \varDelta \theta (j)}\left[ \left( \cot \frac{\varDelta \theta (j)}{2}+\left| \cot \theta _j \right| \right) \varDelta \theta (j)\right] \lambda _j \right. \\&\left. -\frac{\varDelta t\varDelta \theta (j)}{2r_i^\phi \sin \theta _j \sin \frac{\varDelta \theta (j)}{2} \varDelta \phi (k)} \lambda _k \right) \\ \end{aligned} \end{aligned}$$
(A.44)

If \(\overline{\rho }^{n}_{i,j,k}>0\) and

$$\begin{aligned}&\left( 1-\frac{3 r_{ip}^2 \varDelta t}{\left( r_{ip}^3-r_{im}^3\right) } \lambda _i -\frac{\varDelta t}{2r_i^\theta \varDelta \theta (j)}\left[ \left( \cot \frac{\varDelta \theta (j)}{2}+\left| \cot \theta _j \right| \right) \varDelta \theta (j)\right] \lambda _j \right. \\&\quad \left. -\frac{\varDelta t\varDelta \theta (j)}{2r_i^\phi \sin \theta _j \sin \frac{\varDelta \theta (j)}{2} \varDelta \phi (k)} \lambda _k \right) >0 \end{aligned}$$

then \(\overline{\rho }^{n+1}_{i,j,k}>0\) holds. If setting \( \varDelta t=\mathrm{CFL} \frac{ \mathrm{min}\left( \varDelta r(i), r_i^\theta \varDelta \theta (j), r_i^\phi \sin \theta _j \varDelta \phi (k) \right) }{ \mathrm{max} \left( \lambda _i, \lambda _j, \lambda _k\right) } (\equiv \mathrm{AA})\), inequality (A.44) can be further enhanced by

$$\begin{aligned} 1-\left( \frac{3 r_{ip}^2\varDelta r(i)}{\left( r_{ip}^3-r_{im}^3\right) } +\frac{1}{2}\left[ \left( \cot \frac{\varDelta \theta (j)}{2}+\left| \cot \theta _j \right| \right) \varDelta \theta (j)\right] +\frac{ \varDelta \theta (j)}{2\sin \frac{\varDelta \theta (j)}{2} } \right) \mathrm{CFL}>0 \end{aligned}$$
(A.45)

Or equivalently \(\varDelta t=\mathrm{min}\left( \mathrm{AA}, \mathrm{BB} \right) \) with

$$ \mathrm{BB} = \frac{1}{\mathrm{max}\left( \frac{3 r_{ip}^2 }{\left( r_{ip}^3-r_{im}^3\right) } \lambda _i +\frac{1}{2r_i^\theta \varDelta \theta (j)}\left[ \left( \cot \frac{\varDelta \theta (j)}{2}+\left| \cot \theta _j \right| \right) \varDelta \theta (j)\right] \lambda _j +\frac{\varDelta \theta (j)}{2r_i^\phi \sin \theta _j \sin \frac{\varDelta \theta (j)}{2} \varDelta \phi (k)}\lambda _k \right) } $$

Certainly, this constraint of \(\varDelta t\) will affect the original CFL number. Since \( \frac{\pi }{4} \le \theta _j \le \frac{3 \pi }{4}\) in the grid mesh of computational region, \(\left| \cot \theta _j \right| \le 1\) does hold. Obviously, \( \frac{\varDelta \theta (j)}{2} \cot \frac{\varDelta \theta (j)}{2}\approx 1\) and \(\frac{\frac{\varDelta \theta (j)}{2}}{\sin \frac{\varDelta \theta (j)}{2}}\approx 1\) for small \(\varDelta \theta (j)\). In these cases, one has the following approximations

$$\begin{aligned} \begin{aligned}&\frac{3 r_{ip}^2 }{\left( r_{ip}^3-r_{im}^3\right) }=\frac{1}{\varDelta r(i)} \frac{3 r_{ip}^2 }{\left( r_{ip}^2+r_{ip} r_{im}+r_{im}^2\right) }\approx \frac{1}{\varDelta r(i)} \\&\frac{1}{2r_i^\theta \varDelta \theta (j)}\left[ \left( \cot \frac{\varDelta \theta (j)}{2}+\left| \cot \theta _j \right| \right) \varDelta \theta (j)\right] \approx \frac{1}{r_i^\theta \varDelta \theta (j)} \frac{2+\varDelta \theta (j)}{2}\\&\frac{\varDelta \theta (j)}{2r_i^\phi \sin \theta _j \sin \frac{\varDelta \theta (j)}{2} \varDelta \phi (k)} \approx \frac{\frac{\varDelta \theta (j)}{2}}{\sin \frac{\varDelta \theta (j)}{2}} \frac{1}{r_i^\phi \sin \theta _j \varDelta \phi (k)}\approx \frac{1}{r_i^\phi \sin \theta _j\varDelta \phi (k)} \end{aligned} \end{aligned}$$

From (A.45), it follows that \(1- (3+\frac{\varDelta \theta (j)}{2}) \mathrm{CFL}>0\). That is, the original CFL is reduced by a factor \(2+\frac{2+\varDelta \theta (j)}{2}\approx 3\), which is due to the geometrical factor in spherical coordinates.

It is noted that the above formulations have used the following algebraic identities:

$$\begin{aligned} \begin{aligned}&\sin \theta _{jm}+\sin \theta _{jp}=2 \sin \frac{\theta _{jp}+\theta _{jm}}{2} \cos \frac{\theta _{jp}-\theta _{jm}}{2} =2\sin \theta _j\cos \frac{\varDelta \theta (j)}{2}\\&\sin \theta _{jp}-\sin \theta _{jm}=2 \cos \frac{\theta _{jp}+\theta _{jm}}{2} \sin \frac{\theta _{jp}-\theta _{jm}}{2} =2\cos \theta _j\sin \frac{\varDelta \theta (j)}{2} \end{aligned} \end{aligned}$$
$$\begin{aligned} \begin{aligned}&\cos \theta _{jm}-\cos \theta _{jp}=2 \sin \frac{\theta _{jp}+\theta _{jm}}{2} \sin \frac{\theta _{jp}-\theta _{jm}}{2} =2\sin \theta _j\sin \frac{\varDelta \theta (j)}{2} \\&\frac{\varDelta t ( \sin \theta _{jm}- \sin \theta _{jp}) }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) }=\frac{\varDelta t ( -2\cos \theta _{j} \sin \frac{\varDelta \theta (j)}{2}) }{2r_i^\theta \left( 2\sin \theta _{j}\sin \frac{\varDelta \theta (j)}{2}\right) }=-\frac{\varDelta t }{2r_i^\theta \varDelta \theta (j)} \varDelta \theta (j) \cot \theta _{j} \\&\frac{\varDelta t ( \sin \theta _{jm}+\sin \theta _{jp}) }{2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) }=\frac{\varDelta t ( 2\sin \theta _{j} \cos \frac{\varDelta \theta (j)}{2}) }{2r_i^\theta \left( 2\sin \theta _{j}\sin \frac{\varDelta \theta (j)}{2}\right) }=\frac{\varDelta t }{2r_i^\theta \varDelta \theta (j)} \varDelta \theta (j) \cot \frac{\varDelta \theta (j)}{2} \\&\frac{ \sin \theta _{jm} }{ 2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) }= \frac{ \sin \theta _{jm} }{ 4r_i^\theta \sin \theta _j \sin \frac{\varDelta \theta (j)}{2} } \\&\frac{ \sin \theta _{jp} }{ 2r_i^\theta \left( \cos \theta _{jm}-\cos \theta _{jp}\right) }= \frac{ \sin \theta _{jp} }{ 4r_i^\theta \sin \theta _j \sin \frac{\varDelta \theta (j)}{2} } \end{aligned} \end{aligned}$$

In the implementation, the correction steps can be carried out only at the end of each time step [28, 29, 200, 201, 203] instead of each stage of RK methods [25, 27, 194]. Christlieb et al. [29] show that the differences between the two operations are negligible through their numerical results by SSP-RK3 time integration. If there exist negative density or/and pressure in the intermediate stages of the RK method, the speed of sound can be calculated by \(\sqrt{\gamma \frac{|p|}{|\rho |}}\) with the absolute values of density and pressure [29, 201]. As commented before [200, 201, 203], the flux limiter can be applied only at the final RK stage such that the implementation complexity is significantly reduced. They also claimed that if the MPP flux limiter is applied at each of the intermediate stage of RK method, due to the influence of the special cancellation of RK, high order temporal accuracy could be lost. However, Christlieb et al. [27] showed that the correction steps carried out only at the end of each time step may result in accumulation of the divergence error, with the low-storage 10-stage SSP-RK4 method for their numerical simulations. Thus, the operation that the correction steps are only implemented at the end of each time step is not recommended for RK methods with large stage numbers.

By the way, Wu [194] studied the high-order accurate density and pressure positivity preserving schemes under the Courant-Friedrichs-Lewy condition for the relativistic magnetohydrodynamics (RMHD) and reveals for the first time that the discrete divergence-free condition is closely connected with the density and pressure positivity-preserving property in theory. His formulation of the convexity, scaling invariance and Lax-Friedrichs splitting property can be hopefully used as the building block for high-order accuracy design of the MPP flux-corrected limiting procedure of MHD system. Moreover, a first order finite volume Lax-Friedrichs type scheme ((69) of Ranocha [143]) update procedure using an explicit Euler step in time, where the flux of the first order finite volume scheme is reformulated by logarithmic mean, is proved to be positivity-preserving. By numerical experiments, Ranocha [143] investigated robustness properties of entropy stable numerical fluxes and positivity preservation for compressible Euler equations via several entropy conservative fluxes enhanced with local Lax-Friedrichs type dissipation operators. This technique, combined with the entropy consistent schemes [38, 39, 115, 191, 192] for MHD equations, is expected to provide us entropy-stable positivity-preserving schemes for MHD system.

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Feng, X. (2020). A Finite Volume MHD Code in Spherical Coordinates for Background Solar Wind. In: Magnetohydrodynamic Modeling of the Solar Corona and Heliosphere. Atmosphere, Earth, Ocean & Space. Springer, Singapore. https://doi.org/10.1007/978-981-13-9081-4_3

Download citation

Publish with us

Policies and ethics