OpenMDAO

Last updated
OpenMDAO
OpenMDAO logo.png
Developer(s) NASA Glenn Research Center
Stable release
3.8.0
Operating system Cross-platform
Type Technical computing
License Apache License 2.0
Website openmdao.org

OpenMDAO is an open-source high-performance computing platform for systems analysis and multidisciplinary optimization written in the Python programming language.

Contents

The OpenMDAO project is primarily focused on supporting gradient based optimization with analytic derivatives to allow you to explore large design spaces with hundreds or thousands of design variables, but the framework also has a number of parallel computing features that can work with gradient-free optimization, mixed-integer nonlinear programming, and traditional design space exploration.

The OpenMDAO framework is designed to aid in linking together separate pieces of software for the purpose of combined analyses. It allows users to combine analysis tools (or design codes) from multiple disciplines, at multiple levels of fidelity, and to manage the interaction between them. OpenMDAO is specifically designed to manage the dataflow (the actual data) and the workflow (what code is run when) in conjunction with optimization algorithms and other advanced solution techniques. [1]

The development of OpenMDAO is led out of the NASA Glenn Research Center.

Features

Applications

NASA’s motivation in supporting the OpenMDAO project stems from the demands of unconventional aircraft concepts like Turbo-Electric distributed propulsion. Although NASA’s focus is on analyzing aerospace applications, the framework itself is general and is not specific to any discipline.

Framework structure

OpenMDAO is designed to separate the flow of information (dataflow) from the process in which analyses are executed (workflow). It does that by using four specific constructs: Component, Assembly, Driver, and Workflow.

The construction of system models begins with wrapping (or writing from scratch) various analysis codes as Components. A group of components is linked together inside an Assembly, specifying the dataflow between them. Once the dataflow is in place, one can select specific Drivers (optimizers, solvers, design of experiments, etc.) and set up a Workflow to determine exactly how the problem should be solved.

OpenMDAO also includes a web-browser-based graphical user interface (GUI) for visual construction, execution, and optimization of models.

See also

Notes

  1. J. S. Gray, J. T. Hwang, J. R. R. A. Martins, K. T. Moore, and B. A. Naylor. OpenMDAO: An open- source framework for multidisciplinary design, analysis, and optimization. Structural and Multidisciplinary Optimization, 2019. doi:10.1007/s00158-019-02211-z.

Related Research Articles

Visual programming language

In computing, a visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

LabVIEW

Laboratory Virtual Instrument Engineering Workbench (LabVIEW) is a system-design platform and development environment for a visual programming language from National Instruments.

Multi-disciplinary design optimization (MDO) is a field of engineering that uses optimization methods to solve design problems incorporating a number of disciplines. It is also known as multidisciplinary system design optimization (MSDO).

NASTRAN is a finite element analysis (FEA) program that was originally developed for NASA in the late 1960s under United States government funding for the aerospace industry. The MacNeal-Schwendler Corporation (MSC) was one of the principal and original developers of the publicly available NASTRAN code. NASTRAN source code is integrated in a number of different software packages, which are distributed by a range of companies.

The Earth System Modeling Framework (ESMF) is open-source software for building climate, numerical weather prediction, data assimilation, and other Earth science software applications. These applications are computationally demanding and usually run on supercomputers. The ESMF is considered a technical layer, integrated into a sophisticated common modeling infrastructure for interoperability. Other aspects of interoperability and shared infrastructure include: common experimental protocols, common analytic methods, common documentation standards for data and data provenance, shared workflow, and shared model components.

VE-Suite is an open source based virtual engineering software toolkit that simplifies information management so users can simultaneously interact with engineering analyses and graphical models to create a virtual decision-making environment. It is available under the GNU Lesser General Public License (LGPL) and is composed of four main software engines:

ADMB

ADMB or AD Model Builder is a free and open source software suite for non-linear statistical modeling. It was created by David Fournier and now being developed by the ADMB Project, a creation of the non-profit ADMB Foundation. The "AD" in AD Model Builder refers to the automatic differentiation capabilities that come from the AUTODIF Library, a C++ language extension also created by David Fournier, which implements reverse mode automatic differentiation. A related software package, ADMB-RE, provides additional support for modeling random effects.

MADNESS is a high-level software environment for the solution of integral and differential equations in many dimensions using adaptive and fast harmonic analysis methods with guaranteed precision based on multiresolution analysis and separated representations .

ModelCenter, developed by Phoenix Integration, Inc., is a software package that aids in the design and optimization of systems. It enables users to conduct trade studies, as well as optimize designs. It interfaces with other popular modeling tools, including Systems Tool Kit, PTC Integrity Modeler, IBM Rhapsody, No Magic, Matlab, Nastran, Microsoft Excel, and Wolfram SystemModeler. ModelCenter also has tools to enable collaboration among design team members.

Kimeme is an open platform for multi-objective optimization and multidisciplinary design optimization. It is intended to be coupled with external numerical software such as computer-aided design (CAD), finite element analysis (FEM), structural analysis and computational fluid dynamics tools. It was developed by Cyber Dyne Srl and provides both a design environment for problem definition and analysis and a software network infrastructure to distribute the computational load.

Pipeline Pilot is a desktop software program sold by Dassault Systèmes for processing and analyzing data. Originally used in the natural sciences, the product's basic ETL and analytics capabilities have been broadened. The product is now used for data science, ETL, reporting, prediction and analytics in a number of sectors. The main feature of the product is the ability to design data workflows using a graphical user interface. The program is an example of visual and dataflow programming. It has use in a variety of settings, such as cheminformatics and QSAR, Next Generation Sequencing, image analysis, and text analytics.

SmartDO is a multidisciplinary design optimization software, based on the Direct Global Search technology developed and marketed by FEA-Opt Technology. SmartDO specialized in the CAE-Based optimization, such as CAE, FEA, CAD, CFD and automatic control, with application on various physics phenomena. It is both GUI and scripting driven, allowed to be integrated with almost any kind of CAD/CAE and in-house codes.

pSeven

pSeven is a design space exploration software platform developed by DATADVANCE, extending design, simulation and analysis capabilities and assisting in smarter and faster design decisions. It provides a seamless integration with third party CAD and CAE software tools, powerful multi-objective and robust optimization algorithms, data analysis and uncertainty quantification tools.

The Collective Knowledge (CK) project is an open-source framework and repository to enable collaborative, reproducible and sustainable research and development of complex computational systems. CK is a small, portable, customizable and decentralized infrastructure helping researchers and practitioners: