O código de Equilíbrio Químico com Aplicações (CEA) da NASA - o cavalo de batalha computacional que vem calculando desempenho de foguetes, ondas de choque e detonações desde antes da maioria de seus usuários atuais nascer - finalmente recebeu uma modernização há muito esperada. O Centro de Engenharia e Segurança (NESC) da agência conduziu o legado código CEA2 em Fortran para o CEA v3, um pacote de software orientado a objetos em Fortran 2008 que agora fala fluentemente Python, C, MATLAB e até Excel, porque nada diz 'ciência de foguetes' como uma interface de planilha.

O CEA2, lançado em 2002, tem sido a ferramenta preferida para análise de propulsão e termoquímica, mas sua implementação procedural original em Fortran era aparentemente tão divertida de manter quanto um código de 20 anos sem interface de sub-rotina soa. A falta de uma interface adequada tornava cada vez mais difícil estender e integrar em fluxos de trabalho modernos de engenharia, que agora exigem varreduras paramétricas automatizadas, integração com outras ferramentas de modelagem e suporte para propelentes emergentes como propelentes verdes e combustíveis de aviação sustentáveis. Então a NASA decidiu arrastá-lo para a era moderna, preservando sua fundação técnica validada.

O CEA v3 é construído sobre estruturas de dados orientadas a objetos, tipagem mais estrita e uma arquitetura de solucionador de equilíbrio segura para threads. Ele suporta interfaces Fortran, C, Python, MATLAB e Excel, permitindo que a ferramenta seja plugada diretamente em pipelines de análise automatizados, estruturas de design multidisciplinar e estudos de design de experimentos de alto volume. E para os nostálgicos, a compatibilidade reversa é mantida através de uma interface de linha de comando legada, para que arquivos de entrada e fluxos de trabalho existentes possam ser transportados com o mínimo de interrupção - porque nada diz 'progresso' como manter a velha linha de comando por perto.

O banco de dados termodinâmico também foi expandido para incluir propelentes e combustíveis adicionais relevantes para as aplicações atuais da NASA, incluindo constituintes de propelentes verdes como ADN, HAN e LMP-103S, bem como candidatos a combustíveis de aviação sustentáveis como n-Butanol. Isso significa que o CEA v3 agora pode ajudá-lo a descobrir como queimar coisas que são melhores para o planeta, ou pelo menos menos terríveis.

Agora, as letras miúdas: cálculos de equilíbrio individuais no CEA v3 são moderadamente mais lentos que seus equivalentes no CEA2, porque a arquitetura modernizada e a robustez adicionada vêm com alguma sobrecarga computacional. Em testes representativos, um único cálculo foi aproximadamente 40 por cento mais lento, mas a diferença absoluta foi de apenas cerca de 0,004 segundos por caso - então você pode nem notar, a menos que esteja cronometrando com um cronômetro e rancor.

Mas é aqui que a modernização realmente compensa: para fluxos de trabalho de múltiplos casos, que são comuns em estudos de design de experimentos, varreduras paramétricas, otimização e análises de incerteza, o CEA v3 é um divisor de águas. Em um benchmark, uma varredura de 108.500 casos foi concluída em aproximadamente 1,11 segundos com o CEA v3, em comparação com aproximadamente 15 minutos usando o CEA2. Isso é uma redução de aproximadamente 800 vezes no tempo de execução para esse fluxo de trabalho. Sim, você leu corretamente: 800 vezes mais rápido. Estudos de trade-off de propulsão em grande escala e exploração automatizada de espaço de design acabaram de se tornar muito mais práticos, e o ventilador do seu computador agradecerá.

Os usuários de engenharia da NASA devem considerar a seguinte orientação: abrace o futuro, mas mantenha seus arquivos de entrada legados à mão. E se você tiver dúvidas, entre em contato com Mark K. Leader no Glenn Research Center, mark.leader@nasa.gov, porque ele claramente não tem nada melhor para fazer do que responder seus e-mails sobre os novos bindings Python de um código de 20 anos.