12 Mar 2007 | A. Mignone¹,², G. Bodo², S. Massaglia¹, T. Matsakos¹, O. Tesileanu¹, C. Zanni³ and A. Ferrari¹
PLUTO is a numerical code for computational astrophysics that solves hypersonic flows in 1, 2, and 3 spatial dimensions and different coordinate systems. It is a multi-physics, multi-algorithm modular environment designed for astrophysical flows with discontinuities. The code supports Newtonian, relativistic, MHD, and relativistic MHD fluids, using a general framework for integrating conservation laws with Godunov-type shock-capturing schemes. The code is structured in a modular way, allowing independent selection of hydrodynamic modules and algorithms. It is written in C and can run on single or parallel machines using MPI. PLUTO has been validated against several benchmarks and is used in various astrophysical applications, including stellar and extragalactic jets, radiative shocks, accretion disks, and magneto-rotational instability.
The code integrates a general system of conservation laws, with the state vector U and flux tensor T(U) defined for different physical modules. The code uses a finite volume (FV) formalism for numerical integration, involving three steps: interpolation, solution of Riemann problems at zone interfaces, and evolution. The code supports different Riemann solvers, including Lax-Friedrichs, HLL, HLLC, and Roe solvers. It also includes various reconstruction methods, such as piecewise parabolic reconstruction, ENO, and WENO schemes.
The code provides a flexible framework for time evolution, with different time-marching schemes, including zone-edge extrapolated and semi-discrete methods. It supports both dimensionally split and unsplit methods, with the latter being more computationally expensive. The code also includes a variety of physics modules for different fluid dynamics, including hydrodynamics (HD), magnetohydrodynamics (MHD), relativistic hydrodynamics (RHD), and relativistic MHD (RMHD). These modules solve different equations for fluid dynamics, including the Euler equations, ideal MHD equations, and relativistic equations.
The code also includes features for handling source terms and non-hyperbolicity, such as geometrical source terms and optically thin cooling. It supports parabolic terms for viscosity, resistivity, and thermal conduction, with the solution of diffusion equations. The code has been validated against several benchmarks and is used in various astrophysical applications, including the double Mach reflection of a strong shock and under-expanded jet simulations. The code is structured in a modular way, allowing for easy incorporation of new modules and providing a general framework for computational astrophysics.PLUTO is a numerical code for computational astrophysics that solves hypersonic flows in 1, 2, and 3 spatial dimensions and different coordinate systems. It is a multi-physics, multi-algorithm modular environment designed for astrophysical flows with discontinuities. The code supports Newtonian, relativistic, MHD, and relativistic MHD fluids, using a general framework for integrating conservation laws with Godunov-type shock-capturing schemes. The code is structured in a modular way, allowing independent selection of hydrodynamic modules and algorithms. It is written in C and can run on single or parallel machines using MPI. PLUTO has been validated against several benchmarks and is used in various astrophysical applications, including stellar and extragalactic jets, radiative shocks, accretion disks, and magneto-rotational instability.
The code integrates a general system of conservation laws, with the state vector U and flux tensor T(U) defined for different physical modules. The code uses a finite volume (FV) formalism for numerical integration, involving three steps: interpolation, solution of Riemann problems at zone interfaces, and evolution. The code supports different Riemann solvers, including Lax-Friedrichs, HLL, HLLC, and Roe solvers. It also includes various reconstruction methods, such as piecewise parabolic reconstruction, ENO, and WENO schemes.
The code provides a flexible framework for time evolution, with different time-marching schemes, including zone-edge extrapolated and semi-discrete methods. It supports both dimensionally split and unsplit methods, with the latter being more computationally expensive. The code also includes a variety of physics modules for different fluid dynamics, including hydrodynamics (HD), magnetohydrodynamics (MHD), relativistic hydrodynamics (RHD), and relativistic MHD (RMHD). These modules solve different equations for fluid dynamics, including the Euler equations, ideal MHD equations, and relativistic equations.
The code also includes features for handling source terms and non-hyperbolicity, such as geometrical source terms and optically thin cooling. It supports parabolic terms for viscosity, resistivity, and thermal conduction, with the solution of diffusion equations. The code has been validated against several benchmarks and is used in various astrophysical applications, including the double Mach reflection of a strong shock and under-expanded jet simulations. The code is structured in a modular way, allowing for easy incorporation of new modules and providing a general framework for computational astrophysics.