Il codice Chemical Equilibrium with Applications (CEA) della NASA - il cavallo di battaglia computazionale che calcola le prestazioni dei razzi, le onde d'urto e le detonazioni da prima che molti dei suoi attuali utenti nascessero - ha finalmente ricevuto una modernizzazione tanto attesa. Il Centro per l'Ingegneria e la Sicurezza (NESC) dell'agenzia ha guidato il codice legacy CEA2 in Fortran verso CEA v3, un pacchetto software orientato agli oggetti in Fortran 2008 che ora parla fluentemente Python, C, MATLAB e persino Excel, perché nulla dice 'scienza missilistica' come un'interfaccia a foglio di calcolo.

CEA2, rilasciato nel 2002, è stato lo strumento di riferimento per l'analisi di propulsione e termochimica, ma la sua implementazione procedurale originale in Fortran era apparentemente divertente da mantenere quanto un codice di 20 anni senza interfaccia di subroutine. La mancanza di un'interfaccia adeguata rendeva sempre più difficile estenderlo e integrarlo nei moderni flussi di lavoro ingegneristici, che ora richiedono sweep parametrici automatizzati, integrazione con altri strumenti di modellazione e supporto per propellenti emergenti come i propellenti verdi e i carburanti sostenibili per l'aviazione. Così la NASA ha deciso di trascinarlo nell'era moderna preservando la sua base tecnica validata.

CEA v3 è costruito su strutture dati orientate agli oggetti, tipizzazione più rigorosa e un'architettura di risolutore di equilibrio thread-safe. Supporta interfacce Fortran, C, Python, MATLAB ed Excel, consentendo di collegare lo strumento direttamente a pipeline di analisi automatizzate, framework di progettazione multidisciplinare e studi di progettazione di esperimenti ad alto volume. E per i nostalgici, la compatibilità all'indietro è mantenuta attraverso un'interfaccia a riga di comando legacy, così i file di input e i flussi di lavoro esistenti possono essere portati avanti con minima interruzione - perché nulla dice 'progresso' come tenere la vecchia riga di comando.

Anche il database termodinamico è stato ampliato per includere propellenti e carburanti aggiuntivi rilevanti per le attuali applicazioni NASA, inclusi i costituenti di propellenti verdi come ADN, HAN e LMP-103S, oltre a candidati di carburante sostenibile per l'aviazione come n-butanolo. Questo significa che CEA v3 ora può aiutarti a capire come bruciare roba che è migliore per il pianeta, o almeno meno terribile.

Ora, le clausole in piccolo: i calcoli di equilibrio individuali in CEA v3 sono moderatamente più lenti rispetto alle loro controparti CEA2, perché l'architettura modernizzata e la maggiore robustezza comportano un sovraccarico computazionale. Nei test rappresentativi, un singolo calcolo era circa il 40% più lento, ma la differenza assoluta era solo di circa 0,004 secondi per caso - quindi potresti non accorgertene nemmeno, a meno che non lo cronometri con un cronometro e rancore.

Ma è qui che la modernizzazione ripaga davvero: per i flussi di lavoro multi-caso, comuni negli studi di progettazione di esperimenti, sweep parametrici, ottimizzazione e analisi di incertezza, CEA v3 è un punto di svolta. In un benchmark, uno sweep di 108.500 casi è stato completato in circa 1,11 secondi con CEA v3, rispetto ai circa 15 minuti con CEA2. Questa è una riduzione del tempo di esecuzione di circa 800 volte per quel flusso di lavoro. Sì, hai letto bene: 800 volte più veloce. Gli studi di trade-off su larga scala per la propulsione e l'esplorazione automatizzata dello spazio di progettazione sono diventati molto più pratici, e la ventola del tuo computer ti ringrazierà.

Gli utenti ingegneristici della NASA dovrebbero considerare le seguenti indicazioni: abbraccia il futuro, ma tieni a portata di mano i tuoi file di input legacy. E se hai domande, contatta Mark K. Leader al Glenn Research Center, mark.leader@nasa.gov, perché chiaramente non ha niente di meglio da fare che rispondere alle tue email su un codice di 20 anni con nuovi binding Python.