No Arabic abstract
We introduce the moving mesh code Shadowfax, which can be used to evolve a mixture of gas, subject to the laws of hydrodynamics and gravity, and any collisionless fluid only subject to gravity, such as cold dark matter or stars. The code is written in C++ and its source code is made available to the scientific community under the GNU Affero General Public License. We outline the algorithm and the design of our implementation, and demonstrate its validity through the results of a set of basic test problems, which are also part of the public version. We also compare Shadowfax with a number of other publicly available codes using different hydrodynamical integration schemes, illustrating the advantages and disadvantages of the moving mesh technique.
We present the public Monte Carlo photoionization and moving-mesh radiation hydrodynamics code CMacIonize, which can be used to simulate the self-consistent evolution of HII regions surrounding young O and B stars, or other sources of ionizing radiation. The code combines a Monte Carlo photoionization algorithm that uses a complex mix of hydrogen, helium and several coolants in order to self-consistently solve for the ionization and temperature balance at any given type, with a standard first order hydrodynamics scheme. The code can be run as a post-processing tool to get the line emission from an existing simulation snapshot, but can also be used to run full radiation hydrodynamical simulations. Both the radiation transfer and the hydrodynamics are implemented in a general way that is independent of the grid structure that is used to discretize the system, allowing it to be run both as a standard fixed grid code, but also as a moving-mesh code.
Accurate numerical solutions of the equations of hydrodynamics play an ever more important role in many fields of astrophysics. In this work, we reinvestigate the accuracy of the moving-mesh code textsc{Arepo} and show how its convergence order can be improved for general problems. In particular, we clarify that for certain problems textsc{Arepo} only reaches first-order convergence for its original formulation. This can be rectified by simple modifications we propose to the time integration scheme and the spatial gradient estimates of the code, both improving the accuracy of the code. We demonstrate that the new implementation is indeed second-order accurate under the $L^1$ norm, and in particular substantially improves conservation of angular momentum. Interestingly, whereas these improvements can significantly change the results of smooth test problems, we also find that cosmological simulations of galaxy formation are unaffected, demonstrating that the numerical errors eliminated by the new formulation do not impact these simulations. In contrast, simulations of binary stars followed over a large number of orbital times are strongly affected, as here it is particularly crucial to avoid a long-term build up of errors in angular momentum conservation.
We describe the structure and implementation of a moving-mesh hydrodynamics solver in the large-scale parallel code, Charm N-body GrAvity solver (ChaNGa). While largely based on the algorithm described by Springel (2010) that is implemented in AREPO, our algorithm differs a few aspects. We describe our use of the Voronoi tessellation library, VORO++, to compute the Voronoi tessellation directly. We also incorporate some recent advances in gradient estimation and reconstruction that gives better accuracy in hydrodynamic solutions at minimal computational cost. We validate this module with a small battery of test problems against the smooth particle hydrodynamics solver included in ChaNGa. Finally, we study one example of a scientific problem involving the mergers of two main sequence stars and highlight the small quantitative differences between smooth particle and moving-mesh hydrodynamics. We close with a discussion of anticipated future improvements and advancements.
In certain astrophysical systems the commonly employed ideal magnetohydrodynamics (MHD) approximation breaks down. Here, we introduce novel explicit and implicit numerical schemes of ohmic resistivity terms in the moving-mesh code AREPO. We include these non-ideal terms for two MHD techniques: the Powell 8-wave formalism and a constrained transport scheme, which evolves the cell-centred magnetic vector potential. We test our implementation against problems of increasing complexity, such as one- and two-dimensional diffusion problems, and the evolution of progressive and stationary Alfven waves. On these test problems, our implementation recovers the analytic solutions to second-order accuracy. As first applications, we investigate the tearing instability in magnetized plasmas and the gravitational collapse of a rotating magnetized gas cloud. In both systems, resistivity plays a key role. In the former case, it allows for the development of the tearing instability through reconnection of the magnetic field lines. In the latter, the adopted (constant) value of ohmic resistivity has an impact on both the gas distribution around the emerging protostar and the mass loading of magnetically driven outflows. Our new non-ideal MHD implementation opens up the possibility to study magneto-hydrodynamical systems on a moving mesh beyond the ideal MHD approximation.
This paper describes the open-source code Enzo, which uses block-structured adaptive mesh refinement to provide high spatial and temporal resolution for modeling astrophysical fluid flows. The code is Cartesian, can be run in 1, 2, and 3 dimensions, and supports a wide variety of physics including hydrodynamics, ideal and non-ideal magnetohydrodynamics, N-body dynamics (and, more broadly, self-gravity of fluids and particles), primordial gas chemistry, optically-thin radiative cooling of primordial and metal-enriched plasmas (as well as some optically-thick cooling models), radiation transport, cosmological expansion, and models for star formation and feedback in a cosmological context. In addition to explaining the algorithms implemented, we present solutions for a wide range of test problems, demonstrate the codes parallel performance, and discuss the Enzo collaborations code development methodology.