Transport
Neutrony reagują w detektorze; odrzuty, cząstki alfa i fragmenty rozszczepienia są śledzone krok po kroku, a każdy elektron jonizacji zostaje zapisany w miejscu powstania.
Geant4 Linked Electron–Ion Plasma, Neutron Interaction & Response
GLEIPNIR symuluje to, co dzieje się wewnątrz gazowego detektora napromienianego neutronami: od pierwszego neutronu, przez każdy elektron jonizacji, aż po impuls na elektrodzie odczytowej. BIFROST pozwala oglądać to na żywo w przeglądarce.
Potok obliczeń
Każdy etap przekazuje następnemu ściśle określony produkt danych. Jeden plik JSON opisuje geometrię, materiały, źródło, fizykę i parametry numeryczne dla wszystkich etapów, a każdy z nich domyka własny bilans energii lub ładunku.
Neutrony reagują w detektorze; odrzuty, cząstki alfa i fragmenty rozszczepienia są śledzone krok po kroku, a każdy elektron jonizacji zostaje zapisany w miejscu powstania.
Jonizacja staje się gęstością ładunku na siatce (metoda cloud-in-cell); równanie Poissona daje potencjał polaryzacji i ładunku przestrzennego na dopasowanej siatce pierścieniowej.
Każdy elektron traci energię w gazie (zderzenia sprężyste, wzbudzenia, jonizacja, przyłączenie, transfer Penninga), aż ulegnie termalizacji, ucieknie lub zostanie przyłączony.
Opcjonalna rekombinacja, stosowana jako łańcuch przeżycia w kolejności skal czasowych: geminalna, kolumnowa, a na końcu objętościowa. Wyłączona niczego nie zmienia.
Ruch nośników indukuje prąd na elektrodzie odczytowej; wyidealizowany tor elektroniki zamienia go w przebiegi i parametry impulsów.
Dołączone są trzy przykładowe detektory: skrzynka z gazem, komora jonizacyjna i komora rozszczepieniowa, a każdy przebieg jest deterministyczny przy ustalonym ziarnie losowania.
Silnik elektronowy
Non-equilibrium Ionization & Degradation of High-energy electrons in Gaseous Geometries
Etap 3 GLEIPNIR, a zarazem kompletny kod sam w sobie. Daj mu elektrony z położeniami, czasami i energiami wewnątrz objętości gazu, a prześledzi każdy z nich i każdy elektron, który wybiją, aż każdy ulegnie termalizacji, ucieknie albo zostanie wychwycony.
„Coś zjada moje elektrony”.
Tak zaczęła się ta nazwa. Ładunek zrodzony w gazie ginął, zanim dotarł do elektrody: wychwycony, zrekombinowany, przepadł. A gdy wreszcie narysowano tory elektronów, okazało się, że one nie lecą. One pełzną: tysiące krótkich lotów przerywanych zderzeniami, wijących się w gazie jak wąż. W mitologii nordyckiej wąż, który w ciemności podgryza korzenie drzewa świata, to Níðhöggr. Nazwa pasowała.
Kody rojowe (Magboltz)
NIDHOGG
Próbkowany w czasie przez całą degradację, co jest nieobciążone, bo loty null-collision kończą się równomiernie w czasie. Dołączone demo: 60 elektronów o energii 1–200 eV w P-10 przy 200 V/cm, policzone z oboma zestawami przekrojów czynnych.
Energia oddana gazowi według kanału, dla tego samego demo z każdym zestawem przekrojów czynnych. Progi jonizacji zabierają ponad połowę, niskie poziomy oscylacyjne metanu mniej więcej od jednej szóstej do jednej piątej.
Dlaczego degradacja elektronów jest kosztowna: wolne elektrony odbijają się sprężyście raz za razem, tracąc za każdym razem drobny ułamek energii, a jonizacje są rzadkie. Skala logarytmiczna.
Te same elektrony, to samo ziarno, dwa zestawy przekrojów czynnych.
NIDHOGG ma własny wiersz poleceń i nie wie nic o GLEIPNIR: na wejściu gaz i lista elektronów, na wyjściu wyniki. Zasilić go może cokolwiek: Geant4, inny kod transportowy albo plik napisany ręcznie. Może się przydać:
Wejście
Wyjście
Wyniki
Komora współosiowa z warstwą U₃O₈ o grubości 2 µm (90 % ²³⁵U) na anodzie o średnicy 3 mm pod napięciem +300 V, P-10 do r = 25 mm i wiązka neutronów termicznych. 10 000 neutronów, ziarno 12345. Każda liczba poniżej pochodzi z zapisanego przebiegu projektu.
Odchylenie każdej symulowanej wielkości od wartości referencyjnej na tle przyjętego pasma tolerancji. Tolerancje ustala się przed porównaniem i nigdy nie poszerza ich później. Wszystkich osiem mieści się w swoim paśmie. To benchmarking i weryfikacja, a nie walidacja (zob. Weryfikacja).
Ładunek indukowany dla każdego zdarzenia rozszczepienia, bez rekombinacji i z rekombinacją (EIR). Rekombinacja kolumnowa usuwa większą część większych impulsów.
Zdarzenie referencyjne 1714: 101,6 MeV zdeponowane w gazie. Pary jonów docierające do etapu sygnału, podzielone na te usunięte przez rekombinację i te, które przetrwały.
Rozszczepienie HP w Geant4 z jonami fragmentów według wydajności z G4NDL.
22 mm P-10 zatrzymuje fragment, więc liczba par zależy od całej energii fragmentu.
P-10, 152 V/cm, 760 Torr, 20 °C: plateau prędkości dryfu.
Wizualizator
Bridged Interactive Framework for Rendering, Observation & Simulation Telemetry
Dwukierunkowy wizualizator działający w przeglądarce. Pokazuje symulację w trakcie jej trwania, w 3D i na wykresach na żywo, a do tego odpowiada: który przypadek uruchomić, z jakimi ustawieniami i kiedy wystartować, wstrzymać, wznowić lub przerwać. Zakończony przebieg odtwarza się tak samo.
Na żywo w trakcie przebiegu albo odtworzone z zakończonego przebiegu.
Zanim cokolwiek ruszy, Draw fields w kilka sekund rozwiązuje pole polaryzacji wybranego przypadku i maluje potencjał na płaszczyznach przekroju komory: dwóch osiowych półpłaszczyznach i dysku w płaszczyźnie środkowej, na tle półprzezroczystej anody, powłoki U₃O₈, gazu roboczego i obudowy. Tu przypadek fc-600V, od 0 do 600 V.
Po przebiegu Draw tracks pokazuje, co wydarzyło się w gazie: wszystkie 3632 ciężkie ślady naładowane, z fragmentami rozszczepienia wylatującymi z pokrytej anody, oraz równomierną próbkę 50 000 z 847 717 elektronów wtórnych w miejscach ich narodzin. Ten sam przebieg fc-600V, 10 000 neutronów.
GLEIPNIR agreguje swoje wirtualne detektory w trakcie przebiegu, a BIFROST rysuje je na żywo w zakładce Detectors. Dla tego przebiegu fc-600V z 10 000 neutronów: 1492 MeV zdeponowane, 126 zdarzeń z depozytem, 37 rozszczepień wywołanych neutronami; dalej widma energii na zdarzenie i amplitud impulsów, energia według objętości i cząstki, oddziaływania neutronów według procesu, ciężkie ślady według klasy, energia i promień narodzin elektronów, historia przebiegu oraz długość ciężkiego śladu względem energii. Każdy wykres opisuje jedno zdanie. Przewiń wewnątrz ramki, aby zobaczyć wszystkie piętnaście.
Wykresy
Narysowane przez analizę projektu z zapisanego przebiegu i pokazane w motywie strony (opisy na wykresach są po angielsku). Kliknij wykres, aby go powiększyć.
Uczciwie z założenia
Testowanie, weryfikacja, benchmarking i walidacja odpowiadają na różne pytania. Repozytorium używa każdego z tych słów ściśle, oznacza nim każde twierdzenie i otwarcie podaje swoje luki.
Czy kod robi to, co zamierzył autor?
~380 testów jednostkowych, integracyjnych, porównań z wynikami wzorcowymi i testów determinizmu we wszystkich pakietach.
Czy równania są rozwiązywane poprawnie?
Bilans energii domknięty z dokładnością < 10⁻⁹, domknięcie Ramo, ścisła księgowość EIR, analityczne prawa pola.
Czy zgadza się z innymi kodami i opublikowanymi liczbami?
Wartość W, prędkość dryfu, TKE rozszczepienia i szczyty mas, pary jonów na fragment.
Czy zgadza się z niezależnymi pomiarami eksperymentalnymi?
Wymaga danych eksperymentalnych poziomu 1; każdy rekord zbioru A ma dziś poziom 2.
GLEIPNIR nie ma obecnie żadnego zwalidowanego komponentu. Wartość W dla P-10, oceniona względem zbioru opublikowanych wartości według ISO 13528, leży tuż poza pasmem: Eₙ = −1,24. Projekt mówi o tym otwarcie, zamiast poszerzać tolerancję, żeby to ukryć: to praca w toku i pierwsza rzecz, którą poprawiamy.
Kierunki
GLEIPNIR zaprojektowano jako ogólny model odpowiedzi objętości gazu pod napromienieniem. Jak dotąd od początku do końca przeprowadzono jedną konfigurację. Oto odległość między jednym a drugim i plan, jak ją pokonać.
Ogólnym modelem odpowiedzi dowolnej objętości gazu pod napromienieniem: komór rozszczepieniowych, komór jonizacyjnych, tarcz gazowych, komórek gazowych pompowanych wiązką. Nic o detektorze nie jest wkompilowane. Komora to plik konfiguracyjny, a każdy etap po Geant4 czyta położenia, czasy i energie, nigdy to, co je wytworzyło.
Z kodem dostarczane są trzy przykładowe konfiguracje. Jedna z nich, komora rozszczepieniowa opisana wyżej, przeszła przez wszystkie etapy, z wynikami zapisanymi i porównanymi z literaturą. Dwie pozostałe przechodzą przez pierwsze etapy. Wszystko inne, na co pozwala projekt, to na razie teren niezbadany.
Według dostarczanych konfiguracji i zapisanych wyników. Stan jest wypisany w każdej komórce słowami, a nie tylko kolorem.
| konfiguracja | Transport | Ładunek przestrzenny | NIDHOGG | EIR | Sygnał | Benchmarki |
|---|---|---|---|---|---|---|
| Skrzynka z gazemsześcian P-10, 10 cm · neutrony 2,45 MeV | działa | działa | działa | jeszcze nie | jeszcze nie | jeszcze nie |
| Komora jonizacyjnapowietrze · płaskorównoległa, 30 mm · 300 V | działa | działa | jeszcze nie | jeszcze nie | jeszcze nie | jeszcze nie |
| Komora rozszczepieniowawspółosiowa, P-10 · U₃O₈ · neutrony termiczne | zapisane wyniki | zapisane wyniki | zapisane wyniki | zapisane wyniki | zapisane wyniki | zapisane wyniki |
En według ISO 13528 porównuje wartość z konsensusem danych referencyjnych przy niepewnościach rozszerzonych (k = 2); |En| ≤ 1 oznacza zaliczenie. Trzy przechodzą. Wartość W, czyli własna fizyka gazowa NIDHOGG, leży tuż poza pasmem, przy En = −1,24, o 6 % za nisko: to praca w toku i nasz najwyraźniejszy obszar do poprawy, opisany niżej. A ponieważ każdy rekord referencyjny ma wciąż poziom 2, nawet zaliczenie to benchmarking, a nie walidacja.
Wszystko, co dotąd sprawdzono, mieści się w tych sześciu wierszach. Duże strumienie, tryb prądowy, inne gazy, pola magnetyczne, szczeliny poniżej milimetra i bardzo duże moce dawki leżą poza nią.
Każdy impuls zaczyna się od jednego dzielenia: pary jonów = zdeponowana energia ÷ W. Test Eₙ powyżej pokazuje, gdzie to dzielenie może być lepsze, a liczby poniżej pokazują, że poprawa jest w zasięgu ręki.
NIDHOGG daje 24,64 eV na parę jonów w P-10, o 6 % mniej niż konsensus danych referencyjnych 26,21 eV, więc dziś liczy o około 6 % za dużo par na MeV. Główną dźwignią jest jedna, dobrze rozumiana liczba: prawdopodobieństwo transferu Penninga, ustawione obecnie na środkową wartość z literatury. Dopasowanie jej do pierwotnych pomiarów W wymaga danych, a nie nowego kodu.
To, ile energii fragment rozszczepienia zostawia w gazie i jak daleko dociera, wyznacza jego zdolność hamowania. Geant4 nie zawiera stablicowanej zdolności hamowania fragmentu rozszczepienia w żadnym gazie, więc dziś te straty energii są ekstrapolacją z lżejszych jonów.
Pracujemy nad własnym modelem hamowania fragmentów rozszczepienia w gazie.
Zapisane zdarzenie referencyjne (101,6 MeV w gazie), przeskalowane wzorem N = E/W do konsensusowego W. To przeskalowanie, a nie nowy przebieg; zakładamy, że impuls skaluje się z liczbą par.
Pierwszy krok ma spisany plan. Kolejność dalszych to odczytanie backlogu, planu walidacji i notatki o FLASH, posortowane według tego, co każdy krok odblokowuje.
Zdolność hamowania fragmentu rozszczepienia decyduje, ile energii zostawia on w gazie i jak daleko dociera, a więc, po podzieleniu przez W, od ilu par jonów zaczyna się każdy impuls. Geant4 nie zawiera stablicowanej zdolności hamowania fragmentu rozszczepienia w żadnym gazie, a dzisiejsze straty energii to ekstrapolacja z lżejszych jonów. Budujemy własny model, który ją zastąpi.
Dziś źródło jest na sztywno ustawione na neutrony. Wymienne źródło doda wiązki elektronów i jonów ze strukturą czasową impulsu, wybierane w konfiguracji. Potem jeden gaz, jedna geometria, jedno ziarno, dwa przebiegi różniące się tylko źródłem: fragmenty rozszczepienia i szybka wiązka elektronów deponują tę samą energię przy zupełnie innej strukturze śladu, a różnica staje się pomiarem.
Powinno się zgadzać
Powinno się różnić
Wiązkę elektronów przez okienko z folii ma zwykłe laboratorium; reaktora nie ma. Najpierw bramka: ścieżka neutronowa nie może przesunąć się ani o jedną cyfrę.
Każde wskazuje obserwablę, pomiar do zdobycia i to, czego potrzebowałby kod. Żadne nie jest ogłaszane jako zrobione.
| obserwabla | wymaga | |
|---|---|---|
| V1 | wartość W dla P-10 dla szybkich elektronów, z pomiarów pierwotnych | tylko dane |
| V2 | prędkość dryfu w funkcji E/p, jako krzywa | tylko dane |
| V3 | EEDF, średnia energia i dyfuzja poprzeczna przy dopasowanym E/N | tylko dane |
| V4 | wydajność jonizacji fragmentów rozszczepienia: defekt amplitudy impulsu | zmiana w kodzie |
| V5 | zebrany ładunek i widmo amplitud opublikowanej komory | dopasowana konfiguracja |
| V6 | wydajność zbierania w funkcji pola: krzywe nasycenia | zmiana w kodzie |
| V7 | straty energii i zasięg fragmentów w argonie | tylko dane |
V1–V3 wymagają tylko plików z danymi i dałyby pierwszą uczciwą etykietę „zwalidowane”, dla fizyki rojowej etapu 3. V4 i V6 to miejsca, gdzie fizyka jest naprawdę niepewna i gdzie walidacja najbardziej przesunęłaby wyniki.
Radioterapia FLASH podaje dawkę z bardzo dużą mocą, w pojedynczych mikrosekundowych impulsach sięgających kilku grejów, tam gdzie konwencjonalne wiązki dają około miligreja. Przy takiej dawce na impuls wypełnione powietrzem komory jonizacyjne dozymetrii klinicznej tracą ładunek na rekombinację, zanim zostanie zebrany, a poprawka Boaga, na której opierają się protokoły, przestaje być dokładna.
Dla GLEIPNIR to otwarcie. Wydajność zbierania w funkcji dawki na impuls jest publikowana dla standardowych komór komercyjnych przez kilka grup: dokładnie ta niezależna obserwabla eksperymentalna, której projektowi brakuje. Większość łańcucha ma już właściwy kształt: konfigurację komory powietrznej, model Boaga w EIR, rozwiązanie pola MFEM i zbieranie ładunku. Na drodze stoi sześć rzeczy:
W modelu Boaga parametr rekombinacji rośnie z kwadratem odstępu elektrod, u ∝ d². W porównaniu z komorą Advanced Markus o szczelinie 1 mm dostarczana konfiguracja 30 mm ma 900 razy większe u.
Główna linia rysuje geometrię oraz zapisuje i odtwarza sesje. Gałęzie rozwojowe idą znacznie dalej:
Jego pętle obliczeniowe przechodzą jedna po drugiej do natywnego silnika, każda za bramką zgodności bit w bit; pierwsza już przeszła. Cały silnik przejdzie dopiero, gdy przejdą wszystkie pętle.
option3 i option4 wobec domyślnego: zmiana wyłącznie w konfiguracji i najtańsze dostępne porównanie z innym kodem.
CATIMA, niezależny kod hamowania ciężkich jonów, do przetestowania naszego modelu hamowania, zanim zastąpi dzisiejszą ekstrapolację.