https://github.com/byuflowlab/openmdao.jl
Julia wrapper to OpenMDAO
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Repository
Julia wrapper to OpenMDAO
Basic Info
- Host: GitHub
- Owner: byuflowlab
- License: mit
- Language: Julia
- Default Branch: master
- Size: 3.53 MB
Statistics
- Stars: 19
- Watchers: 3
- Forks: 4
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
OpenMDAO.jl
What?
Use Julia with OpenMDAO! OpenMDAO.jl is a Julia package that allows a user to:
- Write OpenMDAO
Components in Julia, and incorporate these components into a OpenMDAO model. - Create and run optimizations in Julia, using OpenMDAO as a library.
OpenMDAO.jl consists of three pieces of software:
- OpenMDAOCore.jl: A small, pure-Julia package that allows users to define Julia code that will eventually be used in an OpenMDAO
Problem. OpenMDAOCore.jl defines two Julia abstract types (AbstractExplicitComponentandAbstractImplicitComponent) and methods that mimic OpenMDAO's ExplicitComponent and ImplicitComponent classes. omjlcomps: A Python package (actually, a OpenMDAO Plugin) that defines two classes,JuliaExplicitCompandJuliaImplicitComp, which inherit from OpenMDAO'sExplicitComponentandImplicitComponent, respectively. These components take instances of concrete subtypes ofOpenMDAOCore.ExplicitComponentandOpenMDAOCore.ImplicitComponentand turn them into instances ofJuliaExplicitCompandJuliaImplicitComp. Like any other OpenMDAOExplicitComponentorImplicitComponentobjects,JuliaExplicitCompandJuliaImplicitCompinstances can be used in an OpenMDAO model, but call Julia code in their methods (compute,apply_nonlinear, etc.).- OpenMDAO.jl: A Julia package that has the openmdao and
omjlcompsPython packages as dependencies. Users can installOpenMDAO.jland have the full power of the OpenMDAO framework at their disposal in Julia.
How (Installation Instructions)?
There are two approaches to getting OpenMDAO working with Julia: the Python-Centric Approach and the Julia-Centric Approach.
If you like Python and just want to have a little (or a lot) of Julia buried in your OpenMDAO System, then you'll probably prefer the Python-centric approach.
If you're a huge fan of Julia and would like to pretend that OpenMDAO is a Julia library, you'll want the Julia-centric approach.
Either way, pick one or the other: you don't need to follow both installation instructions.
Python-Centric Installation
The first (and only!) step is to install omjlcomps, which is in the Python Package Index, so a simple
bash
pip install omjlcomps
should be all you need.
omjlcomps uses JuliaPkg to manage Julia dependencies, so all the Julia packages needed by omjlcomps (and even Julia itself, if necessary) will be installed automatically.
Julia-Centric Installation
The OpenMDAOCore.jl and OpenMDAO.jl Julia packages are registered in the General registry, so installation should be as simple as
] add OpenMDAOCore OpenMDAO
in the Julia REPL.
OpenMDAOCore.jl is a fairly small package without any Python dependencies, but OpenMDAO.jl depends on omjlcomps and openmdao itself.
OpenMDAO.jl's Python dependencies are managed by CondaPkg, and should be automatically installed into a separate Conda environment specific to your current Julia environment.
Next Steps
Check out the documentation for usage, examples, etc..
Acknowledgements
- An early version of OpenMDAO.jl was written by Daniel Ingraham, Justin Gray, and Andrew Ning while visiting Prof. Ning at Brigham Young University.
- OpenMDAO.jl depends heavily on PythonCall and related packages, developed by Christopher Rowley.
Owner
- Name: BYU FLOW Lab
- Login: byuflowlab
- Kind: organization
- Location: Provo, UT
- Website: http://flow.byu.edu
- Repositories: 94
- Profile: https://github.com/byuflowlab
FLight, Optimization, and Wind
GitHub Events
Total
- Issues event: 4
- Watch event: 1
- Issue comment event: 9
- Push event: 15
- Pull request event: 16
- Create event: 4
Last Year
- Issues event: 4
- Watch event: 1
- Issue comment event: 9
- Push event: 15
- Pull request event: 16
- Create event: 4
Packages
- Total packages: 2
-
Total downloads:
- julia 1 total
-
Total dependent packages: 1
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 4
juliahub.com: OpenMDAOCore
Julia wrapper to OpenMDAO
- Documentation: https://docs.juliahub.com/General/OpenMDAOCore/stable/
- License: MIT
-
Latest release: 0.3.2
published about 1 year ago
Rankings
juliahub.com: OpenMDAO
Julia wrapper to OpenMDAO
- Documentation: https://docs.juliahub.com/General/OpenMDAO/stable/
- License: MIT
-
Latest release: 0.5.0
published about 1 year ago
Rankings
Dependencies
- actions/checkout v2 composite
- actions/setup-python v4 composite
- julia-actions/setup-julia v1 composite
- julia-actions/setup-julia v1 composite
- actions/checkout v2 composite
- julia-actions/setup-julia v1 composite
- actions/checkout master composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish release/v1 composite
- juliacall ~=0.9.13
- juliapkg ~=0.1.10
- omjlcomps >=0.2.5
- openmdao ~=3.26
- juliacall ~=0.9.13
- juliapkg ~=0.1.10
- openmdao ~=3.36