Suggested General Structure of the MIDO Algorithms
Any MIDO algorithm stresses high transportability as well as extensive graphical user interaction and support. The product is a full featured, self-configuring MIDO package capable of utilizing a variable number of diverse CPU’s and input/outpul devices that is valuable to research and industrial practical use. Massively parallel machines arc the latest significant step in this technology. Tins expansion from a single CPU has greatly increased computational power; however, it lus also increased the problem of transportability of the software. The rationale behind the advent of FORTRAN 90 was that users needed a standard method for the utilization of a variable number of CPU’s. The CPU job tasking, while referred to by the programmer, is essentially handled by the FORTRAN 90 compiler. While FORTRAN 90 delivers a standard to the user of parallel machines, it in no way increases the user’s interface with the code itself. The researcher or design engineer who simply provides a source code to the FORTRAN 90 compiler has no standard method for producing runtime graphics, real-time flow-field visualization, or other graphical user interactions. The only option for the user is to make calls to an external graphics package that is loaded on the particular system in use. By doing this, (he generality of the code is lost. This problem is also true of other input/output devices.
This problem can be solved by giving the user real-time graphical visualization as an integral part of the MIDO software package that will allow researchers and design engineers to watch as they analyze and optimize their designs. Furthermore, criteria and boundary conditions are dynamic, allowing users to alter or update them as execution progresses. The problem of transportability is overcome because the package does not require a compiler since such MIDO package is prc-compiled and pre-linked. It is a stand-alone executable that detects and utilizes the host system. It is a self-contained, auto-configuring package that is to aerodynamic shape design and thermal design what I DEAS and GENESIS arc to structural design An executable such as this MIDO package, can also be developed in lower level languages such as С/ C++ or Assembler rather than less efficient high level languages such as FORTRAN. As well as being more efficient, low level languages operate in a regime that is close to tlie native language of the machine, allow ing direct manipulation of the host system hardware This direct access programming allows the final product to he highly modular and adaptable. These advantages could be utilized in the MIDO package with the end result that the user can choose the desired aspects of the package, and the algorithm will conform itself.
Because of the complex algorithms and high degree of programming skills required for this package, the development process can be divided in two stages.
During the first stage of such a MIDO package development, it can be written in FORTRAN 77 so that its legitimacy can be checked. Numerical solutions produced by this package can be checked against available analytical and experimental data to ensure that true physical phenomena are captured. Then, the MIDO package can be rewritten into low level languages as rmnlules to a central-switching logic that is designed for a single CPU system. A full-featured interactive graphical environment can be developed for this system.
The second stage of the suggested MIDO package development can be centered on the expansion of the package to include support for a variable CPU system. Package development can culminate in its high modularity, full user interface environment (for a PC with MS-Win – dows-LINUX and workstations with UNIX and X-Windows), ability to change How solvers in the environment, change boundary conditions, switch between analysis mode, inverse design mode, and optimization (based on user defined criteria) mode in the environment while developing a desired design
Although most aerodynamic, heat transfer and elasticity analysis codes are written in FORTRAN while genetic algorithms and graphical interfaces are more efficient when coded in C++ language, the use the PVM (Parallel Virtual Machine) or the new generation MPL (Message Passing Libraries) can make their simultaneous use possible. With the PVM or MPL. the hybrid GA optimizer can be compiled from a C++ source, while an analysis code can be compiled from a FORTRAN source. The message-passing between the two running codes is not extensive, yet it is independent of the language of the source code.
The efforts should be focused in developing a commercial quality MIDO package for research and direct industrial use. Algorithms should be modified to run in FORTRAN 90 on parallel CM-2, CM-5. IBM SP-2. CRAY-90, etc. or clusters of arbitrary PC’s. w4*rkstations and
mainframes connected through a router thus stressing transportability to an arbitrary number of CPU’s.
The Multidisciplinary Inverse Design and Optimization (MlDO) approach to a complete aircraft system design is already a reality in some of the leading companies. It has been taking two distinct paths where cither a semi-sequential disciplinary optimization is performed or a simultaneous analysis and optimization of the entire system is performed Both approaches have their own difficulties with computing time requirements and numerical stability. These issues will progressively be resolved by a better use of massively and distributed parallel computation and by the development of faster iterative algorithms for analysis and constrained optimization.