yt : An Integrated Science Environment for Astrophysical - - PowerPoint PPT Presentation

yt an integrated science environment for astrophysical
SMART_READER_LITE
LIVE PREVIEW

yt : An Integrated Science Environment for Astrophysical - - PowerPoint PPT Presentation

yt : An Integrated Science Environment for Astrophysical Simulations Matthew Turk There is only one sky. (but there are many simulation codes) Different methods, data structures, assumptions, IO methods, units, variable names, ...


slide-1
SLIDE 1

yt: An Integrated Science Environment for Astrophysical Simulations

Matthew Turk

slide-2
SLIDE 2

There is only one sky.

(but there are many simulation codes)

slide-3
SLIDE 3
slide-4
SLIDE 4

Different methods, data structures, assumptions, IO methods, units, variable names, ...

slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7

Analysis.

slide-8
SLIDE 8

astro-ph/1011.3514 yt-project.org

slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11
slide-12
SLIDE 12

install script: Full dependency stack Source code Development environment GUI Sample data

slide-13
SLIDE 13

yt has been designed to address physical, not computational, entities.

slide-14
SLIDE 14
slide-15
SLIDE 15
slide-16
SLIDE 16

The Universe is full of gas, dark matter and stars. yt makes it easy to access that material.

slide-17
SLIDE 17

Transparent IO, masking of overlapping data, load-on-demand, geometric and non- geometric selection, field generation, and common interfaces to different datatypes.

slide-18
SLIDE 18

Enzo, Orion, CASTRO, FLASH Chombo, Tiger, Athena, ART, RAMSES

yt is designed to be the lingua franca

  • f astrophysical codes.
slide-19
SLIDE 19

Objects

Orthogonal Rays Non-orthogonal Rays 1D Slices Oblique Slices Projections 2D Spheres Rectangular Prisms Disks/Cylinders Inclined Boxes Clumps Extracted Regions Boolean combinations 3D

slide-20
SLIDE 20

from yt.mods import * pf = load(’galaxy0030/galaxy0030’) p = SlicePlot(pf, 2, ’Density’, ’c’, (200,’kpc’)) p.save(’Galaxy’)

slide-21
SLIDE 21
slide-22
SLIDE 22

from yt.mods import * pf = load(’galaxy0030/galaxy0030’) p = SlicePlot(pf, 2, ’Density’, ’c’, (200,’kpc’)) p.set_width(20, ’kpc’) p.save("GalaxyZoom")

slide-23
SLIDE 23
slide-24
SLIDE 24

from yt.mods import * pf = load(’galaxy0030/galaxy0030’) p = ProjectionPlot(pf, 2, ’Density’, ’c’, (20,’kpc’)) p.save(’Galaxy’)

slide-25
SLIDE 25
slide-26
SLIDE 26

Volume Rendering

slide-27
SLIDE 27

dIν ds = jν − ανIν

Designed around integrating through a volume: visualization is a side effect.

slide-28
SLIDE 28
slide-29
SLIDE 29
slide-30
SLIDE 30
slide-31
SLIDE 31
slide-32
SLIDE 32

10-14 g/cc

slide-33
SLIDE 33

Canned Analysis Tasks

slide-34
SLIDE 34

Absorption Spectrum Coordinate Transformations Halo Finding Mass Functions Merger Trees Halo Profiling Level Sets Light Cones Light Rays Time Series Star Analysis Two-Point Analysis

slide-35
SLIDE 35

Level Sets

slide-36
SLIDE 36

Synthetic Spectra

slide-37
SLIDE 37

Two-Point Functions

slide-38
SLIDE 38
slide-39
SLIDE 39

Parallelism

slide-40
SLIDE 40

Multi-level parallelism: dynamic workgroups, communicators, subgroups and task queues

slide-41
SLIDE 41

Parallelism

Embarassingly Parallel Spatial Decomposition Decomposed by load or IO characteristics Helper functions to decompose the domain

slide-42
SLIDE 42

Parallelism

Embarassingly Parallel Spatial Decomposition Quantities Profiles Slices Projections Volume Rendering Halo Finding

slide-43
SLIDE 43

Developing as a Team

slide-44
SLIDE 44

Forky development: very low barrier to entry; everything comes in the box.

slide-45
SLIDE 45

Testing: answer as well as integration tests get run every 30 minutes.

slide-46
SLIDE 46

Community

◮ Mailing lists: community, development ◮ IRC (#yt on irc.freenode.net) ◮ Cookbook, docs ◮ Curriculum from workshop
slide-47
SLIDE 47
slide-48
SLIDE 48

2

slide-49
SLIDE 49

80,000 lines of code Python, Cython, C 20 contributors (60+ users) Contributors from 10+ institutions

8AM 6PM

slide-50
SLIDE 50

Contributors

Tom Abel David Collins Andrew Cunningham Nathan Goldbaum Cameron Hummels Ji-hoon Kim Steffen Klemer Kacper Kowalik Michael Kuhlen Eve Lee Chris Malone Chris Moody Andrew Myers Jeff Oishi Jean-Claude Passy Thomass Robitaille Anna Rosen Anthony Scopatz Devin Silvia Sam Skillman Stephen Skory Britton Smith Geoffrey So Casey Stark Elizabeth Tasker Rick Wagner John Wise John ZuHone

slide-51
SLIDE 51

yt 3.0

slide-52
SLIDE 52

No more grids, only chunks

slide-53
SLIDE 53
slide-54
SLIDE 54

Particle segregation, multiple fluids

slide-55
SLIDE 55

Address technical debt

slide-56
SLIDE 56

Strategies

◮ Patch: chunks are collections of grids ◮ Octree: direct octree parsing ◮ SPH/N-body: octree indexing
slide-57
SLIDE 57

3.0 Milestones

  • 1. Patch-based analysis and 2D viz
  • 2. Patch-based volume rendering
  • 3. Halo Finding
  • 4. Octree analysis and 2D viz
  • 5. Particle analysis and 2D viz
slide-58
SLIDE 58

Caveats!

slide-59
SLIDE 59

SPH Support

◮ Particle support only at first ◮ No first light (ETA: 3-6 weeks) ◮ Many free parameters, many output

formats

slide-60
SLIDE 60

Octree Support

◮ Volume rendering not ready yet ◮ Subtleties may lurk ◮ ART half-finished
slide-61
SLIDE 61

I volunteer!

slide-62
SLIDE 62

(demo)

slide-63
SLIDE 63

Thank you. yt-project.org