Articulo de referencia

OpenMDAO

OpenMDAO es una plataforma de computación de alto rendimiento de código abierto para el análisis de sistemas y la optimización multidisciplinaria, escrita en el lenguaje de prog...

OpenMDAO es una plataforma de computación de alto rendimiento de código abierto para el análisis de sistemas y la optimización multidisciplinaria, escrita en el lenguaje de programación Python .

El proyecto OpenMDAO se centra principalmente en brindar soporte para la optimización basada en gradientes con derivadas analíticas, lo que permite explorar grandes espacios de diseño con cientos o miles de variables de diseño. Sin embargo, el marco también cuenta con una serie de funciones de computación paralela que pueden trabajar con optimización sin gradientes, programación no lineal de enteros mixtos y exploración tradicional del espacio de diseño.

El marco OpenMDAO está diseñado para facilitar la integración de distintos programas informáticos con el fin de realizar análisis combinados. Permite a los usuarios combinar herramientas de análisis (o códigos de diseño) de diversas disciplinas, con distintos niveles de detalle, y gestionar la interacción entre ellas. OpenMDAO está diseñado específicamente para gestionar el flujo de datos (los datos propiamente dichos) y el flujo de trabajo (qué código se ejecuta y cuándo) junto con algoritmos de optimización y otras técnicas de solución avanzadas. [ 1 ]

El desarrollo de OpenMDAO está liderado por el Centro de Investigación Glenn de la NASA .

Características

  • Biblioteca de solucionadores y optimizadores integrados
  • Herramientas para el metamodelado
  • Capacidades de grabación de datos
  • Soporte para derivados analíticos
  • Compatibilidad con clústeres de computadoras de alto rendimiento y computación distribuida.
  • Biblioteca de complementos extensible

Aplicaciones

La motivación de la NASA para apoyar el proyecto OpenMDAO surge de las exigencias de conceptos de aeronaves no convencionales, como la propulsión distribuida turboeléctrica . Si bien la NASA se centra en el análisis de aplicaciones aeroespaciales, el marco en sí es general y no se limita a ninguna disciplina específica.

Estructura del marco

OpenMDAO está diseñado para separar el flujo de información (flujo de datos) del proceso de ejecución de los análisis (flujo de trabajo). Para ello, utiliza cuatro elementos específicos: Componente, Ensamblaje, Controlador y Flujo de trabajo.

La construcción de modelos de sistemas comienza con la agrupación (o la creación desde cero) de diversos códigos de análisis como componentes. Un grupo de componentes se enlaza dentro de un ensamblaje, especificando el flujo de datos entre ellos. Una vez establecido el flujo de datos, se pueden seleccionar controladores específicos (optimizadores, solucionadores, diseño de experimentos, etc.) y configurar un flujo de trabajo para determinar con precisión cómo se debe resolver el problema.

OpenMDAO también incluye una interfaz gráfica de usuario (GUI) basada en un navegador web para la construcción, ejecución y optimización visual de modelos.

Véase también

  • Sitio web oficial

Notas

  1. JS Gray, JT Hwang, JRRA Martins, KT Moore y BA Naylor. OpenMDAO: Un marco de código abierto para el diseño, análisis y optimización multidisciplinarios. Structural and Multidisciplinary Optimization, 2019. doi:10.1007/s00158-019-02211-z.