Wednesday, October 2, 2013

Fedora OpenMDAO Install

OpenMDAO is "an open-source MDAO framework written in Python." It is an easy install (though not packaged for Fedora yet as far as I can tell). The only odd thing in the system requirements is the Chrome web browser for the GUI. They say things should work with Firefox (not Internet Explorer), but who cares? GUIs are for quiche-eaters anyway ; - ) The other requirements (Python, Scipy, Numpy, Matplotlib) are commonly packaged for a wide range of operating systems.

OpenMDAO features,
  • Library of Built-in Solvers and Optimizers
  • Tools for Meta-Modeling
  • Data Recording Capabilities
  • Support for Analytic Derivatives
  • Support for High-Performance Compute Clusters and Distributed Computing
  • Extensible Plugin Library
The installation instructions are straight-forward:
  1. Download the installation script (I'm trying out version 0.8.1).
  2. Run the script.
    python go-openmdao.py
    You have to be running at least Python 2.7 (check with python --version). This will download, compile and install all the parts. I got a lot of warnings but no errors.
  3. Activate your virtual environment.
    . bin/activate
  4. Run tests to verify the install.
    openmdao test
    You should see something like "Ran 726 tests in 58.415s OK"
  5. When finished with OpenMDAO then deactivate the virtual environment with deactivate.
The OpenMDAO User Guide has some tutorials to get you started. I like the capability to wrap your own custom parts using f2py. A list of available "official" plugins is available with this command from an activated environment, plugin list --github Here's the list I got:
Available plugin distributions ============================== GeoMACH -- Geometry-centric MDAO of Aircraft Configurations with High fidelity adpac_wrapper -- Component wrapper for ADPAC (Advanced Ducted Propfan Analysis Code) analysis_server_plugin -- This plugin contains a server that can serve OpenMDAO models to be executed in Modelcenter. dakota_driver -- OpenMDAO driver for DAKOTA (Design Analysis Kit for Optimization and Terascale Applications) drea_wrapper -- OpenMDAO component wrapper for DREA (Differential Reduced Ejector/Mixer Analysis) excel_wrapper -- OpenMDAO Excel Wrapper (MS Windows only) flops_wrapper -- Component wrapper for FLOPS hsrnoise_wrapper -- OpenMDAO component wrapper for DREA (Differential Reduced Ejector/Mixer Analysis) ipoptdriver -- Driver wrapper for the IPOPT optimization code montecarlo -- DOEgenerator for Monte Carlo Simulation nas_access -- Resource Allocator for NAS nastranwrapper -- Component wrapper for MSC Nastran neural_net -- A neural net surrogate model generator based on the FFnet library nreltraining2013 -- docs and code for the 2013 nrel training class on OpenMDAO ommodelwrapper -- OpenModelica Model Wrapper overflow_wrapper -- Component wrapper for OVERFLOW (OVERset grid FLOW solver) pdcyl_comp -- Component wrapper for PDCYL pyopt_driver -- Driver wrapper for the open-source optimization package pyOpt vsp_wrapper -- Component wrapper for VSP (Vehicle Sketch Pad)
Installing one of the plugins is as easy as, plugin install --github montecarlo

1 comment: