pyMDO: An Object-Oriented Framework for Multidisciplinary Design Optimization

被引:17
作者
Martins, Joaquim R. R. A. [1 ]
Marriage, Christopher [1 ]
Tedford, Nathan [1 ]
机构
[1] Univ Toronto, Inst Aerosp Studies, Toronto, ON M3H 5T6, Canada
来源
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE | 2009年 / 36卷 / 04期
基金
加拿大自然科学与工程研究理事会;
关键词
Algorithms; Experimentation; Multidisciplinary design optimization; object-oriented programming; COLLABORATIVE OPTIMIZATION;
D O I
10.1145/1555386.1555389
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:25
相关论文
共 50 条
[21]   OBJECT-ORIENTED CONCEPTS FOR COMPUTATIONAL DESIGN SYNTHESIS [J].
Helms, B. ;
Shea, K. .
11TH INTERNATIONAL DESIGN CONFERENCE (DESIGN 2010), VOL 1-3, 2010, :1333-1342
[22]   ISSUES IN THE DESIGN OF AN OBJECT-ORIENTED PROGRAMMING LANGUAGE [J].
GROGONO, P .
STRUCTURED PROGRAMMING, 1991, 12 (01) :1-15
[23]   Object-oriented design of a cotton crop model [J].
Lemmon, H ;
Chuk, N .
ECOLOGICAL MODELLING, 1997, 94 (01) :45-51
[24]   Managing application complexity in the SAMRAI object-oriented framework [J].
Hornung, RD ;
Kohn, SR .
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2002, 14 (05) :347-368
[25]   FEMPAR: An Object-Oriented Parallel Finite Element Framework [J].
Badia, Santiago ;
Martin, Alberto F. ;
Principe, Javier .
ARCHIVES OF COMPUTATIONAL METHODS IN ENGINEERING, 2018, 25 (02) :195-271
[26]   The Framework for Project Based Learning of Object-Oriented Programming [J].
Krpan, Divna ;
Mladenovic, Sasa ;
Zaharija, Goran .
INTERNATIONAL JOURNAL OF ENGINEERING EDUCATION, 2019, 35 (05) :1366-1377
[27]   An Object-Oriented Framework for Interface Stress Element Method [J].
Feng, Biao ;
Jin, Bo ;
Lan, Riqing ;
Chen, Hao .
ADVANCES IN COMPUTATIONAL MODELING AND SIMULATION, PTS 1 AND 2, 2014, 444-445 :27-31
[28]   A general framework for computing with words in object-oriented programming [J].
Berzal, F. ;
Cubero, J. C. ;
Marin, N. ;
Vila, M. A. ;
Kacprzyk, J. ;
Zadrozny, S. .
INTERNATIONAL JOURNAL OF UNCERTAINTY FUZZINESS AND KNOWLEDGE-BASED SYSTEMS, 2007, 15 (01) :111-131
[29]   A Framework for Examining Topical Locality in Object-Oriented Software [J].
Niu, Nan ;
Savolainen, Juha ;
Bhowmik, Tanmay ;
Mahmoud, Anas ;
Reddivari, Sandeep .
2012 IEEE 36TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2012, :219-224
[30]   Object-oriented framework for knowledge-based systems [J].
Ramadhan, HA ;
Shihab, K ;
Al-Khanjari, Z .
IC-AI'2000: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE, VOL 1-III, 2000, :769-773