A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

OpenMDAO

Optimization of Aerodynamic systems.
https://github.com/OpenMDAO/OpenMDAO

Keywords

framework nasa open-source openmdao optimization

Last synced: about 1 year ago
JSON representation

Acceptance Criteria

Repository metadata

OpenMDAO repository.

README.md

GitHub Actions Test Badge
Coveralls Badge
PyPI version
PyPI Monthly Downloads

OpenMDAO

OpenMDAO is an open-source high-performance computing platform for
systems analysis and multidisciplinary optimization, written in Python.
It enables you to decompose your models, making them easier to build and
maintain, while still solving them in a tightly coupled manner with
efficient parallel numerical methods.

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.

If you are using OpenMDAO, please cite us!

Documentation

Documentation for the latest version can be found here.

Documentation archives for prior versions can be found here.

Important Notice

While the API is relatively stable, OpenMDAO remains in active development.
There will be periodic changes to the API.
User's are encouraged to pin their version of OpenMDAO to a recent release and
update periodically.

Install OpenMDAO

You have two options for installing OpenMDAO, (1) from the
Python Package Index (PyPI), and (2) from the GitHub repository.

OpenMDAO includes several optional sets of dependencies including:
test for installing the developer tools (e.g., testing, coverage),
docs for building the documentation and
visualization for some extra visualization tools.
Specifying all will include all of the optional dependencies.

Install from PyPI

This is the easiest way to install OpenMDAO. To install only the runtime
dependencies:

pip install openmdao

To install all the optional dependencies:

pip install openmdao[all]

Install from a Cloned Repository

This allows you to install OpenMDAO from a local copy of the source code.

git clone http://github.com/OpenMDAO/OpenMDAO
pip install OpenMDAO

If you would like to make changes to OpenMDAO it is recommended you
install it in editable mode (i.e., development mode) by adding the -e
flag when calling pip, this way any changes you make to the source code will
be included when you import OpenMDAO in Python. You will also want to
install the packages necessary for running OpenMDAO's tests and documentation
generator. You can install everything needed for development by running:

pip install -e OpenMDAO[all]

OpenMDAO Versions

OpenMDAO 3.x.y represents the current, supported version. It requires Python 3.7
or later and is maintained here. To upgrade to the latest release, run:

pip install --upgrade openmdao

OpenMDAO 2.10.x was the last version to support Python 2.x and is no longer supported.
To install this older release, run:

pip install "openmdao<3"

OpenMDAO 1.7.4 was an earlier version of OpenMDAO and is also no longer supported.
The code repository is now named OpenMDAO1, and has moved here. To install it, run:

pip install "openmdao<2"

The legacy OpenMDAO v0.x (versions 0.13.0 and older) of the
OpenMDAO-Framework are here.

Test OpenMDAO

Users are encouraged to run the unit tests to ensure OpenMDAO is performing
correctly. In order to do so, you must install the testing dependencies.

  1. Install OpenMDAO and its testing dependencies:

    pip install openmdao[test]

    Alternatively, you can clone the repository, as explained
    here, and install the development
    dependencies as described here.

  2. Run tests:

    testflo openmdao -n 1

  3. If everything works correctly, you should see a message stating that there
    were zero failures. If the tests produce failures, you are encouraged to report
    them as an issue. If so, please make sure you include your system spec,
    and include the error message.

    If tests fail, please include your system information, you can obtain
    that by running the following commands in python and copying the results
    produced by the last line.

     import platform, sys
    
     info = platform.uname()
     (info.system, info.version), (info.machine, info.processor), sys.version
    

    Which should produce a result similar to:

     (('Windows', '10.0.17134'),
      ('AMD64', 'Intel64 Family 6 Model 94 Stepping 3, GenuineIntel'),
      '3.6.6 | packaged by conda-forge | (default, Jul 26 2018, 11:48:23) ...')
    

Build the Documentation for OpenMDAO

Documentation for the latest version can always be found here, but if you would like to build a local copy you can find instructions to do so here.


Owner metadata


Committers metadata

Last synced: over 1 year ago

Total Commits: 12,731
Total Committers: 68
Avg Commits per committer: 187.221
Development Distribution Score (DDS): 0.702

Commits in past year: 978
Committers in past year: 15
Avg Commits per committer in past year: 65.2
Development Distribution Score (DDS) in past year: 0.624

