PLUTO: a modular code for computational astrophysics
description
Transcript of PLUTO: a modular code for computational astrophysics
PLUTO:
a modular code for computational astrophysics
Developers: A. Mignone1,2, G. Bodo2
1 The University of Chicago, ASC FLASH Center2 INAF Osseratorio Astronomico di Torino
3 Universita’ degli studi di Torino4 Universita’ degli studi di Firenze
C. Zanni3, T. Laverne2 , F. Rubini4, S. Massaglia3, A. Rogava3, A. Ferrari3
OUTLINE• Written in C ( ~ 33,000 lines)• Explicit, compressible code (FV):
– Shock capturing– High-mach number flows
• Works in 1, 2, 3-D• Modular structure:
– Physics– Time stepping– Interpolations– Riemann Solvers
• No AMR• Geometry support (Cart, Cyl, Spher)• Serial/Parallel Implementation (MPI)
Requirements
• (ANSI) C compiler• Python (v. > 1.6)• GNU Make
Optional• MPI (arraylib by A. Malagoli)• GD graphics library
PLUTO Fundamentals:
PHYSICS Modules
TIME_STEPPINGGeometry\Grid Generation
Source Tree
Interpolation
RMHDRHDHD MHD
Update
Sources
Time_Stepping
UnsplitSplit
Un Un+1
physics modules
Eos:
Hydrodynamics (HD) Module
Relativistic Hydrodynamics (RHD) Module
• Multi dimensional PPM, full corner coupled transport (Colella 1990)
• Nonlinear Riemann solver w/ general Eos (Mignone et al. submitted to ApJ), FLASH Code
/(
-1)
EoS = 4/3
= 5/3
Magnetohydrodynamics (MHD) Module
• Monopole Control
– Powell (Powell 94)– Monopole Diffusion (Marder 87)– Flux CT (Balsara 2004)
• Splitting of Magnetic Field, B = B0(x) + B1(x,t) suitable for low- plasma.
Relativistic Magnetohydrodynamics (RMHD) Module
• Shares Features w/ MHD and RHD
Algorithms
Time Stepping
Fwd Euler (Split/Unsplit) RK 2nd (Split/Unsplit) RK 3rd (Split/Unsplit) Hancock (Split/CTU) Characteristic Tracing
(Split/CTU)
Interpolation Prim. TVD-limited (II order) Characteristic TVD-limited Piecewise-Parabolic Multi-D Linear Interpolation 2nd and 3rd order WENO
Riemann Solvers Riemann (non-linear)
TVD/ROE HLL TVDLF
(split) (split)
HD RHD MHD RMHD
Additional Features
• Particles (T. Laverne):
• Optically thin radiative losses
power-law 2T (Analytic integrator) “Interstellar” cooling function:
T > 104 K, Dalgarno & McCray Cooling (1972) T < 104 K, NEQ (H + H2) (Oliva, 1992)
NEQ cooling function for shocks < 80 Km/s (Raymond 1987)
• Implicit Thermal Conduction (1-D only)
Explicit /Implicit 2nd order integrators
Problem Setup• Python Interface:
1. definitions.h2. makefile
• User:
3. init.c
• Set initial conditions
• userdef b. c. • Bckgr. B • Gravity
4. pluto.ini
• CFL• Domain• output freq.• etc..
Test Gallery2-D Riemann Problem (HD)
Shock-Cloud Interaction(MHD)
2-D Riemann Problem (RHD)
RMHD Blast Wave
ApplicationsAxisymmetric MHD Jet
Mach = 50 = 1in/out= 1/20
3D RHD Jet(Rossi et at. 2003)
Mach=3 = 10in/out= 1.e-4
Keplerian Disk(Murante et al. 2004)
Vortex-wave generation
2D RHD KH
V = 0.95cM = 1.17
More Applications
Thermally unstable radiative shocks(Mignone, submitted to ApJ)
Accretion Column onto white dwarf
Summary
• Simple, fast code for single/multi proc.• User-friendly• versatile• suitable for algorithm comparison• (fairly) well documented
>> Official release: Feb 2005 <<