Sandia National Laboratory has released an engineering software tool kit that can be downloaded for free from its Web site. Dakota (Design Analysis Kit for Optimization and Terascale Applications) V3.0, available athttp://endo.sandia.gov/DAKOTA, lets users develop virtual prototypes that can be optimized for criteria such as minimum weight, cost, or defects. The software can also limit responses such as critical temperatures, stresses, or vibrations.
The program is written in C++ and reportedly provides a flexible interface between simulation software and the latest algorithms for optimization, parameter estimation, design of experiments, and sensitivity analysis. So far, over 20 simulator programs have been interfaced with the software. However, almost any simulator program that runs on a Unix or Linux-based system can be interfaced to Dakota.
"A few commercial products let users optimize designs, but Dakota's features make it unusual, such as being able to use thousands of processors on a massively parallel computer," says Mike Eldred, principal investigator with the lab. Other features include support for surrogate-based optimization, optimization under uncertainty, mixed-integer nonlinear programming, and simultaneous analysis and design. Surrogate-based optimization uses a surface-fit model or a simplified physics model as a low-cost alternative to a computationally expensive or high-fidelity model. Optimization is performed on the low-fidelity or surrogate model using periodic corrections provided by evaluating the high-fidelity model.
Optimization under uncertainty combines numerical optimization with uncertainty quantification techniques. Its goal is to incorporate probabilistic (uncertain) information into the design process. Examples include the variation in material properties between different batches of an aluminum alloy, or the maximum wind load on a structure over some period of time. Simultaneous analysis and design (SAND) closely couples the linear algebra of a numericaloptimization technique with that of a simulation code. As the simulation code converges (solves the underlying physics equations) the numerical optimization code alters design variables to find a best design.
For example, drag and lift on an aircraft wing usually increase together. Traditional optimization techniques might change a wing-shape variable and run a complex and usually expensive fluid-dynamic code to compute lift and drag. The cycle repeats for each of many design adjustments. SAND, however, lets the optimizer change design variables in the CFD software. As a result, the CFD code runs only once to produce an optimal wing. The single CFD and optimization run is typically only two to three times the cost of the CFD run alone. The downside is that it can take weeks or months to closely couple the physics and optimization codes. SAND methods are a current research area for the Dakota development team.
The DOE recently granted Dakota an open-source release under a General Public License. This means any company, engineer, or university researcher can download the program and use it to improve their product design or research. Sandia says it is making the program available to encourage collaborations between itself, universities, and other research organizations, which will help infuse the latest optimization research back into Dakota. "Expanded use could extend to commercial software companies as well," says Eldred. "The only restriction is that people cannot change Dakota and sell it." Contact the development team at firstname.lastname@example.org.