FIDO - Framework for Interdisciplinary Design Optimization

A Programming Environment for Distributed Complex Computing

Quick Summary of FIDO


The Framework for Interdisciplinary Design Optimization (FIDO) project is developing a general computational environment for performing automated multidisciplinary design and optimization (MDO) using a heterogeneous cluster of networked computers. FIDO's integrated design and optimization approach avoids a common practice in the past where a new design is passed from one discipline to another with little communication as each designer tried independently to reach an optimum. The initial implementation of the FIDO system has been a simplified-model demonstration of a High-Speed Civil Transport (HSCT) optimization for cruise. However, the FIDO system is being designed to be generic enough to handle with minimal modifications any design problems that require input from a number of specialty disciplines.


The FIDO system is organized into distributed service, computational, and auxiliary segments, which communicate through a communications library (based on PVM) that forms the backbone of the system. The service segments are the executive, an associated graphical user interface (GUI), the master task controller, the data manager, and the communications library. The computational segments consist of the discipline codes required for a particular problem. The discipline codes are usually existing codes, often in Fortran, which must be interfaced to the FIDO system through C-language drivers that use the communications library to transmit data and control signals. (For the HSCT design, these disciplines include aerodynamics, structures, propulsion, performance, optimization, and interdisciplinary data conversion.) The main auxiliary segments consist of the primary GUI that monitors FIDO system status, and an interrogatory code (called SPY), which provides access to the centralized database for viewing results during the computations. SPY also includes a provision for steering the design process by allowing the operator to change certain control variables at the end of any cycle. An additional auxiliary segment provides a GUI for initial problem setup. Each segment is assigned to the computer type most appropriate for it in the heterogeneous cluster. All of the computers are networked together, have access to centralized data, and work on their parts of the design simultaneously, in parallel whenever possible.

The software is written in modular form to ease migration to upgraded or completely new problems. The executive, GUI, data manager, SPY, and communications library are all designed to be generic, deriving necessary problem information from configuration files; they should not have to be rewritten as problems change. Also, different codes can be substituted for each of the current discipline code modules with little effect on the others. Only the master must be substantially rewritten in order to control the sequencing of tasks automatically for each different problem.


The FIDO system has demonstrated optimization for a simplified HSCT design problem on a network of UNIX(R) workstations (six Suns and one SGI) with monitoring and graphics display through "SPY" and the use of flexible file-based data management. This figure shows results from FIDO for the simplified HSCT wing design demonstration problem. There are three planform design variables (inboard leading-edge sweep angle, root chord length, and spanwise break location) and two structural design variables (inboard and outboard panel thicknesses). The upper left plot shows the evolution of these five variables over twenty design cycles -- note that sweep and root chord quickly reach their preset limits. A sequence of corresponding planforms is shown at the right. Although the design reached is clearly infeasible due to unrealistic constraints, the system functioned properly within the constraints set for it. The resulting objective (weight minimization) is in the middle left of the figure, and several analysis variables are plotted in the lower left. The total time to complete these twenty cycles was about three hours.


Many design problems require inputs from a number of specialty disciplines. The points of view, design emphasis and design approaches of the discipline specialists can be quite diverse. The FIDO system facilitates communications between the computational tasks involved and provides a means for partially automating the total design process. At the same time it provides the designer (and consultants) with means for interactively viewing intermediate results and guiding the process. It should be possible to reduce the time per design cycle from many weeks to days or hours, allowing a more optimal design to be reached within given time constraints.

REFERENCE: Townsend, J.C.; Weston, R.P., and Eidson, T.M.: A Programming Environment for Distributed Complex Computing. An Overview of the Framework for Interdisciplinary Design Optimization (FIDO) Project. NASA TM 109058, December 1993.

FIDO Concept Originator and Project Designer:

Point of Contact:

Last Updated Wednesday, April 17, 1996