direct

Run analysis drivers that are linked-to or compiled-with Dakota

Specification

  • Alias: None

  • Arguments: None

Child Keywords:

Required/Optional

Description of Group

Dakota Keyword

Dakota Keyword Description

Optional

processors_per_analysis

Specify the number of processors per analysis when Dakota is run in parallel

Description

Direct interfaces are used to compile/link simulation programs into Dakota and to invoke Dakota’s built-in algebraic test problems.

Direct simulation interfaces communicate variable and response data in-core instead of through the filesystem. This typically requires modification to simulator programs so that they can be linked into Dakota; however it can be more efficient due to elimination of external processes and auxilliary simulator output, more accurate due to higher numerics, and more flexible in terms of MPI parallelism.

Direct interfaces are also used to invoke internal test functions that perform parameter to response mappings for simple functions as inexpensively as possible. These problems are compiled directly into the Dakota executable as part of the direct function interface class and are used for algorithm testing.

Dakota supports direct interfaces to a few select simulation codes such as Matlab, Python, and Scilab. Another example is ModelCenter, a commercial simulation management framework from Phoenix Integration. To utilize this interface, a user must first define the simulation specifics within a ModelCenter session and then save these definitions to a ModelCenter configuration file. The analysis_components specification provides the means to communicate this configuration file to Dakota’s ModelCenter interface.

Examples

The rosenbrock function is available as an executable, which can be launched with fork, and is also compiled with Dakota. The internal version can be used with:

interface
  analysis_drivers = 'rosenbrock'
    direct