3. Creating a New Dakota Study

In the previous section, we covered processes for using the Dakota GUI that assume your Dakota study already exists, or that you are using an example Dakota study as a starting point.  But what if you want to create a Dakota study from scratch?  Where would you get started?

One important goal to keep in mind when getting started is to decide how you want Dakota to communicate with your simulation model.  Dakota interfaces with the outside world using parameters and responses (i.e. Dakota creates new parameters that go into your simulation model, and receives new responses that come out of your simulation model).  As such, you should think about how to define your simulation model in terms of parameters and responses.

This section is broken up into three major steps that reflect the recommended process for creating a new Dakota study from scratch:

  • Define your simulation model according to its input parameters and output responses.
  • Create a driver for your simulation model that Dakota can use.
  • Create the new Dakota study that drives your simulation model.

The Dakota team is constantly working on new approaches to handle these three steps.  For instance, you’ll see in the section on Dakota drivers that there are two major ways to make a Dakota driver – one approach uses Python scripting, the other uses a graphical node workflow.  Both approaches have advantages and disadvantages.  Choose the approach that you are most comfortable with.

This section uses a familiar example Dakota study problem – the cantilever beam example.  To follow along with this example step-by-step, you’ll want to download this zip file.  This zip file contains two files:

  • cantilever – our simulation model.  In reality, this is a Python script with the extension removed, but for the purposes of this example, you can think of it as a black box.  To execute the cantilever model on the command line, you would type “python cantilever cantilever.i”
  • cantilever.i – the text input file for the cantilever beam model.  This is a format foreign to Dakota, but known to the cantilever beam model.  We will eventually want Dakota to substitute new parameter values into this file to provide to the cantilever beam model.

To get started, create a new Dakota project called “Cantilever.”  Place “cantilever” and “cantilever.i” into the default “simulators” directory of your project.  Your project should now look like the following:


Note on Terminology:  Over the next several sections, the terms “parameter,” “variable,” and “input” will be used interchangeably based on the most appropriate word in context.  Likewise, “response” and “output” will also be used interchangeably based on context.