Help Resources

Public User Community

Dakota is an open source and publicly available project with a significant worldwide user base. Our vision is that Dakota users will increasingly help each other with questions and issues. We especially encourage general usage questions about how to use Dakota, including how to install, choose algorithms, or interface to an application code, but all Dakota topics are welcome.

Dakota Github Discussions

Vist Dakota’s GitHub Discussions page for questions about installing, building, and using Dakota, sharing Dakota success stories, reporting bugs, and making feature requests.

If you don’t already have a GitHub account, you’ll need to create one to participate.

Screencasts

In addition to this manual, the Dakota team has developed a series of video screencasts that are aimed at helping users learn how to use Dakota at varying stages of complexity. These screencasts complement the material presented in the Dakota GUI manual, since many of the videos use the GUI to demonstrate Dakota usage.

Training Resources

Slides and streaming videos for several introductory Dakota training topics are now available. The videos are recordings of live training conducted internally at Sandia and feature:

  • Slide presentations and lectures by Dakota team members

  • Live demos of Dakota

  • Interaction with trainees

  • Dakota exercises that provide hands-on experience with using the Reference Manual, creating input files, interfacing simulations with Dakota, interpreting Dakota output, and more

Viewers may follow along with the exercises by downloading the materials for each module. The exercises were created for use with Dakota 6.3 on OS X or Linux, but users of slightly different versions of Dakota (6.0 or greater) and Windows users of Dakota may encounter a few difficulties.

Updated (2016) materials and presentations can be downloaded here, but they may not match those used in the videos.

Note

Exercises in the Model Characterization and Sensitivity Analysis modules make use of plotting tools created specially for the training. Python 2.7 and the matplotlib and pandas libraries are required by the tools. Installing either Anaconda or Canopy is a convenient way to satisfy these requirements.

Warning

Cantilever beam errata: In the content below (slides and simulation drivers), the stress equation for the cantilever beam incorrectly has a fixed length L = 100. Corrected cantilever beam slide. The analysis driver is corrected in versions of Dakota newer than 2019-09-05. Thanks to Anjali Sandip for reporting.

Module

Learning Goals

Approx. Time (minutes)

Video/Slides/Exercises

Overview

  • What is Dakota?

  • Why use Dakota?

  • Prerequisites

45

Slides

Model Characterization

  • See how Dakota can automate what you are already doing

  • Know what model characteristics will affect how you use Dakota

  • Be able to run a basic study to characterize a model

100

Video / Slides / Exercises

Input Syntax / Building Blocks

  • Develop an accurate “mental model” of Dakota components

  • Understand how to configure Dakota components using a Dakota input file

  • Become familiar with the Dakota Reference Manual

60

Video / Slides / Exercises

Interfacing a User’s Simulation to Dakota

  • Mechanics of how Dakota communicates with and runs a simulation

  • Requirements this places on the user and interface

  • Basic strategies for developing a simulation interface

  • Convenience features Dakota provides for managing simulation runs

  • Note: This module covers “black box” interfacing, not “library mode” Dakota

130

Video 1 / Video 2 / Slides / Exercises

Sensitivity Analysis

  • Sensitivity analysis goals and examples

  • Global sensitivity analysis approaches and metrics available in Dakota

  • Dakota examples for parameter studies and global sensitivity analysis

90

Video / Slides / Exercises

Surrogate Models

  • Define a surrogate model

  • Identify situations where it may be appropriate to use a surrogate model

  • Learn how to specify a surrogate model in Dakota

  • Run a surrogate model in Dakota and examine outputs based on the surrogate model

  • Identify some common diagnostics for surrogates

  • Understand different ways surrogates are used in Dakota

50

Video / Slides / Exercises

Optimization

  • Understand potential goals of optimization and optimization terminology

  • Learn how to communicate the relevant problem information to Dakota

  • Become familiar with several types of optimization solvers and how to choose from among them based on problem type and goals

100

Video / Slides / Exercises

Calibration

  • Why you might want to tune models to match data via calibration (parameter estimation)

  • How to formulate calibration problems and present them to Dakota

  • What Dakota methods can help you achieve calibration goals

70

Video / Slides / Exercises

Uncertainty Quantification

  • Uncertainty quantification goals and examples

  • Examples for uncertainty quantification

  • Focus on forward propogation

125

Video / Slides / Exercises

Parallel Options

  • Discuss what to consider when designing a parallelized study

  • Understand what Dakota provides and its limitations

  • Be able to choose the best parallelism approach

  • Know how to configure Dakota and your interface for your parallelism approach

60

Video / Slides