Engineering design, according to engineering authority William Livingston, is a process of “run, break, fix.” There are few types of design that are formulaic or deterministic, where a mathematical model is used to yield an optimal solution to a design problem. Rather, the process is one of successive prototyping and testing.
The automation of engineering design has been an evolution from the abstract to the concrete. Drawings are highly abstract representations of objects; computer-based systems first replicated drawings and facilitated their production. Later, more and more concreteness was added—surfaces, solids, motion, laws of physics, and so on.
The next step in the natural progression of automation was to automate the testing of digital models. Digital models are generally cheaper and easier to construct than physical models. If they could be digitally tested, much time and expense could be saved, and the process of “run, break, fix” could be considerably sped up. That is the philosophical motivation for MCAE.
MCAE areas include:
- Stress analysis on components and assemblies using FEA (Finite Element Analysis);
- Thermal and fluid flow analysis Computational fluid dynamics (CFD);
- Mechanical event simulation (MES).
- Analysis tools for process simulation for operations such as casting, molding, and die press forming.
- Optimization of the product or process.
In general, there are three phases in any computer-aided engineering task:
- Pre-processing – defining the model and environmental factors to be applied to it. (typically a finite element model, but facet, voxel and thin-sheet methods are also used)
- Analysis solver (usually performed on high-powered computers)
- Post-processing of results (using visualization tools)
This cycle is iterated, often many times, either manually or with the use of commercial optimization software.
The actual implementation of analysis techniques began with finite-element analysis. The finite element analysis from the mathematical side was first developed in 1943 by Richard Courant, who used the Ritz method of numerical analysis and minimization of variational calculus to obtain approximate solutions to vibration systems.
From the engineering side, the finite element analysis originated as the displacement method of the matrix structural analysis, which emerged over the course of several decades mainly in British aerospace research as a variant suitable for computers.
By the late 1950s, the key concepts of stiffness matrix and element assembly existed essentially in the form used today and NASA issued request for proposals for the development of the finite element software NASTRAN in 1965.
The finite-element method originated from the needs for solving complex elasticity and structural analysis problems in civil engineering and aeronautical engineering. The method was provided with a rigorous mathematical foundation in 1973, with the publication of Strang and Fix’s “An Analysis of The Finite Element Method,” and has since been generalized into a branch of applied mathematics for numerical modeling of physical systems in a wide variety of engineering disciplines, e.g., electromagnetism and fluid dynamics.
There are many modern systems that couple MCAE to actual physical testing environments, such as dynamometers for automobiles. Simulation of complex mechanical systems can be very difficult. By coupling good simulations with actual mechanical devices, test engineers can derive far more accurate results than is possible with pure simulation.
Today it is feasible1 to go through many cycles of designing, prototyping, and analyzing, before constructing a physical prototype. When the physical model is made, it is thus very likely to be close to what was sought by the designer to begin with, because it has been thoroughly tested—“prototyped”—through MCAE, and had any problems corrected.2
1 Some argue that this can and should be automated under an optimizer. For example, optimum designs of structures using only about 10 finite element analyses where the analysis model is of the order of 10M degrees of freedom and have over 100,000 design variables. All done in one compute run.
2 For this historical perspective, we have intentionally ignored the use of "math" tools including systems engineering tools.