pyMDO: An Object-Oriented Framework for Multidisciplinary Design Optimization

  • Authors:
  • Joaquim R. R. A. Martins;Christopher Marriage;Nathan Tedford

  • Affiliations:
  • University of Toronto Institute for Aerospace Studies;University of Toronto Institute for Aerospace Studies;University of Toronto Institute for Aerospace Studies

  • Venue:
  • ACM Transactions on Mathematical Software (TOMS)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present pyMDO, an object-oriented framework that facilitates the usage and development of algorithms for multidisciplinary optimization (MDO). The resulting implementation of the MDO methods is efficient and portable. The main advantage of the proposed framework is that it is flexible, with a strong emphasis on object-oriented classes and operator overloading, and it is therefore useful for the rapid development and evaluation of new MDO methods. The top layer interface is programmed in Python and it allows for the layers below the interface to be programmed in C, C++, Fortran, and other languages. We describe an implementation of pyMDO and demonstrate that we can take advantage of object-oriented programming to obtain intuitive, easy-to-read, and easy-to-develop codes that are at the same time efficient. This allows developers to focus on the new algorithms they are developing and testing, rather than on implementation details. Examples demonstrate the user interface and the corresponding results show that the various MDO methods yield the correct solutions.