Dakota vs OpenMDAO
Dakota
dakota.sandia.govOpenMDAO
openmdao.orgSide by side
| Figure | Dakota | OpenMDAO |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Generative Design Software | 7.9 (#7) | 7.6 (#10) |
| Intended users | The project describes its use for engineering analysts exploring designs and assessing confidence in computational predictions. | The project describes applications including cubesat design and mission planning, wind turbine design, and unconventional aircraft concepts. |
| License | Dakota versions 5.0 and newer are available under the GNU Lesser General Public License. | OpenMDAO is released under the Apache 2.0 license, which the project says permits proprietary software to be integrated without making it open source. |
| Parallel computing | Dakota lists MPI as a utility for parallel distributed-memory communication. | MPI features can run parallel subsystems and distributed variables across multiple processes. |
| Purpose | Dakota provides software for optimization and uncertainty quantification using computational models. | OpenMDAO is an open-source Python framework for systems analysis and multidisciplinary optimization. |
Plans
In their own words
Dakota
Dakota provides software for optimization and uncertainty quantification using computational models. Its methods cover optimization, uncertainty quantification, parameter estimation, and sensitivity or variance analysis. These capabilities can be combined into strategies such as hybrid optimization, surrogate-based optimization and optimization under uncertainty. The C++ toolkit connects simulation codes with iterative systems-analysis methods, and Dakota lists MPI for parallel distributed-memory communication. The project describes engineering analysts using it to explore designs and assess confidence in computational predictions. Prebuilt binaries are available for macOS, Windows and Red Hat Enterprise Linux 7 and 8; other platforms require building from source. Installation instructions also describe an optional PYTHONPATH setup for the dakota.interfacing Python module. Dakota versions 5.0 and newer are available under the GNU Lesser General Public License. Some optional numerical libraries, including DOT, NLPQLP and NPSOL/NLSSOL, require separate commercial licenses. Documentation for releases 6.17 and later is available through the documentation site, with older manuals available for download. User support is directed to GitHub Discussions, and the project offers introductory and methods-focused screencasts.
OpenMDAO
OpenMDAO is a free, open-source Python framework for systems analysis and multidisciplinary optimization, available for Linux and self-hosted use. It focuses on gradient-based optimization with analytic derivatives, including design spaces with hundreds or thousands of variables. Models combine components and groups, while drivers run optimization algorithms or design of experiments. Nonlinear and linear solvers can be positioned at different levels of the model hierarchy. Derivative tools include analytic partial derivatives, finite-difference and complex-step approximations, derivative checking, and forward or reverse total derivative calculations. MPI features support parallel subsystems and distributed variables across processes. Parallel computing can also support gradient-free optimization, mixed-integer nonlinear programming and design space exploration. Users can visualize models and optimization progress, and record or read model and solver cases. Dymos for transient modeling and optimal control, and pyCycle for turbine engine cycle analysis, are identified as related libraries. Installation is documented through PyPI or a cloned GitHub repository. The supported OpenMDAO 3.x line requires Python 3.10 or later; its API may change periodically during active development.