Name Email Commits
Bret Naylor n****b@g****m 3796
swryan s****n@g****m 1877
Kenneth-T-Moore k****1@n****v 1474
Danny Kilkenny d****8@g****m 887
Herb Schilling h****g@n****v 868
Tad Kollar t****r@n****v 687
kmarsteller k****r@n****v 686
Rob Falck r****k@n****v 442
Peter ONODI p****i@g****m 359
Justin Gray j****y@g****m 292
Kenneth Moore K****1@g****m 273
John Hwang h****t@u****u 183
Ryan Farr r****1@g****m 182
nsteffen n****n@n****v 151
dwmunster d****r@n****v 130
John Hwang J****n@J****l 62
John Hwang h****t@J****l 29
Ted Wright t****t@n****v 28
Ben Brelje b****e@g****m 26
John Hwang J****n@J****v 25
Santiago Balestrini s****i@g****u 23
John Jasa j****1@g****m 20
Tristan Hearn t****n@n****v 20
Subraiz s****d@g****m 19
Dakror m****l@d****e 18
andrewellis55 a****s@r****a 16
joanibal j****l@u****u 14
Rémi Lafage r****e@o****r 10
Andrew a****s@s****m 10
Brian Tomko n****e 9
and 38 more...

Committer domains:


Issue and Pull Request metadata

Last synced: over 1 year ago

Total issues: 1,138
Total pull requests: 3,344
Average time to close issues: about 1 month
Average time to close pull requests: 3 days
Total issue authors: 93
Total pull request authors: 66
Average comments per issue: 0.65
Average comments per pull request: 0.48
Merged pull request: 3,178
Bot issues: 0
Bot pull requests: 3

Past year issues: 141
Past year pull requests: 175
Past year average time to close issues: 22 days
Past year average time to close pull requests: 5 days
Past year issue authors: 28
Past year pull request authors: 16
Past year average comments per issue: 0.56
Past year average comments per pull request: 1.29
Past year merged pull request: 164
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/OpenMDAO/OpenMDAO

Top Issue Authors

  • robfalck (223)
  • JustinSGray (205)
  • Kenneth-T-Moore (155)
  • naylor-b (101)
  • hschilling (85)
  • swryan (66)
  • tadkollar (35)
  • bbrelje (30)
  • DKilkenny (18)
  • kejacobson (11)
  • andrewellis55 (10)
  • christophe-david (10)
  • relf (9)
  • cfe316 (7)
  • johnjasa (7)

Top Pull Request Authors

  • swryan (699)
  • naylor-b (603)
  • Kenneth-T-Moore (584)
  • hschilling (229)
  • DKilkenny (212)
  • kmarsteller (170)
  • tadkollar (156)
  • robfalck (153)
  • JustinSGray (87)
  • hwangjt (79)
  • onodip (74)
  • ryanfarr01 (56)
  • dwmunster (42)
  • johnjasa (18)
  • bbrelje (16)

Top Issue Labels

  • bug (235)
  • n2 (63)
  • enhancement (46)
  • docs (38)
  • project (23)
  • backwards_incompatible (15)
  • POEM (13)
  • case recording (8)
  • derivatives (7)
  • dependencies (4)
  • performance (3)
  • technical debt (3)
  • deprecation (2)
  • visualization (2)
  • Awaiting POEM Acceptance (1)
  • Pending POEM Acceptance (1)

Top Pull Request Labels

  • POEM (50)
  • bug (16)
  • n2 (15)
  • docs (13)
  • enhancement (10)
  • Awaiting POEM Acceptance (9)
  • dependencies (4)
  • case recording (4)
  • derivatives (3)
  • backwards_incompatible (2)
  • deprecation (2)
  • invalid (1)

Package metadata

conda-forge.org: openmdao

OpenMDAO is an open-source high-performance computing platform for systems analysis and multidisciplinary optimization, written in Python. It enables you to decompose your models, making them easier to build and maintain, while still solving them in a tightly coupled manner with efficient parallel numerical methods.

  • Homepage: https://openmdao.org
  • Licenses: Apache-2.0
  • Latest release: 3.21.0 (published over 2 years ago)
  • Last Synced: 2024-01-24T19:56:54.819Z (over 1 year ago)
  • Versions: 33
  • Dependent Packages: 1
  • Dependent Repositories: 2
  • Rankings:
    • Forks count: 12.683%
    • Dependent repos count: 20.06%
    • Average: 20.594%
    • Stargazers count: 20.679%
    • Dependent packages count: 28.954%

Dependencies

.github/workflows/openmdao_audit.yml actions
  • act10ns/slack v1.6.0 composite
  • actions/checkout v3 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/openmdao_latest_workflow.yml actions
  • act10ns/slack v2.0.0 composite
  • actions/checkout v3 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/openmdao_test_workflow.yml actions
  • act10ns/slack v1.6.0 composite
  • act10ns/slack v2.0.0 composite
  • actions/checkout v3 composite
  • benc-uk/workflow-dispatch v1 composite
  • conda-incubator/setup-miniconda v2 composite
  • coverallsapp/github-action master composite
  • mxschmitt/action-tmate v3 composite
setup.py pypi
  • networkx >=2.0
  • numpy *
  • packaging *
  • requests *
  • scipy *
.github/workflows/openmdao_update_poem.yml actions
  • act10ns/slack v2.0.0 composite
  • actions/checkout v4 composite
  • actions/github-script v7 composite
  • benc-uk/workflow-dispatch v1 composite

Score: 11.600386740740223