The Multi-Disciplinary Computing Environment (MDICE) is a software system for multidisciplinary analysis of complex engineering equipment, processes, and systems. Currently MDICE supports a variety of disciplines, including parametric computer aided design (CAD), grid generation, computational fluid dynamics (CFD), computational structural dynamics (CSD), active controls, and visualization/animation.

MDICE has been developed by CFD Research Corporation with funding from NASA Glenn Research Center and AFRL Air Vehicles Directorate at WPAFB.

alt
The Application Control Panel is a graphical user interface for setting up and controlling a computational simulation. Through this interactive display, a user can select an application program, select the computer on which the application program is to be run, specify a directory in which the program is to be run, and specify any command-line arguments that might be required by the program.

While the growing need for multicomponent and multidisciplinary engineering analysis has been understood for years, lack of integration among computer programs that serve different disciplines has posed a major obstacle to such analysis. The existence of many different formats for the various data files contributes to the general difficulty. The development of MDICE has addressed those issues.

MDICE is an extensible program suitable for integration of analysis programs from several engineering disciplines. MDICE was developed by extending a prior software system, called "Visual Computing Environment" (VCE), that had been developed to enable coupling among various flow-analysis codes. VCE has been used with success in analyzing aircraft-engine components. The MDICE system is currently being applied to a large variety of multidisciplinary analysis problems for aerospace applications. Other application areas, such as automotive, electronics, manufacturing and MEMs design, are under development.

The MDICE approach is to provide a computing environment in which many computer programs operate concurrently and cooperatively to solve a multidisciplinary problem. Execution of each computer program is controlled by an engineer via a graphical user interface generated by MDICE (see figure). Once running, these programs communicate with each other and with MDICE via a set of standard function calls. Like the execution of each program, the management of the communications among the application programs is fully controlled by the user. MDICE takes care of all data transformations necessary for data exchange between dissimilar applications and disciplines.

Integration of a particular application program into the environment is accomplished by making the application MDICE-compliant rather than writing the code to communicate with a small set of other, predetermined programs. An MDICE-compliant application program can run under the control of MDICE and communicate with any other MDICE-compliant application program.

The use of MDICE makes it possible to avoid the need for a giant, monolithic code that one might otherwise attempt to develop to provide all the services needed in a given situation. Such large programs are difficult to develop and maintain and, by their very nature, tend not to be up to date. The MDICE approach both accommodates and relies upon the reuse of previously developed codes that have been validated and have a high level of end-user familiarity.

The MDICE environment enables flexibility in that one can readily exchange one application program for another; thus, each engineer can select and apply the software best suited to the task at hand. Efficiency is achieved by use of parallel, distributed computing architectures utilizing heterogeneous software and hardware. Extensibility is achieved by providing for the addition of new application programs without modifying or deleting application programs that have already been integrated into the environment.

A large number of engineering analysis programs from a variety of disciplines and sources have been integrated with MDICE. Examples for CAD are CFD-GEOM (CFDRC), Unigraphics (Unigraphics Solutions), and Pro/ENGINEER (Parametric Technology Corporation). CFD applications include CFD-ACE, CFD-ACE+, CFD-FASTRAN (all CFDRC), NPARC, ADPAC, CORSAIR (NASA Glenn), Cobalt, ENS3D-AE (AFRL), CGNSfv (Northrop Grumman), Splitflow (Lockheed Martin), and others. Structural analysis codes include FEMSTRESS (CFDRC), NASTRAN (MacNeal Schwendler Corp.), and ANSYS (Ansys Inc.).

Typical applications include multifidelity, multidimensionality, and multicomponent CFD analysis, fluid-structure interaction, parametric geometry and analysis, active controls, and in general any application involving moving and deforming computational grids. Planned applications include optimization, aero-servo-elasticity, and aero-thermal-elasticity.

This work was done by Charles Lawrence of Glenn Research Center; Vincent J. Harrand, Gerry Kingsley, and John M. Siegel of CFD Research Corp.; and Joel J. Luker of the Air Force Research Laboratory. For further information, visit CFDRC's MDICE website at www.cfdrc.com or access the Technical Support Package (TSP) free on-line at www.nasatech.com/tsp under the Information Sciences category. LEW-16830