Kod NASA Chemical Equilibrium with Applications (CEA) – komputerowy koń roboczy, który oblicza osiągi rakiet, fale uderzeniowe i detonacje, odkąd większość obecnych użytkowników nie miała jeszcze pieluchy – wreszcie doczekał się długo oczekiwanej modernizacji. Centrum Inżynierii i Bezpieczeństwa (NESC) przeprowadziło dziedziczny kod CEA2 w Fortranie do CEA v3, pakietu oprogramowania w Fortranie 2008, zorientowanego obiektowo, który teraz płynnie mówi w Pythonie, C, MATLAB-ie, a nawet w Excelu, bo nic tak nie mówi „nauka rakietowa” jak interfejs arkusza kalkulacyjnego.

CEA2, wydany w 2002 roku, był narzędziem pierwszego wyboru do analizy napędów i termochemii, ale jego pierwotna proceduralna implementacja w Fortranie była najwyraźniej tak samo przyjemna w utrzymaniu, jak brzmi 20-letni kod bez interfejsu podprogramów. Brak odpowiedniego interfejsu utrudniał jego rozbudowę i integrację z nowoczesnymi procesami inżynierskimi, które obecnie wymagają zautomatyzowanych przeszukiwań parametrycznych, integracji z innymi narzędziami do modelowania oraz wsparcia dla nowych paliw, takich jak zielone propelenty i zrównoważone paliwa lotnicze. Więc NASA postanowiła wciągnąć go w nowoczesność, zachowując jego walidowaną podstawę techniczną.

CEA v3 jest zbudowany na obiektowych strukturach danych, ściślejszej typizacji i architekturze solvera równowagi odpornej na równoległość. Obsługuje interfejsy Fortran, C, Python, MATLAB i Excel, co pozwala na bezpośrednie podłączenie narzędzia do zautomatyzowanych potoków analitycznych, wielodyscyplinarnych ram projektowych i badań o dużej liczbie eksperymentów. A dla nostalgików zachowano wsteczną kompatybilność przez dziedziczny interfejs wiersza poleceń, więc istniejące pliki wejściowe i procesy mogą być kontynuowane z minimalnymi zakłóceniami – bo nic tak nie mówi „postęp” jak trzymanie starego wiersza poleceń.

Baza danych termodynamicznych została również rozszerzona o dodatkowe propelenty i paliwa istotne dla obecnych zastosowań NASA, w tym składniki zielonych propelentów, takie jak ADN, HAN i LMP-103S, a także kandydatów na zrównoważone paliwa lotnicze, jak n-butanol. Oznacza to, że CEA v3 może teraz pomóc ci dowiedzieć się, jak spalać rzeczy, które są lepsze dla planety, a przynajmniej mniej okropne.

A teraz drobny druk: pojedyncze obliczenia równowagi w CEA v3 są umiarkowanie wolniejsze niż w CEA2, ponieważ nowoczesna architektura i dodana solidność niosą ze sobą pewien narzut obliczeniowy. W reprezentatywnych testach pojedyncze obliczenie było około 40 procent wolniejsze, ale bezwzględna różnica wynosiła tylko około 0,004 sekundy na przypadek – więc możesz nawet nie zauważyć, chyba że mierzysz czas stoperem i z urazą.

Ale tutaj modernizacja naprawdę się opłaca: w przypadku procesów wieloprzypadkowych, które są powszechne w badaniach eksperymentalnych, przeszukiwaniach parametrycznych, optymalizacji i analizach niepewności, CEA v3 to przełom. W jednym benchmarku przeszukiwanie 108 500 przypadków zajęło około 1,11 sekundy w CEA v3, w porównaniu z około 15 minutami w CEA2. To około 800-krotne skrócenie czasu wykonania tego procesu. Tak, dobrze przeczytałeś: 800 razy szybciej. Zakrojone na szeroką skalę badania handlowe napędów i automatyczna eksploracja przestrzeni projektowej stały się znacznie bardziej praktyczne, a twój wentylator w komputerze ci podziękuje.

Użytkownicy inżynierowie NASA powinni wziąć pod uwagę następujące wskazówki: przyjmij przyszłość, ale trzymaj swoje dziedziczne pliki wejściowe pod ręką. A jeśli masz pytania, skontaktuj się z Markiem K. Leaderem w Glenn Research Center, mark.leader@nasa.gov, bo najwyraźniej nie ma nic lepszego do roboty niż odpowiadanie na twoje e-maile o nowych wiązaniach Pythona w 20-letnim kodzie.