PLUTO: a modular code for computational astrophysics

16
PLUTO: a modular code for computational astrophysics Developers: A. Mignone 1,2 , G. Bodo 2 1 The University of Chicago, ASC FLASH Center 2 INAF Osseratorio Astronomico di Torino 3 Universita’ degli studi di Torino 4 Universita’ degli studi di Firenze C. Zanni 3 , T. Laverne 2 , F. Rubini 4 , S. Massaglia 3 , A. Rogava 3 , A. Ferrari 3

description

PLUTO: a modular code for computational astrophysics. Developers: A. Mignone 1,2 , G. Bodo 2 1 The University of Chicago, ASC FLASH Center 2 INAF Osseratorio Astronomico di Torino 3 Universita’ degli studi di Torino 4 Universita’ degli studi di Firenze. - PowerPoint PPT Presentation

Transcript of PLUTO: a modular code for computational astrophysics

Page 1: 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

Page 2: PLUTO: a modular code for computational astrophysics

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)

Page 3: PLUTO: a modular code for computational astrophysics

Requirements

• (ANSI) C compiler• Python (v. > 1.6)• GNU Make

Optional• MPI (arraylib by A. Malagoli)• GD graphics library

Page 4: PLUTO: a modular code for computational astrophysics

PLUTO Fundamentals:

PHYSICS Modules

TIME_STEPPINGGeometry\Grid Generation

Page 5: PLUTO: a modular code for computational astrophysics

Source Tree

Interpolation

RMHDRHDHD MHD

Update

Sources

Time_Stepping

UnsplitSplit

Un Un+1

physics modules

Page 6: PLUTO: a modular code for computational astrophysics

Eos:

Hydrodynamics (HD) Module

Page 7: PLUTO: a modular code for computational astrophysics

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

Page 8: PLUTO: a modular code for computational astrophysics

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.

Page 9: PLUTO: a modular code for computational astrophysics

Relativistic Magnetohydrodynamics (RMHD) Module

• Shares Features w/ MHD and RHD

Page 10: PLUTO: a modular code for computational astrophysics

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

Page 11: PLUTO: a modular code for computational astrophysics

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

Page 12: PLUTO: a modular code for computational astrophysics

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..

Page 13: PLUTO: a modular code for computational astrophysics

Test Gallery2-D Riemann Problem (HD)

Shock-Cloud Interaction(MHD)

2-D Riemann Problem (RHD)

RMHD Blast Wave

Page 14: PLUTO: a modular code for computational astrophysics

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

Page 15: PLUTO: a modular code for computational astrophysics

More Applications

Thermally unstable radiative shocks(Mignone, submitted to ApJ)

Accretion Column onto white dwarf

Page 16: PLUTO: a modular code for computational astrophysics

Summary

• Simple, fast code for single/multi proc.• User-friendly• versatile• suitable for algorithm comparison• (fairly) well documented

>> Official release: Feb 2005 <<

[email protected],[email protected]