Symulacje supernowych na superkomputerze Deszno
Andrzej Odrzywołek
Zakład Teorii Względności i Astrofizyki Uniwersytet Jagielloński, Kraków
ŚRO, 24.11.2010, 13:15
Supernowe typu implozyjnego
współcześnie występujące gwiazdy są obiektami o masach 0.08 . . . ∼100 M
gwiazdy „mało” masywne spalają wodór bardzo wolno, żyją długo (miliardy lat) i skończą jako białe karły/mgławice planetarne dramatycznie różne są końcowe etapy ewolucji gwiazd o masach przekraczających pewną krytyczną masę około 8 M (Smartt 2009):
dochodzi do kolapsu grawitacyjnego jądra gwiazdy
zasadnicza idea mechanizmu wybuchu pochodzi z pracy Zwicky (1939): kolaps prowadzi do powstania gwiazdy neutronowej,
wyzwalając energię wiązania grawitacyjnego rzędu 100 B (1053erg ); w pewien nie do końca jasny sposób ∼1% tej energii zostaje
przetransferowany do otoczki gwiazdy, która ulega rozerwaniu zjawisko jest obserwowane przez astronomów jako supernowe typu Ib/c, II lub „długi” rozbłysk promieniownia gamma (Gamma Ray Burst)
Etapy symulacji życia masywnej gwiazdy
1 Formowanie się gwiazd [3D]
2 Ewolucja gwiazdy (kilka mln lat, decydujące faza spalania Si kilka dni, Odrzywolek&Heger 2010) [1D]
3 Kolaps grawitacyjny (GR1D) (-100 . . . 100 ms)
4 Faza neutrinowa (0 . . . 2 s) [2D,3D] [równocześnie ewolucja protogwiazdy neutrinowej, 2D]
5 faza hydro t < 5 godzin [2D]
6 faza pozostałości po supernowej (mgławicowa)
Potrzebujemy przynajmniej 5 różnych kodów numerycznych aby prześledzić
Ewolucja masywnej gwiazdy
(blue giant)
radiative envelope
000000 000 111111 111
000000 000 111111 111
convective envelope
C shell burning
O shell burning He shell burning
H burning He burning C burning (raditive) C shell burning
Ne burning
O Si
O O
O Si
convection semiconvection
>10−1 >10 1
>10 2
>10 3
>10 4
>10 5
>10 6
>10 7
>10 8
>10 9
>10 10
>10 11
>10 >10 13
>10
<10−1 0 12 14
>10 net nuclear energy
<−1014 13
<−10 12
<−10 11
<−10 10
<−10 9
<−10 8
<−10 7
<−10 6
<−10 5
<−10 4
<−10 3
<−10 2
<−10 1
<−10 0
<−10 −1
<−10 −1
>−10 net nuclear energy
generation
loss(burning + neutrino losses; in erg / g / s)
(burning + neutrino losses; in erg / g / s)
(red supergiant) total mass of the star
(reduces by mass loss)
burning H shell
Ewolucja masywnej gwiazdy
Kolaps grawitacyjny jądra „Fe”
kolaps jest „kanoniczny i sferycznie symetryczny”
rola rotacji ciągle dyskusyjna
bezproblemowo obliczany w symetrii sferycznej, OTW, z transportem neutrin
wynikiem kolapsu jest protogwiazda neutronowa w centrum + fala uderzeniowa w pewnej odległości od jej powierzchni
dane te są traktowane jako warunki początkowe dla bardziej zaawansowanych symulacji 3D (szczegóły dalej)
Przykłady obliczeń w GR1D (stellarcollapse.org, http://arxiv.org/abs/1011.0005)
Dlaczego 3D ?
Przestrzeń w której żyjemy jest trójwymiarowa.
1D 2D 3D
Grawitacja pełna pełna radialna∗
OTW radialna radialna radialna
„Turbulencja”/konwekcja NIE „zdeformowana” TAK Symetria sferyczna osiowa/równikowa brak
SASI NIE TAK TAK
NS kick NIE wzdłuż osi symetrii dowolny
ekspozycja na neutrina minimalna TAK TAK
rotacja NIE osiowosymetryczna dowolna
pola magnetyczne NIE NIE możliwe
czas obliczeń/model 1 h/CPU 1 dzień/10 CPU 1 miesiąc/100 CPU
CPU hours 1 500 100000
Warunki początkowe i brzegowe
Konstrukcja modelu początkowego
aby uniknąć problemów z mapowaniem 1D → 3D (lub 2D) używa się współrzędych sferycznych
warunek CFL [= rozmiar komórki/(prędkość dźwięku + prędkość materii) ] oraz wzrost cs powoduje że krok czasowy ∆t → 0 dla r → 0 wymusza to wycięcie części centralnej (protogwiazdy neutronowej);
zamiast niej zadajemy odpowiednie warunki brzegowe (jasnośc neutrinowa Lν, masa centralna itd.) odpowiadające jej „powierzchni”
funkcja Lν(t) jest w zasadzie dowolnym parametrem modelu
(wyliczany z modelu ewolucji protogwiazdy neutronowej, ograniczenia z SN1987A i dostępnej energii grawitacyjnej)
manipuluje się (i) całkowitą energią wypromieniowaną w neutrinach oraz (ii) rozłożeniem emisji w czasie
Konstrukcja siatki 3D
Konstrukcja siatki 3D
Wpływ strumienia neutrin
Model „żarówki” (light bulb)
zakładamy, że neutrina rozchodzą się radialnie, przy czym ich strumień i widmo energetyczne są zadane na brzegu za pomocą pewnych formuł analitycznych
neutrina ulegają absorpcji/re-emisji przekazując energię i pęd materii depozycja energii może sięgać kilkaset MeV/nukleon (dla porównania energia termojądrowa to kilka MeV/nukleon)
kolejnym efektem oddziaływań νe, ¯νe jest zmiana protonów w neutrony, lub odwrotnie
Symulacja wybuchu: hardware
Deszno
Symulacje 3D stały się możliwe dzięki zakupowi superkomputera Deszno.
Głównym pomysłodawcą był prof. E. Malec, autorem specyfikacji P. Mach.
Deszno (superkomputer) = 6 × complex
complex (maszyna SMP, jeden system operacyjny, 96 fizycznych CPU) complex = 4 × node (płyty główne 24 CPU, identyczne jak na shivie) node = 4 × 6-core E7450 2.4 GHz 12MB L3 cache
complex posiada 256 GB RAM (2.66 GB/core) Dla porównania:
Deszno: 96 × 2.4 GHz Xeon, 256 GB RAM
NERSC Euclid: 48 × 2.6 GHz Opteron, 512 GB RAM MPA: SGI Altix 3700: 128 × 1.6 GHz Itanium II, 256 GB RAM
Symulacja wybuchu: software
hydrodynamika z falami uderzeniowymi: PPM + HLLE + CMA układ współrzędnych: sferyczny 450x56x120 ' 3 × 106 komórek reakcje termojądrowe, 18 nuklidów NSE + Bader-Deulhard ODE neutrina : „żarówka”; źródło umieszczone w centrum siatki
gwiazda neutronowa w centrum, uwzględniana akrecja i zmiany pędu (siatka współporuszająca się)
grawitacja: TOV + poison3d (prace w toku)
ewolucja w czasie: Strang splitting (XYZ–ZYX), explicit, 2 rzędu
Symulacja wybuchu: wydajność
kod napisany jest w FORTAN-ie; rozwijany od kilkunastu lat równoleglizacja kodu oparta o wektoryzację i OpenMP (pod architekturę NUMA)
software żyje wielokrotnie dłużej niż hardware (!)
maksymalną wydajność uzyskujemy korzystając w wektoryzacji SSE4.1 + OpenMP + przypisanie wątków na stałe do CPU i obszarów pamięci
wektoryzacja: ifort z opcją -xSSE41 (lub -xhost przy kompilacj na complex-ach)
OpenMP: dyrektywy, kolapsowanie pętli
CPU/Memory affinity: zmienne środowiskowe (KMP AFFINITY), kontrola przez software (numactl), system operacyjny (/proc/cpuset) (???) → tuning w toku: R. Marcinek&użytkownicy Deszna
Symulacja wybuchu: czas obliczeń
15 Sep 1 Oct 15 Oct 1 Nov 15 Nov Now
0.0 0.5 1.0 1.5 2.0
t@secD
Zagadnienia powiązane z wizualizacją danych 3D
superkomputer często jest określany jako urządzenie zamieniające problem czasu obliczeniowego na problem I/O
symulacje supernowych na Desznie nie są wyjątkiem: każdy model produkuje gigntyczną ilość danych (w tym momencie najbardziej zaawansowana czasowo symulacja r2 zajmuje 1.2 TB, zakończona r3 1.8 TB)
symulacje w znacznie większej rozdzielczości są możliwe, ale nie zmieszczą się na dyskach (zakup dodatkowych macierzy dyskowych jest w toku); czas obliczeń także rośnie
jedynym komputerem który bez problemu radzi sobie z wizualizacją jest samo Deszno (ale bez interaktywności)
używany software to VisIt (https://wci.llnl.gov/codes/visit/) interaktywność, transformacje 3D w czasie rzeczywistym, animacje i rendering stereo są niezbędne aby zrozumieć uzyskane wyniki
Wizualizacja wyników: wybrane przykłady
Wizualizacja wyników: wybrane
przykłady
Podsumowanie
kilkanaście różnych modeli 3D w różnych fazach zostało obliczonych częsćiowo na Desznie
udało się uzyskać dwa kompletne modele; jeden jest już
przetransferowany do dalszej obróbki oraz jako model początkowy do dalszych obliczeń
trwają (znacznie dłuższe) obliczenia dla modeli w wyższej rozdzielczości kątowej
w kolejce czekają obliczenia z grawitacją 3D
w dłuższej perspektywie planowane są: wymiana modelu
początkowego gwiazdy, samodzielnie obliczany kolaps, uwzględnienie rotacji
najnowsze obserwacje pozostałości po SN1979C (typ II) pokazały istnienie czarnej dziury o masie 8 M powstałej w wyniku kolapsu gwiazdy o masie 20 M; wynik ten stanowi wyzwanie dla modeli 3D
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Wzrost zaburzeń: entropia S /k = 10
Entropia: różne sposoby wizualizacji
Entropia: różne sposoby wizualizacji
Entropia: różne sposoby wizualizacji
Entropia: różne sposoby wizualizacji
Entropia: różne sposoby wizualizacji
Entropia: różne sposoby wizualizacji
Entropia: różne sposoby wizualizacji