El código de Equilibrio Químico con Aplicaciones (CEA) de la NASA - el caballo de batalla computacional que ha estado calculando el rendimiento de cohetes, ondas de choque y detonaciones desde antes de que la mayoría de sus usuarios actuales nacieran - finalmente ha recibido una modernización largamente esperada. El Centro de Ingeniería y Seguridad (NESC) de la agencia ha guiado el código legado CEA2 en Fortran hacia CEA v3, un paquete de software orientado a objetos en Fortran 2008 que ahora habla fluidamente Python, C, MATLAB e incluso Excel, porque nada dice 'ciencia de cohetes' como una interfaz de hoja de cálculo.

CEA2, lanzado en 2002, ha sido la herramienta de referencia para el análisis de propulsión y termoquímica, pero su implementación original en Fortran procedural aparentemente era tan divertida de mantener como un código de 20 años sin interfaz de subrutina suena. La falta de una interfaz adecuada hizo cada vez más difícil extenderlo e integrarlo en flujos de trabajo de ingeniería modernos, que ahora exigen barridos paramétricos automatizados, integración con otras herramientas de modelado y soporte para propulsores emergentes como propulsores verdes y combustibles de aviación sostenibles. Así que la NASA decidió arrastrarlo a la era moderna mientras preservaba su fundamento técnico validado.

CEA v3 está construido sobre estructuras de datos orientadas a objetos, tipado más estricto y una arquitectura de solucionador de equilibrio segura para subprocesos. Soporta interfaces Fortran, C, Python, MATLAB y Excel, permitiendo que la herramienta se conecte directamente a tuberías de análisis automatizadas, marcos de diseño multidisciplinario y estudios de diseño de experimentos de alto volumen. Y para los nostálgicos, la compatibilidad hacia atrás se mantiene a través de una interfaz de línea de comandos legada, por lo que los archivos de entrada y flujos de trabajo existentes pueden continuar con una interrupción mínima - porque nada dice 'progreso' como mantener la vieja línea de comandos.

La base de datos termodinámica también se ha expandido para incluir propulsores y combustibles adicionales relevantes para las aplicaciones actuales de la NASA, incluyendo constituyentes de propulsores verdes como ADN, HAN y LMP-103S, así como candidatos a combustibles de aviación sostenibles como n-Butanol. Esto significa que CEA v3 ahora puede ayudarte a descubrir cómo quemar cosas que son mejores para el planeta, o al menos menos horribles.

Ahora, la letra pequeña: los cálculos de equilibrio individuales en CEA v3 son moderadamente más lentos que sus contrapartes CEA2, porque la arquitectura modernizada y la robustez añadida conllevan cierta sobrecarga computacional. En pruebas representativas, un solo cálculo fue aproximadamente un 40 por ciento más lento, pero la diferencia absoluta fue solo de aproximadamente 0.004 segundos por caso - así que quizás ni lo notes a menos que lo estés cronometrando con un cronómetro y un rencor.

Pero aquí es donde la modernización realmente da sus frutos: para flujos de trabajo de múltiples casos, que son comunes en estudios de diseño de experimentos, barridos paramétricos, optimización y análisis de incertidumbre, CEA v3 es un cambio de juego. En un punto de referencia, un barrido de 108,500 casos se completó en aproximadamente 1.11 segundos con CEA v3, en comparación con aproximadamente 15 minutos usando CEA2. Eso es una reducción de aproximadamente 800 veces en el tiempo de ejecución para ese flujo de trabajo. Sí, leíste correctamente: 800 veces más rápido. Los estudios de compensación de propulsión a gran escala y la exploración automatizada del espacio de diseño se han vuelto mucho más prácticos, y el ventilador de tu computadora te lo agradecerá.

Los usuarios de ingeniería de la NASA deben considerar la siguiente guía: abraza el futuro, pero mantén tus archivos de entrada legados a mano. Y si tienes preguntas, contacta a Mark K. Leader en el Centro de Investigación Glenn, mark.leader@nasa.gov, porque claramente no tiene nada mejor que hacer que responder tus correos sobre los nuevos enlaces de Python de un código de 20 años.