0% found this document useful (0 votes)
209 views906 pages

Developers 6.0developers Guide For Dakota 6.0

This document describes the Dakota toolkit, which provides algorithms for optimization, uncertainty quantification, parameter estimation, and sensitivity analysis. It can be used for design and performance analysis of computational models. The document describes Dakota's class hierarchies and provides documentation for configuring and running Dakota as a library or application. It also provides guidance for developers on coding style, file naming conventions, and modifying Dakota's input specification.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
209 views906 pages

Developers 6.0developers Guide For Dakota 6.0

This document describes the Dakota toolkit, which provides algorithms for optimization, uncertainty quantification, parameter estimation, and sensitivity analysis. It can be used for design and performance analysis of computational models. The document describes Dakota's class hierarchies and provides documentation for configuring and running Dakota as a library or application. It also provides guidance for developers on coding style, file naming conventions, and modifying Dakota's input specification.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 906

SAND2014-5014

Unlimited Release
July 2014
Updated July 16, 2014

Dakota, A Multilevel Parallel Object-Oriented Framework for


Design Optimization, Parameter Estimation, Uncertainty
Quantification, and Sensitivity Analysis:
Version 6.0 Developers Manual
Brian M. Adams, Mohamed S. Ebeida, Michael S. Eldred, John D. Jakeman,
Laura P. Swiler, J. Adam Stephens, Dena M. Vigil, Timothy M. Wildey
Optimization and Uncertainty Quantification Department
William J. Bohnhoff
Radiation Transport Department
Keith R. Dalbey
Mission Analysis and Simulation Department
John P. Eddy
System Readiness and Sustainment Technologies Department
Kenneth T. Hu
Validation and Uncertainty Quantification Department
Lara E. Bauman, Patricia D. Hough
Quantitative Modeling and Analysis Department
Sandia National Laboratories
P.O. Box 5800
Albuquerque, New Mexico 87185

Abstract
The Dakota (Design Analysis Kit for Optimization and Terascale Applications) toolkit provides a flexible
and extensible interface between simulation codes and iterative analysis methods. Dakota contains algorithms
for optimization with gradient and nongradient-based methods; uncertainty quantification with sampling, reliability, and stochastic expansion methods; parameter estimation with nonlinear least squares methods; and sensitivity/variance analysis with design of experiments and parameter study methods. These capabilities may be used
on their own or as components within advanced strategies such as surrogate-based optimization, mixed integer
nonlinear programming, or optimization under uncertainty. By employing object-oriented design to implement
abstractions of the key components required for iterative systems analyses, the Dakota toolkit provides a flexible
and extensible problem-solving environment for design and performance analysis of computational models on
high performance computers.
This report describes the Dakota class hierarchies. It is derived from annotation of the source code and
provides detailed class documentation, including all member functions and attributes.

Contents
1

Dakota Developers Manual


1.1 Introduction . . . . . . . . . . . . . .
1.2 Overview of Dakota . . . . . . . . . .
1.3 Services . . . . . . . . . . . . . . . .
1.4 Development Practices and Guidance
1.5 Additional Resources . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

11
11
11
16
16
17

Coding Style Guidelines and Conventions


2.1 Introduction . . . . . . . . . . . . . .
2.2 C++/c Style Guidelines . . . . . . . .
2.3 File Naming Conventions . . . . . . .
2.4 Class Documentation Conventions . .
2.5 CMake Style Guidelines . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

19
19
19
21
22
22

Instructions for Modifying Dakotas Input Specification


3.1 Modify dakota.input.nspec . . . . . . . . . . . . . .
3.2 Rebuild generated files . . . . . . . . . . . . . . . .
3.3 Update NIDRProblemDescDB.cpp in Dakota/src . .
3.4 Update ProblemDescDB.cpp in Dakota/src . . . . .
3.5 Update Corresponding Data Classes . . . . . . . . .
3.6 Use get <data type>() Functions . . . . . . . . . .
3.7 Update the Documentation . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

25
25
26
26
27
28
29
29

Understanding Iterator Flow

Interfacing with Dakota as a Library


5.1 Introduction . . . . . . . . . . . . .
5.2 Basic Dakota library instantiation .
5.3 Configuring Dakota operation . . .
5.4 Creating a simulator plugin interface
5.5 Retrieving data after a run . . . . .
5.6 Linking against the Dakota library .

31

.
.
.
.
.
.

33
33
34
35
38
41
41

Performing Function Evaluations


6.1 Synchronous function evaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Asynchronous function evaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Analyses within each function evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43
43
43
44

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

CONTENTS

Working with Variable Containers and Views


7.1 Storage in Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Storage in SharedVariablesData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Active and inactive views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45
45
46
47

Namespace Index
49
8.1 Namespace List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Hierarchical Index
51
9.1 Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

10 Class Index
55
10.1 Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
11 File Index
65
11.1 File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
12 Namespace Documentation
67
12.1 Dakota Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
12.2 SIM Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
13 Class Documentation
13.1 ActiveSet Class Reference . . . . . . . . .
13.2 Analyzer Class Reference . . . . . . . . . .
13.3 ApplicationInterface Class Reference . . .
13.4 Approximation Class Reference . . . . . .
13.5 ApproximationInterface Class Reference . .
13.6 APPSEvalMgr Class Reference . . . . . . .
13.7 APPSOptimizer Class Reference . . . . . .
13.8 BaseConstructor Struct Reference . . . . .
13.9 callback data Struct Reference . . . . . . .
13.10COLINApplication Class Reference . . . .
13.11COLINOptimizer Class Reference . . . . .
13.12CollabHybridMetaIterator Class Reference
13.13CommandLineHandler Class Reference . .
13.14CommandShell Class Reference . . . . . .
13.15ConcurrentMetaIterator Class Reference . .
13.16CONMINOptimizer Class Reference . . . .
13.17Constraints Class Reference . . . . . . . .
13.18DataEnvironment Class Reference . . . . .
13.19DataEnvironmentRep Class Reference . . .
13.20DataFitSurrModel Class Reference . . . . .
13.21DataInterface Class Reference . . . . . . .
13.22DataMethod Class Reference . . . . . . . .
13.23DataMethodRep Class Reference . . . . . .
13.24DataModel Class Reference . . . . . . . .
13.25DataModelRep Class Reference . . . . . .
13.26DataResponses Class Reference . . . . . .
13.27DataResponsesRep Class Reference . . . .
13.28DataVariables Class Reference . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

283
283
285
291
306
312
317
320
322
323
323
326
330
332
333
334
336
343
352
353
355
366
367
368
380
381
385
387
390

CONTENTS
13.29DataVariablesRep Class Reference . . . . . . . . .
13.30DDACEDesignCompExp Class Reference . . . . .
13.31DirectApplicInterface Class Reference . . . . . . .
13.32DiscrepancyCorrection Class Reference . . . . . .
13.33DOTOptimizer Class Reference . . . . . . . . . .
13.34JEGAOptimizer::Driver Class Reference . . . . . .
13.35EffGlobalMinimizer Class Reference . . . . . . . .
13.36EfficientSubspaceMethod Class Reference . . . . .
13.37EmbedHybridMetaIterator Class Reference . . . .
13.38Environment Class Reference . . . . . . . . . . . .
13.39NomadOptimizer::Evaluator Class Reference . . .
13.40JEGAOptimizer::Evaluator Class Reference . . . .
13.41JEGAOptimizer::EvaluatorCreator Class Reference
13.42ExecutableEnvironment Class Reference . . . . . .
13.43ExperimentData Class Reference . . . . . . . . . .
13.44ForkApplicInterface Class Reference . . . . . . . .
13.45FSUDesignCompExp Class Reference . . . . . . .
13.46GaussProcApproximation Class Reference . . . . .
13.47GetLongOpt Class Reference . . . . . . . . . . . .
13.48Graphics Class Reference . . . . . . . . . . . . . .
13.49GridApplicInterface Class Reference . . . . . . . .
13.50HierarchSurrModel Class Reference . . . . . . . .
13.51Interface Class Reference . . . . . . . . . . . . . .
13.52Iterator Class Reference . . . . . . . . . . . . . . .
13.53IteratorScheduler Class Reference . . . . . . . . .
13.54JEGAOptimizer Class Reference . . . . . . . . . .
13.55LeastSq Class Reference . . . . . . . . . . . . . .
13.56LibraryEnvironment Class Reference . . . . . . . .
13.57MatlabInterface Class Reference . . . . . . . . . .
13.58MetaIterator Class Reference . . . . . . . . . . . .
13.59Minimizer Class Reference . . . . . . . . . . . . .
13.60MixedVarConstraints Class Reference . . . . . . .
13.61MixedVariables Class Reference . . . . . . . . . .
13.62Model Class Reference . . . . . . . . . . . . . . .
13.63MPIManager Class Reference . . . . . . . . . . .
13.64MPIPackBuffer Class Reference . . . . . . . . . .
13.65MPIUnpackBuffer Class Reference . . . . . . . . .
13.66NCSUOptimizer Class Reference . . . . . . . . . .
13.67NestedModel Class Reference . . . . . . . . . . .
13.68NIDRProblemDescDB Class Reference . . . . . .
13.69NL2Res Struct Reference . . . . . . . . . . . . . .
13.70NL2SOLLeastSq Class Reference . . . . . . . . .
13.71NLPQLPOptimizer Class Reference . . . . . . . .
13.72NLSSOLLeastSq Class Reference . . . . . . . . .
13.73NoDBBaseConstructor Struct Reference . . . . . .
13.74NomadOptimizer Class Reference . . . . . . . . .
13.75NonD Class Reference . . . . . . . . . . . . . . .
13.76NonDAdaptImpSampling Class Reference . . . . .
13.77NonDAdaptiveSampling Class Reference . . . . .

7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

391
402
406
410
413
417
419
421
425
426
430
432
437
438
439
440
442
445
450
453
456
457
461
470
483
488
494
498
500
502
503
517
518
520
548
549
551
553
556
564
568
568
571
575
577
578
580
590
594

CONTENTS
13.78NonDBayesCalibration Class Reference . . . . .
13.79NonDCalibration Class Reference . . . . . . . .
13.80NonDCubature Class Reference . . . . . . . . .
13.81NonDDREAMBayesCalibration Class Reference
13.82NonDExpansion Class Reference . . . . . . . . .
13.83NonDGlobalEvidence Class Reference . . . . . .
13.84NonDGlobalInterval Class Reference . . . . . .
13.85NonDGlobalReliability Class Reference . . . . .
13.86NonDGlobalSingleInterval Class Reference . . .
13.87NonDGPImpSampling Class Reference . . . . .
13.88NonDGPMSABayesCalibration Class Reference
13.89NonDIncremLHSSampling Class Reference . . .
13.90NonDIntegration Class Reference . . . . . . . .
13.91NonDInterval Class Reference . . . . . . . . . .
13.92NonDLHSEvidence Class Reference . . . . . . .
13.93NonDLHSInterval Class Reference . . . . . . . .
13.94NonDLHSSampling Class Reference . . . . . . .
13.95NonDLHSSingleInterval Class Reference . . . .
13.96NonDLocalEvidence Class Reference . . . . . .
13.97NonDLocalInterval Class Reference . . . . . . .
13.98NonDLocalReliability Class Reference . . . . . .
13.99NonDLocalSingleInterval Class Reference . . . .
13.100NonDPOFDarts Class Reference . . . . . . . . .
13.101NonDPolynomialChaos Class Reference . . . . .
13.102NonDQuadrature Class Reference . . . . . . . .
13.103NonDQUESOBayesCalibration Class Reference .
13.104NonDReliability Class Reference . . . . . . . . .
13.105NonDSampling Class Reference . . . . . . . . .
13.106NonDSparseGrid Class Reference . . . . . . . .
13.107NonDStochCollocation Class Reference . . . . .
13.108NonlinearCGOptimizer Class Reference . . . . .
13.109NPSOLOptimizer Class Reference . . . . . . . .
13.110OptDartsOptimizer Class Reference . . . . . . .
13.111Optimizer Class Reference . . . . . . . . . . . .
13.112OutputManager Class Reference . . . . . . . . .
13.113ParallelConfiguration Class Reference . . . . . .
13.114ParallelDirectApplicInterface Class Reference . .
13.115ParallelLevel Class Reference . . . . . . . . . .
13.116ParallelLibrary Class Reference . . . . . . . . .
13.117ParamResponsePair Class Reference . . . . . . .
13.118ParamStudy Class Reference . . . . . . . . . . .
13.119partial prp equality Struct Reference . . . . . . .
13.120partial prp hash Struct Reference . . . . . . . . .
13.121PecosApproximation Class Reference . . . . . .
13.122ProblemDescDB Class Reference . . . . . . . .
13.123ProcessApplicInterface Class Reference . . . . .
13.124ProcessHandleApplicInterface Class Reference .
13.125ProgramOptions Class Reference . . . . . . . . .
13.126PStudyDACE Class Reference . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

598
600
603
605
609
615
617
620
622
624
627
630
631
634
636
637
639
641
642
643
646
655
657
659
663
666
669
671
677
680
682
685
687
690
695
697
699
700
702
711
714
718
719
719
724
732
736
739
744

CONTENTS

13.127PSUADEDesignCompExp Class Reference . . . . . . .


13.128PythonInterface Class Reference . . . . . . . . . . . . .
13.129RecastBaseConstructor Struct Reference . . . . . . . . .
13.130RecastModel Class Reference . . . . . . . . . . . . . .
13.131RelaxedVarConstraints Class Reference . . . . . . . . .
13.132RelaxedVariables Class Reference . . . . . . . . . . . .
13.133Response Class Reference . . . . . . . . . . . . . . . .
13.134ResponseRep Class Reference . . . . . . . . . . . . . .
13.135ResultsDBAny Class Reference . . . . . . . . . . . . .
13.136ResultsEntry< StoredType > Class Template Reference
13.137ResultsID Class Reference . . . . . . . . . . . . . . . .
13.138ResultsManager Class Reference . . . . . . . . . . . . .
13.139ResultsNames Class Reference . . . . . . . . . . . . . .
13.140RichExtrapVerification Class Reference . . . . . . . . .
13.141ScilabInterface Class Reference . . . . . . . . . . . . .
13.142SensAnalysisGlobal Class Reference . . . . . . . . . . .
13.143SeqHybridMetaIterator Class Reference . . . . . . . . .
13.144SerialDirectApplicInterface Class Reference . . . . . . .
13.145SharedApproxData Class Reference . . . . . . . . . . .
13.146SharedPecosApproxData Class Reference . . . . . . . .
13.147SharedSurfpackApproxData Class Reference . . . . . .
13.148SharedVariablesData Class Reference . . . . . . . . . .
13.149SharedVariablesDataRep Class Reference . . . . . . . .
13.150SingleModel Class Reference . . . . . . . . . . . . . . .
13.151SNLLBase Class Reference . . . . . . . . . . . . . . . .
13.152SNLLLeastSq Class Reference . . . . . . . . . . . . . .
13.153SNLLOptimizer Class Reference . . . . . . . . . . . . .
13.154SOLBase Class Reference . . . . . . . . . . . . . . . .
13.155SpawnApplicInterface Class Reference . . . . . . . . . .
13.156SurfpackApproximation Class Reference . . . . . . . . .
13.157SurrBasedGlobalMinimizer Class Reference . . . . . . .
13.158SurrBasedLocalMinimizer Class Reference . . . . . . .
13.159SurrBasedMinimizer Class Reference . . . . . . . . . .
13.160SurrogateModel Class Reference . . . . . . . . . . . . .
13.161SysCallApplicInterface Class Reference . . . . . . . . .
13.162TANA3Approximation Class Reference . . . . . . . . .
13.163TaylorApproximation Class Reference . . . . . . . . . .
13.164TestDriverInterface Class Reference . . . . . . . . . . .
13.165TrackerHTTP Class Reference . . . . . . . . . . . . . .
13.166Variables Class Reference . . . . . . . . . . . . . . . . .
13.167Verification Class Reference . . . . . . . . . . . . . . .
14 File Documentation
14.1 dakota dll api.cpp File Reference .
14.2 dakota dll api.h File Reference . . .
14.3 dakota tabular io.hpp File Reference
14.4 dll tester.cpp File Reference . . . .
14.5 JEGAOptimizer.cpp File Reference
14.6 JEGAOptimizer.hpp File Reference
14.7 library mode.cpp File Reference . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

746
748
750
751
759
760
762
766
772
774
775
776
778
779
781
782
784
787
789
793
796
798
802
805
807
810
813
819
822
823
826
827
834
838
842
845
847
848
853
855
863

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

865
865
866
867
868
869
869
870

10

CONTENTS
14.8 library split.cpp File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
14.9 main.cpp File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874
14.10restart util.cpp File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875

Index

876

Chapter 1

Dakota Developers Manual


Author
Brian M. Adams, Lara E. Bauman, William J. Bohnhoff, Keith R. Dalbey, John P. Eddy, Mohamed S.
Ebeida, Michael S. Eldred, Patricia D. Hough, Kenneth T. Hu, John D. Jakeman, Laura P. Swiler, J. Adam
Stephens, Dena M. Vigil, Timothy M. Wildey

1.1

Introduction

The Dakota (Design Analysis Kit for Optimization and Terascale Applications) toolkit provides a flexible, extensible interface between analysis codes and iteration methods. Dakota contains algorithms for optimization
with gradient and nongradient-based methods, uncertainty quantification with sampling, reliability, stochastic
expansion, and interval estimation methods, parameter estimation with nonlinear least squares methods, and sensitivity/variance analysis with design of experiments and parameter study capabilities. (Solution verification and
Bayesian approaches are also in development.) These capabilities may be used on their own or as components
within advanced algorithms such as surrogate-based optimization, mixed integer nonlinear programming, mixed
aleatory-epistemic uncertainty quantification, or optimization under uncertainty. By employing object-oriented
design to implement abstractions of the key components required for iterative systems analyses, the Dakota toolkit
provides a flexible problem-solving environment for design and performance analysis of computational models
on high performance computers.
The Developers Manual focuses on documentation of Dakota design principles and class structures; it derives
principally from annotated source code. For information on input command syntax, refer to the Reference
Manual, and for more details on Dakota features and capabilities, refer to the Users Manual.

1.2

Overview of Dakota

In Dakota, the environment manages execution modes and input/output streams and defines the top-level iterator.
This top-level iterator may be either a standard iterator or a meta-iterator. In the former case, the iterator identifies
a model and the environment executes the iterator on the model to perform a single study. In the latter case,
iterator recursions are present and sub-iterators may identify their own models. In both cases, models may contain
additional recursions in the case of nested iteration or surrogate modeling. In a simple example, a hybrid metaiterator might manage a global optimizer operating on a low-fidelity model that feeds promising design points
into a local optimizer operating on a high-fidelity model. And in a more advanced example, a surrogate-based
optimization under uncertainty approach would employ an uncertainty quantification iterator nested within an
11

12

CHAPTER 1. DAKOTA DEVELOPERS MANUAL

optimization iterator and would employ truth models contained within surrogate models. Thus, iterators and
models provide both stand-alone capabilities as well as building blocks for more sophisticated studies.
A model contains a set of variables, an interface, and a set of responses, and the iterator operates on the
model to map the variables into responses using the interface. Each of these components is a flexible abstraction
with a variety of specializations for supporting different types of iterative studies. In a Dakota input file, the user
specifies these components through environment, method, model, variables, interface, and responses keyword
specifications.
The use of class hierarchies provides a mechanism for extensibility in Dakota components. In each of the
various class hierarchies, adding a new capability typically involves deriving a new class and providing a set of
virtual function redefinitions. These redefinitions define the coding portions specific to the new derived class,
with the common portions already defined at the base class. Thus, with a small amount of new code, the existing
facilities can be extended, reused, and leveraged for new purposes. The following sections tour Dakotas class
organization.

1.2.1

Environment

Class hierarchy: Environment.


Environments provide the top level abstraction for managing different execution modes and managing input
and output streams. Specific environments include:
ExecutableEnvironment: the environment for execution of Dakota as a stand-alone application.
LibraryEnvironment: the environment for execution of Dakota as an embedded library service.

1.2.2

Iterators

Class hierarchy: Iterator. Iterator implementations may choose to split operations up into run-time phases as
described in Understanding Iterator Flow.
The iterator hierarchy contains a variety of iterative algorithms for optimization, uncertainty quantification,
nonlinear least squares, design of experiments, and parameter studies. The hierarchy is divided into MetaIterator,
Minimizer, and Analyzer branches.
The MetaIterator classes manage sequencing and collaboration among multiple methods with support for
concurrent iterator parallelism. Methods include:
SeqHybridMetaIterator: hybrid minimization using a set of iterators employing a corresponding set of
models of varying fidelity. The sequential hybrid passes the best solutions from one method in as the
starting points of the next method in the sequence.
CollabHybridMetaIterator: hybrid minimization employing collaboration and sharing of response data
among methods during the course if iteration. This class is currently a placeholder.
EmbedHybridMetaIterator: hybrid minimization involving periodic use of a local search method for refinement during the iteration of an outer global method. This class is currently a placeholder.
ConcurrentMetaIterator: two similar algorithms are available: (1) multi-start iteration from several different
starting points, and (2) pareto set optimization for several different multi-objective weightings. Employs
a single iterator with a single model, but runs multiple instances of the iterator concurrently for different
settings within the model.
The Minimizer classes address optimization and deterministic calibration and are grouped into:

1.2. OVERVIEW OF DAKOTA

13

Optimization: Optimizer provides a base class for gradient-based (e.g., CONMINOptimizer and SNLLOptimizer) and derivative-free (e.g., NCSUOptimizer, JEGAOptimizer) optimization solvers. Most of
these are wrappers for third-party libraries that implement the optimization algorithms. Classes APPSEvalMgr and COLINApplication provide the function evaluation interface for APPSOptimizer and COLINOptimizer, respectively.
Parameter estimation: LeastSq provides a base class for NL2SOLLeastSq, a least-squares solver based
on NL2SOL, SNLLLeastSq, a Gauss-Newton least-squares solver, and NLSSOLLeastSq, an SQP-based
least-squares solver.
Surrogate-based minimization (both optimization and nonlinear least squares): SurrBasedMinimizer provides a base class for SurrBasedLocalMinimizer, SurrBasedGlobalMinimizer, and EffGlobalMinimizer.
The surrogate-based local and global methods employ a single iterator with any of the available SurrogateModel capabilities (local, multipoint, or global data fits or hierarchical approximations) and perform a sequence of approximate optimizations, each involving build, optimize, and verify steps. The efficient global
method, on the other hand, hard-wires a recursion involving Gaussian process surrogate models coupled
with the DIRECT global optimizer to maximize an expected improvement function.
The Analyzer classes are grouped into:
Uncertainty quantification: NonD provides a base class for non-deterministic methods in several categories:
Sampling: NonDSampling is further specialized with the NonDLHSSampling class for Latin hypercube and Monte Carlo sampling, and a number of other classes supporting incremental and adaptive
sampling such as NonDAdaptImpSampling for multi-modal adaptive importance sampling.
Reliability Analysis: NonDReliability is further specialized with local and global methods (NonDLocalReliability and NonDGlobalReliability). NonDPOFDarts implements a computational geometrybased reliability method.
Stochastic Expansions: NonDExpansion includes specializations for generalized polynomial chaos
(NonDPolynomialChaos) and stochastic collocation (NonDStochCollocation) and is supported by the
NonDIntegration helper class, which supplies cubature, tensor-product quadrature and Smolyak sparse
grid methods (NonDCubature, NonDQuadrature, and NonDSparseGrid).
Bayesian Calibration: NonDCalibration provides a base class for nondeterministic calibration methods with specialization to Bayesian calibration in NonDBayesCalibration, and specific implementations such as NonDQUESOBayesCalibration.
NonDInterval provides a base class for epistemic interval-based UQ methods. Three interval analysis approaches are provided: LHS (NonDLHSInterval), efficient global optimization (NonDGlobalInterval), and local optimization (NonDLocalInterval). Each of these three has specializations for
single interval and Dempster-Shafer Theory of Evidence approaches.
Experimental: EfficientSubspaceMethod implements a prototype input-space dimension reduction
method for UQ.
Parameter studies and design of experiments: PStudyDACE provides a base class for ParamStudy, which
provides capabilities for directed parameter space interrogation, PSUADEDesignCompExp, which provides
access to the Morris One-At-a-Time (MOAT) method for parameter screening, and DDACEDesignCompExp and FSUDesignCompExp, which provide for parameter space exploration through design and analysis
of computer experiments. NonDLHSSampling from the uncertainty quantification branch also supports
design of experiments when in active all variables mode.
Solution verification studies: Verification provides a base class for RichExtrapVerification (verification via
Richardson extrapolation) and other solution verification methods in development.

14

CHAPTER 1. DAKOTA DEVELOPERS MANUAL

1.2.3

Models

Class hierarchy: Model.


The model classes are responsible for mapping variables into responses when an iterator makes a function
evaluation request. There are several types of models, some supporting sub-iterators and sub-models for enabling
layered and nested relationships. When sub-models are used, they may be of arbitrary type so that a variety of
recursions are supported.
SingleModel: variables are mapped into responses using a single Interface object. No sub-iterators or
sub-models are used.
SurrogateModel: variables are mapped into responses using an approximation. The approximation is built
and/or corrected using data from a sub-model (the truth model) and the data may be obtained using a subiterator (a design of experiments iterator). SurrogateModel has two derived classes: DataFitSurrModel
for data fit surrogates and HierarchSurrModel for hierarchical models of varying fidelity. The relationship
of the sub-iterators and sub-models is considered to be layered since they are not used as part of every
response evaluation on the top level model, but rather used periodically in surrogate update and verification
steps.
NestedModel: variables are mapped into responses using a combination of an optional Interface and a subiterator/sub-model pair. The relationship of the sub-iterators and sub-models is considered to be nested
since they are used to perform a complete iterative study as part of every response evaluation on the top
level model.
RecastModel: recasts the inputs and outputs of a sub-model for the purposes of variable transformations
(e.g., variable scaling, transformations to standardized random variables) and problem reformulation (e.g.,
multi-objective optimization, response scaling, augmented Lagrangian merit functions, expected improvement).

1.2.4

Variables

Class hierarchy: Variables.


The Variables class hierarchy manages design, aleatory uncertain, epistemic uncertain, and state variable types
for continuous, discrete integer, and discrete real domain types. This hierarchy is specialized according to how
the domain types are managed:
MixedVariables: domain type distinctions are retained, such that separate continuous, discrete integer, and
discrete real domain types are managed. This is the default Variable perspective, and draws its name from
mixed continuous-discrete optimization.
RelaxedVariables: domain types are combined through relaxation of discrete constraints; i.e., continuous
and discrete variables are merged into continuous arrays through relaxation of integrality (for discrete integer ranges) or set membership (for discrete integer or discrete real sets) requirements. The branch and
bound minimizer is the only method using this approach at present.
Whereas domain types are defined based on the derived Variables class selection, the selection of active variable types is handled within each of these derived classes using variable views. These permit different algorithms
to work on different subsets of variables. Data shared among Variables instances is stored in SharedVariablesData.
For details on managing variables, see Working with Variable Containers and Views.
The Constraints hierarchy manages bound, linear, and nonlinear constraints and utilizes the same specializations for managing bounds on the variables (see MixedVarConstraints and RelaxedVarConstraints).

1.2. OVERVIEW OF DAKOTA

1.2.5

15

Interfaces

Class hierarchy: Interface.


Interfaces provide access to simulation codes or, conversely, approximations based on simulation code data.
In the simulation case, an ApplicationInterface is used. ApplicationInterface is specialized according to the simulation invocation mechanism, for which the following nonintrusive approaches are supported:
SysCallApplicInterface: the simulation is invoked using a system call (the C function system()). Asynchronous invocation utilizes a background system call. Utilizes the CommandShell utility.
ForkApplicInterface: the simulation is invoked using a fork (the fork/exec/wait family of functions).
Asynchronous invocation utilizes a nonblocking fork.
SpawnApplicInterface: for Windows, fork is replaced by spawn. Asynchronous invocation utilizes a nonblocking spawn.
Fork and Spawn are inherited from ProcessHandleApplicInterface and System and ProcessHandle are inherited from ProcessApplicInterface. A semi-intrusive approach is also supported by:
DirectApplicInterface: the simulation is linked into the Dakota executable and is invoked using a procedure
call. Asynchronous invocations will utilize nonblocking threads (capability not yet available). Specializations of the direct interface are implemented in MatlabInterface, PythonInterface, ScilabInterface, and
(for built-in testers) TestDriverInterface, while examples of plugin interfaces for library mode in serial and
parallel, respectively, are included in SerialDirectApplicInterface and ParallelDirectApplicInterface
Scheduling of jobs for asynchronous local, message passing, and hybrid parallelism approaches is performed
in the ApplicationInterface class, with job initiation and job capture specifics implemented in the derived classes.
In the approximation case, global, multipoint, or local data fit approximations to simulation code response
data can be built and used as surrogates for the actual, expensive simulation. The interface class providing this
capability is
ApproximationInterface: builds an approximation using data from a truth model and then employs the approximation for mapping variables to responses. This class contains an array of Approximation objects, one
per response function, which support a variety of approximation types using the different Approximation derived classes. These include SurfpackApproximation (provides kriging, MARS, moving least squares, neural network, polynomial regression, and radial basis functions), GaussProcApproximation (Gaussian process models), PecosApproximation (multivariate orthogonal and Lagrange interpolation polynomials from
Pecos), TANA3Approximation (two-point adaptive nonlinearity approximation), and TaylorApproximation
(local Taylor series).
which is an essential component within the DataFitSurrModel capability described above in Models.

1.2.6

Responses

Class: Response.
The Response class provides an abstract data representation of response functions and their first and second
derivatives (gradient vectors and Hessian matrices). These response functions can be interpreted as objective
functions and constraints (optimization data set), residual functions and constraints (least squares data set), or
generic response functions (uncertainty quantification data set). This class is not currently part of a class hierarchy,
since the abstraction has been sufficiently general and has not required specialization.

16

CHAPTER 1. DAKOTA DEVELOPERS MANUAL

1.3

Services

A variety of services and utilities are used in Dakota for parallel computing, failure capturing, restart, graphics,
etc. An overview of the classes and member functions involved in performing these services is included here.
Multilevel parallel computing: Dakota supports multiple levels of nested parallelism. A meta-iterator can
manage concurrent iterators, each of which manages concurrent function evaluations, each of which manages concurrent analyses executing on multiple processors. Partitioning of these levels with MPI communicators is managed in ParallelLibrary and scheduling routines for the levels are part of IteratorScheduler,
ApplicationInterface, and ForkApplicInterface.
Option management: Global options controlling behavior are managed in ProgramOptions, with the help
of command-line option parsing in CommandLineHandler.
Parsing: Dakota employs NIDR (New Input Deck Reader) via Dakota::ProblemDescDB::parse inputs to
parse user input files. NIDR uses the keyword handlers in the NIDRProblemDescDB derived class to populate data within the ProblemDescDB base class, which maintains a DataEnvironment specification and
lists of DataMethod, DataModel, DataVariables, DataInterface, and DataResponses specifications. Procedures for modifying the parsing subsystem are described in Instructions for Modifying Dakotas Input
Specification.
Failure capturing: Simulation failures can be trapped and managed using exception handling in ApplicationInterface and its derived classes.
Restart: Dakota maintains a record of all function evaluations both in memory (for capturing any duplication) and on the file system (for restarting runs). Restart options are managed through ProgramOptions (with
the help of CommandLineHandler); file management in OutputManager; and restart file insertions occur
in ApplicationInterface. The dakota restart util executable, built from restart util.cpp, provides a
variety of services for interrogating, converting, repairing, concatenating, and post-processing restart files.
Memory management: Dakota employs the techniques of reference counting and representation sharing
through the use of letter-envelope and handle-body idioms (Coplien, Advanced C++). The former idiom
provides for memory efficiency and enhanced polymorphism in the following class hierarchies: Environment, Iterator, Model, Variables, Constraints, Interface, ProblemDescDB, and Approximation. The latter
idiom provides for memory efficiency in data-intensive classes which do not involve a class hierarchy. The
Response and parser data (DataEnvironment, DataMethod, DataModel, DataVariables, DataInterface, and
DataResponses) classes use this idiom. When managing reference-counted data containers (e.g., Variables
or Response objects), it is important to properly manage shallow and deep copies, to allow for both efficiency and data independence as needed in a particular context.
Graphics and Output: Dakota provides 2D iteration history graphics using Motif widgets. Graphics data
can also be cataloged in a tabular data file for post-processing with 3rd party tools such as Matlab, Tecplot, etc. These capabilities are encapsulated within the Graphics class. An experimental results database
is implemented in ResultsManager and ResultsDBAny. Options for controlling output and facilities for
managing it are in OutputManager.

1.4

Development Practices and Guidance

The following links provide guidance for core software components or specific development activities:
Coding Style Guidelines and Conventions - coding practices used by the Dakota development team.

1.5. ADDITIONAL RESOURCES

17

Instructions for Modifying Dakotas Input Specification - how to interact with NIDR and the associated
Dakota classes.
Interfacing with Dakota as a Library - embed Dakota as a service within your application.
Understanding Iterator Flow - explanation of the full granularity of steps in Iterator execution.
Performing Function Evaluations - an overview of the classes and member functions involved in performing
function evaluations synchronously or asynchronously.
Working with Variable Containers and Views - discussion of data storage for variables and explanation of
active and inactive views of this data.

1.5

Additional Resources

Additional development resources include:


The Dakota Developer Portal linked from http://dakota.sandia.gov/developer/ includes information on getting started as a developer and links to project management resources.
Project web pages are maintained at http://dakota.sandia.gov/ including links to frequently
asked questions, documentation, publications, mailing lists, and other resources.

18

CHAPTER 1. DAKOTA DEVELOPERS MANUAL

Chapter 2

Coding Style Guidelines and Conventions


2.1

Introduction

Common code development practices can be extremely useful in multiple developer environments. Particular
styles for code components lead to improved readability of the code and can provide important visual cues to
other developers. Much of this recommended practices document is borrowed from the CUBIT mesh generation
project, which in turn borrows its recommended practices from other projects, yielding some consistency across
Sandia projects. While not strict requirements, these guidelines suggest a best-practices starting point for coding
in Dakota.

2.2

C++/c Style Guidelines

Style guidelines involve the ability to discern at a glance the type and scope of a variable or function.

2.2.1

Class and variable styles

Class names should be composed of two or more descriptive words, with the first character of each word capitalized, e.g.:
class ClassName;

Class member variables should be composed of two or more descriptive words, with the first character of the
second and succeeding words capitalized, e.g.:
double classMemberVariable;

Temporary (i.e. local) variables are lower case, with underscores separating words in a multiple word temporary variable, e.g.:
int temporary variable;

Constants (i.e. parameters) and enumeration values are upper case, with underscores separating words, e.g.:
const double CONSTANT VALUE;

19

20

2.2.2

CHAPTER 2. CODING STYLE GUIDELINES AND CONVENTIONS

Function styles

Function names are lower case, with underscores separating words, e.g.:
int function name();

There is no need to distinguish between member and non-member functions by style, as this distinction is usually clear by context. This style convention allows member function names which set and return the value of a
similarly-named private member variable, e.g.:
int memberVariable;
void member variable(int a) { // set
memberVariable = a;
}
int member variable() const { // get
return memberVariable;
}

In cases where the data to be set or returned is more than a few bytes, it is highly desirable to employ const
references to avoid unnecessary copying, e.g.:
void continuous variables(const RealVector& c vars) { // set
continuousVariables = c vars;
}
// get
const RealVector& continuous variables() const {
return continuousVariables;
}

Note that it is not necessary to always accept the returned data as a const reference. If it is desired to be able
change this data, then accepting the result as a new variable will generate a copy, e.g.:
// reference to continuousVariables cannot be changed
const RealVector& c vars = model.continuous variables();
// local copy of continuousVariables can be changed
RealVector c vars = model.continuous variables();

2.2.3

Miscellaneous

Appearance of typedefs to redefine or alias basic types is isolated to a few header files (data types.h,
template defs.h), so that issues like program precision can be changed by changing a few lines of typedefs rather than many lines of code, e.g.:
typedef double Real;

xemacs is the preferred source code editor, as it has C++ modes for enhancing readability through color (turn
on Syntax highlighting). Other helpful features include Paren highlighting for matching parentheses and the
New Frame utility to have more than one window operating on the same set of files (note that this is still the
same edit session, so all windows are synchronized with each other). Window width should be set to 80 internal
columns, which can be accomplished by manual resizing, or preferably, using the following alias in your shell
resource file (e.g., .cshrc):
alias xemacs "xemacs -g 81x63"

where an external width of 81 gives 80 columns internal to the window and the desired height of the window
will vary depending on monitor size. This window width imposes a coding standard since you should avoid line
wrapping by continuing anything over 80 columns onto the next line.
Indenting increments are 2 spaces per indent and comments are aligned with the code they describe, e.g.:

2.3. FILE NAMING CONVENTIONS

21

void abort handler(int code)


{
int initialized = 0;
MPI Initialized(&initialized);
if (initialized) {
// comment aligned to block it describes
int size;
MPI Comm size(MPI COMM WORLD, &size);
if (size>1)
MPI Abort(MPI COMM WORLD, code);
else
exit(code);
}
else
exit(code);
}

Also, the continuation of a long command is indented 2 spaces, e.g.:


const String& iterator scheduling
= problem db.get string("strategy.iterator scheduling");

and similar lines are aligned for readability, e.g.:


cout << "Numerical gradients using " << finiteDiffStepSize*100. << "%"
<< finiteDiffType << " differences\nto be calculated by the "
<< methodSource << " finite difference routine." << endl;

Lastly, #ifdefs are not indented (to make use of syntax highlighting in xemacs).

2.3

File Naming Conventions

In addition to the style outlined above, the following file naming conventions have been established for the Dakota
project.
File names for C++ classes should, in general, use the same name as the class defined by the file. Exceptions
include:
with the introduction of the Dakota namespace, base classes which previously utilized prepended Dakota
identifiers can now safely omit the identifiers. However, since file names do not have namespace protection
from name collisions, they retain the prepended Dakota identifier. For example, a class previously named
DakotaModel which resided in DakotaModel.cpp/hpp, is now Dakota::Model (class Model in namespace
Dakota) residing in the same filenames. The retention of the previous filenames reduces the possibility of
multiple instances of a Model.hpp causing problems. Derived classes (e.g., NestedModel) do not require a
prepended Dakota identifier for either the class or file names.
in a few cases, it is convenient to maintain several closely related classes in a single file, in which case the file
name may reflect the top level class or some generalization of the set of classes (e.g., DakotaResponse.[CH]
files contain Dakota::Response and Dakota::ResponseRep classes, and DakotaBinStream.[CH] files contain
the Dakota::BiStream and Dakota::BoStream classes).
The type of file is determined by one of the four file name extensions listed below:
.hpp A class header file ends in the suffix .hpp. The header file provides the class declaration. This file does
not contain code for implementing the methods, except for the case of inline functions. Inline functions are
to be placed at the bottom of the file with the keyword inline preceding the function name.
.cpp A class implementation file ends in the suffix .cpp. An implementation file contains the definitions of
the members of the class.

22

CHAPTER 2. CODING STYLE GUIDELINES AND CONVENTIONS


.h A header file ends in the suffix .h. The header file contains information usually associated with procedures. Defined constants, data structures and function prototypes are typical elements of this file.
.c A procedure file ends in the suffix .c. The procedure file contains the actual procedures.

2.4

Class Documentation Conventions

Class documentation uses the doxygen tool available from http://www.doxygen.org and employs the JAVA-doc comment style. Brief comments appear in header files next to the attribute or function declaration.
Detailed descriptions for functions should appear alongside their implementations (i.e., in the .cpp files for noninlined, or in the headers next to the function definition for inlined). Detailed comments for a class or a class
attribute must go in the header file as this is the only option.
NOTE: Previous class documentation utilities (class2frame and class2html) used the //- comment style and
comment blocks such as this:
//////////-

Class:
Model
Description: The model to be iterated by the Iterator.
Contains Variables, Interface, and Response objects.
Owner:
Mike Eldred
Version: $Id: Dev Recomm Pract.dox 4549 2007-09-20 18:25:03Z mseldre $

These tools are no longer used, so remaining comment blocks of this type are informational only and will not
appear in the documentation generated by doxygen.

2.5

CMake Style Guidelines

Dakota conventions for CMake files, such as CMakeLists.txt, FooConfig.cmake, etc., follow. Our goal is ease of
reading, maintenance, and support, similar to the C++ code itself. Current CMake versions and build hints are
maintained at the Developer Portal http://dakota.sandia.gov/developer/.

2.5.1

CMake Code Formatting

Indentation is 2 spaces, consistent with Dakota C++ style.


Lines should be kept to less than 80 chars per line where possible.
Wrapped lines may be indented two spaces or aligned with prior lines.
For ease of viewing and correctness checking in Emacs, a customization file is available: http://www.cmake.org/CMakeDocs/cmake-mode.el

2.5.2

CMake Variable Naming Conventions

These variable naming conventions are especially important for those that ultimately become preprocessor defines
and affect compilation of source files.
Classic/core elements of the CMake language are set in lower case, e.g., option, set, if, find library.
Static arguments to CMake functions and macros are set in UPPER CASE, e.g. REQUIRED, NO MODULE, QUIET.
Minimize global variables, i.e., dont use 2 variables with the same meaning when one will do the job.

2.5. CMAKE STYLE GUIDELINES

23

Feature toggling: when possible, use the HAVE <pkg/feature> convention already in use by many CMake-enabled TPLs, e.g.,
$ grep HAVE SYSTEM Dakota/src/CMakeLists.txt
check function exists(system HAVE SYSTEM)
if(HAVE SYSTEM)
add definitions("-DHAVE SYSTEM")
endif(HAVE SYSTEM)
$ grep HAVE CONMIN Dakota/src/CMakeLists.txt Dakota/packages/CMakeLists.txt
Dakota/src/CMakeLists.txt:if(HAVE CONMIN)
Dakota/src/CMakeLists.txt:endif(HAVE CONMIN)
Dakota/packages/CMakeLists.txt:option(HAVE CONMIN "Build the CONMIN package." ON)
Dakota/packages/CMakeLists.txt:if(HAVE CONMIN)
Dakota/packages/CMakeLists.txt:endif(HAVE CONMIN)

When a variable/preprocessor macro could result in name clashes beyond Dakota scope, e.g., for library mode users, consider prefixing the HAVE <pkg> name with DAKOTA , e.g. DAKOTA HAVE MPI.
Currently, MPI is the only use case for such a variable in Dakota, but many examples can be found in the
CMake Modules source, e.g.
grep HAVE <cmake prefix dir>/share/cmake-2.8/Modules/*

24

CHAPTER 2. CODING STYLE GUIDELINES AND CONVENTIONS

Chapter 3

Instructions for Modifying Dakotas Input


Specification
To modify Dakotas input specification (for maintenance or addition of new input syntax), specification maintenance mode must be enabled at Dakota configure time with the -DENABLE SPEC MAINT option, e.g.,
./cmake -DENABLE SPEC MAINT:BOOL=ON ..

This will enable regeneration of NIDR and Dakota components which must be updated following a spec change.

3.1

Modify dakota.input.nspec

The master input specification dakota.input.nspec in Dakota/src is the primary file to update when making a
specification change. It uses the following syntactic elements:
() for required group specifications
[] for optional specifications
| for alternatives
{} for functions to process keywords to express logical relationships. These syntactic elements can be used
to express various dependency relationships in the input specification. It is recommended that you review
the existing specification and have an understanding of the constructs in use before attempting to add new
ones.
Warning
Do not skip this step. Attempts to modify the NIDR keywds.hpp file in Dakota/src without using the
NIDR table generator are very error-prone. Moreover, the input specification provides a reference
to the allowable inputs of a particular executable and should be kept in synch with the parser files;
modifying the parser files independent of the input specification creates, at a minimum, undocumented
features.
All keywords in dakota.input.nspec are lower case by convention. All user inputs are converted to
lower case by the parser prior to keyword match testing, resulting in case insensitive parsing.
25

26

CHAPTER 3. INSTRUCTIONS FOR MODIFYING DAKOTAS INPUT SPECIFICATION


Since the NIDR parser allows abbreviation of keywords, you must avoid adding a keyword that could
be misinterpreted as an abbreviation for a different keyword within the same top-level keyword, such
as environment and method. For example, adding the keyword expansion within the method
specification would be a mistake if the keyword expansion factor already was being used in this
specification.
The NIDR input is somewhat order-dependent, allowing the same keyword to be reused multiple times
in the specification. This often happens with aliases, such as lower bounds, upper bounds and
initial point. Ambiguities are resolved by attaching a keyword to the most recently seen context
in which it could appear, if such exists, or to the first relevant context that subsequently comes along in
the input file. With the earlier IDR parser, non-exclusive specifications (those not in mutually exclusive
blocks) were required to be unique. That is why there are such aliases for initial point as cdvinitial point and ddv initial point: so older input files can be used with no or fewer
changes.

3.2

Rebuild generated files

When configured with -DENABLE SPEC MAINT, performing a make in Dakota/src will regenerate all files
which derive from dakota.input.nspec, including NIDR keywds.hpp, dakota.input.summary, NIDR guikywds.h, and dakota.input.desc. If you commit changes to a source repository, be sure to commit any automatically
generated files in addition to any modified in the following steps. It is not strictly necessary to run make at this
point in the sequence, and in fact may generate errors if necessary handlers arent yet available.

3.3

Update NIDRProblemDescDB.cpp in Dakota/src

Many keywords have data associated with them: an integer, a floating-point number, a string, or arrays of such
entities. Data requirements are specified in dakota.input.nspec by the tokens INTEGER, REAL, STRING, INTEGERLIST, REALLIST, STRINGLIST. (Some keywords have no associated data and hence no such token.) After
each keyword and data token, the dakota.input.nspec file specifies functions that the NIDR parser should call to
record the appearance of the keyword and deal with any associated data. The general form of this specification is
{ startfcn, startdata, stopfcn, stopdata }
i.e., a brace-enclosed list of one to four functions and data pointers, with trailing entities taken to be zero if
not present; zero for a function means no function will be called. The startfcn must deal with any associated
data. Otherwise, the distinction between startfcn and stopfcn is relevant only to keywords that begin a group of
keywords (enclosed in parentheses or square brackets). The startfcn is called before other entities in the group are
processed, and the stop function is called after they are processed. Top-level keywords often have both startfcn
and stopfcn; stopfcn is uncommon but possible for lower-level keywords. The startdata and (if needed) stopdata
values are usually pointers to little structures that provide keyword-specific details to generic functions for startfcn
and stopfcn. Some keywords that begin groups (such as approx problem within the top-level environment
keyword) have no need of either a startfcn or a stopfcn; this is indicated by {0}.
Most of the things within braces in dakota.input.nspec are invocations of macros defined in NIDRProblemDescDB.cpp. The macros simplify writing dakota.input.nspec and make it more readable. Most macro invocations
refer to little structures defined in NIDRProblemDescDB.cpp, usually with the help of other macros, some of
which have different definitions in different parts of NIDRProblemDescDB.cpp. When adding a keyword to
dakota.input.nspec, you may need to add a structure definition or even introduce a new data type. NIDRProblemDescDB.cpp has sections corresponding to each top-level keyword. The top-level keywords are in alphabetical
order, and most entities in the section for a top-level keyword are also in alphabetical order. While not required, it
is probably good practice to maintain this structure, as it makes things easier to find.

3.4. UPDATE PROBLEMDESCDB.CPP IN DAKOTA/SRC

27

Any integer, real, or string data associated with a keyword are provided to the keywords startfcn, whose
second argument is a pointer to a Values structure, defined in header file nidr.h.
Example 1: if you added the specification:
[method_setting REAL {method_setting_start, &method_setting_details} ]

you would provide a function


void NIDRProblemDescDB::
method setting start(const char *keyname, Values *val, void **g, void *v)
{ ... }

in NIDRProblemDescDB.cpp. In this example, argument &method setting details would be passed as


v, val->n (the number of values) would be 1 and val->r would be the REAL value given for the methodsetting keyword. The method setting start function would suitably store this value with the help of
method setting details.
For some top-level keywords, g (the third argument to the startfcn and stopfcn) provides access to a relevant
context. For example, method start (the startfcn for the top-level method keyword) executes
DataMethod *dm = new DataMethod;
g = (void*)dm;

(and supplies a couple of default values to dm). The start functions for lower-level keywords within the method
keyword get access to dm through their g arguments. Here is an example:
void NIDRProblemDescDB::
method str(const char *keyname, Values *val, void **g, void *v)
{
(*(DataMethod**)g)->**(String DataMethod::**)v = *val->s;
}

In this example, v points to a pointer-to-member, and an assignment is made to one of the components of the
DataMethod object pointed to by g. The corresponding stopfcn for the top-level method keyword is
void NIDRProblemDescDB::
method stop(const char *keyname, Values *val, void **g, void *v)
{
DataMethod *p = *(DataMethod**)g;
pDDBInstance->dataMethodList.insert(*p);
delete p;
}

which copies the now populated DataMethod object to the right place and cleans up.
Example 2: if you added the specification
[method_setting REALLIST {{N_mdm(RealL,methodCoeffs)}

then method RealL (defined in NIDRProblemDescDB.cpp) would be called as the startfcn, and methodCoeffs
would be the name of a (currently nonexistent) component of DataMethod. The N mdm macro is defined in NIDRProblemDescDB.cpp; among other things, it turns RealL into NIDRProblemDescDB::method RealL.
This function is used to process lists of REAL values for several keywords. By looking at the source, you can see
that the list values are val->r[i] for 0 <= i < val->n.

3.4
3.4.1

Update ProblemDescDB.cpp in Dakota/src


Augment/update get <data type>() functions

The next update step involves extending the database retrieval functions in ProblemDescDB.cpp. These retrieval
functions accept an identifier string and return a database attribute of a particular type, e.g., a RealVector:

28

CHAPTER 3. INSTRUCTIONS FOR MODIFYING DAKOTAS INPUT SPECIFICATION

const RealVector& get rv(const String& entry name);

The implementation of each of these functions contains tables of possible entry name values and associated
pointer-to-member values. There is one table for each relevant top-level keyword, with the top-level keyword
omitted from the names in the table. Since binary search is used to look for names in these tables, each table must
be kept in alphabetical order of its entry names. For example,
...
else if ((L = Begins(entry name, "model."))) {
if (dbRep->methodDBLocked)
Locked db();
#define P &DataModelRep::
static KW<RealVector, DataModelRep> RVdmo[] = {
// must be sorted
{"nested.primary response mapping", P primaryRespCoeffs},
{"nested.secondary response mapping", P secondaryRespCoeffs},
{"surrogate.kriging conmin seed", P krigingConminSeed},
{"surrogate.kriging correlations", P krigingCorrelations},
{"surrogate.kriging max correlations", P krigingMaxCorrelations},
{"surrogate.kriging min correlations", P krigingMinCorrelations}};
#undef P
KW<RealVector, DataModelRep> *kw;
if ((kw = (KW<RealVector, DataModelRep>*)Binsearch(RVdmo, L)))
return dbRep->dataModelIter->dataModelRep->*kw->p;
}

is the model portion of ProblemDescDB::get rv(). Based on entry name, it returns the relevant attribute from a
DataModel object. Since there may be multiple model specifications, the dataModelIter list iterator identifies
which node in the list of DataModel objects is used. In particular, dataModelList contains a list of all of the
data model objects, one for each time a top-level model keyword was seen by the parser. The particular model
object used for the data retrieval is managed by dataModelIter, which is set in a set db list nodes()
operation that will not be described here.
There may be multiple DataMethod, DataModel, DataVariables, DataInterface, and/or DataResponses objects.
However, only one specification is currently allowed so a list of DataEnvironment objects is not needed. Rather,
ProblemDescDB::environmentSpec is the lone DataEnvironment object.
To augment the get <data type>() functions, add table entries with new identifier strings and pointer-tomember values that address the appropriate data attributes from the Data class object. The style for the identifier
strings is a top-down hierarchical description, with specification levels separated by periods and words separated
with underscores, e.g., "keyword.group specification.individual specification". Use the
dbRep->listIter->attribute syntax for variables, interface, responses, and method specifications. For
example, the method setting example attribute would be added to get drv() as:
{"method name.method setting", P methodSetting},

inserted at the beginning of the RVdmo array shown above (since the name in the existing first entry, i.e., nested.primary response mapping, comes alphabetically after method name.method setting).

3.5

Update Corresponding Data Classes

In this step, we extend the Data class definitions (DataEnvironment, DataMethod, DataModel, DataVariables,
DataInterface, and/or DataResponses) to include the new attributes referenced in Update NIDRProblemDescDB.cpp in Dakota/src and Augment/update get <data type>() functions.

3.5.1

Update the Data class header file

Add a new attribute to the public data for each of the new specifications. Follow the style guide for class attribute
naming conventions (or mimic the existing code).

3.6. USE GET <DATA TYPE>() FUNCTIONS

3.5.2

29

Update the .cpp file

Define defaults for the new attributes in the constructor initialization list. Add the new attributes to the assign()
function for use by the copy constructor and assignment operator. Add the new attributes to the write(MPIPackBuffer&), read(MPIUnpackBuffer&), and write(ostream&) functions, paying careful attention to the use of a
consistent ordering.

3.6

Use get <data type>() Functions

At this point, the new specifications have been mapped through all of the database classes. The only remaining
step is to retrieve the new data within the constructors of the classes that need it. This is done by invoking the get <data type>() function on the ProblemDescDB object using the identifier string you selected in Augment/update
get <data type>() functions. For example:
const String& interface type = problem db.get string("interface.type");

passes the "interface.type" identifier string to the ProblemDescDB::get string() retrieval function, which
returns the desired attribute from the active DataInterface object.
Warning
Use of the get <data type>() functions is restricted to class constructors, since only in class constructors
are the data list iterators (i.e., dataMethodIter, dataModelIter, dataVariablesIter, dataInterfaceIter, and dataResponsesIter) guaranteed to be set correctly. Outside of the constructors, the database list nodes will correspond to the last set operation, and may not return data from the
desired list node.

3.7

Update the Documentation

Doxygen comments should be added to the Data class headers for the new attributes, and the reference manual
sections describing the portions of dakota.input.nspec that have been modified should be updated. In particular,
the reference manual tables summarizing keywords provide help data to the Jaguar user interface so need to be
kept updated.

30

CHAPTER 3. INSTRUCTIONS FOR MODIFYING DAKOTAS INPUT SPECIFICATION

Chapter 4

Understanding Iterator Flow


This page explains the various phases comprising Iterator::run iterator(). Prior to Iterator construction, when
command-line options are parsed, Boolean run mode flags corresponding to PRERUN, RUN, and POSTRUN are
set in ParallelLibrary. If the user didnt specify any specific run modes, the default is for all three to be true (all
phases will execute).
Iterator is constructed.
When called, run iterator() sequences:
initialize run(): unconditionally called, virtual. Performs common initialization such as allocating
workspaces, setting communicators and evaluation counts. When re-implementing this virtual, a derived
class must call its nearest parents initialize run(), typically before performing its own implementation steps.
Not implemented: pre-run input
IF PRERUN, invoke pre run(): virtual function; default no-op. Purpose: derived classes should implement pre run() if they are able to generate all parameter sets (variables) at once, separate from run().
Derived implementations should call their nearest parents pre run(), typically before performing their own
steps.
IF PRERUN, invoke pre output(): non-virtual function; if user requested, output variables to file.
Not implemented: run input
IF RUN, invoke virtual function run(). Purpose: at a minimum, evaluate parameter sets through computing responses; for iterators without pre/post capability, their entire implementation is in run() and this is
a reasonable default for new Iterators.
Not implemented: run output
IF POSTRUN, invoke post input(): virtual function, default only print helpful message on mode.
Purpose: derived iterators supporting post-run input from file must implement to read file and populate
variables/responses (and possibly best points) appropriately. Implementations must check if the user requested file input.
IF POSTRUN, invoke post run(): virtual function. Purpose: generate statistics / final results. Any
analysis that can be done solely on tabular data read by post input() can be done here. Derived
re-implementations should call their nearest parents post-run(), typically after performing their specific
post-run activities.
Not implemented: post-run output
31

32

CHAPTER 4. UNDERSTANDING ITERATOR FLOW


finalize run(): unconditionally called, virtual. Purpose: free workspaces. Default base class behavior
is no-op, however, derived implementations should call their nearest parents finalize run after performing
their specialized portions.
Iterator is destructed.

Chapter 5

Interfacing with Dakota as a Library


5.1

Introduction

Tightly integrating or linking Dakota into another application can improve user experience by delivering a more
unified, inter-operable software tool for optimization and UQ analyses, improving performance by eliminating file
system-based interfaces, and reducing challenges with parallel computing inter-operation. This benefit has been
realized within several Sandia and external simulation applications. This section describes how to link Dakota
into another C++ application.
Dakota has two primary application programming interfaces (APIs). The LibraryEnvironment class facilitates
use of Dakota as an algorithm service library within another application. In this case, the simulation application
is providing a front end for Dakota. The second API, provided by the DirectApplicInterface class, provides
an interface for Dakota to call the simulation code directly to perform function evaluations in core. This permits
the simulation to be the back end for Dakota. The most complete library integration of Dakota would use both
in combination, with the overall simulation framework providing both the front end and back end for Dakota,
creating a sandwich, as loosely depicted here:
[-----------[ Application
[
[ ( ----[ ( Dakota (LibraryEnvironment)
[ (
[ ( { Function evaluation callback to Application (via DirectApplicInterface)
[ ( { |
[ <------/
[ ( {
[ (
[ ( ----[
[------------

Attention
Dakota may be integrated as a library in other software applications subject to the terms of the GNU Lesser
General Public License (LGPL). Refer to http://www.gnu.org/licenses/lgpl.html or the LICENSE file included with Dakota.
When Dakota is compiled and installed, the relevant library API headers are installed to CMAKE INSTALL PREFIX/include and the runtime libraries primarily to CMAKE INSTALL PREFIX/lib/ (on some platforms,
33

34

CHAPTER 5. INTERFACING WITH DAKOTA AS A LIBRARY

to CMAKE INSTALL PREFIX/bin/. The core C/C++ code is in the library dakota src, while Fortran code
lives in the dakota src fortran library. Information on using the API in Dakota headers is included throughout this section, while considerations for configuring and linking against Dakota and its various required and
optional thirdparty libraries are emphasized in the section Linking against the Dakota library.
Steps involved in integrating Dakota into another application typically include:
1. Writing C++ code for your application to instantiate, configure, and execute Dakotas LibraryEnvironment
(front end); see Basic Dakota library instantiation and Configuring Dakota operation.
2. Writing C++ code for Dakota to call a function in your application to perform function evaluations (back
end); see Creating a simulator plugin interface.
3. Compiling Dakota and linking into your application (Linking against the Dakota library).
Several source code examples demonstrate Dakota library interfaces. The classes SIM::SerialDirectApplicInterface and SIM::ParallelDirectApplicInterface demonstrate serial and parallel simulation function evaluation
plug-ins. The file library mode.cpp includes a main program that exercises Dakota libraries in serial and parallel
modes with these mock simulator programs, with various ways of configuring Dakota problem definition and operation. Finally, library split.cpp demonstrates running Dakota as a library modular on an MPI sub-communicator.

5.2

Basic Dakota library instantiation

The function run dakota parse() in library mode.cpp demonstrates the basic use of Dakota library objects as one
would in another main application that embeds Dakota. In this example, Dakota is configured based on a typical
user-provided text-based Dakota input file (the same that would be provided at the command line with dakota
-i dakota optimization.in) and a function evaluator derived from a DirectApplicInterface is plugged
into the Dakota library environment.
First, an object of type ProgramOptions which manages top-level Dakota settings is instantiated and configured to specify the name of the Dakota user input file. Additional options for output and error redirection, restart
operation, and more may be set via ProgramOptions. See its class documentation for details.
string dakota input file = "dakota optimization.in";
Dakota::ProgramOptions opts;
opts.input file(dakota input file);

Next, a LibraryEnvironment is created, passing the desired settings from opts:


Dakota::LibraryEnvironment env(opts);

This standard constructor will parse the specified input and create Dakota objects. It assumes many default
settings, including that the parent application initialized MPI if running in parallel mode. (In this case, Dakota will
detect whether MPI was initialized and not call MPI Init or MPI Finalize.) For more advanced use cases described
below, alternate constructors allow constructing based on MPI communicators, with delayed finalization, and with
Dakota database update function callbacks. Then the applications function evaluator implementing Dakotas
DirectApplicInterface is plugged in with a convenience function serial interface plugin() or parallel interface plugin(). Finally, the Dakota analysis is run by calling
env.execute();

The next two sections offer additional details on (1) alternative and supplementary ways to configure Dakotas
operation (Configuring Dakota operation) and (2) how to specialize Dakotas DirectApplicInterface to provide a
function evaluator plugin to Dakota (Creating a simulator plugin interface).

5.3. CONFIGURING DAKOTA OPERATION

35

Remarks
After LibraryEnvironment construction, all MPI communicator partitioning has been performed and the
ParallelLibrary instance may be interrogated for parallel configuration data. For example, the lowest level
communicators in Dakotas multilevel parallel partitioning are the analysis communicators, which can be
retrieved using:
// retrieve the set of analysis communicators for simulation initialization:
// one analysis comm per ParallelConfiguration (PC), one PC per Model.
Array<MPI Comm> analysis comms = parallel lib.analysis intra communicators();

These communicators can then be used for initializing parallel simulation instances when registering the
plugin interface, where the number of MPI communicators in the array corresponds to one communicator
per ParallelConfiguration instance. This is demonstrated below in Derivation.

5.3

Configuring Dakota operation

This section describes several alternate ways to initially set and later manipulate Dakotas configuration, including
alternatives to using a text-based input file. The algorithm configuration for a particular Dakota analysis run
is managed in its ProblemDescDB, which can be populated via an input file, string literal, or C++ API, and
later modified through Dakotas C++ API. All Dakota objects then draw information from this database upon
instantiation.

5.3.1

Input data parsing

The simplest way for an application to configure a Dakota analysis problem is to use Dakotas normal input
parsing system to populate its problem database (ProblemDescDB). This is done by providing standard Dakota
input file syntax through the library interface, via either a file name or string literal. An advantage is that native
Dakota syntax can be used, but disadvantages include the requirement for an additional input file beyond those
already required by the parent application and that application users also need to know Dakota syntax.
The two ways to configure Dakota via input parsing are shown near the beginning of run dakota mixed() in
library mode.cpp. Here the ProgramOptions are set to either parse from a named file:
Dakota::ProgramOptions opts;
opts.input file(dakota input file);

or from a string literal provided by the wrapping application:


string serial input = "% Dakota input file ...";
opts.input string(serial input);

This library approach is coarse-grained in that input is parsed, objects constructed, and the environment is
immediately ready to run. The next approaches are more modular.

5.3.2

Problem database insertion

A second approach to configuring Dakotas operation is to bypass parsing phases and directly populate the
ProblemDescDB with information on the methods, variables, interface, responses, etc., that define the Dakota
analysis problem. This approach requires more interaction with Dakota classes and data structures. However,
it can offer usability benefit when the integrating application does not want their users to interact with the full
Dakota syntax, or efficiency benefit when for example there are a large number of variables to configure.
In the direct database population approach, Dakota DataMethod, DataModel, DataVariables, DataInterface,
and DataResponses objects are instantiated and populated with the desired problem data. These objects are then

36

CHAPTER 5. INTERFACING WITH DAKOTA AS A LIBRARY

published to the problem database using insert nodes() . An example of this approach is available in run dakotadata() in library mode.cpp, where the OPT++ Quasi-Newton method is configured to work on a plugin version
of text book or rosenbrock. The data objects are populated with their default values upon instantiation
and are often sufficient for basic Dakota studies. Only the non-default values need to be specified. Moreover the
default Dakota Model is a SingleModel, so this object need not be configured unless tailoring its configuration
or using a more advanced model type. Refer to the DataMethod, DataModel, DataVariables, DataInterface, and
DataResponses class documentation and source code for lists of attributes and their defaults. Here is an excerpt
of run dakota data() that specifies the OPT++ solver after default construction of DataMethod:
Dakota::DataMethod
dme;
Dakota::DataMethodRep* dmr = dme.data rep();
dmr->methodName = Dakota::OPTPP Q NEWTON;

When using direct database population, it is critical to leave the database in an open, accessible state after
initial construction. In this run dakota data() example, a flag check bcast construct is passed into the
LibraryEnvironment constructor, indicating that it should not finalize the database and construct Dakota objects.
Moreover, it is only necessary to populate the database on rank 0 of the MPI Comm on which Dakota is running.
After database objects are inserted or adjusted, the LibraryEnvironment::done modifying db() function must be
called before proceeding to execute. This synchronizes problem data across all ranks and constructs Dakota
objects needed to run the specified analysis.
bool check bcast construct = false;
Dakota::LibraryEnvironment env(MPI COMM WORLD, opts, check bcast construct);
if (rank == 0)
// insert/modify DB, then lock and proceed:
env.done modifying db();
env.execute();

5.3.3

Mixed mode, callbacks, and late updates

The LibraryEnvironment API also supports mixed approaches that combine the parsing of a Dakota input file (or
input string literal) with direct database updates. This approach is motivated by large-scale applications where
large vectors are cumbersome to specify in a Dakota input file or where later updates to an input template are
needed. The example run dakota mixed() in library mode.cpp demonstrates the combination of these more advanced approaches: (1) input text parsing, (2) database updates via a callback, (3) database updates via direct
manipulation, and (4) further runtime updates to the Model before running.
First, a ProgramOptions class is instantiated and configured to parse either an input file or input string literal (as
in earlier examples). The passed input data must contain all required inputs so the parser can validate them. Since
vector data like variable values/bounds/tags, linear/nonlinear constraint coefficients/bounds, etc., are optional,
these potentially large vector specifications can be omitted from the input file and updated later through the
database API. Only the variable/response counts necessary for sizing, e.g.:
method
linear_inequality_constraints = 500
variables
continuous_design = 1000
responses
objective_functions = 1
nonlinear_inequality_constraints = 100000

and not the lists of values are required in this case. To update or add data after this initial parse, we use the
ProblemDescDB::set() family of overloaded functions, e.g.
Dakota::RealVector drv(1000, 1.); // vector of length 1000, values initialized to 1.
problem db.set("variables.continuous design.initial point", drv);

5.3. CONFIGURING DAKOTA OPERATION

37

where the string identifiers are the same identifiers used when pulling information from the database using
one of the get <datatype>() functions (refer to ProblemDescDB for a full list). However, the supported ProblemDescDB::set() options are a restricted subset of the database attributes, focused on vector inputs that can be large
scale.
Second, the example demonstrates a user-provided callback function which Dakota will invoke after input
parsing to update ProblemDescDB. In library mode.cpp, callback function() is a user-provided post-parse
callback that implements the type Dakota::DbCallbackFunction.
static void callback function(Dakota::ProblemDescDB* db, void *ptr);

When Dakota calls this function it will pass back pointers to the ProblemDescDB instance and to user-provided
data, so the application may convey its settings by calling methods on the ProblemDescDB, optionally using the
provided data. An example of a user data structure is demonstrated in callback data. In this case, when the
LibraryEnvironment is constructed, it is constructed with the input data to initially parse, the callback function,
and to leave it unlocked for further updates:
bool done with db = false;
Dakota::LibraryEnvironment env(opts, done with db,
callback function, &data);

Third, the example demonstrates changes to the database after parsing and callback-based updates. Again,
these only need happen on Dakotas rank 0 before finalizing the DB with LibraryEnvironment::done modifying db(). The example demonstrates:
1. Getting access to the database through env.problem description db()
2. Setting the database nodes to the appropriate method through problem db.resolve top method()
3. Getting data from the DB with a get string array function: problem db.get sa(interface.application.analysis drivers)
4. Setting update data with problem db.set(variables.continuous design.initial point, ip);
After any of these three types updates, calling LibraryEnvironment::done modifying db() will broadcast any
updates (including potentially large vector data and post-process specification data to fill in any vector defaults
that have not yet been provided through either file parsing or direct updates. (Note: scalar defaults are handled in
the Data class constructors.)
Fourth and finally, run dakota mixed() demonstrates modifying a Models data after database operations and
interface plugin are complete. This involves finding the right Model (or other class) instance to modify, and
directly adjusting its data through the public API. Since the database is finalized, any updates must be performed
through direct set operations on the constructed objects. For example, to update other data such as variable
values/bounds/tags or response bounds/targets/tags, refer to the set functions documented in Iterator and Model.
As an example, the following code updates the active continuous variable values, which will be employed as the
initial guess for certain classes of Iterators:
ModelList& all models = problem db.model list();
Model&
first model = *all models.begin();
Dakota::RealVector drv(1000, 1.); // vector of length 1000, values initialized to 1.
first model.continuous variables(drv);

38

CHAPTER 5. INTERFACING WITH DAKOTA AS A LIBRARY

Remarks

If performing such data updates within the constructor of a DirectApplicInterface extension/derivation (see Creating a simulator plugin interface), then this code is sufficient since the database is unlocked, the active list nodes of
the ProblemDescDB have been set for you, and the correct method/model/variables/interface/responses specification instance will get updated. The difficulty in this case stems from the order of instantiation. Since the Variables
and Response instances are constructed in the base Model class, prior to construction of Interface instances in
derived Model classes, database information related to Variables and Response objects will have already been
extracted by the time the Interface constructor is invoked and the database update will not propagate.
Therefore, it is preferred to perform these database set operations at a higher level (e.g., within your main
program), prior to allowing Environment to broadcast, construct, and execute, such that instantiation order is not
an issue. However, in this case, it is necessary to explicitly manage the list nodes of the ProblemDescDB using a
specification instance identifier that corresponds to an identifier from the input file, e.g.:
problem db.set db variables node("MY VARIABLES ID");
Dakota::RealVector drv(1000, 1.); // vector of length 1000, values
initialized to 1.
problem db.set("variables.continuous design.initial point", drv);

Alternatively, rather than setting just a single data node, all data nodes may be set using a method specification
identifier:
problem db.set db list nodes("MY METHOD ID");

since the method specification is responsible for identifying a model specification, which in turn identifies
variables, interface, and responses specifications. If hard-wiring specification identifiers is undesirable, then
problem db.resolve top method();

can also be used to deduce the active method specification and set all list nodes based on it. This is most
appropriate in the case where only single specifications exist for method/model/variables/interface/responses.
This is the approach demonstrated in run dakota mixed(). In each of these cases, setting list nodes unlocks the
corresponding portions of the database, allowing set/get operations.

5.4

Creating a simulator plugin interface

The DirectApplicInterface class provides an interface for Dakota to call the simulation code directly to perform
function evaluations mapping variables to responses. This provides the back end for Dakota to call back to
the simulation framework. Two approaches to defining this direct interface are described here. The first is less
common, while the second is recommended when possible.

5.4.1

Extension

The first approach involves extending one of the existing DirectApplicInterface subclasses (TestDriverInterface,
MatlabInterface, etc.) to support additional direct simulation interfaces. For example, Dakota algebraic test
problems are implemented in TestDriverInterface. One could add additional direct functions to Dakota in TestDriverInterface::derived map ac(). In addition, TestDriverInterface::derived map if() and TestDriverInterface::derived map of() can be extended to perform pre- and post-processing tasks if desired, but this is not required.
While this approach is the simplest, it has the disadvantage that the Dakota library will need to be recompiled
when the simulation or its direct interface is modified. If it is desirable to maintain the independence of the Dakota
library from the host application, then the derivation approach described in the next section should be employed.

5.4. CREATING A SIMULATOR PLUGIN INTERFACE

39

Remarks
If the new direct evaluation function implementation will not be a member function of one of the Dakota
classes, then the following prototype should be used in order to pass the required data:
int sim(const Dakota::Variables& vars, const Dakota::ActiveSet& set,
Dakota::Response& response);

If the new function will be a member function, e.g., in TestDriverInterface, then this can be simplified to
int sim();

since the data access can be performed through the DirectApplicInterface class attributes.}

5.4.2

Derivation

The second approach is to derive a new interface from DirectApplicInterface and redefine several virtual functions.
As demonstrated in SIM::SerialDirectApplicInterface and SIM::ParallelDirectApplicInterface, a typical derived
class declaration might be
namespace SIM {
class SerialDirectApplicInterface: public Dakota::DirectApplicInterface
{
public:
// Constructor and destructor
SerialDirectApplicInterface(const Dakota::ProblemDescDB& problem db);
SerialDirectApplicInterface();
protected:
// Virtual function redefinitions
int derived map if(const Dakota::String& if name);
int derived map ac(const Dakota::String& ac name);
int derived map of(const Dakota::String& of name);
private:
// Data
}
} // namespace SIM

where the new derived class resides in the simulations namespace. Similar to the case of Extension, the
DirectApplicInterface::derived map ac() function is the required redefinition, and DirectApplicInterface::derivedmap if() and DirectApplicInterface::derived map of() are optional.
Typically the new derived map ac() implementation delegates to the main simulation application for a function
evaluation. Here Dakota variables would get mapped into the simulations data structures, the simulation executed,
and derived response data computed for return to Dakota.
Once a derived application class is created, it must be plugged in, or registered, with the appropriate Interface
in the LibraryEnvironment. In MPI cases where Dakota is potentially managing concurrent evaluations of the
simulation, the plugin must be configured to run on the right MPI sub-communicator, or Dakota analysis comm.
The simpler case is demonstrated in serial interface plugin() in library mode.cpp, while a more advanced case
using the analysis communicator is shown in parallel interface plugin().
The Dakota LibraryEnvironment provides a convenience function to plugin an Interface. This example will replace any interface found matching the given model, interface, and analysis driver with the passed plugin interface:

40

CHAPTER 5. INTERFACING WITH DAKOTA AS A LIBRARY

std::string model type(""); // demo: empty string will match any model type
std::string interf type("direct");
std::string an driver("plugin rosenbrock");
Dakota::ProblemDescDB& problem db = env.problem description db();
Dakota::Interface* serial iface =
new SIM::SerialDirectApplicInterface(problem db);
bool plugged in =
env.plugin interface(model type, interf type, an driver, serial iface);

The LibraryEnvironment also provides convenience functions that allow the client to iterate the lists of available interfaces or models for more advanced cases. For instance if the client knows there is only a single interface
active, it could get the list of available interfaces of length 1 and plugin to the first one. In the more advanced
case where the simulation interface instance should manage parallel simulations within the context of an MPI
communicator, one should pass in the relevant analysis communicator(s) to the derived constructor. For the latter
case of looping over a set of models, the simplest approach of passing a single analysis communicator would use
code similar to

Dakota::ModelList filt models =


env.filtered model list("single", "direct", "plugin text book");
Dakota::ProblemDescDB& problem db = env.problem description db();
Dakota::ModelLIter ml iter;
for (ml iter = filt models.begin(); ml iter != filt models.end(); ++ml iter) {
// set DB nodes to input specification for this Model
problem db.set db model nodes(ml iter->model id());
Dakota::Interface& model interface = ml iter->derived interface();
// Parallel case: plug in derived Interface object with an analysisComm.
// Note: retrieval and passing of analysisComm is necessary only if
// parallel operations will be performed in the derived constructor.
// retrieve the currently active analysisComm from the Model. In the most
// general case, need an array of Comms to cover all Model configurations.
const MPI Comm& analysis comm = ml iter->analysis comm();
// dont increment ref count since no other envelope shares this letter
model interface.assign rep(new
SIM::ParallelDirectApplicInterface(problem db, analysis comm), false)
;
}

The file library mode.cpp demonstrates each of these approaches. Since a Model may be used in multiple
parallel contexts and may therefore have a set of parallel configurations, a more general approach would extract
and pass an array of analysis communicators to allow initialization for each of the parallel configurations.
New derived direct interface instances inherit various attributes of use in configuring the simulation. In particular, the ApplicationInterface::parallelLib reference provides access to MPI communicator data (e.g., the analysis communicators discussed above), DirectApplicInterface::analysisDrivers provides the analysis driver names
specified by the user in the input file, and DirectApplicInterface::analysisComponents provides additional analysis
component identifiers (such as mesh file names) provided by the user which can be used to distinguish different
instances of the same simulation interface. It is worth noting that inherited attributes that are set as part of the
parallel configuration (instead of being extracted from the ProblemDescDB) will be set to their defaults following
construction of the base class instance for the derived class plug-in. It is not until run-time (i.e., within derivedmap if/derived map ac/derived map of) that the parallel configuration settings are re-propagated to the plug-in
instance. This is the reason that the analysis communicator should be passed in to the constructor of a parallel
plug-in, if the constructor will be responsible for parallel application initialization.

5.5. RETRIEVING DATA AFTER A RUN

5.5

41

Retrieving data after a run

After executing the Dakota Environment, final results can be obtained through the use of Environment::variablesresults() and Environment::response results(), e.g.:
// retrieve the final parameter values
const Variables& vars = env.variables results();
// retrieve the final response values
const Response& resp = env.response results();

In the case of optimization, the final design is returned, and in the case of uncertainty quantification, the final
statistics are returned. Dakota has a prototype results database, which will eventually provide better access to the
results from a study.

5.6

Linking against the Dakota library

This section presumes Dakota has been configured with CMake, compiled, and installed to a CMAKE INSTALL PREFIX using make install or equivalent. The Dakota libraries against which you must link will
typically install to CMAKE INSTALL PREFIX/bin/ and CMAKE INSTALL PREFIX/lib/, while headers
are provided in CMAKE INSTALL PREFIX/lib/. The core Dakota C and C++ code is in the library dakotasrc, while Fortran code lives in the dakota src fortran library. Runtime libraries for any configureenabled Dakota third-party software components (such as DOT, NPSOL, OPT++, LHS, etc.) are also installed
to the lib/ directory. Applications link against these Dakota libraries by specifying appropriate include and link
directives.
There two primary ways to determine the necessary Dakota-related libraries and link order for linking your
application. First, when running CMake, a list of required Dakota and Dakota-included third-party libraries will
be output to the console, e.g.,

-- Dakota_LIBRARIES: dakota_src;dakota_src_fortran;nidr;teuchos;pecos;pecos_src;lhs;mods;mod;dfftpack;sparsegr

While external dependencies will be output as:

-- Dakota_TPL_LIBRARIES: /usr/lib64/libcurl.so;/usr/lib64/openmpi/lib/libmpi_cxx.so;debug;/usr/lib64/libz.so;d

Note that depending on how you configured Dakota, some libraries may be omitted from these lists (for
example commercial add-ons NPSOL, DOT, and NLPQL), or additional libraries may appear.
A second option is to check which libraries appear in CMAKE INSTALL PREFIX/bin/ CMAKE INSTALL PREFIX/lib/, or more accurately, see the file Makefile.export.Dakota in the Dakota build/src/ or installation
include/ directory. Here are some additional notes on specific libraries:
Some Boost libraries (boost regex, boost filesystem, boost system, boost serialization)
are required, and other Boost library components may be required depending on configuration, e.g., boostsignals when configuring with HAVE ACRO:BOOL=TRUE
System compiler and math libraries may need to be included, as may additional system libraries such as
Expat and Curl, depending on how Dakota is configured.
If configuring with graphics, you will need to add the Dakota DGraphics library and system X libraries
(partial list here):
-lXpm -lXm -lXt -lXmu -lXp -lXext -lX11 -lSM -lICE

42

CHAPTER 5. INTERFACING WITH DAKOTA AS A LIBRARY


When configuring with AMPL (HAVE AMPL:BOOL=ON), the AMPL solver library may require dl, funcadd0.o and fl libraries. We have experienced problems with the creation of libamplsolver.a on some
platforms; use the dakota-users mailing list to get help with any problems related to this.
Optional library GSL (discouraged due to GPL license) and if linking with system-provided GSL, gslcblas
may be needed if Dakota was configured with them.
Newmat: as of Dakota 5.2, -lnewmat is no longer required

Finally, it is important to use the same C++ compiler (possibly an MPI wrapper) for compiling Dakota and
your application and potentially include Dakota-related preprocessor defines as emitted by CMake during compilation of Dakota and included in Makefile.export.Dakota. This ensures that the platform configuration settings
are properly synchronized across Dakota and your application.

Chapter 6

Performing Function Evaluations


Performing function evaluations is one of the most critical functions of the Dakota software. It can also be one of
the most complicated, as a variety of scheduling approaches and parallelism levels are supported. This complexity
manifests itself in the code through a series of cascaded member functions, from the top level model evaluation
functions, through various scheduling routines, to the low level details of performing a system call, fork, or direct
function invocation. This section provides an overview of the primary classes and member functions involved.

6.1

Synchronous function evaluations

For a synchronous (i.e., blocking) mapping of parameters to responses, an iterator invokes Model::compute response() to perform a function evaluation. This function is all that is seen from the iterator level, as underlying
complexities are isolated. The binding of this top level function with lower level functions is as follows:
Model::compute response() utilizes Model::derived compute response() for portions of the response computation specific to derived model classes.
Model::derived compute response() directly or indirectly invokes Interface::map().
Interface::map() utilizes ApplicationInterface::derived map() for portions of the mapping specific to derived
application interface classes.

6.2

Asynchronous function evaluations

For an asynchronous (i.e., nonblocking) mapping of parameters to responses, an iterator invokes Model::asynchcompute response() multiple times to queue asynchronous jobs and then invokes either Model::synchronize()
or Model::synchronize nowait() to schedule the queued jobs in blocking or nonblocking fashion. Again, these
functions are all that is seen from the iterator level, as underlying complexities are isolated. The binding of these
top level functions with lower level functions is as follows:
Model::asynch compute response() utilizes Model::derived asynch compute response() for portions of the
response computation specific to derived model classes.
This derived model class function directly or indirectly invokes Interface::map() in asynchronous mode,
which adds the job to a scheduling queue.
Model::synchronize() or Model::synchronize nowait() utilize Model::derived synchronize() or Model::derivedsynchronize nowait() for portions of the scheduling process specific to derived model classes.
43

44

CHAPTER 6. PERFORMING FUNCTION EVALUATIONS


These derived model class functions directly or indirectly invoke Interface::synch() or Interface::synch nowait().
For application interfaces, these interface synchronization functions are responsible for performing evaluation scheduling in one of the following modes: master dynamic, peer dynamic or peer static.
NOTE: The Interface evaluation scheduling in Dakota was refactored for releases 5.4 and 6.0. Discussion
of the new Interface-related functions is currently missing here.

6.3

Analyses within each function evaluation

NOTE: The Interface evaluation scheduling in Dakota was refactored for releases 5.4 and 6.0. Discussion of the
new Interface-related functions for analyses is currently missing here.
The discussion above covers the parallelism level of concurrent function evaluations serving an iterator. For
the parallelism level of concurrent analyses serving a function evaluation, similar schedulers are involved
to support synchronous local, asynchronous local, message passing, and hybrid modes. Not all of the schedulers are elevated to the ApplicationInterface level since the system call and direct function interfaces do not yet
support nonblocking local analyses (and therefore support synchronous local and message passing modes, but not
asynchronous local or hybrid modes). Fork interfaces, however, support all modes of analysis parallelism.

Chapter 7

Working with Variable Containers and


Views
Variable views control the subset of variable types that are active and inactive within a particular iterative study.
For design optimization and uncertainty quantification (UQ), for example, the active variables view consists of
design or uncertain types, respectively, and any other variable types are carried along invisible to the iterative
algorithm being employed. For parameter studies and design of experiments, however, a variable subset view is
not imposed and all variables are active. Selected UQ methods can also be toggled into an All view using the
active all variables input specification. When not in an All view, finer gradations within the uncertain variable
sets are also relevant: probabilistic methods (reliability, stochastic expansion) view aleatory uncertain variables as
active, nonprobabilistic methods (interval, evidence) view epistemic uncertain variables as active, and a few UQ
methods (sampling) view both as active. In a more advanced NestedModel use case such as optimization under
uncertainty, design variables are active in the outer optimization context and the uncertain variables are active in
the inner UQ context, with an additional requirement on the inner UQ level to return derivatives with respect to
its inactive variables (i.e., the design variables) for use in the outer optimization loop.
For efficiency, contiguous arrays of data store variable information for each of the domain types (continuous,
discrete integer, and discrete real), but active and inactive views into them permit selecting subsets in a given
context. This management is encapsulated into the Variables and SharedVariablesData classes. This page clarifies
concepts of relaxed (formerly merged) vs. mixed, fine-grained vs. aggregated types, domain types, and views into
contiguous arrays.
We begin with an overview of the storage and management concept, for which the following two sections
describe the storage of variable values and meta-data about their organization, used in part to manage views. They
are intended to communicate rationale to maintainers of Variables and SharedVariablesData classes. The final
section provides a discussion of active and inactive views.

7.1

Storage in Variables

As described in the Main Page Variables, a Variables object manages variable types (design, aleatory uncertain,
epistemic uncertain, and state) and domain types (continuous, discrete integer, and discrete real) and supports
different approaches to either distinguishing among these types or aggregating them. Two techniques are used in
cooperation to accomplish this management: (1) class specialization (RelaxedVariables or MixedVariables) and
(2) views into contiguous variable arrays. The latter technique is used whenever it can satisfy the requirement,
with fallback to class specialization when it cannot. In particular, aggregation or separation of variable types
can be accomplished with views, but for aggregation or separation of variable domains, we must resort to class
45

46

CHAPTER 7. WORKING WITH VARIABLE CONTAINERS AND VIEWS

specialization in order to relax discrete domain types. In this class specialization, a RelaxedVariables object
combines continuous and discrete types (relaxing integers to reals) whereas a MixedVariables object maintains
the integer/real distinction throughout.
The core data for a Variables instance is stored in a set of three continguous arrays, corresponding to the
domain types: allContinuousVars, allDiscreteIntVars, and allDiscreteRealVars, unique to each Variables instance.
Within the core variable data arrays, data corresponding to different aggregated variable types are stored in
sequence for each domain type:
continuous: [design, aleatory uncertain, epistemic uncertain, state]
discrete integer: [design, aleatory uncertain, (epistemic uncertain), state]
discrete real: [design, aleatory uncertain, (epistemic uncertain), state]
Note there are currently no epistemic discrete variables. This domain type ordering (continuous, discrete integer,
discrete real) and aggregated variable type ordering (design, aleatory uncertain, epistemic uncertain, state) is
preserved whenever distinct types are flattened into single contiguous arrays. Note that the aleatory and epistemic
uncertain variables contain sub-types for different distributions (e.g., normal, uniform, histogram, poisson), and
discrete integer types include both integer ranges and integer set sub-types. All sub-types are ordered according
to their order of appearance in dakota.input.nspec.
When relaxing in MixedVariables, the allContinuousVars will also aggregate the discrete types, such that they
contain ALL design, then ALL uncertain, then ALL state variables, each in aggregated type order; the allDiscreteIntVars and allDiscreteRealVars arrays are empty.

7.2

Storage in SharedVariablesData

Each Variables instance contains a reference-counted SharedVariablesData object that stores information on the
variables configuration. This configuration data includes counts, types, IDs, and labels, which are often the
same across many Variables instances. Thus, SharedVariablesData is intended to reduce the memory footprint by
allowing the sharing of a single copy of redundant information among different Variables instances.
One of the purposes of this shared information is to support mappings between variable types, IDs, and indices
into the storage arrays. Variable types refer to the fine-grained variable types a user would specify in an input
file, as enumerated in DataVariables.hpp, e.g, CONTINUOUS DESIGN, WEIBULL UNCERTAIN, DISCRETE STATE RANGE, etc. variablesComponents is a map from these variable types to counts of how many are
present.
In contrast, the variablesCompsTotals array stores total counts of each aggregated type (design, aleatory
uncertain, epistemic uncertain, state) which might be selected to be active in a given view. Thus this array has
length 12 to track the combinations of three domain type storage arrays with four possible aggregated variable
types: {continuous, discrete integer, discrete real} x {design, aleatory uncertain, epistemic uncertain, state}. For
example, the first entry of this array stores the number of continuous design variables, the second the number of
discrete integer design (including both discrete design range and discrete design set integer types), and the last the
number of discrete real state variables.
The arrays allContinuousTypes, allDiscreteIntTypes, and allDiscreteRealTypes are sized to match the corresponding core domain type storage arrays. They track the fine-grained variable type stored in that entry of the
data array (since when relaxed, the continuous array may be storing data corresponding to discrete data).
Finally allContinuousIds stores the 1-based IDs of the variables stored in the allContinuousVars array, i.e.,
the variable number of all the problem variables considered as a single contiguous set, in aggregate type order.
For relaxed (formerly merged) views, relaxedDiscreteIds stores the 1-based IDs of the variables which have been
relaxed into the continuous array.

7.3. ACTIVE AND INACTIVE VIEWS

47

These counts, types, and IDs are most commonly used within the Model classes for mappings between variables objects at different levels of a model recursion. See, for example, the variable mappings in the NestedModel
constructor.

7.3

Active and inactive views

The pair SharedVariablesDataRep::variablesView tracks the active and inactive views of the data, with values
taken from the enum in DataVariables.hpp. The valid values include EMPTY and the combinations {relaxed,
mixed} x {all, design, aleatory uncertain, epistemic uncertain, uncertain, state}. The ALL cases indicate aggregation of the design, aleatory uncertain, epistemic uncertain, and state types, whereas the DISTINCT cases
indicate either no aggregation (design, aleatory uncertain, epistemic uncertain, state) or reduced aggregation
(aleatory+epistemic uncertain). The active view is determined by the algorithm in use, managed in Variables::getview(). Any inactive view is set based on higher level iteration within a model recursion (e.g., a NestedModel),
which enables lower level iteration to return derivatives with respect to variables that are active at the higher level.
In the case where there is no higher level iteration, then the inactive view will remain EMPTY. It is important
to stress that inactive at one level corresponds to active at another, and therefore the inactive set of variables
should not be interpreted as the strict complement of the active set of variables; rather, active and inactive are
both subsets whose union may still be a subset of the total container (more precise terminology might involve
primary active and secondary active or similar). An active complement view could potentially be supported
in the future, should the need arise, although this view would require management of non-contiguous portions of
the aggregated arrays.
Given these groupings (views), the active and inactive subsets of the allContinuousVars, allDiscreteIntVars,
and allDiscreteRealVars arrays are always contiguous, permitting vector views of the underlying data using either
Teuchos::View (for numerical vectors) or Boost.MultiArray (for book-keeping arrays) views.
When a Variables envelope is constructed, its letter is initialized to either a RelaxedVariables or MixedVariables object depending on the active view. The derived classes size the contiguous storage arrays to accomodate all the problem variables, and then initialize active views into them, which could involve either subsets
(DISTINCT active views) or views of the full arrays (ALL active views). Inactive views, on the other hand, are
initialized during construction of a model recursion (e.g., a call to Model::inactive view() in the NestedModel
constructor). Thus, active variable subsets are always available but inactive variable subsets will be EMPTY prior
to them being initialized within a Model recursion.
Accessors for continuous variables include:
continuous variables(): returns the active view which might return all (ALL views) or a subset (DISTINCT
views) such as design, uncertain, only aleatory uncertain, etc.
inactive continuous variables(): returns the inactive view which which is either a subset or empty
all continuous variables(): returns the full vector allContinuousVars
and this pattern is followed for active/inactive/all access to discrete int variables() and discrete real variables() as
well as for labels, IDs, and types in SharedVariablesData and variable bounds in Constraints.
Member SurfpackApproximation::build ()
Right now, were completely deleting the old data and then recopying the current data into a SurfData object.
This was just the easiest way to arrive at a solution that would build and run. This function is frequently called
from addPoint rebuild, however, and its not good to go through this whole process every time one more data
point is added.
Member SurfpackApproximation::hessian (const Variables &vars)
Make this acceptably efficient

48

CHAPTER 7. WORKING WITH VARIABLE CONTAINERS AND VIEWS

Chapter 8

Namespace Index
8.1

Namespace List

Here is a list of all documented namespaces with brief descriptions:


Dakota
The primary namespace for DAKOTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
SIM
A sample namespace for derived classes that use assign rep() to plug facilities into DAKOTA 282

49

50

CHAPTER 8. NAMESPACE INDEX

Chapter 9

Hierarchical Index
9.1

Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:


ActiveSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GaussProcApproximation . . . . . . . . . . . . . . . . . . . . . .
PecosApproximation . . . . . . . . . . . . . . . . . . . . . . . .
SurfpackApproximation . . . . . . . . . . . . . . . . . . . . . . .
TANA3Approximation . . . . . . . . . . . . . . . . . . . . . . .
TaylorApproximation . . . . . . . . . . . . . . . . . . . . . . . .
APPSEvalMgr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BaseConstructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
callback data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COLINApplication . . . . . . . . . . . . . . . . . . . . . . . . . . .
CommandShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MixedVarConstraints . . . . . . . . . . . . . . . . . . . . . . . .
RelaxedVarConstraints . . . . . . . . . . . . . . . . . . . . . . .
DataEnvironment . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataEnvironmentRep . . . . . . . . . . . . . . . . . . . . . . . . . .
DataInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataMethodRep . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataModelRep . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataResponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataResponsesRep . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataVariablesRep . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DiscrepancyCorrection . . . . . . . . . . . . . . . . . . . . . . . . .
JEGAOptimizer::Driver . . . . . . . . . . . . . . . . . . . . . . . . .
Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ExecutableEnvironment . . . . . . . . . . . . . . . . . . . . . . .
LibraryEnvironment . . . . . . . . . . . . . . . . . . . . . . . . .
51

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

283
306
445
719
823
845
847
317
322
323
323
333
343
517
759
352
353
366
367
368
380
381
385
387
390
391
410
417
426
438
498

52

CHAPTER 9. HIERARCHICAL INDEX


NomadOptimizer::Evaluator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JEGAOptimizer::Evaluator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JEGAOptimizer::EvaluatorCreator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ExperimentData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetLongOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CommandLineHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ApplicationInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DirectApplicInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MatlabInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PythonInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ScilabInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TestDriverInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ParallelDirectApplicInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SerialDirectApplicInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ProcessApplicInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ProcessHandleApplicInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ForkApplicInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SpawnApplicInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SysCallApplicInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GridApplicInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ApproximationInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Iterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EfficientSubspaceMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDCalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDBayesCalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDDREAMBayesCalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDGPMSABayesCalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDQUESOBayesCalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDExpansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDPolynomialChaos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDStochCollocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDIntegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDCubature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDQuadrature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDSparseGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDGlobalInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDGlobalEvidence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDGlobalSingleInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDLHSInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDLHSEvidence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDLHSSingleInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDLocalInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

430
432
437
439
450
332
453
461
291
406
500
748
781
848
699
787
732
736
440
822
842
456
312
470
285
580
421
600
598
605
627
666
609
659
680
631
603
663
677
634
617
615
622
637
636
641
643

9.1. CLASS HIERARCHY


NonDLocalEvidence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDLocalSingleInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDPOFDarts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDReliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDGlobalReliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDLocalReliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDSampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDAdaptImpSampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDAdaptiveSampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDGPImpSampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDIncremLHSSampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDLHSSampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PStudyDACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DDACEDesignCompExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FSUDesignCompExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ParamStudy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PSUADEDesignCompExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RichExtrapVerification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MetaIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CollabHybridMetaIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ConcurrentMetaIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EmbedHybridMetaIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SeqHybridMetaIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Minimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LeastSq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NL2SOLLeastSq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NLSSOLLeastSq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SNLLLeastSq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APPSOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COLINOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONMINOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOTOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JEGAOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NCSUOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NLPQLPOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NomadOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonlinearCGOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NPSOLOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OptDartsOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SNLLOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SurrBasedMinimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EffGlobalMinimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SurrBasedGlobalMinimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SurrBasedLocalMinimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IteratorScheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53
642
655
657
669
620
646
671
590
594
624
630
639
744
402
442
714
746
863
779
502
330
334
425
784
503
494
568
575
810
690
320
326
336
413
488
553
571
578
682
685
687
813
834
419
826
827
483
520

54

CHAPTER 9. HIERARCHICAL INDEX


NestedModel . . . . . . . .
RecastModel . . . . . . . .
SingleModel . . . . . . . . .
SurrogateModel . . . . . . .
DataFitSurrModel . . . .
HierarchSurrModel . . .
MPIManager . . . . . . . . . .
MPIPackBuffer . . . . . . . . .
MPIUnpackBuffer . . . . . . . .
NL2Res . . . . . . . . . . . . .
NoDBBaseConstructor . . . . .
OutputManager . . . . . . . . .
ParallelConfiguration . . . . . .
ParallelLevel . . . . . . . . . .
ParallelLibrary . . . . . . . . .
ParamResponsePair . . . . . . .
partial prp equality . . . . . . .
partial prp hash . . . . . . . . .
ProblemDescDB . . . . . . . .
NIDRProblemDescDB . . .
ProgramOptions . . . . . . . . .
RecastBaseConstructor . . . . .
Response . . . . . . . . . . . .
ResponseRep . . . . . . . . . .
ResultsDBAny . . . . . . . . .
ResultsEntry< StoredType > . .
ResultsID . . . . . . . . . . . .
ResultsManager . . . . . . . . .
ResultsNames . . . . . . . . . .
SensAnalysisGlobal . . . . . . .
SharedApproxData . . . . . . .
SharedPecosApproxData . .
SharedSurfpackApproxData
SharedVariablesData . . . . . .
SharedVariablesDataRep . . . .
SNLLBase . . . . . . . . . . . .
SNLLLeastSq . . . . . . . .
SNLLOptimizer . . . . . . .
SOLBase . . . . . . . . . . . .
NLSSOLLeastSq . . . . . .
NPSOLOptimizer . . . . . .
TrackerHTTP . . . . . . . . . .
Variables . . . . . . . . . . . . .
MixedVariables . . . . . . .
RelaxedVariables . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

556
751
805
838
355
457
548
549
551
568
577
695
697
700
702
711
718
719
724
564
739
750
762
766
772
774
775
776
778
782
789
793
796
798
802
807
810
813
819
575
685
853
855
518
760

Chapter 10

Class Index
10.1

Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
ActiveSet
Container class for active set tracking information. Contains the active set request vector and
the derivative variables vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analyzer
Base class for NonD, DACE, and ParamStudy branches of the iterator hierarchy . . . . . . .
ApplicationInterface
Derived class within the interface class hierarchy for supporting interfaces to simulation codes
Approximation
Base class for the approximation class hierarchy . . . . . . . . . . . . . . . . . . . . . . . .
ApproximationInterface
Derived class within the interface class hierarchy for supporting approximations to simulationbased results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APPSEvalMgr
Evaluation manager class for APPSPACK . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APPSOptimizer
Wrapper class for HOPSPACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BaseConstructor
Dummy struct for overloading letter-envelope constructors . . . . . . . . . . . . . . . . . . .
callback data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COLINApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COLINOptimizer
Wrapper class for optimizers defined using COLIN . . . . . . . . . . . . . . . . . . . . . . .
CollabHybridMetaIterator
Meta-iterator for hybrid iteration using multiple collaborating optimization and nonlinear least
squares methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CommandLineHandler
Utility class for managing command line inputs to DAKOTA . . . . . . . . . . . . . . . . .
CommandShell
Utility class which defines convenience operators for spawning processes with system calls .
ConcurrentMetaIterator
Meta-iterator for multi-start iteration or pareto set optimization . . . . . . . . . . . . . . . . .
55

283
285
291
306

312
317
320
322
323
323
326

330
332
333
334

56

CHAPTER 10. CLASS INDEX


CONMINOptimizer
Wrapper class for the CONMIN optimization library . . . . . . . . . . . . . . . . . . . . .
Constraints
Base class for the variable constraints class hierarchy . . . . . . . . . . . . . . . . . . . . .
DataEnvironment
Handle class for environment specification data . . . . . . . . . . . . . . . . . . . . . . . .
DataEnvironmentRep
Body class for environment specification data . . . . . . . . . . . . . . . . . . . . . . . . .
DataFitSurrModel
Derived model class within the surrogate model branch for managing data fit surrogates (global
and local) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataInterface
Handle class for interface specification data . . . . . . . . . . . . . . . . . . . . . . . . . .
DataMethod
Handle class for method specification data . . . . . . . . . . . . . . . . . . . . . . . . . .
DataMethodRep
Body class for method specification data . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataModel
Handle class for model specification data . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataModelRep
Body class for model specification data . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataResponses
Handle class for responses specification data . . . . . . . . . . . . . . . . . . . . . . . . .
DataResponsesRep
Body class for responses specification data . . . . . . . . . . . . . . . . . . . . . . . . . .
DataVariables
Handle class for variables specification data . . . . . . . . . . . . . . . . . . . . . . . . . .
DataVariablesRep
Body class for variables specification data . . . . . . . . . . . . . . . . . . . . . . . . . . .
DDACEDesignCompExp
Wrapper class for the DDACE design of experiments library . . . . . . . . . . . . . . . . .
DirectApplicInterface
Derived application interface class which spawns simulation codes and testers using direct
procedure calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DiscrepancyCorrection
Base class for discrepancy corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOTOptimizer
Wrapper class for the DOT optimization library . . . . . . . . . . . . . . . . . . . . . . . .
JEGAOptimizer::Driver
A subclass of the JEGA front end driver that exposes the individual protected methods to
execute the algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EffGlobalMinimizer
Implementation of Efficient Global Optimization/Least Squares algorithms . . . . . . . . .
EfficientSubspaceMethod
Efficient Subspace Method (ESM), as proposed by Hany S. Abdel-Khalik . . . . . . . . . .
EmbedHybridMetaIterator
Meta-iterator for closely-coupled hybrid iteration, typically involving the embedding of local
search methods within global search methods . . . . . . . . . . . . . . . . . . . . . . . . .

. 336
. 343
. 352
. 353

. 355
. 366
. 367
. 368
. 380
. 381
. 385
. 387
. 390
. 391
. 402

. 406
. 410
. 413

. 417
. 419
. 421

. 425

10.1. CLASS LIST


Environment
Base class for the environment class hierarchy . . . . . . . . . . . . . . . . . . . . . . . .
NomadOptimizer::Evaluator
NOMAD-based Evaluator class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JEGAOptimizer::Evaluator
An evaluator specialization that knows how to interact with Dakota . . . . . . . . . . . . .
JEGAOptimizer::EvaluatorCreator
A specialization of the JEGA::FrontEnd::EvaluatorCreator that creates a new instance of a
Evaluator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ExecutableEnvironment
Environment corresponding to execution as a stand-alone application . . . . . . . . . . . .
ExperimentData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ForkApplicInterface
Derived application interface class which spawns simulation codes using fork/execvp/waitpid
FSUDesignCompExp
Wrapper class for the FSUDace QMC/CVT library . . . . . . . . . . . . . . . . . . . . . .
GaussProcApproximation
Derived approximation class for Gaussian Process implementation . . . . . . . . . . . . . .
GetLongOpt
GetLongOpt is a general command line utility from S. Manoharan (Advanced Computer Research Institute, Lyon, France) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Graphics
Single interface to 2D (motif) and 3D (PLPLOT) graphics as well as tabular cataloguing of
data for post-processing with Matlab, Tecplot, etc . . . . . . . . . . . . . . . . . . . . . . .
GridApplicInterface
Derived application interface class which spawns simulation codes using grid services such as
Condor or Globus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HierarchSurrModel
Derived model class within the surrogate model branch for managing hierarchical surrogates
(models of varying fidelity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interface
Base class for the interface class hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . .
Iterator
Base class for the iterator class hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . .
IteratorScheduler
Environment corresponding to execution as a stand-alone application . . . . . . . . . . . .
JEGAOptimizer
A version of Dakota::Optimizer for instantiation of John Eddys Genetic Algorithms (JEGA)
LeastSq
Base class for the nonlinear least squares branch of the iterator hierarchy . . . . . . . . . .
LibraryEnvironment
Environment corresponding to execution as an embedded library . . . . . . . . . . . . . . .
MatlabInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MetaIterator
Base class for meta-iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Minimizer
Base class for the optimizer and least squares branches of the iterator hierarchy . . . . . . .

57

. 426
. 430
. 432

. 437
. 438
. 439
440
. 442
. 445

. 450

. 453

. 456

. 457
. 461
. 470
. 483
. 488
. 494
. 498
. 500
. 502
. 503

58

CHAPTER 10. CLASS INDEX


MixedVarConstraints
Derived class within the Constraints hierarchy which separates continuous and discrete variables (no domain type array merging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MixedVariables
Derived class within the Variables hierarchy which separates continuous and discrete variables
(no domain type array merging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Model
Base class for the model class hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MPIManager
Class MPIManager to manage Dakotas MPI world, which may be a subset of MPI COMM WORLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MPIPackBuffer
Class for packing MPI message buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MPIUnpackBuffer
Class for unpacking MPI message buffers . . . . . . . . . . . . . . . . . . . . . . . . . . .
NCSUOptimizer
Wrapper class for the NCSU DIRECT optimization library . . . . . . . . . . . . . . . . . .
NestedModel
Derived model class which performs a complete sub-iterator execution within every evaluation
of the model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NIDRProblemDescDB
The derived input file database utilizing the new IDR parser . . . . . . . . . . . . . . . . .
NL2Res
Auxiliary information passed to calcr and calcj via ur . . . . . . . . . . . . . . . . . . . . .
NL2SOLLeastSq
Wrapper class for the NL2SOL nonlinear least squares library . . . . . . . . . . . . . . . .
NLPQLPOptimizer
Wrapper class for the NLPQLP optimization library, Version 2.0 . . . . . . . . . . . . . . .
NLSSOLLeastSq
Wrapper class for the NLSSOL nonlinear least squares library . . . . . . . . . . . . . . . .
NoDBBaseConstructor
Dummy struct for overloading constructors used in on-the-fly instantiations . . . . . . . . .
NomadOptimizer
Wrapper class for NOMAD Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonD
Base class for all nondetermistic iterators (the DAKOTA/UQ branch) . . . . . . . . . . . .
NonDAdaptImpSampling
Class for the Adaptive Importance Sampling methods within DAKOTA . . . . . . . . . . .
NonDAdaptiveSampling
Class for testing various Adaptively sampling methods using geometric, statisctical, and topological information of the surrogate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDBayesCalibration
Base class for Bayesian inference: generates posterior distribution on model parameters given
experimental data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDCalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDCubature
Derived nondeterministic class that generates N-dimensional numerical cubature points for
evaluation of expectation integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 517

. 518
. 520

. 548
. 549
. 551
. 553

. 556
. 564
. 568
. 568
. 571
. 575
. 577
. 578
. 580
. 590

. 594

. 598
. 600

. 603

10.1. CLASS LIST


NonDDREAMBayesCalibration
Bayesian inference using the DREAM approach . . . . . . . . . . . . . . . . . . . . . . .
NonDExpansion
Base class for polynomial chaos expansions (PCE) and stochastic collocation (SC) . . . . .
NonDGlobalEvidence
Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ . . . . . . .
NonDGlobalInterval
Class for using global nongradient-based optimization approaches to calculate interval bounds
for epistemic uncertainty quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDGlobalReliability
Class for global reliability methods within DAKOTA/UQ . . . . . . . . . . . . . . . . . .
NonDGlobalSingleInterval
Class for using global nongradient-based optimization approaches to calculate interval bounds
for epistemic uncertainty quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDGPImpSampling
Class for the Gaussian Process-based Importance Sampling method . . . . . . . . . . . . .
NonDGPMSABayesCalibration
Generates posterior distribution on model parameters given experiment data . . . . . . . . .
NonDIncremLHSSampling
Performs icremental LHS sampling for uncertainty quantification . . . . . . . . . . . . . .
NonDIntegration
Derived nondeterministic class that generates N-dimensional numerical integration points for
evaluation of expectation integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDInterval
Base class for interval-based methods within DAKOTA/UQ . . . . . . . . . . . . . . . . .
NonDLHSEvidence
Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ . . . . . . .
NonDLHSInterval
Class for the LHS-based interval methods within DAKOTA/UQ . . . . . . . . . . . . . . .
NonDLHSSampling
Performs LHS and Monte Carlo sampling for uncertainty quantification . . . . . . . . . . .
NonDLHSSingleInterval
Class for pure interval propagation using LHS . . . . . . . . . . . . . . . . . . . . . . . .
NonDLocalEvidence
Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ . . . . . . .
NonDLocalInterval
Class for using local gradient-based optimization approaches to calculate interval bounds for
epistemic uncertainty quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDLocalReliability
Class for the reliability methods within DAKOTA/UQ . . . . . . . . . . . . . . . . . . . .
NonDLocalSingleInterval
Class for using local gradient-based optimization approaches to calculate interval bounds for
epistemic uncertainty quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonDPOFDarts
Base class for POF Dart methods within DAKOTA/UQ . . . . . . . . . . . . . . . . . . .
NonDPolynomialChaos
Nonintrusive polynomial chaos expansion approaches to uncertainty quantification . . . . .

59

. 605
. 609
. 615

. 617
. 620

. 622
. 624
. 627
. 630

. 631
. 634
. 636
. 637
. 639
. 641
. 642

. 643
. 646

. 655
. 657
. 659

60

CHAPTER 10. CLASS INDEX


NonDQuadrature
Derived nondeterministic class that generates N-dimensional numerical quadrature points for
evaluation of expectation integrals over uncorrelated standard normals/uniforms/exponentials/betas/gammas
663
NonDQUESOBayesCalibration
Bayesian inference using the QUESO library from UT Austin . . . . . . . . . . . . . . . . . 666
NonDReliability
Base class for the reliability methods within DAKOTA/UQ . . . . . . . . . . . . . . . . . . 669
NonDSampling
Base class for common code between NonDLHSSampling, NonDIncremLHSSampling, and
NonDAdaptImpSampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
NonDSparseGrid
Derived nondeterministic class that generates N-dimensional Smolyak sparse grids for numerical evaluation of expectation integrals over independent standard random variables . . . . . . 677
NonDStochCollocation
Nonintrusive stochastic collocation approaches to uncertainty quantification . . . . . . . . . . 680
NonlinearCGOptimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
NPSOLOptimizer
Wrapper class for the NPSOL optimization library . . . . . . . . . . . . . . . . . . . . . . . 685
OptDartsOptimizer
Wrapper class for OptDarts Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Optimizer
Base class for the optimizer branch of the iterator hierarchy . . . . . . . . . . . . . . . . . . 690
OutputManager
Class to manage redirection of stdout/stderr, and keep track of current redir state, and manage
rank 0 output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
ParallelConfiguration
Container class for a set of ParallelLevel list iterators that collectively identify a particular
multilevel parallel configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
ParallelDirectApplicInterface
Sample derived interface class for testing parallel simulator plug-ins using assign rep() . . . . 699
ParallelLevel
Container class for the data associated with a single level of communicator partitioning . . . . 700
ParallelLibrary
Class for partitioning multiple levels of parallelism and managing message passing within
these levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
ParamResponsePair
Container class for a variables object, a response object, and an evaluation id . . . . . . . . . 711
ParamStudy
Class for vector, list, centered, and multidimensional parameter studies . . . . . . . . . . . . 714
partial prp equality
Predicate for comparing ONLY the interfaceId and Vars attributes of PRPair . . . . . . . . . 718
partial prp hash
Wrapper to delegate to the ParamResponsePair hash value function . . . . . . . . . . . . . . 719
PecosApproximation
Derived approximation class for global basis polynomials . . . . . . . . . . . . . . . . . . . 719
ProblemDescDB
The database containing information parsed from the DAKOTA input file . . . . . . . . . . . 724

10.1. CLASS LIST


ProcessApplicInterface
Derived application interface class that spawns a simulation code using a separate process and
communicates with it through files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ProcessHandleApplicInterface
Derived application interface class that spawns a simulation code using a separate process,
receives a process identifier, and communicates with the spawned process through files . . . .
ProgramOptions
ProgramOptions stores options whether from the CLH or from library user; initially valid only
on worldRank = 0, but then broadcast in ParallelLibrary::manage outputs restart . . . . . . .
PStudyDACE
Base class for managing common aspects of parameter studies and design of experiments
methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PSUADEDesignCompExp
Wrapper class for the PSUADE library . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PythonInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RecastBaseConstructor
Dummy struct for overloading constructors used in on-the-fly Model instantiations . . . . . .
RecastModel
Derived model class which provides a thin wrapper around a sub-model in order to recast the
form of its inputs and/or outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RelaxedVarConstraints
Derived class within the Constraints hierarchy which employs relaxation of discrete variables
RelaxedVariables
Derived class within the Variables hierarchy which employs the relaxation of discrete variables
Response
Container class for response functions and their derivatives. Response provides the handle
class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ResponseRep
Container class for response functions and their derivatives. ResponseRep provides the body
class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ResultsDBAny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ResultsEntry< StoredType >
Class to manage in-core vs. file database lookups . . . . . . . . . . . . . . . . . . . . . . . .
ResultsID
Get a globally unique 1-based execution number for a given iterator name (combination of
methodName and methodID) for use in results DB. Each Iterator::run() call creates or increments this count for its string identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ResultsManager
Results manager for iterator final data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ResultsNames
List of valid names for iterator results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RichExtrapVerification
Class for Richardson extrapolation for code and solution verification . . . . . . . . . . . . . .
ScilabInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SensAnalysisGlobal
Class for a utility class containing correlation calculations and variance-based decomposition
SeqHybridMetaIterator
Method for sequential hybrid iteration using multiple optimization and nonlinear least squares
methods on multiple models of varying fidelity . . . . . . . . . . . . . . . . . . . . . . . . .

61

732

736

739

744
746
748
750

751
759
760

762

766
772
774

775
776
778
779
781
782

784

62

CHAPTER 10. CLASS INDEX


SerialDirectApplicInterface
Sample derived interface class for testing serial simulator plug-ins using assign rep() . . . .
SharedApproxData
Base class for the shared approximation data class hierarchy . . . . . . . . . . . . . . . . .
SharedPecosApproxData
Derived approximation class for global basis polynomials . . . . . . . . . . . . . . . . . .
SharedSurfpackApproxData
Derived approximation class for Surfpack approximation classes. Interface between Surfpack
and Dakota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SharedVariablesData
Container class encapsulating variables data that can be shared among a set of Variables instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SharedVariablesDataRep
The representation of a SharedVariablesData instance. This representation, or body, may be
shared by multiple SharedVariablesData handle instances . . . . . . . . . . . . . . . . . . .
SingleModel
Derived model class which utilizes a single interface to map variables into responses . . . .
SNLLBase
Base class for OPT++ optimization and least squares methods . . . . . . . . . . . . . . . .
SNLLLeastSq
Wrapper class for the OPT++ optimization library . . . . . . . . . . . . . . . . . . . . . .
SNLLOptimizer
Wrapper class for the OPT++ optimization library . . . . . . . . . . . . . . . . . . . . . .
SOLBase
Base class for Stanford SOL software . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SpawnApplicInterface
Derived application interface class which spawns simulation codes using spawnvp . . . . .
SurfpackApproximation
Derived approximation class for Surfpack approximation classes. Interface between Surfpack
and Dakota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SurrBasedGlobalMinimizer
The global surrogate-based minimizer which sequentially minimizes and updates a global surrogate model without trust region controls . . . . . . . . . . . . . . . . . . . . . . . . . . .
SurrBasedLocalMinimizer
Class for provably-convergent local surrogate-based optimization and nonlinear least squares
SurrBasedMinimizer
Base class for local/global surrogate-based optimization/least squares . . . . . . . . . . . .
SurrogateModel
Base class for surrogate models (DataFitSurrModel and HierarchSurrModel) . . . . . . . .
SysCallApplicInterface
Derived application interface class which spawns simulation codes using system calls . . .
TANA3Approximation
Derived approximation class for TANA-3 two-point exponential approximation (a multipoint
approximation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TaylorApproximation
Derived approximation class for first- or second-order Taylor series (a local approximation)
TestDriverInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TrackerHTTP
TrackerHTTP: a usage tracking module that uses HTTP/HTTPS via the curl library . . . . .

. 787
. 789
. 793

. 796

. 798

. 802
. 805
. 807
. 810
. 813
. 819
. 822

. 823

. 826
. 827
. 834
. 838
. 842

. 845
. 847
. 848
. 853

10.1. CLASS LIST

63

Variables
Base class for the variables class hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
Verification
Base class for managing common aspects of verification studies . . . . . . . . . . . . . . . . 863

64

CHAPTER 10. CLASS INDEX

Chapter 11

File Index
11.1

File List

Here is a list of all documented files with brief descriptions:


dakota dll api.cpp
This file contains a DakotaRunner class, which launches DAKOTA . . . . . . . . . . . . .
dakota dll api.h
API for DLL interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
dakota tabular io.hpp
Utility functions for reading and writing tabular data files Emerging utilities for tabular file
I/O. For now, just extraction of capability from separate contexts to faciliate rework. These
augment (and leverage) those in data util.h . . . . . . . . . . . . . . . . . . . . . . . . . .
dll tester.cpp
Test the DLL with a DAKOTA input file . . . . . . . . . . . . . . . . . . . . . . . . . . .
JEGAOptimizer.cpp
Contains the implementation of the JEGAOptimizer class . . . . . . . . . . . . . . . . . .
JEGAOptimizer.hpp
Contains the definition of the JEGAOptimizer class . . . . . . . . . . . . . . . . . . . . . .
library mode.cpp
File containing a mock simulator main for testing Dakota in library mode . . . . . . . . . .
library split.cpp
File containing a mock simulator main for testing DAKOTA in library mode on a split communicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
main.cpp
File containing the main program for DAKOTA . . . . . . . . . . . . . . . . . . . . . . .
restart util.cpp
File containing the DAKOTA restart utility main program . . . . . . . . . . . . . . . . . .

65

. 865
. 866

. 867
. 868
. 869
. 869
. 870

. 873
. 874
. 875

66

CHAPTER 11. FILE INDEX

Chapter 12

Namespace Documentation
12.1

Dakota Namespace Reference

The primary namespace for DAKOTA.

Classes
class ApplicationInterface
Derived class within the interface class hierarchy for supporting interfaces to simulation codes.

class ApproximationInterface
Derived class within the interface class hierarchy for supporting approximations to simulation-based results.

class APPSEvalMgr
Evaluation manager class for APPSPACK.

class APPSOptimizer
Wrapper class for HOPSPACK.

class COLINApplication
class COLINOptimizer
Wrapper class for optimizers defined using COLIN.

class CollabHybridMetaIterator
Meta-iterator for hybrid iteration using multiple collaborating optimization and nonlinear least squares methods.

class GetLongOpt
GetLongOpt is a general command line utility from S. Manoharan (Advanced Computer Research Institute, Lyon,
France).

class CommandLineHandler
Utility class for managing command line inputs to DAKOTA.

class CommandShell
Utility class which defines convenience operators for spawning processes with system calls.

class ConcurrentMetaIterator
Meta-iterator for multi-start iteration or pareto set optimization.

class CONMINOptimizer
Wrapper class for the CONMIN optimization library.

struct BaseConstructor
67

68

CHAPTER 12. NAMESPACE DOCUMENTATION


Dummy struct for overloading letter-envelope constructors.

struct NoDBBaseConstructor
Dummy struct for overloading constructors used in on-the-fly instantiations.

struct RecastBaseConstructor
Dummy struct for overloading constructors used in on-the-fly Model instantiations.

class ActiveSet
Container class for active set tracking information. Contains the active set request vector and the derivative variables vector.

class Analyzer
Base class for NonD, DACE, and ParamStudy branches of the iterator hierarchy.

class Approximation
Base class for the approximation class hierarchy.

class Constraints
Base class for the variable constraints class hierarchy.

class Environment
Base class for the environment class hierarchy.

class Graphics
The Graphics class provides a single interface to 2D (motif) and 3D (PLPLOT) graphics as well as tabular cataloguing of data for post-processing with Matlab, Tecplot, etc.

class Interface
Base class for the interface class hierarchy.

class Iterator
Base class for the iterator class hierarchy.

class LeastSq
Base class for the nonlinear least squares branch of the iterator hierarchy.

class Minimizer
Base class for the optimizer and least squares branches of the iterator hierarchy.

class Model
Base class for the model class hierarchy.

class NonD
Base class for all nondetermistic iterators (the DAKOTA/UQ branch).

class Optimizer
Base class for the optimizer branch of the iterator hierarchy.

class PStudyDACE
Base class for managing common aspects of parameter studies and design of experiments methods.

class ResponseRep
Container class for response functions and their derivatives. ResponseRep provides the body class.

class Response
Container class for response functions and their derivatives. Response provides the handle class.

class Variables
Base class for the variables class hierarchy.

class Verification
Base class for managing common aspects of verification studies.

12.1. DAKOTA NAMESPACE REFERENCE

69

class DataEnvironmentRep
Body class for environment specification data.

class DataEnvironment
Handle class for environment specification data.

class DataFitSurrModel
Derived model class within the surrogate model branch for managing data fit surrogates (global and local)

class DataInterface
Handle class for interface specification data.

class DataMethodRep
Body class for method specification data.

class DataMethod
Handle class for method specification data.

class DataModelRep
Body class for model specification data.

class DataModel
Handle class for model specification data.

class DataResponsesRep
Body class for responses specification data.

class DataResponses
Handle class for responses specification data.

class DataVariablesRep
Body class for variables specification data.

class DataVariables
Handle class for variables specification data.

class DDACEDesignCompExp
Wrapper class for the DDACE design of experiments library.

class DirectApplicInterface
Derived application interface class which spawns simulation codes and testers using direct procedure calls.

class DiscrepancyCorrection
Base class for discrepancy corrections.

class DOTOptimizer
Wrapper class for the DOT optimization library.

class EffGlobalMinimizer
Implementation of Efficient Global Optimization/Least Squares algorithms.

class EfficientSubspaceMethod
Efficient Subspace Method (ESM), as proposed by Hany S. Abdel-Khalik.

class EmbedHybridMetaIterator
Meta-iterator for closely-coupled hybrid iteration, typically involving the embedding of local search methods within
global search methods.

class ExecutableEnvironment
Environment corresponding to execution as a stand-alone application.

class ExperimentData
class ForkApplicInterface

70

CHAPTER 12. NAMESPACE DOCUMENTATION


Derived application interface class which spawns simulation codes using fork/execvp/waitpid.

class FSUDesignCompExp
Wrapper class for the FSUDace QMC/CVT library.

class GaussProcApproximation
Derived approximation class for Gaussian Process implementation.

class GridApplicInterface
Derived application interface class which spawns simulation codes using grid services such as Condor or Globus.

class HierarchSurrModel
Derived model class within the surrogate model branch for managing hierarchical surrogates (models of varying
fidelity).

class IteratorScheduler
Environment corresponding to execution as a stand-alone application.

class JEGAOptimizer
A version of Dakota::Optimizer for instantiation of John Eddys Genetic Algorithms (JEGA).

class LibraryEnvironment
Environment corresponding to execution as an embedded library.

class MatlabInterface
class MetaIterator
Base class for meta-iterators.

class MixedVarConstraints
Derived class within the Constraints hierarchy which separates continuous and discrete variables (no domain type
array merging).

class MixedVariables
Derived class within the Variables hierarchy which separates continuous and discrete variables (no domain type
array merging).

class MPIManager
Class MPIManager to manage Dakotas MPI world, which may be a subset of MPI COMM WORLD.

class MPIPackBuffer
Class for packing MPI message buffers.

class MPIUnpackBuffer
Class for unpacking MPI message buffers.

class NCSUOptimizer
Wrapper class for the NCSU DIRECT optimization library.

class NestedModel
Derived model class which performs a complete sub-iterator execution within every evaluation of the model.

class NIDRProblemDescDB
The derived input file database utilizing the new IDR parser.

struct NL2Res
Auxiliary information passed to calcr and calcj via ur.

class NL2SOLLeastSq
Wrapper class for the NL2SOL nonlinear least squares library.

class NLPQLPOptimizer
Wrapper class for the NLPQLP optimization library, Version 2.0.

class NLSSOLLeastSq

12.1. DAKOTA NAMESPACE REFERENCE

71

Wrapper class for the NLSSOL nonlinear least squares library.

class NomadOptimizer
Wrapper class for NOMAD Optimizer.

class NonDAdaptImpSampling
Class for the Adaptive Importance Sampling methods within DAKOTA.

class NonDAdaptiveSampling
Class for testing various Adaptively sampling methods using geometric, statisctical, and topological information of
the surrogate.

class NonDBayesCalibration
Base class for Bayesian inference: generates posterior distribution on model parameters given experimental data.

class NonDCalibration
class NonDCubature
Derived nondeterministic class that generates N-dimensional numerical cubature points for evaluation of expectation integrals.

class NonDDREAMBayesCalibration
Bayesian inference using the DREAM approach.

class NonDExpansion
Base class for polynomial chaos expansions (PCE) and stochastic collocation (SC)

class NonDGlobalEvidence
Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.

class NonDGlobalInterval
Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.

class NonDGlobalReliability
Class for global reliability methods within DAKOTA/UQ.

class NonDGlobalSingleInterval
Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.

class NonDGPImpSampling
Class for the Gaussian Process-based Importance Sampling method.

class NonDGPMSABayesCalibration
Generates posterior distribution on model parameters given experiment data.

class NonDIncremLHSSampling
Performs icremental LHS sampling for uncertainty quantification.

class NonDIntegration
Derived nondeterministic class that generates N-dimensional numerical integration points for evaluation of expectation integrals.

class NonDInterval
Base class for interval-based methods within DAKOTA/UQ.

class NonDLHSEvidence
Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.

class NonDLHSInterval
Class for the LHS-based interval methods within DAKOTA/UQ.

class NonDLHSSampling

72

CHAPTER 12. NAMESPACE DOCUMENTATION


Performs LHS and Monte Carlo sampling for uncertainty quantification.

class NonDLHSSingleInterval
Class for pure interval propagation using LHS.

class NonDLocalEvidence
Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.

class NonDLocalInterval
Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.

class NonDLocalReliability
Class for the reliability methods within DAKOTA/UQ.

class NonDLocalSingleInterval
Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.

class NonDPOFDarts
Base class for POF Dart methods within DAKOTA/UQ.

class NonDPolynomialChaos
Nonintrusive polynomial chaos expansion approaches to uncertainty quantification.

class NonDQuadrature
Derived nondeterministic class that generates N-dimensional numerical quadrature points for evaluation of expectation integrals over uncorrelated standard normals/uniforms/exponentials/betas/gammas.

class NonDQUESOBayesCalibration
Bayesian inference using the QUESO library from UT Austin.

class NonDReliability
Base class for the reliability methods within DAKOTA/UQ.

class NonDSampling
Base class for common code between NonDLHSSampling, NonDIncremLHSSampling, and NonDAdaptImpSampling.

class NonDSparseGrid
Derived nondeterministic class that generates N-dimensional Smolyak sparse grids for numerical evaluation of
expectation integrals over independent standard random variables.

class NonDStochCollocation
Nonintrusive stochastic collocation approaches to uncertainty quantification.

class NonlinearCGOptimizer
class NPSOLOptimizer
Wrapper class for the NPSOL optimization library.

class OptDartsOptimizer
Wrapper class for OptDarts Optimizer.

class OutputManager
Class to manage redirection of stdout/stderr, and keep track of current redir state, and manage rank 0 output.

class ParallelLevel
Container class for the data associated with a single level of communicator partitioning.

class ParallelConfiguration
Container class for a set of ParallelLevel list iterators that collectively identify a particular multilevel parallel
configuration.

class ParallelLibrary

12.1. DAKOTA NAMESPACE REFERENCE

73

Class for partitioning multiple levels of parallelism and managing message passing within these levels.

class ParamResponsePair
Container class for a variables object, a response object, and an evaluation id.

class ParamStudy
Class for vector, list, centered, and multidimensional parameter studies.

class PecosApproximation
Derived approximation class for global basis polynomials.

class ProblemDescDB
The database containing information parsed from the DAKOTA input file.

class ProcessApplicInterface
Derived application interface class that spawns a simulation code using a separate process and communicates with
it through files.

class ProcessHandleApplicInterface
Derived application interface class that spawns a simulation code using a separate process, receives a process
identifier, and communicates with the spawned process through files.

class ProgramOptions
ProgramOptions stores options whether from the CLH or from library user; initially valid only on worldRank = 0,
but then broadcast in ParallelLibrary::manage outputs restart.

struct partial prp hash


wrapper to delegate to the ParamResponsePair hash value function

struct partial prp equality


predicate for comparing ONLY the interfaceId and Vars attributes of PRPair

class PSUADEDesignCompExp
Wrapper class for the PSUADE library.

class PythonInterface
class RecastModel
Derived model class which provides a thin wrapper around a sub-model in order to recast the form of its inputs
and/or outputs.

class RelaxedVarConstraints
Derived class within the Constraints hierarchy which employs relaxation of discrete variables.

class RelaxedVariables
Derived class within the Variables hierarchy which employs the relaxation of discrete variables.

class ResultsDBAny
class ResultsID
Get a globally unique 1-based execution number for a given iterator name (combination of methodName and
methodID) for use in results DB. Each Iterator::run() call creates or increments this count for its string identifier.

class ResultsNames
List of valid names for iterator results.

class ResultsManager
Results manager for iterator final data.

class ResultsEntry
Class to manage in-core vs. file database lookups.

class RichExtrapVerification
Class for Richardson extrapolation for code and solution verification.

74

CHAPTER 12. NAMESPACE DOCUMENTATION


class ScilabInterface
class SensAnalysisGlobal
Class for a utility class containing correlation calculations and variance-based decomposition.

class SeqHybridMetaIterator
Method for sequential hybrid iteration using multiple optimization and nonlinear least squares methods on multiple
models of varying fidelity.

class SharedApproxData
Base class for the shared approximation data class hierarchy.

class SharedPecosApproxData
Derived approximation class for global basis polynomials.

class SharedSurfpackApproxData
Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.

class SharedVariablesDataRep
The representation of a SharedVariablesData instance. This representation, or body, may be shared by multiple
SharedVariablesData handle instances.

class SharedVariablesData
Container class encapsulating variables data that can be shared among a set of Variables instances.

class SingleModel
Derived model class which utilizes a single interface to map variables into responses.

class SNLLBase
Base class for OPT++ optimization and least squares methods.

class SNLLLeastSq
Wrapper class for the OPT++ optimization library.

class SNLLOptimizer
Wrapper class for the OPT++ optimization library.

class SOLBase
Base class for Stanford SOL software.

class SpawnApplicInterface
Derived application interface class which spawns simulation codes using spawnvp.

class SurfpackApproximation
Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.

class SurrBasedGlobalMinimizer
The global surrogate-based minimizer which sequentially minimizes and updates a global surrogate model without
trust region controls.

class SurrBasedLocalMinimizer
Class for provably-convergent local surrogate-based optimization and nonlinear least squares.

class SurrBasedMinimizer
Base class for local/global surrogate-based optimization/least squares.

class SurrogateModel
Base class for surrogate models (DataFitSurrModel and HierarchSurrModel).

class SysCallApplicInterface
Derived application interface class which spawns simulation codes using system calls.

class TANA3Approximation
Derived approximation class for TANA-3 two-point exponential approximation (a multipoint approximation).

12.1. DAKOTA NAMESPACE REFERENCE


class TaylorApproximation
Derived approximation class for first- or second-order Taylor series (a local approximation).

class TestDriverInterface
class TrackerHTTP
TrackerHTTP: a usage tracking module that uses HTTP/HTTPS via the curl library.

Typedefs
typedef double Real
typedef std::string String
typedef
Teuchos::SerialDenseVector
< int, Real > RealVector
typedef
Teuchos::SerialDenseMatrix
< int, Real > RealMatrix
typedef
Teuchos::SerialSymDenseMatrix
< int, Real > RealSymMatrix
typedef
Teuchos::SerialDenseVector
< int, int > IntVector
typedef
Teuchos::SerialDenseMatrix
< int, int > IntMatrix
typedef std::deque< bool > BoolDeque
typedef boost::dynamic bitset
< unsigned long > BitArray
typedef std::vector< BoolDeque > BoolDequeArray
typedef std::vector< Real > RealArray
typedef std::vector< RealArray > Real2DArray
typedef std::vector< int > IntArray
typedef std::vector< IntArray > Int2DArray
typedef std::vector< short > ShortArray
typedef std::vector< unsigned
short > UShortArray
typedef std::vector< UShortArray > UShort2DArray
typedef std::vector
< UShort2DArray > UShort3DArray
typedef std::vector< size t > SizetArray
typedef std::vector< SizetArray > Sizet2DArray
typedef std::vector< String > StringArray
typedef std::vector< StringArray > String2DArray
typedef
boost::multi array types::index range idx range
typedef boost::multi array
< String, 1 > StringMultiArray

75

76

CHAPTER 12. NAMESPACE DOCUMENTATION


typedef
StringMultiArray::array view
< 1 >::type StringMultiArrayView
typedef
StringMultiArray::const array view
< 1 >::type StringMultiArrayConstView
typedef boost::multi array
< unsigned short, 1 > UShortMultiArray
typedef
UShortMultiArray::array view
< 1 >::type UShortMultiArrayView
typedef
UShortMultiArray::const array view
< 1 >::type UShortMultiArrayConstView
typedef boost::multi array
< size t, 1 > SizetMultiArray
typedef
SizetMultiArray::array view
< 1 >::type SizetMultiArrayView
typedef
SizetMultiArray::const array view
< 1 >::type SizetMultiArrayConstView
typedef std::vector< RealVector > RealVectorArray
typedef std::vector
< RealVectorArray > RealVector2DArray
typedef std::vector< RealMatrix > RealMatrixArray
typedef std::vector
< RealSymMatrix > RealSymMatrixArray
typedef std::vector< IntVector > IntVectorArray
typedef std::vector< Variables > VariablesArray
typedef std::vector< Response > ResponseArray
typedef std::vector
< ParamResponsePair > PRPArray
typedef std::vector< PRPArray > PRP2DArray
typedef std::vector< Model > ModelArray
typedef std::vector< Iterator > IteratorArray
typedef std::list< bool > BoolList
typedef std::list< int > IntList
typedef std::list< size t > SizetList
typedef std::list< Real > RealList
typedef std::list< RealVector > RealVectorList
typedef std::list< String > StringList
typedef std::list< Variables > VariablesList
typedef std::list< Interface > InterfaceList
typedef std::list< Response > ResponseList
typedef std::list< Model > ModelList
typedef std::list< Iterator > IteratorList

12.1. DAKOTA NAMESPACE REFERENCE

typedef std::pair< int, int > IntIntPair


typedef std::pair< int, String > IntStringPair
typedef std::pair< Real, Real > RealRealPair
typedef std::pair< int, Response > IntResponsePair
typedef std::set< Real > RealSet
typedef std::set< int > IntSet
typedef std::set< unsigned short > UShortSet
typedef std::set< size t > SizetSet
typedef std::vector< RealSet > RealSetArray
typedef std::vector< IntSet > IntSetArray
typedef std::vector< UShortSet > UShortSetArray
typedef std::map< int, int > IntIntMap
typedef std::map< int, short > IntShortMap
typedef std::map< int, Real > IntRealMap
typedef std::map< Real, Real > RealRealMap
typedef std::vector< IntRealMap > IntRealMapArray
typedef std::vector< RealRealMap > RealRealMapArray
typedef std::map< int, RealVector > IntRealVectorMap
typedef std::map< int, ActiveSet > IntActiveSetMap
typedef std::map< int, Variables > IntVariablesMap
typedef std::map< int, Response > IntResponseMap
typedef std::map< IntArray,
size t > IntArraySizetMap
typedef std::multimap
< RealRealPair,
ParamResponsePair > RealPairPRPMultiMap
typedef IntList::iterator ILIter
typedef IntList::const iterator ILCIter
typedef SizetList::iterator StLIter
typedef SizetList::const iterator StLCIter
typedef RealList::iterator RLIter
typedef RealList::const iterator RLCIter
typedef RealVectorList::iterator RVLIter
typedef
RealVectorList::const iterator RVLCIter
typedef StringList::iterator StringLIter
typedef StringList::const iterator StringLCIter
typedef VariablesList::iterator VarsLIter
typedef InterfaceList::iterator InterfLIter
typedef ResponseList::iterator RespLIter
typedef ModelList::iterator ModelLIter
typedef ModelList::reverse iterator ModelLRevIter
typedef IteratorList::iterator IterLIter
typedef std::list
< ParallelLevel >::iterator ParLevLIter

77

78

CHAPTER 12. NAMESPACE DOCUMENTATION


typedef std::list
< ParallelConfiguration >
::iterator ParConfigLIter
typedef IntSet::iterator ISIter
typedef IntSet::const iterator ISCIter
typedef RealSet::iterator RSIter
typedef RealSet::const iterator RSCIter
typedef IntIntMap::iterator IntIntMIter
typedef IntIntMap::const iterator IntIntMCIter
typedef IntShortMap::iterator IntShMIter
typedef IntShortMap::const iterator IntShMCIter
typedef IntRealMap::iterator IRMIter
typedef IntRealMap::const iterator IRMCIter
typedef RealRealMap::iterator RRMIter
typedef RealRealMap::const iterator RRMCIter
typedef IntRealVectorMap::iterator IntRDVMIter
typedef
IntRealVectorMap::const iterator IntRDVMCIter
typedef IntActiveSetMap::iterator IntASMIter
typedef IntVariablesMap::iterator IntVarsMIter
typedef
IntVariablesMap::const iterator IntVarsMCIter
typedef IntResponseMap::iterator IntRespMIter
typedef
IntResponseMap::const iterator IntRespMCIter
typedef int( ftw fn )(const char file, const struct stat , int ftype, int depth, void v)
typedef struct dirent dirent
typedef struct Dakota::Cbuf Cbuf
typedef struct Dakota::Buf Buf
typedef struct Dakota::Finfo Finfo
typedef boost::tuple
< std::string, std::string,
size t, std::string > ResultsKeyType
Data type for results key (instance name / id, unique run, label), where data key is a valid colon-delimited string
from ResultsNames tuple<method name, method id, execution number, data key>

typedef std::string MetaDataKeyType


Data type for metadata key.

typedef std::vector< std::string > MetaDataValueType


Data type for metadata value.

typedef std::map
< MetaDataKeyType,
MetaDataValueType > MetaDataType
A single MetaData entry is map<string, vector<string> > Example: pair( Column labels, [Mean, Std
Dev, Skewness, Kurtosis] )

typedef boost::tuple
< std::string, std::string,
size t > StrStrSizet

12.1. DAKOTA NAMESPACE REFERENCE


Iterator unique ID: <method name, method id, exec num>

typedef void( dl find optimum t )(void , Optimizer1 , char )


typedef void( dl destructor t )(void )
typedef
Teuchos::SerialDenseSolver
< int, Real > RealSolver
typedef
Teuchos::SerialSpdDenseSolver
< int, Real > RealSpdSolver
typedef int( start grid computing t )(char analysis driver script, char params file, char results file)
definition of start grid computing type (function pointer)

typedef int( perform analysis t )(char iteration num)


definition of perform analysis type (function pointer)

typedef int ( get jobs completed t )()


definition of get completed jobs type (function pointer)

typedef int( stop grid computing t )()


definition of stop grid computing type (function pointer)

typedef int MPI Comm


typedef void MPI Request
typedef unsigned char u char
typedef unsigned short u short
typedef unsigned int u int
typedef unsigned long u long
typedef long long long long
typedef unsigned long UL
typedef void( Calcrj )(int n, int p, Real x, int nf, Real r, int ui, void ur, Vf vf)
typedef void( Vf )()
typedef void( DbCallbackFunctionPtr )(Dakota::ProblemDescDB db, void data ptr)
typedef
bmi::multi index container
< Dakota::ParamResponsePair,
bmi::indexed by
< bmi::ordered non unique
< bmi::tag< ordered >
, bmi::const mem fun
< Dakota::ParamResponsePair,
const IntStringPair
&,&Dakota::ParamResponsePair::eval interface ids >
>, bmi::hashed non unique
< bmi::tag< hashed >
, bmi::identity
< Dakota::ParamResponsePair >
, partial prp hash,
partial prp equality > > > PRPMultiIndexCache
Boost Multi-Index Container for globally caching ParamResponsePairs.

typedef PRPMultiIndexCache PRPCache

79

80

CHAPTER 12. NAMESPACE DOCUMENTATION


typedef
PRPCache::index iterator
< ordered >::type PRPCacheOIter
typedef
PRPCache::index const iterator
< ordered >::type PRPCacheOCIter
typedef
PRPCache::index iterator
< hashed >::type PRPCacheHIter
typedef
PRPCache::index const iterator
< hashed >::type PRPCacheHCIter
typedef PRPCacheOIter PRPCacheIter
typedef PRPCacheOCIter PRPCacheCIter
typedef
bmi::multi index container
< Dakota::ParamResponsePair,
bmi::indexed by
< bmi::ordered unique
< bmi::tag< ordered >
, bmi::const mem fun
< Dakota::ParamResponsePair,
int,&Dakota::ParamResponsePair::eval id >
>, bmi::hashed non unique
< bmi::tag< hashed >
, bmi::identity
< Dakota::ParamResponsePair >
, partial prp hash,
partial prp equality > > > PRPMultiIndexQueue
Boost Multi-Index Container for locally queueing ParamResponsePairs.

typedef PRPMultiIndexQueue PRPQueue


typedef
PRPQueue::index iterator
< ordered >::type PRPQueueOIter
typedef
PRPQueue::index const iterator
< ordered >::type PRPQueueOCIter
typedef
PRPQueue::index iterator
< hashed >::type PRPQueueHIter
typedef
PRPQueue::index const iterator
< hashed >::type PRPQueueHCIter
typedef PRPQueueOIter PRPQueueIter
typedef PRPQueueOCIter PRPQueueCIter
typedef std::pair< boost::any,
MetaDataType > ResultsValueType
Core data storage type: boost::any, with optional metadata (see other types in results types.hpp)

12.1. DAKOTA NAMESPACE REFERENCE

81

Enumerations
enum {
COBYLA, DIRECT, EA, MS,
PS, SW, BETA }
enum {
sFTW F, sFTW SL, sFTW D, sFTW DP,
sFTW DNR, sFTW O, sFTW NS }
enum {
sFTWret OK, sFTWret quit, sFTWret skipdir, sFTWret Follow,
sFTWret mallocfailure }
enum { OBJECTIVE, INEQUALITY CONSTRAINT, EQUALITY CONSTRAINT }
define algebraic function types

enum {
DEFAULT METHOD =0, HYBRID =META BIT, PARETO SET, MULTI START,
BRANCH AND BOUND, RICHARDSON EXTRAP =(ANALYZER BIT | VERIF BIT), CENTERED PARAMETER STUDY =(ANALYZER BIT | PSTUDYDACE BIT), LIST PARAMETER STUDY,
MULTIDIM PARAMETER STUDY, VECTOR PARAMETER STUDY, DACE, FSU CVT,
FSU HALTON, FSU HAMMERSLEY, PSUADE MOAT, LOCAL RELIABILITY =(ANALYZERBIT | NOND BIT),
GLOBAL RELIABILITY, POLYNOMIAL CHAOS, STOCH COLLOCATION, CUBATURE INTEGRATION,
SPARSE GRID INTEGRATION, QUADRATURE INTEGRATION, BAYES CALIBRATION, GPAIS,
POF DARTS, EFFICIENT SUBSPACE, IMPORTANCE SAMPLING, ADAPTIVE SAMPLING,
RANDOM SAMPLING, LOCAL INTERVAL EST, LOCAL EVIDENCE, GLOBAL INTERVALEST,
GLOBAL EVIDENCE, SURROGATE BASED LOCAL =(MINIMIZER BIT | SURRBASED BIT),
SURROGATE BASED GLOBAL, EFFICIENT GLOBAL,
NL2SOL =(MINIMIZER BIT | LEASTSQ BIT), NLSSOL SQP, OPTPP G NEWTON, ASYNCH PATTERN SEARCH =(MINIMIZER BIT | OPTIMIZER BIT),
OPTPP PDS, COLINY BETA, COLINY COBYLA, COLINY DIRECT,
COLINY MULTI START, COLINY EA, COLINY PATTERN SEARCH, COLINY SOLIS WETS,
MOGA, SOGA, NCSU DIRECT, MESH ADAPTIVE SEARCH,
GENIE OPT DARTS, GENIE DIRECT, NONLINEAR CG, OPTPP CG,
OPTPP Q NEWTON, OPTPP FD NEWTON, OPTPP NEWTON, NPSOL SQP,
NLPQL SQP, DOT BFGS, DOT FRCG, DOT MMFD,
DOT SLP, DOT SQP, CONMIN FRCG, CONMIN MFD,
DL SOLVER }
enum {
SUBMETHOD DEFAULT =0, SUBMETHOD COLLABORATIVE, SUBMETHOD EMBEDDED, SUBMETHOD SEQUENTIAL,
SUBMETHOD LHS, SUBMETHOD RANDOM, SUBMETHOD INCREMENTAL LHS, SUBMETHOD INCREMENTAL RANDOM,
SUBMETHOD BOX BEHNKEN, SUBMETHOD CENTRAL COMPOSITE, SUBMETHOD GRI-

82

CHAPTER 12. NAMESPACE DOCUMENTATION


D, SUBMETHOD OA LHS,
SUBMETHOD OAS, SUBMETHOD DREAM, SUBMETHOD GPMSA, SUBMETHOD QUESO,
SUBMETHOD NIP, SUBMETHOD SQP, SUBMETHOD EA, SUBMETHOD EGO,
SUBMETHOD SBO, SUBMETHOD CONVERGE ORDER, SUBMETHOD CONVERGE QOI, SUBMETHOD ESTIMATE ORDER }
Sub-methods, including sampling, inference algorithm, opt algorithm types.

enum {
SILENT OUTPUT, QUIET OUTPUT, NORMAL OUTPUT, VERBOSE OUTPUT,
DEBUG OUTPUT }
enum {
DEFAULT SCHEDULING, MASTER SCHEDULING, PEER SCHEDULING, PEER DYNAMICSCHEDULING,
PEER STATIC SCHEDULING, DYNAMIC SCHEDULING, STATIC SCHEDULING }
enum { DEFAULT CONFIG, PUSH DOWN, PUSH UP }
enum { STD NORMAL U, STD UNIFORM U, ASKEY U, EXTENDED U }
enum { DEFAULT COVARIANCE, NO COVARIANCE, DIAGONAL COVARIANCE, FULL COVARIANCE }
enum { NO INT REFINE =0, IS, AIS, MMAIS }
enum { PROBABILITIES, RELIABILITIES, GEN RELIABILITIES }
enum { COMPONENT =0, SYSTEM SERIES, SYSTEM PARALLEL }
enum { CUMULATIVE, COMPLEMENTARY }
enum { DEFAULT LS =0, SVD LS, EQ CON LS }
enum {
NO EMULATOR, PCE EMULATOR, SC EMULATOR, GP EMULATOR,
KRIGING EMULATOR }
enum { IGNORE RANKS, SET RANKS, GET RANKS, SET GET RANKS }
enum {
UNCERTAIN, UNCERTAIN UNIFORM, ALEATORY UNCERTAIN, ALEATORY UNCERTAIN UNIFORM,
EPISTEMIC UNCERTAIN, EPISTEMIC UNCERTAIN UNIFORM, ACTIVE, ACTIVE UNIFORM,
ALL, ALL UNIFORM }
enum {
MV =0, AMV X, AMV U, AMV PLUS X,
AMV PLUS U, TANA X, TANA U, NO APPROX,
EGRA X, EGRA U }
enum { BREITUNG, HOHENRACK, HONG }
enum { ORIGINAL PRIMARY, SINGLE OBJECTIVE, LAGRANGIAN OBJECTIVE, AUGMENTED LAGRANGIAN OBJECTIVE }
enum { NO CONSTRAINTS, LINEARIZED CONSTRAINTS, ORIGINAL CONSTRAINTS }
enum { NO RELAX, HOMOTOPY, COMPOSITE STEP }
enum { PENALTY MERIT, ADAPTIVE PENALTY MERIT, LAGRANGIAN MERIT, AUGMENTED LAGRANGIAN MERIT }
enum { FILTER, TR RATIO }
enum { SCALE NONE, SCALE VALUE, SCALE LOG }
enum { CDV, LINEAR, NONLIN, FN LSQ }
enum { DISALLOW, TARGET, BOUNDS }

12.1. DAKOTA NAMESPACE REFERENCE

83

enum { DEFAULT POINTS, MINIMUM POINTS, RECOMMENDED POINTS, TOTAL POINTS


}
define special values for pointsManagement

enum {
NO SURROGATE =0, UNCORRECTED SURROGATE, AUTO CORRECTED SURROGATE, BYPASS SURROGATE,
MODEL DISCREPANCY }
define special values for SurrogateModel::responseMode

enum { NO CORRECTION =0, ADDITIVE CORRECTION, MULTIPLICATIVE CORRECTION, COMBINED CORRECTION }


define special values for approxCorrectionType

enum { DEFAULT DOMAIN =0, RELAXED DOMAIN, MIXED DOMAIN }


enum {
DEFAULT VIEW =0, ALL VIEW, DESIGN VIEW, UNCERTAIN VIEW,
ALEATORY UNCERTAIN VIEW, EPISTEMIC UNCERTAIN VIEW, STATE VIEW }
enum {
EMPTY =0, RELAXED ALL, MIXED ALL, RELAXED DESIGN,
RELAXED UNCERTAIN, RELAXED ALEATORY UNCERTAIN, RELAXED EPISTEMIC UNCERTAIN, RELAXED STATE,
MIXED DESIGN, MIXED UNCERTAIN, MIXED ALEATORY UNCERTAIN, MIXED EPISTEMIC UNCERTAIN,
MIXED STATE }
enum {
CONTINUOUS DESIGN =1, DISCRETE DESIGN RANGE, DISCRETE DESIGN SET INT, DISCRETE DESIGN SET REAL,
NORMAL UNCERTAIN, LOGNORMAL UNCERTAIN, UNIFORM UNCERTAIN, LOGUNIFORM UNCERTAIN,
TRIANGULAR UNCERTAIN, EXPONENTIAL UNCERTAIN, BETA UNCERTAIN, GAMMA UNCERTAIN,
GUMBEL UNCERTAIN, FRECHET UNCERTAIN, WEIBULL UNCERTAIN, HISTOGRAM BIN UNCERTAIN,
POISSON UNCERTAIN, BINOMIAL UNCERTAIN, NEGATIVE BINOMIAL UNCERTAIN, GEOMETRIC UNCERTAIN,
HYPERGEOMETRIC UNCERTAIN, HISTOGRAM POINT UNCERTAIN, CONTINUOUS INTERVAL UNCERTAIN, DISCRETE INTERVAL UNCERTAIN,
DISCRETE UNCERTAIN SET INT, DISCRETE UNCERTAIN SET REAL, CONTINUOUS STATE, DISCRETE STATE RANGE,
DISCRETE STATE SET INT, DISCRETE STATE SET REAL }
enum var t {
VAR x1, VAR x2, VAR x3, VAR b,
VAR h, VAR P, VAR M, VAR Y,
VAR w, VAR t, VAR R, VAR E,
VAR X, VAR Fs, VAR P1, VAR P2,
VAR P3, VAR B, VAR D, VAR H,
VAR F0, VAR d, VAR MForm }
enumeration of possible variable types (to index to names)

84

CHAPTER 12. NAMESPACE DOCUMENTATION


enum driver t {
NO DRIVER =0, CANTILEVER BEAM, MOD CANTILEVER BEAM, CYLINDER HEAD,
EXTENDED ROSENBROCK, GENERALIZED ROSENBROCK, LF ROSENBROCK, MF ROSENBROCK,
ROSENBROCK, GERSTNER, SCALABLE GERSTNER, LOGNORMAL RATIO,
MULTIMODAL, PLUGIN ROSENBROCK, PLUGIN TEXT BOOK, SHORT COLUMN,
LF SHORT COLUMN, MF SHORT COLUMN, SIDE IMPACT COST, SIDE IMPACT PERFORMANCE,
SOBOL RATIONAL, SOBOL G FUNCTION, SOBOL ISHIGAMI, STEEL COLUMN COST,
STEEL COLUMN PERFORMANCE, TEXT BOOK, TEXT BOOK1, TEXT BOOK2,
TEXT BOOK3, TEXT BOOK OUU, SCALABLE TEXT BOOK, SCALABLE MONOMIALS,
HERBIE, SMOOTH HERBIE, SHUBERT, SALINAS,
MODELCENTER, GENZ }
enumeration of possible direct driver types (to index to names)

enum local data t { VARIABLES MAP =1, VARIABLES VECTOR =2 }


enumeration for how local variables are stored (values must employ a bit representation)

enum sigtype { NO SIGMA, SCALAR SIGMA, COVARIANCE MATRIX }


special values for sigma type

enum edtype { SCALAR DATA, FUNCTIONAL DATA }


special values for experimental data type

enum { SETUP MODEL, SETUP USERFUNC }


enum {
CAUVar normal = 0, CAUVar lognormal = 1, CAUVar uniform = 2, CAUVar loguniform = 3,
CAUVar triangular = 4, CAUVar exponential = 5, CAUVar beta = 6, CAUVar gamma = 7,
CAUVar gumbel = 8, CAUVar frechet = 9, CAUVar weibull = 10, CAUVar histogram bin = 11,
CAUVar Nkinds = 12 }
enum {
DAUIVar poisson = 0, DAUIVar binomial = 1, DAUIVar negative binomial = 2, DAUIVar geometric
= 3,
DAUIVar hypergeometric = 4, DAUIVar Nkinds = 5 }
enum { DAURVar histogram point = 0, DAURVar Nkinds = 1 }
enum { CEUVar interval = 0, CEUVar Nkinds = 1 }
enum { DEUIVar interval = 0, DEUIVar set int = 1, DEUIVar Nkinds = 2 }
enum { DEURVar set real = 0, DEURVar Nkinds = 1 }
enum {
DiscSetVar design set int = 0, DiscSetVar design set real = 1, DiscSetVar state set int = 2, DiscSetVar state set real = 3,
DiscSetVar Nkinds = 4 }
enum { N VLR = 4 }
enum { N VLI = 2 }
enum { FULL TENSOR, FILTERED TENSOR, RANDOM TENSOR }
enum CG UPDATETYPE {
CG STEEPEST, CG FLETCHER REEVES, CG POLAK RIBIERE, CG POLAK RIBIERE PLUS,
CG HESTENES STIEFEL }
NonlinearCG update options.

12.1. DAKOTA NAMESPACE REFERENCE

85

enum CG LINESEARCHTYPE { CG FIXED STEP, CG LS SIMPLE, CG LS BRENT, CG LS WOLFE }


NonlinearCG linesearch options.

enum EvalType { NLFEvaluator, CONEvaluator }


enumeration for the type of evaluator function

enum {
TH SILENT OUTPUT, TH QUIET OUTPUT, TH NORMAL OUTPUT, TH VERBOSE OUTPUT,
TH DEBUG OUTPUT }

Functions
CommandShell & flush (CommandShell &shell)
convenient shell manipulator function to flush the shell

bool nearby (const RealVector &rv1, const RealVector &rv2, Real rel tol)
tolerance-based equality operator for RealVector

bool operator== (const ShortArray &dsa1, const ShortArray &dsa2)


equality operator for ShortArray

bool operator== (const StringArray &dsa1, const StringArray &dsa2)


equality operator for StringArray

bool operator== (const SizetArray &sa, SizetMultiArrayConstView smav)


equality operator for SizetArray and SizetMultiArrayConstView

Real rel change L2 (const RealVector &curr rv, const RealVector &prev rv)
Computes relative change between RealVectors using Euclidean L2 norm.

Real rel change L2 (const RealVector &curr rv1, const RealVector &prev rv1, const IntVector &curr iv,
const IntVector &prev iv, const RealVector &curr rv2, const RealVector &prev rv2)
Computes relative change between Real/int/Real vector triples using Euclidean L2 norm.

bool operator== (const IntArray &dia1, const IntArray &dia2)


equality operator for IntArray

bool operator!= (const IntArray &dia1, const IntArray &dia2)


inequality operator for IntArray

bool operator!= (const ShortArray &dsa1, const ShortArray &dsa2)


inequality operator for ShortArray

bool operator!= (const StringArray &dsa1, const StringArray &dsa2)


inequality operator for StringArray

bool operator!= (const SizetArray &sa, SizetMultiArrayConstView smav)


inequality operator for StringArray

std::string strtolower (const std::string &s)


Return lowercase copy of string s.

bool strbegins (const std::string &input, const std::string &test)


Return true if input string begins with string test.

bool strends (const std::string &input, const std::string &test)


Return true if input string ends with string test.

bool strcontains (const std::string &input, const std::string &test)

86

CHAPTER 12. NAMESPACE DOCUMENTATION


Return true if input string contains string test.

void build label (String &label, const String &root label, size t tag)
create a label by appending a numerical tag to the root label

void build labels (StringArray &label array, const String &root label)
create an array of labels by tagging root label for each entry in label array. Uses build label().

void build labels (StringMultiArray &label array, const String &root label)
create an array of labels by tagging root label for each entry in label array. Uses build label().

void build labels partial (StringArray &label array, const String &root label, size t start index, size t numitems)
create a partial array of labels by tagging root label for a subset of entries in label array. Uses build label().

void copy row vector (const RealMatrix &m, RealMatrix::ordinalType i, std::vector< Real > &row)
Copies a row of a Teuchos SerialDenseMatrix<int,Real> to std::vector<Real>

template<typename T >
void copy data (const std::vector< T > &vec, T ptr, const size t ptr len)
copy Array<T> to T

template<typename T >
void copy data (const T ptr, const size t ptr len, std::vector< T > &vec)
copy T to Array<T>

template<typename OrdinalType , typename ScalarType >


void copy data (const std::vector< Teuchos::SerialDenseVector< OrdinalType, ScalarType > > &sdva,
ScalarType ptr, const OrdinalType ptr len, const String &ptr type)
copy Array<Teuchos::SerialDenseVector<OT,ST> > to ST

template<typename OrdinalType , typename ScalarType >


void copy data (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv, Teuchos::SerialDenseMatrix< OrdinalType, ScalarType > &sdm, OrdinalType nr, OrdinalType nc)
copy Teuchos::SerialDenseVector<OT,ST> to Teuchos::SerialDenseMatrix<OT,ST>

template<typename T >
void copy data (const std::list< T > &dl, std::vector< T > &da)
copy std::list<T> to std::vector<T>

template<typename T >
void copy data (const std::list< T > &dl, std::vector< std::vector< T > > &d2a, size t num a, size t a len)
copy std::list<T> to std::vector<std::vector<T> >

template<typename T >
void copy data (const std::vector< std::vector< T > > &d2a, std::vector< T > &da)
copy std::vector<vector<T> > to std::vector<T>(unroll vecOfvecs into vector)

template<typename T >
void copy data (const std::map< int, T > &im, std::vector< T > &da)
copy map<int, T> to std::vector<T> (discard integer keys)

template<typename OrdinalType , typename ScalarType >


void copy data (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv1, Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv2)
copy Teuchos::SerialDenseVector<OrdinalType, ScalarType> to same (used in place of operator= when a deep
copy of a vector view is needed)

template<typename OrdinalType , typename ScalarType >


void copy data (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv, std::vector< ScalarType > &da)

12.1. DAKOTA NAMESPACE REFERENCE

87

copy Teuchos::SerialDenseVector<OrdinalType, ScalarType> to std::vector<ScalarType>

template<typename OrdinalType , typename ScalarType >


void copy data (const std::vector< ScalarType > &da, Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv)
copy Array<ScalarType> to Teuchos::SerialDenseVector<OrdinalType, ScalarType>

template<typename OrdinalType , typename ScalarType >


void copy data (const ScalarType ptr, const OrdinalType ptr len, Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv)
copy ScalarType to Teuchos::SerialDenseVector<OrdinalType, ScalarType>

template<typename OrdinalType , typename ScalarType >


void copy data (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv, ScalarType ptr,
const OrdinalType ptr len)
copy ScalarType to Teuchos::SerialDenseVector<OrdinalType, ScalarType>

template<typename OrdinalType , typename ScalarType >


void copy data (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv, std::vector< Teuchos::SerialDenseVector< OrdinalType, ScalarType > > &sdva, OrdinalType num vec, OrdinalType vec len)
copy SerialDenseVector<> to Array<SerialDenseVector<> >

template<typename OrdinalType , typename ScalarType >


void copy data partial (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv1, OrdinalType start index1, OrdinalType num items, Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv2)
copy portion of first SerialDenseVector to all of second SerialDenseVector

template<typename OrdinalType , typename ScalarType >


void copy data partial (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv1, Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv2, OrdinalType start index2)
copy all of first SerialDenseVector to portion of second SerialDenseVector

template<typename OrdinalType , typename ScalarType >


void copy data partial (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv1, OrdinalType start index1, OrdinalType num items, Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv2,
OrdinalType start index2)
copy portion of first SerialDenseVector to portion of second SerialDenseVector

template<typename OrdinalType , typename ScalarType >


void copy data partial (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &sdv1, std::vector<
ScalarType > &da2, size t start index2)
copy all of first SerialDenseVector to portion of second SerialDenseVector

template<typename T >
void copy data partial (const std::vector< T > &da1, size t start index1, size t num items, std::vector< T
> &da2)
copy portion of first Array<T> to all of second Array<T>

template<typename T >
void copy data partial (const std::vector< T > &da1, std::vector< T > &da2, size t start index2)
copy all of first Array<T> to portion of second Array<T>

template<typename T >
void copy data partial (const std::vector< T > &da, boost::multi array< T, 1 > &bma, size t start index bma)
copy all of first Array<T> to portion of boost::multi array<T, 1>

88

CHAPTER 12. NAMESPACE DOCUMENTATION


template<typename T >
void copy data partial (const std::vector< T > &da1, size t start index1, size t num items, std::vector< T
> &da2, size t start index2)
copy portion of first Array<T> to portion of second Array<T>

void merge data partial (const IntVector &d vec, RealVector &m vec, size t start index ma)
merge a discrete integer vector into a single continuous vector

void merge data partial (const IntVector &d vec, RealArray &m array, size t start index ma)
merge a discrete integer vector into a single continuous array

template<typename OrdinalType , typename ScalarType >


const ScalarType & set index to value (OrdinalType index, const std::set< ScalarType > &values)
retrieve the set value corresponding to the passed index

template<typename ScalarType >


size t set value to index (const ScalarType &value, const std::set< ScalarType > &values)
calculate the set index corresponding to the passed value

template<typename OrdinalType , typename KeyType , typename ValueType >


const KeyType & map index to key (OrdinalType index, const std::map< KeyType, ValueType > &pairs)
retrieve the set value corresponding to the passed index

template<typename OrdinalType , typename KeyType , typename ValueType >


const ValueType & map index to value (OrdinalType index, const std::map< KeyType, ValueType > &pairs)
retrieve the set value corresponding to the passed index

template<typename KeyType , typename ValueType >


void map keys to set (const std::map< KeyType, ValueType > &source map, std::set< KeyType > &targetset)
calculate the map index corresponding to the passed key

template<typename KeyType , typename ValueType >


size t map key to index (const KeyType &key, const std::map< KeyType, ValueType > &pairs)
calculate the map index corresponding to the passed key

template<typename OrdinalType , typename ScalarType >


void x y pairs to x set (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &xy pairs, std::set< ScalarType > &x set)
convert a SerialDenseVector of head-to-tail (x,y) pairs into a std::set of (x), discarding the y values

template<typename ContainerType >


size t find index (const ContainerType &c, const typename ContainerType::value type &search data)
generic find index (inactive)

template<typename MultiArrayType , typename DakArrayType >


void copy data (const MultiArrayType &ma, DakArrayType &da)
generic copy (inactive)

template<typename T >
size t find index (const boost::multi array< T, 1 > &bma, const T &search data)
compute the index of an entry within a boost::multi array

size t find index (SizetMultiArrayConstView bmacv, size t search data)


compute the index of an entry within a boost::multi array view

size t find index (StringMultiArrayConstView bmacv, const String &search data)


compute the index of an entry within a boost::multi array view

12.1. DAKOTA NAMESPACE REFERENCE

89

template<typename ListT >


size t find index (const ListT &l, const typename ListT::value type &val)
compute the index of an entry within a std::list

void copy data (SizetMultiArrayConstView ma, SizetArray &da)


copy boost::multi array view to Array

void copy data (StringMultiArrayConstView ma, StringArray &da)


copy boost::multi array view to Array

template<typename ListT >


ListT::const iterator find if (const ListT &c, bool(test fn)(const typename ListT::value type &, const std::string &), const std::string &test fn data)
return an iterator to the first list element satisfying the predicate test fn w.r.t. the passed test fn data; end if not
found

template<typename DakContainerType >


bool contains (const DakContainerType &v, const typename DakContainerType::value type &val)
return true if the item val appears in container v

void dak sigcatch (int sig)


void start dakota heartbeat (int seconds)
int sftw (const char name, int(fn)(const char file, const struct stat , int ftype, int depth, void v), void
v)
static int ftw1 (char name, size t namelen, size t namemaxlen, ftw fn fn, int, void v)
static int compar (const void a, const void b)
static int dodir (DIR dir, char name, size t namelen, size t namemaxlen, ftw fn fn, int depth, void v,
struct stat sb)
int sftw (const char name, ftw fn fn, void v)
static int Symlink (const char from, const char to)
static int my recrm (const char file, const struct stat sb, int ftype, int depth, void v)
int rec rmdir (const char name)
static void buf incr (Buf b, size t Lt)
int my cp (const char file, const struct stat sb, int ftype, int depth, void v)
int rec cp (const char from, const char todir, int copy, int flatten, int replace)
static char pathsimp (char t0)
void get npath (int appdrive, std::string pnpath)
void workdir adjust (const std::string &workdir)
std::string get cwd ()
Portability adapter for getcwd.

std::vector< std::string > get pathext ()


Utility function for executable file search algorithms.

void putenv impl (const char name and value)


Utility function from borrowed from boost/test.

void abort handler (int code)


global function which handles serial or parallel aborts

void register signal handlers ()


Tie various signal handlers to Dakotas abort handler function.

void mpi debug hold ()


Global function to hold Dakota processes to help with MPI debugging.

90

CHAPTER 12. NAMESPACE DOCUMENTATION


template<typename T >
T abort handler t (int code)
ResultsKeyType make key (const StrStrSizet &iterator id, const std::string &data name)
Make a full ResultsKeyType from the passed iterator id and data name.

MetaDataValueType make metadatavalue (StringMultiArrayConstView labels)


create MetaDataValueType from the passed strings

MetaDataValueType make metadatavalue (StringMultiArrayConstView cv labels, StringMultiArrayConstView div labels, StringMultiArrayConstView drv labels, const StringArray &resp labels)
create MetaDataValueType from the passed strings

MetaDataValueType make metadatavalue (const StringArray &resp labels)


create MetaDataValueType from the passed strings

MetaDataValueType make metadatavalue (const std::string &)


create MetaDataValueType from the passed strings

MetaDataValueType make metadatavalue (const std::string &, const std::string &)


create MetaDataValueType from the passed strings

MetaDataValueType make metadatavalue (const std::string &, const std::string &, const std::string &)
create MetaDataValueType from the passed strings

MetaDataValueType make metadatavalue (const std::string &, const std::string &, const std::string &, const
std::string &)
create MetaDataValueType from the passed strings

std::istream & operator>> (std::istream &s, ActiveSet &set)


std::istream extraction operator for ActiveSet. Calls read(std::istream&).

std::ostream & operator<< (std::ostream &s, const ActiveSet &set)


std::ostream insertion operator for ActiveSet. Calls write(std::istream&).

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, ActiveSet &set)


MPIUnpackBuffer extraction operator for ActiveSet. Calls read(MPIUnpackBuffer&).

MPIPackBuffer & operator<< (MPIPackBuffer &s, const ActiveSet &set)


MPIPackBuffer insertion operator for ActiveSet. Calls write(MPIPackBuffer&).

bool operator!= (const ActiveSet &set1, const ActiveSet &set2)


inequality operator for ActiveSet

std::istream & operator>> (std::istream &s, Constraints &con)


std::istream extraction operator for Constraints

std::ostream & operator<< (std::ostream &s, const Constraints &con)


std::ostream insertion operator for Constraints

bool interface id compare (const Interface &interface in, const void id)
global comparison function for Interface

bool method id compare (const Iterator &iterator, const void id)


global comparison function for Iterator

bool model id compare (const Model &model, const void id)


global comparison function for Model

bool operator== (const Model &m1, const Model &m2)


equality operator for Envelope is true if same letter instance

bool operator!= (const Model &m1, const Model &m2)

12.1. DAKOTA NAMESPACE REFERENCE

91

inequality operator for Envelope is true if different letter instance

bool responses id compare (const Response &resp, const void id)


global comparison function for Response

std::istream & operator>> (std::istream &s, Response &response)


std::istream extraction operator for Response. Calls read(std::istream&).

std::ostream & operator<< (std::ostream &s, const Response &response)


std::ostream insertion operator for Response. Calls write(std::ostream&).

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, Response &response)


MPIUnpackBuffer extraction operator for Response. Calls read(MPIUnpackBuffer&).

MPIPackBuffer & operator<< (MPIPackBuffer &s, const Response &response)


MPIPackBuffer insertion operator for Response. Calls write(MPIPackBuffer&).

bool operator== (const Response &resp1, const Response &resp2)


equality operator for Response

bool operator!= (const Response &resp1, const Response &resp2)


inequality operator for Response

std::string re match (const std::string &token, const boost::regex &re)


Global utility function to ease migration from CtelRegExp to Boost.Regex.

bool variables id compare (const Variables &vars, const void id)


global comparison function for Variables

std::istream & operator>> (std::istream &s, Variables &vars)


std::istream extraction operator for Variables.

std::ostream & operator<< (std::ostream &s, const Variables &vars)


std::ostream insertion operator for Variables.

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, Variables &vars)


MPIUnpackBuffer extraction operator for Variables.

MPIPackBuffer & operator<< (MPIPackBuffer &s, const Variables &vars)


MPIPackBuffer insertion operator for Variables.

bool operator!= (const Variables &vars1, const Variables &vars2)


inequality operator for Variables

template<typename OrdinalType , typename ScalarType1 , typename ScalarType2 , typename ScalarType3 >


void write ordered (std::ostream &s, const SizetArray &comp totals, const Teuchos::SerialDenseVector<
OrdinalType, ScalarType1 > &c vector, const Teuchos::SerialDenseVector< OrdinalType, ScalarType2 >
&di vector, const Teuchos::SerialDenseVector< OrdinalType, ScalarType3 > &dr vector)
ScalarType1 will be Real, ScalarType2 will be int, and ScalarType3 may be int or Real, but written for arbitrary
types.

template<typename ScalarType >


void write ordered (std::ostream &s, const SizetArray &comp totals, const std::vector< ScalarType > &cvector, const std::vector< ScalarType > &di vector, const std::vector< ScalarType > &dr vector)
ScalarType1 will be Real, ScalarType2 will be int, and ScalarType3 may be int or Real, but written for arbitrary
types.

MPIPackBuffer & operator<< (MPIPackBuffer &s, const DataEnvironment &data)


MPIPackBuffer insertion operator for DataEnvironment.

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, DataEnvironment &data)


MPIUnpackBuffer extraction operator for DataEnvironment.

92

CHAPTER 12. NAMESPACE DOCUMENTATION


std::ostream & operator<< (std::ostream &s, const DataEnvironment &data)
std::ostream insertion operator for DataEnvironment

MPIPackBuffer & operator<< (MPIPackBuffer &s, const DataInterface &data)


MPIPackBuffer insertion operator for DataInterface.

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, DataInterface &data)


MPIUnpackBuffer extraction operator for DataInterface.

std::ostream & operator<< (std::ostream &s, const DataInterface &data)


std::ostream insertion operator for DataInterface

MPIPackBuffer & operator<< (MPIPackBuffer &s, const DataMethod &data)


MPIPackBuffer insertion operator for DataMethod.

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, DataMethod &data)


MPIUnpackBuffer extraction operator for DataMethod.

std::ostream & operator<< (std::ostream &s, const DataMethod &data)


std::ostream insertion operator for DataMethod

MPIPackBuffer & operator<< (MPIPackBuffer &s, const DataModel &data)


MPIPackBuffer insertion operator for DataModel.

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, DataModel &data)


MPIUnpackBuffer extraction operator for DataModel.

std::ostream & operator<< (std::ostream &s, const DataModel &data)


std::ostream insertion operator for DataModel

MPIPackBuffer & operator<< (MPIPackBuffer &s, const DataResponses &data)


MPIPackBuffer insertion operator for DataResponses.

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, DataResponses &data)


MPIUnpackBuffer extraction operator for DataResponses.

std::ostream & operator<< (std::ostream &s, const DataResponses &data)


std::ostream insertion operator for DataResponses

MPIPackBuffer & operator<< (MPIPackBuffer &s, const DataVariables &data)


MPIPackBuffer insertion operator for DataVariables.

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, DataVariables &data)


MPIUnpackBuffer extraction operator for DataVariables.

std::ostream & operator<< (std::ostream &s, const DataVariables &data)


std::ostream insertion operator for DataVariables

int dlsolver option (Opt Info )


RealVector const continuous lower bounds (Optimizer1 o)
RealVector const continuous upper bounds (Optimizer1 o)
RealVector const nonlinear ineq constraint lower bounds (Optimizer1 o)
RealVector const nonlinear ineq constraint upper bounds (Optimizer1 o)
RealVector const nonlinear eq constraint targets (Optimizer1 o)
RealVector const linear ineq constraint lower bounds (Optimizer1 o)
RealVector const linear ineq constraint upper bounds (Optimizer1 o)
RealVector const linear eq constraint targets (Optimizer1 o)
RealMatrix const linear ineq constraint coeffs (Optimizer1 o)
RealMatrix const linear eq constraint coeffs (Optimizer1 o)
void ComputeResponses (Optimizer1 o, int mode, int n, double x)

12.1. DAKOTA NAMESPACE REFERENCE

void GetFuncs (Optimizer1 o, int m0, int m1, double f)


void GetGrads (Optimizer1 o, int m0, int m1, int n, int is, int js, double g)
void GetContVars (Optimizer1 o, int n, double x)
void SetBestContVars (Optimizer1 o, int n, double x)
void SetBestRespFns (Optimizer1 o, int n, double x)
void dl constructor (Optimizer1 , Dakota funcs , dl find optimum t , dl destructor t )
static RealVector const continuous lower bounds1 (Optimizer1 o)
static RealVector const continuous upper bounds1 (Optimizer1 o)
static RealVector const nonlinear ineq constraint lower bounds1 (Optimizer1 o)
static RealVector const nonlinear ineq constraint upper bounds1 (Optimizer1 o)
static RealVector const nonlinear eq constraint targets1 (Optimizer1 o)
static RealVector const linear ineq constraint lower bounds1 (Optimizer1 o)
static RealVector const linear ineq constraint upper bounds1 (Optimizer1 o)
static RealVector const linear eq constraint targets1 (Optimizer1 o)
static RealMatrix const linear eq constraint coeffs1 (Optimizer1 o)
static RealMatrix const linear ineq constraint coeffs1 (Optimizer1 o)
static void ComputeResponses1 (Optimizer1 o, int mode, int n, double x)
static void GetFuncs1 (Optimizer1 o, int m0, int m1, double f)
static void GetGrads1 (Optimizer1 o, int m0, int m1, int n, int is, int js, double g)
static void GetContVars1 (Optimizer1 o, int n, double x)
static void SetBestContVars1 (Optimizer1 o, int n, double x)
static void SetBestDiscVars1 (Optimizer1 o, int n, int x)
static void SetBestRespFns1 (Optimizer1 o, int n, double x)
static double Get Real1 (Optimizer1 o, const char name)
static int Get Int1 (Optimizer1 o, const char name)
static bool Get Bool1 (Optimizer1 o, const char name)
DOTOptimizer new DOTOptimizer (ProblemDescDB &problem db)
DOTOptimizer new DOTOptimizer (Model &model)
DOTOptimizer new DOTOptimizer (ProblemDescDB &problem db, Model &model)
void read historical data (const std::string &expDataFileName, const std::string &context message, size t
numExperiments, IntVector &numReplicates, size t numExpConfigVars, size t numFunctions, size t numExpStdDeviationsRead, bool expDataFileAnnotated, bool calc sigma from data, RealMatrix &xObsData,
RealMatrixArray &yObsData, RealMatrixArray &yStdData)
Read data in historical format into x, y, sigma matrices.

93

Real getdist (const RealVector &x1, const RealVector &x2)


Real mindist (const RealVector &x, const RealMatrix &xset, int except)
Real mindistindx (const RealVector &x, const RealMatrix &xset, const IntArray &indx)
Real getRmax (const RealMatrix &xset)
int start grid computing (char analysis driver script, char params file, char results file)
int stop grid computing ()
int perform analysis (char iteration num)
template<typename T >

string asstring (const T &val)


Creates a string from the argument val using an ostringstream.

PACKBUF (int, MPI INT) PACKBUF(u int


MPI UNSIGNED PACKBUF (long, MPI LONG) PACKBUF(u long

94

CHAPTER 12. NAMESPACE DOCUMENTATION


MPI UNSIGNED MPI UNSIGNED LONG PACKBUF (short, MPI SHORT) PACKBUF(u short
MPI UNSIGNED MPI UNSIGNED LONG
MPI UNSIGNED SHORT PACKBUF (char, MPI CHAR) PACKBUF(u char
MPI UNSIGNED MPI UNSIGNED LONG
MPI UNSIGNED SHORT
MPI UNSIGNED CHAR PACKBUF (double, MPI DOUBLE) PACKBUF(float
UNPACKBUF (int, MPI INT) UNPACKBUF(u int
MPI UNSIGNED UNPACKBUF (long, MPI LONG) UNPACKBUF(u long
MPI UNSIGNED MPI UNSIGNED LONG UNPACKBUF (short, MPI SHORT) UNPACKBUF(u short
MPI UNSIGNED MPI UNSIGNED LONG
MPI UNSIGNED SHORT UNPACKBUF (char, MPI CHAR) UNPACKBUF(u char
MPI UNSIGNED MPI UNSIGNED LONG
MPI UNSIGNED SHORT
MPI UNSIGNED CHAR UNPACKBUF (double, MPI DOUBLE) UNPACKBUF(float
PACKSIZE (int, MPI INT) PACKSIZE(u int
MPI UNSIGNED PACKSIZE (long, MPI LONG) PACKSIZE(u long
MPI UNSIGNED MPI UNSIGNED LONG PACKSIZE (short, MPI SHORT) PACKSIZE(u short
MPI UNSIGNED MPI UNSIGNED LONG
MPI UNSIGNED SHORT PACKSIZE (char, MPI CHAR) PACKSIZE(u char
MPI UNSIGNED MPI UNSIGNED LONG
MPI UNSIGNED SHORT
MPI UNSIGNED CHAR PACKSIZE (double, MPI DOUBLE) PACKSIZE(float
MPI UNSIGNED MPI UNSIGNED LONG
MPI UNSIGNED SHORT
MPI UNSIGNED CHAR MPI FLOAT
int MPIPackSize (const bool &data, const int num=1)
return packed size of a bool

MPIPackBuffer & operator<< (MPIPackBuffer &buff, const int &data)


insert an int

MPIPackBuffer & operator<< (MPIPackBuffer &buff, const u int &data)


insert a u int

MPIPackBuffer & operator<< (MPIPackBuffer &buff, const long &data)


insert a long

MPIPackBuffer & operator<< (MPIPackBuffer &buff, const u long &data)


insert a u long

MPIPackBuffer & operator<< (MPIPackBuffer &buff, const short &data)


insert a short

MPIPackBuffer & operator<< (MPIPackBuffer &buff, const u short &data)


insert a u short

MPIPackBuffer & operator<< (MPIPackBuffer &buff, const char &data)


insert a char

MPIPackBuffer & operator<< (MPIPackBuffer &buff, const u char &data)


insert a u char

MPIPackBuffer & operator<< (MPIPackBuffer &buff, const double &data)


insert a double

12.1. DAKOTA NAMESPACE REFERENCE


MPIPackBuffer & operator<< (MPIPackBuffer &buff, const float &data)
insert a float

MPIPackBuffer & operator<< (MPIPackBuffer &buff, const bool &data)


insert a bool

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, int &data)


extract an int

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, u int &data)


extract a u int

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, long &data)


extract a long

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, u long &data)


extract a u long

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, short &data)


extract a short

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, u short &data)


extract a u short

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, char &data)


extract a char

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, u char &data)


extract a u char

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, double &data)


extract a double

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, float &data)


extract a float

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &buff, bool &data)


extract a bool

template<class ContainerT >


void container read (ContainerT &c, MPIUnpackBuffer &s)
Read a generic container (vector<T>, list<T>) from MPIUnpackBuffer, s.

template<class ContainerT >


void container write (const ContainerT &c, MPIPackBuffer &s)
Write a generic container to MPIPackBuffer, s.

template<class ContainerT >


MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, ContainerT &data)
global MPIUnpackBuffer extraction operator for generic container

template<class ContainerT >


MPIPackBuffer & operator<< (MPIPackBuffer &s, const ContainerT &data)
global MPIPackBuffer insertion operator for generic container

int MPIPackSize (const int &data, const int num=1)


return packed size of an int

int MPIPackSize (const u int &data, const int num=1)


return packed size of a u int

int MPIPackSize (const long &data, const int num=1)

95

96

CHAPTER 12. NAMESPACE DOCUMENTATION


return packed size of a long

int MPIPackSize (const u long &data, const int num=1)


return packed size of a u long

int MPIPackSize (const short &data, const int num=1)


return packed size of a short

int MPIPackSize (const u short &data, const int num=1)


return packed size of a u short

int MPIPackSize (const char &data, const int num=1)


return packed size of a char

int MPIPackSize (const u char &data, const int num=1)


return packed size of a u char

int MPIPackSize (const double &data, const int num=1)


return packed size of a double

int MPIPackSize (const float &data, const int num=1)


return packed size of a float

int nidr parse (const char , FILE )


int not executable (const char driver name, const char tdir)
static void scale chk (StringArray &ST, RealVector &S, const char what, const char univ)
static void BuildLabels (StringArray sa, size t nsa, size t n1, size t n2, const char stub)
static int mixed check (IntSet S, int n, IntArray iv, const char what)
static void mixed check2 (size t n, IntArray iv, const char what)
static int wronglen (size t n, RealVector V, const char what)
static int wronglen (size t n, IntVector V, const char what)
static void Vcopyup (RealVector V, RealVector M, size t i, size t n)
static void Set rv (RealVector V, double d, size t n)
static void Set iv (IntVector V, int d, size t n)
static void wrong number (const char what, const char kind, size t nsv, size t m)
static void too small (const char kind)
static void not div (const char kind, size t nsv, size t m)
static void suppressed (const char kind, int ndup, int ip, Real rp)
static void bad initial ivalue (const char kind, int val)
static void bad initial rvalue (const char kind, Real val)
static void Vgen ContinuousDes (DataVariablesRep dv, size t offset)
static void Vgen DiscreteDesRange (DataVariablesRep dv, size t offset)
static void Vgen ContinuousState (DataVariablesRep dv, size t offset)
static void Vgen DiscreteStateRange (DataVariablesRep dv, size t offset)
static void Vchk NormalUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen NormalUnc (DataVariablesRep dv, size t offset)
static void Vchk LognormalUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen LognormalUnc (DataVariablesRep dv, size t offset)
static void Vchk UniformUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen UniformUnc (DataVariablesRep dv, size t offset)
static void Vchk LoguniformUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen LoguniformUnc (DataVariablesRep dv, size t offset)
static void Vchk TriangularUnc (DataVariablesRep dv, size t offset, Var Info vi)

12.1. DAKOTA NAMESPACE REFERENCE

97

static void Vgen TriangularUnc (DataVariablesRep dv, size t offset)


static void Vchk ExponentialUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen ExponentialUnc (DataVariablesRep dv, size t offset)
static void Vchk BetaUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen BetaUnc (DataVariablesRep dv, size t offset)
static void Vchk GammaUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen GammaUnc (DataVariablesRep dv, size t offset)
static void Vchk GumbelUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen GumbelUnc (DataVariablesRep dv, size t offset)
static void Vchk FrechetUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen FrechetUnc (DataVariablesRep dv, size t offset)
static void Vchk WeibullUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen WeibullUnc (DataVariablesRep dv, size t offset)
static void Vchk HistogramBinUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen HistogramBinUnc (DataVariablesRep dv, size t offset)
static void Vchk PoissonUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen PoissonUnc (DataVariablesRep dv, size t offset)
static void Vchk BinomialUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen BinomialUnc (DataVariablesRep dv, size t offset)
static void Vchk NegBinomialUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen NegBinomialUnc (DataVariablesRep dv, size t offset)
static void Vchk GeometricUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen GeometricUnc (DataVariablesRep dv, size t offset)
static void Vchk HyperGeomUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen HyperGeomUnc (DataVariablesRep dv, size t offset)
static void Vchk HistogramPtUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen HistogramPtUnc (DataVariablesRep dv, size t offset)
static void Vchk ContinuousIntervalUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen ContinuousIntervalUnc (DataVariablesRep dv, size t offset)
static void Vchk DiscreteIntervalUnc (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen DiscreteIntervalUnc (DataVariablesRep dv, size t offset)
static bool check set keys (size t num v, size t ds len, const char kind, IntArray input nds, int &avg num ds)
static void Vchk DIset (size t num v, const char kind, IntArray input ndsi, IntVector input dsi, IntSetArray &dsi all, IntVector &dsi init pt)
static void Vchk DIset (size t num v, const char kind, IntArray input ndsi, IntVector input dsi, RealVector input dsip, IntRealMapArray &dsi vals probs, IntVector &dsi init pt)
static void Vchk DRset (size t num v, const char kind, IntArray input ndsr, RealVector input dsr, RealSetArray &dsr all, RealVector &dsr init pt)
static void Vchk DRset (size t num v, const char kind, IntArray input ndsr, RealVector input dsr, RealVector input dsrp, RealRealMapArray &dsr vals probs, RealVector &dsr init pt)
static bool check LUV size (size t num v, IntVector &L, IntVector &U, IntVector &V, bool aggregate LUV, size t offset)
static bool check LUV size (size t num v, RealVector &L, RealVector &U, RealVector &V, bool aggregateLUV, size t offset)
static void Vgen DIset (size t num v, IntSetArray &sets, IntVector &L, IntVector &U, IntVector &V, bool
aggregate LUV=false, size t offset=0)

98

CHAPTER 12. NAMESPACE DOCUMENTATION


static void Vgen DIset (size t num v, IntRealMapArray &vals probs, IntVector &IP, IntVector &L, IntVector &U, IntVector &V, bool aggregate LUV=false, size t offset=0)
static void Vgen DRset (size t num v, RealSetArray &sets, RealVector &L, RealVector &U, RealVector
&V, bool aggregate LUV=false, size t offset=0)
static void Vgen DRset (size t num v, RealRealMapArray &vals probs, RealVector &IP, RealVector &L,
RealVector &U, RealVector &V, bool aggregate LUV=false, size t offset=0)
static void Vchk DiscreteDesSetInt (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen DiscreteDesSetInt (DataVariablesRep dv, size t offset)
static void Vchk DiscreteDesSetReal (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen DiscreteDesSetReal (DataVariablesRep dv, size t offset)
static void Vchk DiscreteUncSetInt (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen DiscreteUncSetInt (DataVariablesRep dv, size t offset)
static void Vchk DiscreteUncSetReal (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen DiscreteUncSetReal (DataVariablesRep dv, size t offset)
static void Vchk DiscreteStateSetInt (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen DiscreteStateSetInt (DataVariablesRep dv, size t offset)
static void Vchk DiscreteStateSetReal (DataVariablesRep dv, size t offset, Var Info vi)
static void Vgen DiscreteStateSetReal (DataVariablesRep dv, size t offset)
static const char Var Name (StringArray sa, char buf, size t i)
static void Var boundchk (DataVariablesRep dv, Var rcheck b)
static void Var iboundchk (DataVariablesRep dv, Var icheck ib)
static void flatten num rva (RealVectorArray rva, IntArray pia)
static void flatten num rsa (RealSetArray rsa, IntArray pia)
static void flatten num isa (IntSetArray isa, IntArray pia)
static void flatten num rrma (RealRealMapArray rrma, IntArray pia)
static void flatten num irma (IntRealMapArray irma, IntArray pia)
static void flatten rva (RealVectorArray rva, RealVector prv)
static void flatten iva (IntVectorArray iva, IntVector piv)
static void flatten rsm (RealSymMatrix rsm, RealVector prv)
static void flatten rsa (RealSetArray rsa, RealVector prv)
static void flatten isa (IntSetArray isa, IntVector piv)
static void flatten rrma keys (RealRealMapArray rrma, RealVector prv)
static void flatten rrma values (RealRealMapArray rrma, RealVector prv)
static void flatten irma keys (IntRealMapArray irma, IntVector piv)
static void flatten irma values (IntRealMapArray irma, RealVector prv)
static void var iulbl (const char keyname, Values val, VarLabel vl)
static Iface mp Rlit MP3 (failAction, recoveryFnVals, recover)
static Iface mp ilit MP3 (failAction, retryLimit, retry)
static Iface mp lit MP2 (failAction, abort)
static Iface mp lit MP2 (failAction, continuation)
static Iface mp lit MP2 (interfaceSynchronization, asynchronous)
static Iface mp lit MP2 (interfaceType, direct)
static Iface mp lit MP2 (interfaceType, fork)
static Iface mp lit MP2 (interfaceType, grid)
static Iface mp lit MP2 (interfaceType, matlab)
static Iface mp lit MP2 (interfaceType, python)

12.1. DAKOTA NAMESPACE REFERENCE

static Iface mp lit MP2 (interfaceType, scilab)


static Iface mp lit MP2 (interfaceType, system)
static Iface mp type MP2s (analysisScheduling, MASTER SCHEDULING)
static Iface mp type MP2s (analysisScheduling, PEER SCHEDULING)
static Iface mp type MP2s (evalScheduling, MASTER SCHEDULING)
static Iface mp type MP2s (evalScheduling, PEER DYNAMIC SCHEDULING)
static Iface mp type MP2s (evalScheduling, PEER STATIC SCHEDULING)
static Iface mp type MP2s (asynchLocalEvalScheduling, DYNAMIC SCHEDULING)
static Iface mp type MP2s (asynchLocalEvalScheduling, STATIC SCHEDULING)
static String MP (algebraicMappings)
static String MP (idInterface)
static String MP (inputFilter)
static String MP (outputFilter)
static String MP (parametersFile)
static String MP (resultsFile)
static String MP (templateDir)
static String MP (workDir)
static String2DArray MP (analysisComponents)
static StringArray MP (analysisDrivers)
static StringArray MP (templateFiles)
static bool MP (activeSetVectorFlag)
static bool MP (allowExistingResultsFlag)
static bool MP (apreproFlag)
static bool MP (dirSave)
static bool MP (dirTag)
static bool MP (evalCacheFlag)
static bool MP (fileSaveFlag)
static bool MP (fileTagFlag)
static bool MP (nearbyEvalCacheFlag)
static bool MP (numpyFlag)
static bool MP (restartFileFlag)
static bool MP (templateCopy)
static bool MP (templateReplace)
static bool MP (useWorkdir)
static bool MP (verbatimFlag)
static int MP (analysisServers)
static int MP (asynchLocalAnalysisConcurrency)
static int MP (asynchLocalEvalConcurrency)
static int MP (evalServers)
static int MP (procsPerAnalysis)
static int MP (procsPerEval)
static Real MP (nearbyEvalCacheTol)
static IntVector MP (primeBase)
static IntVector MP (sequenceLeap)
static IntVector MP (sequenceStart)
static IntVector MP (stepsPerVariable)

99

100

CHAPTER 12. NAMESPACE DOCUMENTATION

static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method

mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp

ilit2 MP3 (replacementType, numberRetained, chc)


ilit2 MP3 (replacementType, numberRetained, elitist)
ilit2 MP3 (replacementType, numberRetained, random)
ilit2z MP3 (crossoverType, numCrossPoints, multi point binary)
ilit2z MP3 (crossoverType, numCrossPoints, multi point parameterized binary)
ilit2z MP3 (crossoverType, numCrossPoints, multi point real)
lit MP2 (batchSelectionType, naive)
lit MP2 (batchSelectionType, distance penalty)
lit MP2 (batchSelectionType, topology)
lit MP2 (batchSelectionType, constant liar)
lit MP2 (boxDivision, all dimensions)
lit MP2 (boxDivision, major dimension)
lit MP2 (convergenceType, average fitness tracker)
lit MP2 (convergenceType, best fitness tracker)
lit MP2 (convergenceType, metric tracker)
lit MP2 (crossoverType, blend)
lit MP2 (crossoverType, two point)
lit MP2 (crossoverType, uniform)
lit MP2 (evalSynchronize, blocking)
lit MP2 (evalSynchronize, nonblocking)
lit MP2 (expansionSampleType, incremental lhs)
lit MP2 (exploratoryMoves, adaptive)
lit MP2 (exploratoryMoves, multi step)
lit MP2 (exploratoryMoves, simple)
lit MP2 (fitnessType, domination count)
lit MP2 (fitnessType, layer rank)
lit MP2 (fitnessType, linear rank)
lit MP2 (fitnessType, merit function)
lit MP2 (fitnessType, proportional)
lit MP2 (fitnessMetricType, predicted variance)
lit MP2 (fitnessMetricType, distance)
lit MP2 (fitnessMetricType, gradient)
lit MP2 (initializationType, random)
lit MP2 (initializationType, unique random)
lit MP2 (meritFunction, merit max)
lit MP2 (meritFunction, merit max smooth)
lit MP2 (meritFunction, merit1)
lit MP2 (meritFunction, merit1 smooth)
lit MP2 (meritFunction, merit2)
lit MP2 (meritFunction, merit2 smooth)
lit MP2 (meritFunction, merit2 squared)
lit MP2 (mcmcType, dram)
lit MP2 (mcmcType, multilevel)
lit MP2 (metropolisType, adaptive)
lit MP2 (metropolisType, hastings)
lit MP2 (mutationType, bit random)

12.1. DAKOTA NAMESPACE REFERENCE

static Method mp lit MP2 (mutationType, offset cauchy)


static Method mp lit MP2 (mutationType, offset normal)
static Method mp lit MP2 (mutationType, offset uniform)
static Method mp lit MP2 (mutationType, replace uniform)
static Method mp lit MP2 (patternBasis, coordinate)
static Method mp lit MP2 (patternBasis, simplex)
static Method mp lit MP2 (pointReuse, all)
static Method mp lit MP2 (rejectionType, standard)
static Method mp lit MP2 (rejectionType, delayed)
static Method mp lit MP2 (reliabilityIntegration, first order)
static Method mp lit MP2 (reliabilityIntegration, second order)
static Method mp lit MP2 (replacementType, elitist)
static Method mp lit MP2 (replacementType, favor feasible)
static Method mp lit MP2 (replacementType, roulette wheel)
static Method mp lit MP2 (replacementType, unique roulette wheel)
static Method mp lit MP2 (rngName, mt19937)
static Method mp lit MP2 (rngName, rnum2)
static Method mp lit MP2 (searchMethod, gradient based line search)
static Method mp lit MP2 (searchMethod, tr pds)
static Method mp lit MP2 (searchMethod, trust region)
static Method mp lit MP2 (searchMethod, value based line search)
static Method mp lit MP2 (trialType, grid)
static Method mp lit MP2 (trialType, halton)
static Method mp lit MP2 (trialType, random)
static Method mp litc MP3 (crossoverType, crossoverRate, shuffle random)
static Method mp litc MP3 (crossoverType, crossoverRate, null crossover)
static Method mp litc MP3 (mutationType, mutationRate, null mutation)
static Method mp litc MP3 (mutationType, mutationRate, offset cauchy)
static Method mp litc MP3 (mutationType, mutationRate, offset normal)
static Method mp litc MP3 (mutationType, mutationRate, offset uniform)
static Method mp litc MP3 (replacementType, fitnessLimit, below limit)
static Method mp litrv MP3 (nichingType, nicheVector, distance)
static Method mp litrv MP3 (nichingType, nicheVector, max designs)
static Method mp litrv MP3 (nichingType, nicheVector, radial)
static Method mp litrv MP3 (postProcessorType, distanceVector, distance postprocessor)
static Method mp slit2 MP3 (initializationType, flatFile, flat file)
static Method mp utype lit MP3s (methodName, dlDetails, DL SOLVER)
static Real MP (absConvTol)
static Real MP (centeringParam)
static Real MP (collocationRatio)
static Real MP (collocRatioTermsOrder)
static Real MP (constraintPenalty)
static Real MP (constrPenalty)
static Real MP (constraintTolerance)
static Real MP (contractFactor)
static Real MP (contractStepLength)

101

102

CHAPTER 12. NAMESPACE DOCUMENTATION

static Real MP (convergenceTolerance)


static Real MP (crossoverRate)
static Real MP (falseConvTol)
static Real MP (functionPrecision)
static Real MP (globalBalanceParam)
static Real MP (gradientTolerance)
static Real MP (hybridLSProb)
static Real MP (grThreshold)
static Real MP (initDelta)
static Real MP (initStepLength)
static Real MP (initTRRadius)
static Real MP (likelihoodScale)
static Real MP (lineSearchTolerance)
static Real MP (localBalanceParam)
static Real MP (maxBoxSize)
static Real MP (maxStep)
static Real MP (minBoxSize)
static Real MP (mutationRate)
static Real MP (mutationScale)
static Real MP (refinementRate)
static Real MP (regressionL2Penalty)
static Real MP (shrinkagePercent)
static Real MP (singConvTol)
static Real MP (singRadius)
static Real MP (smoothFactor)
static Real MP (solnTarget)
static Real MP (stepLenToBoundary)
static Real MP (surrBasedLocalTRContract)
static Real MP (surrBasedLocalTRContractTrigger)
static Real MP (surrBasedLocalTRExpand)
static Real MP (surrBasedLocalTRExpandTrigger)
static Real MP (surrBasedLocalTRInitSize)
static Real MP (surrBasedLocalTRMinSize)
static Real MP (threshDelta)
static Real MP (threshStepLength)
static Real MP (vbdDropTolerance)
static Real MP (volBoxSize)
static Real MP (vns)
static Real MP (xConvTol)
static RealVector MP (anisoDimPref)
static RealVector MP (concurrentParameterSets)
static RealVector MP (finalPoint)
static RealVector MP (linearEqConstraintCoeffs)
static RealVector MP (linearEqScales)
static RealVector MP (linearEqTargets)
static RealVector MP (linearIneqConstraintCoeffs)

12.1. DAKOTA NAMESPACE REFERENCE

static RealVector MP (linearIneqLowerBnds)


static RealVector MP (linearIneqUpperBnds)
static RealVector MP (linearIneqScales)
static RealVector MP (listOfPoints)
static RealVector MP (proposalCovScale)
static RealVector MP (regressionNoiseTol)
static RealVector MP (stepVector)
static RealVectorArray MP (genReliabilityLevels)
static RealVectorArray MP (probabilityLevels)
static RealVectorArray MP (reliabilityLevels)
static RealVectorArray MP (responseLevels)
static unsigned short MP (cubIntOrder)
static unsigned short MP (vbdOrder)
static SizetArray MP (collocationPoints)
static SizetArray MP (expansionSamples)
static UShortArray MP (expansionOrder)
static UShortArray MP (quadratureOrder)
static UShortArray MP (sparseGridLevel)
static UShortArray MP (tensorGridOrder)
static UShortArray MP (varPartitions)
static String MP (approxExportFile)
static String MP (approxImportFile)
static String MP (betaSolverName)
static String MP (displayFormat)
static String MP (expansionExportFile)
static String MP (expansionImportFile)
static String MP (historyFile)
static String MP (hybridGlobalMethodName)
static String MP (hybridGlobalMethodPointer)
static String MP (hybridGlobalModelPointer)
static String MP (hybridLocalMethodName)
static String MP (hybridLocalMethodPointer)
static String MP (hybridLocalModelPointer)
static String MP (idMethod)
static String MP (logFile)
static String MP (modelPointer)
static String MP (pstudyFilename)
static String MP (subMethodName)
static String MP (subMethodPointer)
static String MP (subModelPointer)
static StringArray MP (hybridMethodNames)
static StringArray MP (hybridMethodPointers)
static StringArray MP (hybridModelPointers)
static StringArray MP (linearEqScaleTypes)
static StringArray MP (linearIneqScaleTypes)
static StringArray MP (miscOptions)

103

104

CHAPTER 12. NAMESPACE DOCUMENTATION

static bool MP (approxExportAnnotated)


static bool MP (approxImportAnnotated)
static bool MP (calibrateSigmaFlag)
static bool MP (constantPenalty)
static bool MP (crossValidation)
static bool MP (expansionFlag)
static bool MP (fixedSeedFlag)
static bool MP (fixedSequenceFlag)
static bool MP (latinizeFlag)
static bool MP (mainEffectsFlag)
static bool MP (methodScaling)
static bool MP (methodUseDerivsFlag)
static bool MP (mutationAdaptive)
static bool MP (normalizedCoeffs)
static bool MP (printPopFlag)
static bool MP (pstudyFileAnnotated)
static bool MP (randomizeOrderFlag)
static bool MP (regressDiag)
static bool MP (showAllEval)
static bool MP (showMiscOptions)
static bool MP (speculativeFlag)
static bool MP (tensorGridFlag)
static bool MP (surrBasedGlobalReplacePts)
static bool MP (surrBasedLocalLayerBypass)
static bool MP (vbdFlag)
static bool MP (volQualityFlag)
static short MP (expansionType)
static short MP (nestingOverride)
static short MP (refinementType)
static int MP (batchSize)
static int MP (concurrentRandomJobs)
static int MP (contractAfterFail)
static int MP (covarianceType)
static int MP (crossoverChainPairs)
static int MP (emulatorSamples)
static int MP (expandAfterSuccess)
static int MP (iteratorServers)
static int MP (jumpStep)
static int MP (maxFunctionEvaluations)
static int MP (maxIterations)
static int MP (mutationRange)
static int MP (newSolnsGenerated)
static int MP (numChains)
static int MP (numCR)
static int MP (numSamples)
static int MP (numSteps)

12.1. DAKOTA NAMESPACE REFERENCE

static int MP (numSymbols)


static int MP (numTrials)
static int MP (populationSize)
static int MP (previousSamples)
static int MP (procsPerIterator)
static int MP (randomSeed)
static int MP (refineSamples)
static int MP (searchSchemeSize)
static int MP (surrBasedLocalSoftConvLimit)
static int MP (totalPatternSize)
static int MP (verifyLevel)
static size t MP (numDesigns)
static size t MP (numFinalSolutions)
static size t MP (numGenerations)
static size t MP (numOffspring)
static size t MP (numParents)
static Method mp type MP2s (covarianceControl, DIAGONAL COVARIANCE)
static Method mp type MP2s (covarianceControl, FULL COVARIANCE)
static Method mp type MP2s (distributionType, COMPLEMENTARY)
static Method mp type MP2s (distributionType, CUMULATIVE)
static Method mp type MP2s (emulatorType, GP EMULATOR)
static Method mp type MP2s (emulatorType, KRIGING EMULATOR)
static Method mp type MP2s (emulatorType, PCE EMULATOR)
static Method mp type MP2s (emulatorType, SC EMULATOR)
static Method mp type MP2p (expansionBasisType, ADAPTED BASIS)
static Method mp type MP2p (expansionBasisType, HIERARCHICAL INTERPOLANT)
static Method mp type MP2p (expansionBasisType, NODAL INTERPOLANT)
static Method mp type MP2p (expansionBasisType, TENSOR PRODUCT BASIS)
static Method mp type MP2p (expansionBasisType, TOTAL ORDER BASIS)
static Method mp type MP2s (expansionType, ASKEY U)
static Method mp type MP2s (expansionType, STD NORMAL U)
static Method mp type MP2p (growthOverride, RESTRICTED)
static Method mp type MP2p (growthOverride, UNRESTRICTED)
static Method mp type MP2s (iteratorScheduling, MASTER SCHEDULING)
static Method mp type MP2s (iteratorScheduling, PEER SCHEDULING)
static Method mp type MP2s (lsRegressionType, EQ CON LS)
static Method mp type MP2s (lsRegressionType, SVD LS)
static Method mp type MP2o (meritFn, ArgaezTapia)
static Method mp type MP2o (meritFn, NormFmu)
static Method mp type MP2o (meritFn, VanShanno)
static Method mp type MP2s (methodOutput, DEBUG OUTPUT)
static Method mp type MP2s (methodOutput, NORMAL OUTPUT)
static Method mp type MP2s (methodOutput, QUIET OUTPUT)
static Method mp type MP2s (methodOutput, SILENT OUTPUT)
static Method mp type MP2s (methodOutput, VERBOSE OUTPUT)
static Method mp type MP2p (nestingOverride, NESTED)

105

106

CHAPTER 12. NAMESPACE DOCUMENTATION


static Method mp type MP2p (nestingOverride, NON NESTED)
static Method mp type MP2p (refinementControl, DIMENSION ADAPTIVE CONTROL GENERALIZED)
static Method mp type MP2p (refinementControl, DIMENSION ADAPTIVE CONTROL DECAY)
static Method mp type MP2p (refinementControl, DIMENSION ADAPTIVE CONTROL SOBOL)
static Method mp type MP2p (refinementControl, LOCAL ADAPTIVE CONTROL)
static Method mp type MP2p (refinementControl, UNIFORM CONTROL)
static Method mp type MP2p (refinementType, P REFINEMENT)
static Method mp type MP2p (refinementType, H REFINEMENT)
static Method mp type MP2p (regressionType, BASIS PURSUIT)
static Method mp type MP2p (regressionType, BASIS PURSUIT DENOISING)
static Method mp type MP2p (regressionType, DEFAULT LEAST SQ REGRESSION)
static Method mp type MP2p (regressionType, LASSO REGRESSION)
static Method mp type MP2p (regressionType, LEAST ANGLE REGRESSION)
static Method mp type MP2p (regressionType, ORTHOG LEAST INTERPOLATION)
static Method mp type MP2p (regressionType, ORTHOG MATCH PURSUIT)
static Method mp type MP2s (responseLevelTarget, GEN RELIABILITIES)
static Method mp type MP2s (responseLevelTarget, PROBABILITIES)
static Method mp type MP2s (responseLevelTarget, RELIABILITIES)
static Method mp type MP2s (responseLevelTargetReduce, SYSTEM PARALLEL)
static Method mp type MP2s (responseLevelTargetReduce, SYSTEM SERIES)
static Method mp type MP2s (surrBasedLocalAcceptLogic, FILTER)
static Method mp type MP2s (surrBasedLocalAcceptLogic, TR RATIO)
static Method mp type MP2s (surrBasedLocalConstrRelax, HOMOTOPY)
static Method mp type MP2s (surrBasedLocalMeritFn, ADAPTIVE PENALTY MERIT)
static Method mp type MP2s (surrBasedLocalMeritFn, AUGMENTED LAGRANGIAN MERIT)
static Method mp type MP2s (surrBasedLocalMeritFn, LAGRANGIAN MERIT)
static Method mp type MP2s (surrBasedLocalMeritFn, PENALTY MERIT)
static Method mp type MP2s (surrBasedLocalSubProbCon, LINEARIZED CONSTRAINTS)
static Method mp type MP2s (surrBasedLocalSubProbCon, NO CONSTRAINTS)
static Method mp type MP2s (surrBasedLocalSubProbCon, ORIGINAL CONSTRAINTS)
static Method mp type MP2s (surrBasedLocalSubProbObj, AUGMENTED LAGRANGIAN OBJECTIVE)
static Method mp type MP2s (surrBasedLocalSubProbObj, LAGRANGIAN OBJECTIVE)
static Method mp type MP2s (surrBasedLocalSubProbObj, ORIGINAL PRIMARY)
static Method mp type MP2s (surrBasedLocalSubProbObj, SINGLE OBJECTIVE)
static Method mp utype MP2s (integrationRefine, AIS)
static Method mp utype MP2s (integrationRefine, IS)
static Method mp utype MP2s (integrationRefine, MMAIS)
static Method mp utype MP2s (methodName, ASYNCH PATTERN SEARCH)
static Method mp utype MP2s (methodName, COLINY BETA)
static Method mp utype MP2s (methodName, COLINY COBYLA)
static Method mp utype MP2s (methodName, COLINY DIRECT)
static Method mp utype MP2s (methodName, COLINY EA)
static Method mp utype MP2s (methodName, COLINY PATTERN SEARCH)
static Method mp utype MP2s (methodName, COLINY SOLIS WETS)

12.1. DAKOTA NAMESPACE REFERENCE

static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method

mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp

utype MP2s (methodName, CONMIN FRCG)


utype MP2s (methodName, CONMIN MFD)
utype MP2s (methodName, DACE)
utype MP2s (methodName, DOT BFGS)
utype MP2s (methodName, DOT FRCG)
utype MP2s (methodName, DOT MMFD)
utype MP2s (methodName, DOT SLP)
utype MP2s (methodName, DOT SQP)
utype MP2s (methodName, EFFICIENT GLOBAL)
utype MP2s (methodName, FSU CVT)
utype MP2s (methodName, FSU HALTON)
utype MP2s (methodName, FSU HAMMERSLEY)
utype MP2s (methodName, HYBRID)
utype MP2s (methodName, MESH ADAPTIVE SEARCH)
utype MP2s (methodName, MOGA)
utype MP2s (methodName, MULTI START)
utype MP2s (methodName, NCSU DIRECT)
utype MP2s (methodName, NL2SOL)
utype MP2s (methodName, NLPQL SQP)
utype MP2s (methodName, NLSSOL SQP)
utype MP2s (methodName, ADAPTIVE SAMPLING)
utype MP2s (methodName, BAYES CALIBRATION)
utype MP2s (methodName, EFFICIENT SUBSPACE)
utype MP2s (methodName, GENIE DIRECT)
utype MP2s (methodName, GENIE OPT DARTS)
utype MP2s (methodName, GPAIS)
utype MP2s (methodName, GLOBAL EVIDENCE)
utype MP2s (methodName, GLOBAL INTERVAL EST)
utype MP2s (methodName, GLOBAL RELIABILITY)
utype MP2s (methodName, IMPORTANCE SAMPLING)
utype MP2s (methodName, LOCAL EVIDENCE)
utype MP2s (methodName, LOCAL INTERVAL EST)
utype MP2s (methodName, LOCAL RELIABILITY)
utype MP2s (methodName, POF DARTS)
utype MP2s (methodName, POLYNOMIAL CHAOS)
utype MP2s (methodName, RANDOM SAMPLING)
utype MP2s (methodName, STOCH COLLOCATION)
utype MP2s (methodName, NONLINEAR CG)
utype MP2s (methodName, NPSOL SQP)
utype MP2s (methodName, OPTPP CG)
utype MP2s (methodName, OPTPP FD NEWTON)
utype MP2s (methodName, OPTPP G NEWTON)
utype MP2s (methodName, OPTPP NEWTON)
utype MP2s (methodName, OPTPP PDS)
utype MP2s (methodName, OPTPP Q NEWTON)
utype MP2s (methodName, PARETO SET)

107

108

CHAPTER 12. NAMESPACE DOCUMENTATION

static Method mp utype MP2s (methodName, PSUADE MOAT)


static Method mp utype MP2s (methodName, RICHARDSON EXTRAP)
static Method mp utype MP2s (methodName, SOGA)
static Method mp utype MP2s (methodName, SURROGATE BASED GLOBAL)
static Method mp utype MP2s (methodName, SURROGATE BASED LOCAL)
static Method mp utype MP2s (methodName, VECTOR PARAMETER STUDY)
static Method mp utype MP2s (methodName, LIST PARAMETER STUDY)
static Method mp utype MP2s (methodName, CENTERED PARAMETER STUDY)
static Method mp utype MP2s (methodName, MULTIDIM PARAMETER STUDY)
static Method mp utype MP2s (reliabilitySearchType, AMV PLUS U)
static Method mp utype MP2s (reliabilitySearchType, AMV PLUS X)
static Method mp utype MP2s (reliabilitySearchType, AMV U)
static Method mp utype MP2s (reliabilitySearchType, AMV X)
static Method mp utype MP2s (reliabilitySearchType, EGRA U)
static Method mp utype MP2s (reliabilitySearchType, EGRA X)
static Method mp utype MP2s (reliabilitySearchType, NO APPROX)
static Method mp utype MP2s (reliabilitySearchType, TANA U)
static Method mp utype MP2s (reliabilitySearchType, TANA X)
static Method mp utype MP2s (sampleType, SUBMETHOD INCREMENTAL LHS)
static Method mp utype MP2s (sampleType, SUBMETHOD INCREMENTAL RANDOM)
static Method mp utype MP2s (sampleType, SUBMETHOD LHS)
static Method mp utype MP2s (sampleType, SUBMETHOD RANDOM)
static Method mp utype MP2s (subMethod, SUBMETHOD COLLABORATIVE)
static Method mp utype MP2s (subMethod, SUBMETHOD EMBEDDED)
static Method mp utype MP2s (subMethod, SUBMETHOD SEQUENTIAL)
static Method mp utype MP2s (subMethod, SUBMETHOD DREAM)
static Method mp utype MP2s (subMethod, SUBMETHOD GPMSA)
static Method mp utype MP2s (subMethod, SUBMETHOD QUESO)
static Method mp utype MP2s (subMethod, SUBMETHOD NIP)
static Method mp utype MP2s (subMethod, SUBMETHOD SQP)
static Method mp utype MP2s (subMethod, SUBMETHOD EA)
static Method mp utype MP2s (subMethod, SUBMETHOD EGO)
static Method mp utype MP2s (subMethod, SUBMETHOD SBO)
static Method mp utype MP2s (subMethod, SUBMETHOD LHS)
static Method mp utype MP2s (subMethod, SUBMETHOD RANDOM)
static Method mp utype MP2s (subMethod, SUBMETHOD OA LHS)
static Method mp utype MP2s (subMethod, SUBMETHOD OAS)
static Method mp utype MP2s (subMethod, SUBMETHOD BOX BEHNKEN)
static Method mp utype MP2s (subMethod, SUBMETHOD CENTRAL COMPOSITE)
static Method mp utype MP2s (subMethod, SUBMETHOD GRID)
static Method mp utype MP2s (subMethod, SUBMETHOD CONVERGE ORDER)
static Method mp utype MP2s (subMethod, SUBMETHOD CONVERGE QOI)
static Method mp utype MP2s (subMethod, SUBMETHOD ESTIMATE ORDER)
static IntSet MP (surrogateFnIndices)
static Model mp lit MP2 (approxPointReuse, all)
static Model mp lit MP2 (approxPointReuse, none)

12.1. DAKOTA NAMESPACE REFERENCE

static Model mp lit MP2 (approxPointReuse, region)


static Model mp lit MP2 (marsInterpolation, linear)
static Model mp lit MP2 (marsInterpolation, cubic)
static Model mp lit MP2 (modelType, nested)
static Model mp lit MP2 (modelType, single)
static Model mp lit MP2 (modelType, surrogate)
static Model mp lit MP2 (surrogateType, hierarchical)
static Model mp lit MP2 (surrogateType, global gaussian)
static Model mp lit MP2 (surrogateType, global kriging)
static Model mp lit MP2 (surrogateType, global mars)
static Model mp lit MP2 (surrogateType, global moving least squares)
static Model mp lit MP2 (surrogateType, global neural network)
static Model mp lit MP2 (surrogateType, global polynomial)
static Model mp lit MP2 (surrogateType, global radial basis)
static Model mp lit MP2 (surrogateType, local taylor)
static Model mp lit MP2 (surrogateType, multipoint tana)
static Model mp lit MP2 (trendOrder, constant)
static Model mp lit MP2 (trendOrder, linear)
static Model mp lit MP2 (trendOrder, reduced quadratic)
static Model mp lit MP2 (trendOrder, quadratic)
static Model mp ord MP2s (approxCorrectionOrder, 0)
static Model mp ord MP2s (approxCorrectionOrder, 1)
static Model mp ord MP2s (approxCorrectionOrder, 2)
static Model mp ord MP2s (polynomialOrder, 1)
static Model mp ord MP2s (polynomialOrder, 2)
static Model mp ord MP2s (polynomialOrder, 3)
static Model mp type MP2s (approxCorrectionType, ADDITIVE CORRECTION)
static Model mp type MP2s (approxCorrectionType, COMBINED CORRECTION)
static Model mp type MP2s (approxCorrectionType, MULTIPLICATIVE CORRECTION)
static Model mp type MP2s (pointsManagement, MINIMUM POINTS)
static Model mp type MP2s (pointsManagement, RECOMMENDED POINTS)
static Model mp type MP2s (subMethodScheduling, MASTER SCHEDULING)
static Model mp type MP2s (subMethodScheduling, PEER SCHEDULING)
static Real MP (annRange)
static Real MP (krigingNugget)
static Real MP (percentFold)
static RealVector MP (krigingCorrelations)
static RealVector MP (primaryRespCoeffs)
static RealVector MP (secondaryRespCoeffs)
static String MP (approxChallengeFile)
static String MP (approxExportModelFile)
static String MP (idModel)
static String MP (interfacePointer)
static String MP (krigingOptMethod)
static String MP (lowFidelityModelPointer)
static String MP (optionalInterfRespPointer)

109

110

CHAPTER 12. NAMESPACE DOCUMENTATION

static String MP (responsesPointer)


static String MP (truthModelPointer)
static String MP (variablesPointer)
static StringArray MP (primaryVarMaps)
static StringArray MP (secondaryVarMaps)
static StringArray MP (diagMetrics)
static bool MP (approxChallengeAnnotated)
static bool MP (crossValidateFlag)
static bool MP (hierarchicalTags)
static bool MP (modelUseDerivsFlag)
static bool MP (pressFlag)
static bool MP (pointSelection)
static short MP (annNodes)
static short MP (annRandomWeight)
static short MP (krigingFindNugget)
static short MP (krigingMaxTrials)
static short MP (marsMaxBases)
static short MP (mlsPolyOrder)
static short MP (mlsWeightFunction)
static short MP (rbfBases)
static short MP (rbfMaxPts)
static short MP (rbfMaxSubsets)
static short MP (rbfMinPartition)
static int MP (numFolds)
static int MP (pointsTotal)
static int MP (subMethodProcs)
static int MP (subMethodServers)
static IntSet MP (idAnalyticGrads)
static IntSet MP (idAnalyticHessians)
static IntSet MP (idNumericalGrads)
static IntSet MP (idNumericalHessians)
static IntSet MP (idQuasiHessians)
static IntVector MP (numReplicates)
static RealVector MP (expConfigVars)
static RealVector MP (expObservations)
static RealVector MP (expStdDeviations)
static RealVector MP (primaryRespFnWeights)
static RealVector MP (nonlinearEqTargets)
static RealVector MP (nonlinearIneqLowerBnds)
static RealVector MP (nonlinearIneqUpperBnds)
static RealVector MP (fdGradStepSize)
static RealVector MP (fdHessStepSize)
static RealVector MP (primaryRespFnScales)
static RealVector MP (nonlinearEqScales)
static RealVector MP (nonlinearIneqScales)
static Resp mp lit MP2 (gradientType, analytic)

12.1. DAKOTA NAMESPACE REFERENCE

static Resp mp lit MP2 (gradientType, mixed)


static Resp mp lit MP2 (gradientType, none)
static Resp mp lit MP2 (gradientType, numerical)
static Resp mp lit MP2 (hessianType, analytic)
static Resp mp lit MP2 (hessianType, mixed)
static Resp mp lit MP2 (hessianType, none)
static Resp mp lit MP2 (hessianType, numerical)
static Resp mp lit MP2 (hessianType, quasi)
static Resp mp lit MP2 (intervalType, central)
static Resp mp lit MP2 (intervalType, forward)
static Resp mp lit MP2 (methodSource, dakota)
static Resp mp lit MP2 (methodSource, vendor)
static Resp mp lit MP2 (fdGradStepType, absolute)
static Resp mp lit MP2 (fdGradStepType, bounds)
static Resp mp lit MP2 (fdGradStepType, relative)
static Resp mp lit MP2 (fdHessStepType, absolute)
static Resp mp lit MP2 (fdHessStepType, bounds)
static Resp mp lit MP2 (fdHessStepType, relative)
static Resp mp lit MP2 (quasiHessianType, bfgs)
static Resp mp lit MP2 (quasiHessianType, damped bfgs)
static Resp mp lit MP2 (quasiHessianType, sr1)
static String MP (expDataFileName)
static String MP (idResponses)
static StringArray MP (nonlinearEqScaleTypes)
static StringArray MP (nonlinearIneqScaleTypes)
static StringArray MP (primaryRespFnScaleTypes)
static StringArray MP (primaryRespFnSense)
static StringArray MP (responseLabels)
static bool MP (centralHess)
static bool MP (expDataFileAnnotated)
static bool MP (ignoreBounds)
static size t MP (numExpStdDeviations)
static size t MP (numExpConfigVars)
static size t MP (numExperiments)
static size t MP (numLeastSqTerms)
static size t MP (numNonlinearEqConstraints)
static size t MP (numNonlinearIneqConstraints)
static size t MP (numObjectiveFunctions)
static size t MP (numResponseFunctions)
static String MP (resultsOutputFile)
static String MP (tabularDataFile)
static String MP (topMethodPointer)
static bool MP (graphicsFlag)
static bool MP (resultsOutputFlag)
static bool MP (tabularDataFlag)
static int MP (outputPrecision)

111

112

CHAPTER 12. NAMESPACE DOCUMENTATION

static size t MP (numBetaUncVars)


static size t MP (numBinomialUncVars)
static size t MP (numContinuousDesVars)
static size t MP (numContinuousIntervalUncVars)
static size t MP (numContinuousStateVars)
static size t MP (numDiscreteDesRangeVars)
static size t MP (numDiscreteDesSetIntVars)
static size t MP (numDiscreteDesSetRealVars)
static size t MP (numDiscreteIntervalUncVars)
static size t MP (numDiscreteStateRangeVars)
static size t MP (numDiscreteStateSetIntVars)
static size t MP (numDiscreteStateSetRealVars)
static size t MP (numDiscreteUncSetIntVars)
static size t MP (numDiscreteUncSetRealVars)
static size t MP (numExponentialUncVars)
static size t MP (numFrechetUncVars)
static size t MP (numGammaUncVars)
static size t MP (numGeometricUncVars)
static size t MP (numGumbelUncVars)
static size t MP (numHistogramBinUncVars)
static size t MP (numHistogramPtUncVars)
static size t MP (numHyperGeomUncVars)
static size t MP (numLognormalUncVars)
static size t MP (numLoguniformUncVars)
static size t MP (numNegBinomialUncVars)
static size t MP (numNormalUncVars)
static size t MP (numPoissonUncVars)
static size t MP (numTriangularUncVars)
static size t MP (numUniformUncVars)
static size t MP (numWeibullUncVars)
static IntVector VP (ddsi)
static IntVector VP (DIlb)
static IntVector MP (discreteDesignRangeLowerBnds)
static IntVector MP (discreteDesignRangeUpperBnds)
static IntVector MP (discreteDesignRangeVars)
static IntVector MP (discreteDesignSetIntVars)
static IntVector MP (discreteIntervalUncVars)
static IntVector MP (discreteStateRangeLowerBnds)
static IntVector MP (discreteStateRangeUpperBnds)
static IntVector MP (discreteStateRangeVars)
static IntVector MP (discreteStateSetIntVars)
static IntVector MP (discreteUncSetIntVars)
static IntVector VP (DIub)
static IntVector VP (dssi)
static IntVector VP (dusi)
static IntArray VP (nddsi)

12.1. DAKOTA NAMESPACE REFERENCE

static IntArray VP (nddsr)


static IntArray VP (ndssi)
static IntArray VP (ndssr)
static IntArray VP (ndusi)
static IntArray VP (ndusr)
static IntArray VP (nhbp)
static IntArray VP (nhpp)
static IntArray VP (nCI)
static IntArray VP (nDI)
static RealVector MP (betaUncLowerBnds)
static RealVector MP (betaUncUpperBnds)
static RealVector MP (betaUncVars)
static RealVector MP (binomialUncProbPerTrial)
static RealVector MP (continuousDesignLowerBnds)
static RealVector MP (continuousDesignUpperBnds)
static RealVector MP (continuousDesignVars)
static RealVector MP (continuousDesignScales)
static RealVector MP (continuousIntervalUncVars)
static RealVector MP (continuousStateLowerBnds)
static RealVector MP (continuousStateUpperBnds)
static RealVector MP (continuousStateVars)
static RealVector MP (discreteDesignSetRealVars)
static RealVector MP (discreteStateSetRealVars)
static RealVector MP (discreteUncSetRealVars)
static RealVector MP (frechetUncBetas)
static RealVector MP (frechetUncVars)
static RealVector MP (geometricUncProbPerTrial)
static RealVector MP (gumbelUncBetas)
static RealVector MP (gumbelUncVars)
static RealVector MP (histogramBinUncVars)
static RealVector MP (histogramPointUncVars)
static RealVector MP (negBinomialUncProbPerTrial)
static RealVector MP (normalUncLowerBnds)
static RealVector MP (normalUncMeans)
static RealVector MP (normalUncUpperBnds)
static RealVector MP (normalUncVars)
static RealVector MP (triangularUncModes)
static RealVector MP (triangularUncVars)
static RealVector MP (uniformUncVars)
static RealVector MP (weibullUncVars)
static RealVector VP (ddsr)
static RealVector VP (dssr)
static RealVector VP (dusr)
static RealVector VP (CIlb)
static RealVector VP (CIub)
static RealVector VP (CIp)

113

114

CHAPTER 12. NAMESPACE DOCUMENTATION

static RealVector VP (DIp)


static RealVector VP (DSIp)
static RealVector VP (DSRp)
static RealVector VP (hba)
static RealVector VP (hbo)
static RealVector VP (hbc)
static RealVector VP (hpa)
static RealVector VP (hpc)
static RealVector VP (ucm)
static String MP (idVariables)
static StringArray MP (continuousDesignLabels)
static StringArray MP (continuousDesignScaleTypes)
static StringArray MP (continuousStateLabels)
static StringArray MP (discreteDesignRangeLabels)
static StringArray MP (discreteDesignSetIntLabels)
static StringArray MP (discreteDesignSetRealLabels)
static StringArray MP (discreteStateRangeLabels)
static StringArray MP (discreteStateSetIntLabels)
static StringArray MP (discreteStateSetRealLabels)
static Var brv MP2s (betaUncAlphas, 0.)
static Var brv MP2s (betaUncBetas, 0.)
static Var brv MP2s (exponentialUncBetas, 0.)
static Var brv MP2s (exponentialUncVars, 0.)
static Var brv MP2s (frechetUncAlphas, 2.)
static Var brv MP2s (gammaUncAlphas, 0.)
static Var brv MP2s (gammaUncBetas, 0.)
static Var brv MP2s (gammaUncVars, 0.)
static Var brv MP2s (gumbelUncAlphas, 0.)
static Var brv MP2s (lognormalUncErrFacts, 1.)
static Var brv MP2s (lognormalUncLambdas, 0.)
static Var brv MP2s (lognormalUncLowerBnds, 0.)
static Var brv MP2s (lognormalUncMeans, 0.)
static Var brv MP2s (lognormalUncStdDevs, 0.)
static Var brv MP2s (lognormalUncUpperBnds, DBL MAX)
static Var brv MP2s (lognormalUncVars, 0.)
static Var brv MP2s (lognormalUncZetas, 0.)
static Var brv MP2s (loguniformUncLowerBnds, 0.)
static Var brv MP2s (loguniformUncUpperBnds, DBL MAX)
static Var brv MP2s (loguniformUncVars, 0.)
static Var brv MP2s (normalUncStdDevs, 0.)
static Var brv MP2s (poissonUncLambdas, 0.)
static Var brv MP2s (triangularUncLowerBnds,-DBL MAX)
static Var brv MP2s (triangularUncUpperBnds, DBL MAX)
static Var brv MP2s (uniformUncLowerBnds,-DBL MAX)
static Var brv MP2s (uniformUncUpperBnds, DBL MAX)
static Var brv MP2s (weibullUncAlphas, 0.)

12.1. DAKOTA NAMESPACE REFERENCE

115

static Var brv MP2s (weibullUncBetas, 0.)


static Var biv MP2s (binomialUncNumTrials, 0)
static Var biv MP2s (binomialUncVars, 0)
static Var biv MP2s (geometricUncVars, 0)
static Var biv MP2s (hyperGeomUncNumDrawn, 0)
static Var biv MP2s (hyperGeomUncSelectedPop, 0)
static Var biv MP2s (hyperGeomUncTotalPop, 0)
static Var biv MP2s (hyperGeomUncVars, 0)
static Var biv MP2s (negBinomialUncNumTrials, 0)
static Var biv MP2s (negBinomialUncVars, 0)
static Var biv MP2s (poissonUncVars, 0)
static Var mp type Vtype (varsDomain, MIXED DOMAIN)
static Var mp type Vtype (varsDomain, RELAXED DOMAIN)
static Var mp type Vtype (varsView, ALL VIEW)
static Var mp type Vtype (varsView, DESIGN VIEW)
static Var mp type Vtype (varsView, UNCERTAIN VIEW)
static Var mp type Vtype (varsView, ALEATORY UNCERTAIN VIEW)
static Var mp type Vtype (varsView, EPISTEMIC UNCERTAIN VIEW)
static Var mp type Vtype (varsView, STATE VIEW)
void dn2f (int n, int p, Real x, Calcrj, int iv, int liv, int lv, Real v, int ui, void ur, Vf)
void dn2fb (int n, int p, Real x, Real b, Calcrj, int iv, int liv, int lv, Real v, int ui, void ur, Vf)
void dn2g (int n, int p, Real x, Calcrj, Calcrj, int iv, int liv, int lv, Real v, int ui, void ur, Vf)
void dn2gb (int n, int p, Real x, Real b, Calcrj, Calcrj, int iv, int liv, int lv, Real v, int ui, void
ur, Vf)
void divset (int , int , int , int , Real )
double dr7mdc (int )
static void Rswapchk (Nl2Misc q)
static int hasnaninf (const double d, int n)
NLPQLPOptimizer new NLPQLPOptimizer (ProblemDescDB &problem db)
NLPQLPOptimizer new NLPQLPOptimizer (Model &model)
NLPQLPOptimizer new NLPQLPOptimizer (ProblemDescDB &problem db, Model &model)
NPSOLOptimizer new NPSOLOptimizer (ProblemDescDB &problem db)
NPSOLOptimizer new NPSOLOptimizer1 (Model &model)
NPSOLOptimizer new NPSOLOptimizer2 (Model &model, const int &derivative level, const Real
&conv tol)
NPSOLOptimizer new NPSOLOptimizer3 (const RealVector &initial point, const RealVector &var lower bnds, const RealVector &var upper bnds, const RealMatrix &lin ineq coeffs, const RealVector &linineq lower bnds, const RealVector &lin ineq upper bnds, const RealMatrix &lin eq coeffs, const RealVector &lin eq targets, const RealVector &nonlin ineq lower bnds, const RealVector &nonlin ineq upperbnds, const RealVector &nonlin eq targets, void(user obj eval)(int &, int &, double , double &, double
, int &), void(user con eval)(int &, int &, int &, int &, int , double , double , double , int &), const
int &derivative level, const Real &conv tol)
NPSOLOptimizer new NPSOLOptimizer (ProblemDescDB &problem db, Model &model)
NPSOLOptimizer new NPSOLOptimizer (Model &model)
NPSOLOptimizer new NPSOLOptimizer (Model &model, const int &, const Real &)

116

CHAPTER 12. NAMESPACE DOCUMENTATION


NPSOLOptimizer new NPSOLOptimizer (const RealVector &initial point, const RealVector &var lower bnds, const RealVector &var upper bnds, const RealMatrix &lin ineq coeffs, const RealVector &linineq lower bnds, const RealVector &lin ineq upper bnds, const RealMatrix &lin eq coeffs, const RealVector &lin eq targets, const RealVector &nonlin ineq lower bnds, const RealVector &nonlin ineq upperbnds, const RealVector &nonlin eq targets, void(user obj eval)(int &, int &, double , double &, double
, int &), void(user con eval)(int &, int &, int &, int &, int , double , double , double , int &), const
int &derivative level, const Real &conv tol)
std::istream & operator>> (std::istream &s, ParamResponsePair &pair)
std::istream extraction operator for ParamResponsePair

std::ostream & operator<< (std::ostream &s, const ParamResponsePair &pair)


std::ostream insertion operator for ParamResponsePair

MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, ParamResponsePair &pair)


MPIUnpackBuffer extraction operator for ParamResponsePair.

MPIPackBuffer & operator<< (MPIPackBuffer &s, const ParamResponsePair &pair)


MPIPackBuffer insertion operator for ParamResponsePair.

bool operator== (const ParamResponsePair &pair1, const ParamResponsePair &pair2)


equality operator for ParamResponsePair

bool operator!= (const ParamResponsePair &pair1, const ParamResponsePair &pair2)


inequality operator for ParamResponsePair

static void binsearch (void kw, size t kwsize, size t n, const char key)
static const char Begins (const String &entry name, const char s)
static void Bad name (String entry name, const char where)
static void Locked db ()
static void Null rep (const char who)
static void Null rep1 (const char who)
MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, ProgramOptions &progopt)
MPIUnpackBuffer extraction operator.

MPIPackBuffer & operator<< (MPIPackBuffer &s, const ProgramOptions &progopt)


MPIPackBuffer insertion operator.

bool set compare (const ParamResponsePair &database pr, const ActiveSet &search set)
search function for a particular ParamResponsePair within a PRPList based on ActiveSet content (request vector
and derivative variables vector)

bool id vars exact compare (const ParamResponsePair &database pr, const ParamResponsePair &search pr)
search function for a particular ParamResponsePair within a PRPMultiIndex

std::size t hash value (const ParamResponsePair &prp)


hash value for ParamResponsePairs stored in a PRPMultiIndex

PRPCacheHIter hashedCacheBegin (PRPCache &prp cache)


hashed definition of cache begin

PRPCacheHIter hashedCacheEnd (PRPCache &prp cache)


hashed definition of cache end

PRPQueueHIter hashedQueueBegin (PRPQueue &prp queue)


hashed definition of queue begin

PRPQueueHIter hashedQueueEnd (PRPQueue &prp queue)

12.1. DAKOTA NAMESPACE REFERENCE

117

hashed definition of queue end

PRPCacheHIter lookup by val (PRPMultiIndexCache &prp cache, const ParamResponsePair &search pr)
find a ParamResponsePair based on the interface id, variables, and ActiveSet search data within search pr.

PRPCacheHIter lookup by val (PRPMultiIndexCache &prp cache, const String &search interface id, const
Variables &search vars, const ActiveSet &search set)
find a ParamResponsePair within a PRPMultiIndexCache based on the interface id, variables, and ActiveSet search
data

PRPCacheOIter lookup by nearby val (PRPMultiIndexCache &prp cache, const String &search interfaceid, const Variables &search vars, const ActiveSet &search set, Real tol)
PRPCacheOIter lookup by ids (PRPMultiIndexCache &prp cache, const IntStringPair &search ids)
find a ParamResponsePair within a PRPMultiIndexCache based on search ids (i.e. std::pair<eval id,interface id>) search data

PRPCacheOIter lookup by ids (PRPMultiIndexCache &prp cache, const IntStringPair &search ids, const
ParamResponsePair &search pr)
PRPQueueHIter lookup by val (PRPMultiIndexQueue &prp queue, const ParamResponsePair &search pr)
find a ParamResponsePair based on the interface id, variables, and ActiveSet search data within search pr.

PRPQueueHIter lookup by val (PRPMultiIndexQueue &prp queue, const String &search interface id, const
Variables &search vars, const ActiveSet &search set)
find a ParamResponsePair within a PRPMultiIndexQueue based on interface id, variables, and ActiveSet search
data

PRPQueueOIter lookup by eval id (PRPMultiIndexQueue &prp queue, int search id)


find a ParamResponsePair within a PRPMultiIndexQueue based on search id (i.e. integer eval id) search data

void print restart (int argc, char argv, String print dest)
print a restart file

void print restart pdb (int argc, char argv, String print dest)
print a restart file (PDB format)

void print restart tabular (int argc, char argv, String print dest)
print a restart file (tabular format)

void read neutral (int argc, char argv)


read a restart file (neutral file format)

void repair restart (int argc, char argv, String identifier type)
repair a restart file by removing corrupted evaluations

void concatenate restart (int argc, char argv)


concatenate multiple restart files

static HANDLE wait setup (std::map< pid t, int > M, size t pn)
static int wait for one (size t n, HANDLE h, int req1, size t pi)
int salinas main (int argc, char argv[ ], MPI Comm comm)
subroutine interface to SALINAS simulation code

void find env token (const char s0, const char s1, const char s2, const char s3)
const char arg list adjust (const char , void )
Utility function from legacy, not executable module DO NOT TOUCH!

bool contains (const bfs::path &dir path, const std::string &file name, boost::filesystem::path &complete filepath)
Helper for which - sets complete filepath from dir path/file name combo.

118

CHAPTER 12. NAMESPACE DOCUMENTATION

Variables
PRPCache data pairs
contains all parameter/response pairs.

static time t start time


static int dakdrive
static char slmap [256]
std::ostream dakota cout = &std::cout
DAKOTA stdout initially points to

< std::cout, but may be redirected to a tagged ofstream if there are < concurrent iterators.

std::ostream dakota cerr = &std::cerr


DAKOTA stderr initially points to

< std::cerr, but may be redirected to a tagged ofstream if there are < concurrent iterators.

ResultsManager iterator results db


Global results database for iterator results.

Graphics dakota graphics


the global Dakota::Graphics object used by

< strategies, models, and approximations

int write precision = 10


used in ostream data output functions < (restart util.cpp overrides default value)

MPIManager dummy mpi mgr


dummy MPIManager for ref initialization

ProgramOptions dummy prg opt


dummy ProgramOptions for ref initialization

OutputManager dummy out mgr


dummy OutputManager for ref initialization

ParallelLibrary dummy lib


dummy ParallelLibrary for ref initialization

ProblemDescDB dummy db
dummy ProblemDescDB for ref initialization

int mc ptr int = 0


global pointer for ModelCenter API

int dc ptr int = 0


global pointer for ModelCenter eval DB

ProblemDescDB Dak pddb


set by ProblemDescDB, for use in parsing

const size t NPOS = (size t)0


special value returned by index() when entry not found

Interface dummy interface


dummy Interface object used for mandatory

< reference initialization or default virtual < function return by reference when a real < Interface instance is
unavailable

Model dummy model


dummy Model object used for mandatory reference

< initialization or default virtual function < return by reference when a real Model instance < is unavailable

Iterator dummy iterator

12.1. DAKOTA NAMESPACE REFERENCE

119

dummy Iterator object used for mandatory

< reference initialization or default virtual < function return by reference when a real < Iterator instance is
unavailable

Dakota funcs DF
Dakota funcs DakFuncs0
const char FIELD NAMES [ ]
const int NUMBER OF FIELDS = 23
static GuiKeyWord kw 1 [1]
static GuiKeyWord kw 2 [1]
static GuiKeyWord kw 3 [6]
static GuiKeyWord kw 4 [1]
static GuiKeyWord kw 5 [4]
static GuiKeyWord kw 6 [1]
static GuiKeyWord kw 7 [4]
static GuiKeyWord kw 8 [1]
static GuiKeyWord kw 9 [2]
static GuiKeyWord kw 10 [7]
static GuiKeyWord kw 11 [9]
static GuiKeyWord kw 12 [12]
static GuiKeyWord kw 13 [2]
static GuiKeyWord kw 14 [2]
static GuiKeyWord kw 15 [3]
static GuiKeyWord kw 16 [2]
static GuiKeyWord kw 17 [2]
static GuiKeyWord kw 18 [9]
static GuiKeyWord kw 19 [2]
static GuiKeyWord kw 20 [1]
static GuiKeyWord kw 21 [1]
static GuiKeyWord kw 22 [2]
static GuiKeyWord kw 23 [4]
static GuiKeyWord kw 24 [2]
static GuiKeyWord kw 25 [3]
static GuiKeyWord kw 26 [2]
static GuiKeyWord kw 27 [2]
static GuiKeyWord kw 28 [3]
static GuiKeyWord kw 29 [2]
static GuiKeyWord kw 30 [15]
static GuiKeyWord kw 31 [7]
static GuiKeyWord kw 32 [2]
static GuiKeyWord kw 33 [19]
static GuiKeyWord kw 34 [2]
static GuiKeyWord kw 35 [2]
static GuiKeyWord kw 36 [5]
static GuiKeyWord kw 37 [1]
static GuiKeyWord kw 38 [1]
static GuiKeyWord kw 39 [4]

120

CHAPTER 12. NAMESPACE DOCUMENTATION

static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw

40 [6]
41 [2]
42 [2]
43 [2]
44 [2]
45 [2]
46 [2]
47 [2]
48 [6]
49 [2]
50 [2]
51 [5]
52 [1]
53 [1]
54 [4]
55 [4]
56 [9]
57 [4]
58 [7]
59 [8]
60 [2]
61 [12]
62 [3]
63 [2]
64 [3]
65 [2]
66 [5]
67 [4]
68 [15]
69 [3]
70 [2]
71 [2]
72 [18]
73 [14]
74 [12]
75 [10]
76 [1]
77 [15]
78 [15]
79 [2]
80 [2]
81 [2]
82 [7]
83 [9]
84 [3]
85 [1]

12.1. DAKOTA NAMESPACE REFERENCE

static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw

86 [9]
87 [1]
88 [11]
89 [2]
90 [2]
91 [2]
92 [3]
93 [2]
94 [11]
95 [2]
96 [2]
97 [3]
98 [2]
99 [2]
100 [2]
101 [2]
102 [5]
103 [12]
104 [2]
105 [2]
106 [2]
107 [2]
108 [5]
109 [8]
110 [2]
111 [1]
112 [1]
113 [2]
114 [2]
115 [2]
116 [3]
117 [2]
118 [2]
119 [16]
120 [2]
121 [1]
122 [2]
123 [1]
124 [1]
125 [5]
126 [1]
127 [2]
128 [8]
129 [2]
130 [3]
131 [2]

121

122

CHAPTER 12. NAMESPACE DOCUMENTATION

static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw

132 [12]
133 [2]
134 [3]
135 [2]
136 [1]
137 [1]
138 [2]
139 [3]
140 [2]
141 [7]
142 [3]
143 [5]
144 [4]
145 [10]
146 [1]
147 [2]
148 [4]
149 [2]
150 [7]
151 [16]
152 [2]
153 [5]
154 [3]
155 [1]
156 [6]
157 [3]
158 [2]
159 [1]
160 [3]
161 [1]
162 [2]
163 [4]
164 [22]
165 [1]
166 [1]
167 [7]
168 [2]
169 [5]
170 [10]
171 [2]
172 [3]
173 [2]
174 [8]
175 [1]
176 [2]
177 [4]

12.1. DAKOTA NAMESPACE REFERENCE

static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw

178 [2]
179 [2]
180 [3]
181 [1]
182 [1]
183 [2]
184 [2]
185 [1]
186 [17]
187 [3]
188 [6]
189 [2]
190 [6]
191 [3]
192 [2]
193 [4]
194 [3]
195 [2]
196 [5]
197 [2]
198 [30]
199 [1]
200 [4]
201 [1]
202 [12]
203 [2]
204 [2]
205 [3]
206 [2]
207 [2]
208 [4]
209 [2]
210 [4]
211 [2]
212 [28]
213 [2]
214 [13]
215 [12]
216 [11]
217 [3]
218 [4]
219 [16]
220 [5]
221 [2]
222 [1]
223 [10]

123

124

CHAPTER 12. NAMESPACE DOCUMENTATION

static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw

224 [4]
225 [5]
226 [2]
227 [2]
228 [2]
229 [2]
230 [4]
231 [20]
232 [15]
233 [7]
234 [2]
235 [7]
236 [1]
237 [4]
238 [6]
239 [13]
240 [4]
241 [90]
242 [1]
243 [2]
244 [7]
245 [2]
246 [1]
247 [2]
248 [6]
249 [2]
250 [2]
251 [2]
252 [3]
253 [2]
254 [4]
255 [7]
256 [2]
257 [2]
258 [2]
259 [3]
260 [3]
261 [4]
262 [4]
263 [5]
264 [3]
265 [21]
266 [6]
267 [3]
268 [2]
269 [2]

12.1. DAKOTA NAMESPACE REFERENCE

static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw

270 [5]
271 [7]
272 [6]
273 [6]
274 [8]
275 [15]
276 [4]
277 [10]
278 [2]
279 [1]
280 [2]
281 [8]
282 [6]
283 [8]
284 [11]
285 [8]
286 [7]
287 [1]
288 [2]
289 [19]
290 [6]
291 [11]
292 [5]
293 [12]
294 [10]
295 [8]
296 [8]
297 [4]
298 [4]
299 [9]
300 [8]
301 [4]
302 [4]
303 [6]
304 [6]
305 [5]
306 [7]
307 [7]
308 [4]
309 [7]
310 [11]
311 [9]
312 [5]
313 [2]
314 [4]
315 [11]

125

126

CHAPTER 12. NAMESPACE DOCUMENTATION

static GuiKeyWord kw 316 [7]


static GuiKeyWord kw 317 [5]
static GuiKeyWord kw 318 [11]
static GuiKeyWord kw 319 [3]
static GuiKeyWord kw 320 [9]
static GuiKeyWord kw 321 [7]
static GuiKeyWord kw 322 [7]
static GuiKeyWord kw 323 [37]
static GuiKeyWord kw 324 [6]
static KeyWord kw 1 [1]
static KeyWord kw 2 [1]
static KeyWord kw 3 [6]
static KeyWord kw 4 [1]
static KeyWord kw 5 [4]
static KeyWord kw 6 [1]
static KeyWord kw 7 [4]
static KeyWord kw 8 [1]
static KeyWord kw 9 [2]
static KeyWord kw 10 [7]
static KeyWord kw 11 [9]
static KeyWord kw 12 [12]
static KeyWord kw 13 [2]
static KeyWord kw 14 [2]
static KeyWord kw 15 [3]
static KeyWord kw 16 [2]
static KeyWord kw 17 [2]
static KeyWord kw 18 [9]
static KeyWord kw 19 [1]
static KeyWord kw 20 [2]
static KeyWord kw 21 [2]
static KeyWord kw 22 [1]
static KeyWord kw 23 [1]
static KeyWord kw 24 [2]
static KeyWord kw 25 [4]
static KeyWord kw 26 [4]
static KeyWord kw 27 [2]
static KeyWord kw 28 [3]
static KeyWord kw 29 [2]
static KeyWord kw 30 [2]
static KeyWord kw 31 [3]
static KeyWord kw 32 [2]
static KeyWord kw 33 [11]
static KeyWord kw 34 [9]
static KeyWord kw 35 [7]
static KeyWord kw 36 [2]
static KeyWord kw 37 [11]

12.1. DAKOTA NAMESPACE REFERENCE

static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw

38 [2]
39 [2]
40 [5]
41 [1]
42 [1]
43 [4]
44 [6]
45 [2]
46 [2]
47 [2]
48 [2]
49 [2]
50 [3]
51 [2]
52 [2]
53 [4]
54 [2]
55 [2]
56 [5]
57 [1]
58 [1]
59 [4]
60 [2]
61 [8]
62 [4]
63 [5]
64 [3]
65 [2]
66 [4]
67 [2]
68 [8]
69 [3]
70 [2]
71 [3]
72 [2]
73 [5]
74 [4]
75 [11]
76 [2]
77 [3]
78 [2]
79 [2]
80 [12]
81 [8]
82 [4]
83 [3]

127

128

CHAPTER 12. NAMESPACE DOCUMENTATION

static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw

84 [1]
85 [14]
86 [7]
87 [2]
88 [2]
89 [2]
90 [7]
91 [5]
92 [3]
93 [1]
94 [8]
95 [1]
96 [11]
97 [2]
98 [2]
99 [2]
100 [3]
101 [2]
102 [7]
103 [2]
104 [2]
105 [3]
106 [2]
107 [2]
108 [2]
109 [2]
110 [5]
111 [8]
112 [2]
113 [2]
114 [2]
115 [2]
116 [5]
117 [7]
118 [2]
119 [1]
120 [1]
121 [3]
122 [2]
123 [2]
124 [2]
125 [3]
126 [2]
127 [2]
128 [14]
129 [2]

12.1. DAKOTA NAMESPACE REFERENCE

static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw

130 [3]
131 [1]
132 [2]
133 [1]
134 [1]
135 [5]
136 [1]
137 [2]
138 [6]
139 [2]
140 [3]
141 [2]
142 [8]
143 [2]
144 [3]
145 [2]
146 [1]
147 [1]
148 [2]
149 [3]
150 [2]
151 [7]
152 [3]
153 [5]
154 [4]
155 [10]
156 [1]
157 [2]
158 [4]
159 [2]
160 [5]
161 [8]
162 [2]
163 [5]
164 [3]
165 [1]
166 [6]
167 [7]
168 [3]
169 [2]
170 [1]
171 [3]
172 [1]
173 [2]
174 [4]
175 [8]

129

130

CHAPTER 12. NAMESPACE DOCUMENTATION

static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw

176 [1]
177 [1]
178 [5]
179 [2]
180 [5]
181 [10]
182 [2]
183 [3]
184 [2]
185 [4]
186 [1]
187 [2]
188 [4]
189 [2]
190 [2]
191 [1]
192 [2]
193 [1]
194 [3]
195 [1]
196 [1]
197 [2]
198 [2]
199 [1]
200 [17]
201 [3]
202 [6]
203 [2]
204 [6]
205 [3]
206 [2]
207 [4]
208 [3]
209 [2]
210 [3]
211 [2]
212 [25]
213 [1]
214 [4]
215 [1]
216 [7]
217 [2]
218 [2]
219 [3]
220 [2]
221 [2]

12.1. DAKOTA NAMESPACE REFERENCE

static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw

222 [4]
223 [2]
224 [4]
225 [2]
226 [23]
227 [2]
228 [3]
229 [4]
230 [2]
231 [4]
232 [3]
233 [3]
234 [4]
235 [7]
236 [5]
237 [2]
238 [1]
239 [8]
240 [3]
241 [5]
242 [2]
243 [2]
244 [2]
245 [2]
246 [4]
247 [6]
248 [5]
249 [7]
250 [2]
251 [7]
252 [1]
253 [4]
254 [6]
255 [13]
256 [4]
257 [90]
258 [1]
259 [2]
260 [7]
261 [2]
262 [1]
263 [2]
264 [6]
265 [2]
266 [2]
267 [2]

131

132

CHAPTER 12. NAMESPACE DOCUMENTATION

static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw

268 [3]
269 [2]
270 [4]
271 [7]
272 [2]
273 [2]
274 [2]
275 [3]
276 [3]
277 [4]
278 [4]
279 [5]
280 [3]
281 [21]
282 [6]
283 [3]
284 [1]
285 [2]
286 [2]
287 [5]
288 [7]
289 [6]
290 [6]
291 [8]
292 [15]
293 [4]
294 [8]
295 [3]
296 [2]
297 [1]
298 [2]
299 [8]
300 [6]
301 [8]
302 [11]
303 [7]
304 [1]
305 [2]
306 [19]
307 [6]
308 [11]
309 [5]
310 [12]
311 [10]
312 [8]
313 [8]

12.1. DAKOTA NAMESPACE REFERENCE

static KeyWord kw 314 [4]


static KeyWord kw 315 [4]
static KeyWord kw 316 [9]
static KeyWord kw 317 [8]
static KeyWord kw 318 [4]
static KeyWord kw 319 [4]
static KeyWord kw 320 [6]
static KeyWord kw 321 [6]
static KeyWord kw 322 [5]
static KeyWord kw 323 [7]
static KeyWord kw 324 [7]
static KeyWord kw 325 [4]
static KeyWord kw 326 [7]
static KeyWord kw 327 [11]
static KeyWord kw 328 [9]
static KeyWord kw 329 [5]
static KeyWord kw 330 [2]
static KeyWord kw 331 [4]
static KeyWord kw 332 [11]
static KeyWord kw 333 [7]
static KeyWord kw 334 [5]
static KeyWord kw 335 [11]
static KeyWord kw 336 [3]
static KeyWord kw 337 [9]
static KeyWord kw 338 [7]
static KeyWord kw 339 [7]
static KeyWord kw 340 [37]
static KeyWord kw 341 [6]
FILE nidrin
static const char aln scaletypes [ ] = { auto, log, none, 0 }
static Var uinfo CAUVLbl [CAUVar Nkinds]
static Var uinfo DAUIVLbl [DAUIVar Nkinds]
static Var uinfo DAURVLbl [DAURVar Nkinds]
static Var uinfo CEUVLbl [CEUVar Nkinds]
static Var uinfo DEUIVLbl [DEUIVar Nkinds]
static Var uinfo DEURVLbl [DEURVar Nkinds]
static Var uinfo DiscSetLbl [DiscSetVar Nkinds]
static VarLabelChk Vlch [ ]
static VLreal VLR [N VLR]
static VLint VLI [N VLI]
static int VLR aleatory [N VLR] = { 1, 0, 1, 0 }
static int VLI aleatory [N VLI] = { 1, 0 }
static Var check var mp check cv [ ]
static Var check var mp check dset [ ]
static Var check var mp check cau [ ]
static Var check var mp check daui [ ]

133

134

CHAPTER 12. NAMESPACE DOCUMENTATION

static Var check var mp check daur [ ]


static Var check var mp check ceu [ ]
static Var check var mp check deui [ ]
static Var check var mp check deur [ ]
static Var rcheck var mp cbound [ ]
static Var icheck var mp drange [ ]
const char SCI FIELD NAMES [ ]
const int SCI NUMBER OF FIELDS = 26
const int LARGE SCALE = 100
a (perhaps arbitrary) definition of large scale; choose a large-scale algorithm if numVars >= LARGE SCALE

const double POW VAL = 1.0


offset used text book exponent: 1.0 is nominal, 1.4 used for B&B testing

12.1.1

Detailed Description

The primary namespace for DAKOTA. The Dakota namespace encapsulates the core classes of the DAKOTA
framework and prevents name clashes with third-party libraries from methods and packages. The C++ source
files defining these core classes reside in Dakota/src as .[ch]pp.

12.1.2

Typedef Documentation

typedef bmi::multi index container<Dakota::ParamResponsePair, bmi::indexed by< bmi::ordered nonunique<bmi::tag<ordered>, bmi::const mem fun<Dakota::ParamResponsePair, const IntStringPair&,
&Dakota::ParamResponsePair::eval interface ids> >, bmi::hashed non unique<bmi::tag<hashed>,
bmi::identity<Dakota::ParamResponsePair>, partial prp hash, partial prp equality> > >
PRPMultiIndexCache
Boost Multi-Index Container for globally caching ParamResponsePairs.
For a global cache, both evaluation and interface ids are used for tagging ParamResponsePair records.
typedef bmi::multi index container<Dakota::ParamResponsePair, bmi::indexed by<
bmi::ordered unique<bmi::tag<ordered>, bmi::const mem fun<Dakota::ParamResponsePair,
int, &Dakota::ParamResponsePair::eval id> >, bmi::hashed non unique<bmi::tag<hashed>,
bmi::identity<Dakota::ParamResponsePair>, partial prp hash, partial prp equality> > >
PRPMultiIndexQueue
Boost Multi-Index Container for locally queueing ParamResponsePairs.
For a local queue, interface ids are expected to be consistent, such that evaluation ids are sufficient for
tracking particular evaluations.

12.1.3

Enumeration Type Documentation

anonymous enum
Sub-methods, including sampling, inference algorithm, opt algorithm types.
Enumerator
SUBMETHOD COLLABORATIVE Type of hybrid meta-iterator:

12.1. DAKOTA NAMESPACE REFERENCE

12.1.4

135

Function Documentation

CommandShell & flush ( CommandShell & shell )


convenient shell manipulator function to flush the shell
global convenience function for manipulating the shell; invokes the class member flush function.
References CommandShell::flush().
Referenced by SysCallApplicInterface::spawn analysis to shell(), SysCallApplicInterface::spawn evaluationto shell(), SysCallApplicInterface::spawn input filter to shell(), and SysCallApplicInterface::spawn output filterto shell().
void start dakota heartbeat ( int )
Heartbeat function provided by dakota filesystem utils; pass output interval in seconds, or -1 to use $DAKOTAHEARTBEAT
Referenced by OutputManager::OutputManager().
int Dakota::my cp ( const char file, const struct stat sb, int ftype, int depth, void v )
my cp is a wrapper around cp -r. The extra layer allows for symlink to be used instead of file copy.
void Dakota::get npath ( int appdrive, std::string pnpath )
get npath shuffles the string representing the current $PATH variable definition so that . is first in the $PATH.
It then returns the new string as the result (last arg in the call).
References get cwd().
void register signal handlers (

Tie various signal handlers to Dakotas abort handler function.


Global function to register signal handlers at top-level.
References abort handler().
Referenced by main().
void mpi debug hold (

Global function to hold Dakota processes to help with MPI debugging.


See details in code for details, depending on MPI implementation in use.
Referenced by main().
T Dakota::abort handler t ( int code )
Templatized abort handler t method that allows for convenient return from methods that otherwise have no sensible return from error clauses. Usage: MyType& method() { return abort handler<MyType&>(-1); }
References abort handler().
bool Dakota::operator!= ( const ActiveSet & set1, const ActiveSet & set2 ) [inline]
inequality operator for ActiveSet
inequality operator

136

CHAPTER 12. NAMESPACE DOCUMENTATION

bool Dakota::operator== ( const Model & m1, const Model & m2 ) [inline]
equality operator for Envelope is true if same letter instance
equality operator (detect same letter instance)
References Model::modelRep.
bool Dakota::operator!= ( const Model & m1, const Model & m2 ) [inline]
inequality operator for Envelope is true if different letter instance
inequality operator (detect different letter instances)
References Model::modelRep.
bool Dakota::operator== ( const Response & resp1, const Response & resp2 ) [inline]
equality operator for Response
equality operator
bool Dakota::operator!= ( const Response & resp1, const Response & resp2 ) [inline]
inequality operator for Response
inequality operator
bool Dakota::operator!= ( const Variables & vars1, const Variables & vars2 ) [inline]
inequality operator for Variables
strict inequality operator
Real Dakota::getdist ( const RealVector & x1, const RealVector & x2 )
Gets the Euclidean distance between x1 and x2
Referenced by mindist(), and mindistindx().
Real Dakota::mindist ( const RealVector & x, const RealMatrix & xset, int except )
Returns the minimum distance between the point x and the points in the set xset (compares against all points in
xset except point except): if except is not needed, pass 0.
References getdist().
Referenced by getRmax(), and NonDAdaptImpSampling::select rep points().
Real Dakota::mindistindx ( const RealVector & x, const RealMatrix & xset, const IntArray & indx )
Gets the min distance between x and points in the set xset defined by the nindx values in indx.
References getdist().
Referenced by GaussProcApproximation::pointsel add sel().
Real Dakota::getRmax ( const RealMatrix & xset )
Gets the maximum of the min distance between each point and the rest of the set.
References mindist().
Referenced by GaussProcApproximation::pointsel add sel().

12.1. DAKOTA NAMESPACE REFERENCE

137

int Dakota::start grid computing ( char analysis driver script, char params file, char results file )
sample function prototype for launching grid computing
int Dakota::stop grid computing (

sample function prototype for terminating grid computing


int Dakota::perform analysis ( char iteration num )
sample function prototype for submitting a grid evaluation
string Dakota::asstring ( const T & val )
Creates a string from the argument val using an ostringstream.
This only gets used in this file and is only ever called with ints so no error checking is in place.
Parameters
val

The value of type T to convert to a string.

Returns
The string representation of val created using an ostringstream.
Referenced by JEGAOptimizer::LoadTheConstraints().
bool Dakota::operator== ( const ParamResponsePair & pair1, const ParamResponsePair & pair2 )
[inline]
equality operator for ParamResponsePair
equality operator
References ParamResponsePair::evalInterfaceIds, ParamResponsePair::prPairParameters, and ParamResponsePair::prPairResponse.
bool Dakota::operator!= ( const ParamResponsePair & pair1, const ParamResponsePair & pair2 )
[inline]
inequality operator for ParamResponsePair
inequality operator
bool Dakota::set compare ( const ParamResponsePair & database pr, const ActiveSet & search set )
[inline]
search function for a particular ParamResponsePair within a PRPList based on ActiveSet content (request vector
and derivative variables vector)
a global function to compare the ActiveSet of a particular database pr (presumed to be in the global history
list) with a passed in ActiveSet (search set).
References ParamResponsePair::active set(), ActiveSet::derivative vector(), and ActiveSet::request vector().
Referenced by lookup by val().

138

CHAPTER 12. NAMESPACE DOCUMENTATION

bool Dakota::id vars exact compare ( const ParamResponsePair & database pr, const
ParamResponsePair & search pr ) [inline]
search function for a particular ParamResponsePair within a PRPMultiIndex
a global function to compare the interface id and variables of a particular database pr (presumed to be in the
global history list) with a passed in key of interface id and variables provided by search pr.
References ParamResponsePair::interface id(), and ParamResponsePair::prp parameters().
Referenced by partial prp equality::operator()().
PRPCacheHIter Dakota::lookup by val ( PRPMultiIndexCache & prp cache, const ParamResponsePair
& search pr ) [inline]
find a ParamResponsePair based on the interface id, variables, and ActiveSet search data within search pr.
Lookup occurs in two steps: (1) PRPMultiIndexCache lookup based on strict equality in interface id and
variables, and (2) set compare() post-processing based on ActiveSet subset logic.
References ParamResponsePair::active set(), and set compare().
Referenced by ApplicationInterface::duplication detect(), Model::estimate derivatives(), SurrBasedLocalMinimizer::find center approx(), Optimizer::local objective recast retrieve(), lookup by val(), SNLLLeastSq::post run(), SurrBasedMinimizer::print results(), LeastSq::print results(), Optimizer::print results(), DiscrepancyCorrection::searchdb(), and NonDLocalReliability::update mpp search data().
PRPQueueHIter Dakota::lookup by val ( PRPMultiIndexQueue & prp queue, const ParamResponsePair
& search pr ) [inline]
find a ParamResponsePair based on the interface id, variables, and ActiveSet search data within search pr.
Lookup occurs in two steps: (1) PRPMultiIndexQueue lookup based on strict equality in interface id and
variables, and (2) set compare() post-processing based on ActiveSet subset logic.
References ParamResponsePair::active set(), and set compare().
void print restart ( int argc, char argv, String print dest )
print a restart file
Usage: dakota restart util print dakota.rst
dakota restart util to neutral dakota.rst dakota.neu
Prints all evals. in full precision to either stdout or a neutral file. The former is useful for ensuring that
duplicate detection is successful in a restarted run (e.g., starting a new method from the previous best), and the
latter is used for translating binary files between platforms.
References abort handler(), ParamResponsePair::eval id(), ParamResponsePair::write annotated(), and writeprecision.
Referenced by main().
void print restart pdb ( int argc, char argv, String print dest )
print a restart file (PDB format)
Usage: dakota restart util to pdb dakota.rst dakota.pdb
Unrolls all data associated with a particular tag for all evaluations and then writes this data in a tabular format
(e.g., to a PDB database or MATLAB/TECPLOT data file).
References abort handler(), Variables::continuous variables(), Variables::discrete int variables(), Variables::discrete real variables(), and Response::function values().
Referenced by main().

12.1. DAKOTA NAMESPACE REFERENCE

139

void print restart tabular ( int argc, char argv, String print dest )
print a restart file (tabular format)
Usage: dakota restart util to tabular dakota.rst dakota.txt
Unrolls all data associated with a particular tag for all evaluations and then writes this data in a tabular format
(e.g., to a PDB database or MATLAB/TECPLOT data file).
References abort handler(), Variables::all continuous variable labels(), Variables::all discrete int variable labels(), Variables::all discrete real variable labels(), Response::function labels(), ParamResponsePair::interfaceid(), ParamResponsePair::prp parameters(), ParamResponsePair::prp response(), and ParamResponsePair::writetabular().
Referenced by main().
void read neutral ( int argc, char argv )
read a restart file (neutral file format)
Usage: dakota restart util from neutral dakota.neu dakota.rst
Reads evaluations from a neutral file. This is used for translating binary files between platforms.
References ParamResponsePair::read annotated().
Referenced by main().
void repair restart ( int argc, char argv, String identifier type )
repair a restart file by removing corrupted evaluations
Usage: dakota restart util remove 0.0 dakota old.rst dakota new.rst
dakota restart util remove ids 2 7 13 dakota old.rst dakota new.rst
Repairs a restart file by removing corrupted evaluations. The identifier for evaluation removal can be either
a double precision number (all evaluations having a matching response function value are removed) or a list of
integers (all evaluations with matching evaluation ids are removed).
References abort handler(), Response::active set request vector(), contains(), ParamResponsePair::eval id(),
Response::function values(), and ParamResponsePair::prp response().
Referenced by main().
void concatenate restart ( int argc, char argv )
concatenate multiple restart files
Usage: dakota restart util cat dakota 1.rst ... dakota n.rst dakota new.rst
Combines multiple restart files into a single restart database.
References abort handler().
Referenced by main().

12.1.5

Variable Documentation

char slmap[256] [static]


Initial value:
= {

0x0, 0x1, 0x2, 0x3, 0x4, 0x5,


0x10, 0x11, 0x12, 0x13, 0x14,
0x20, 0x21, 0x22, 0x23, 0x24,
0x30, 0x31, 0x32, 0x33, 0x34,
0x40, 0x41, 0x42, 0x43, 0x44,

0x6, 0x7, 0x8, 0x9, 0xa, 0xb,


0x15, 0x16, 0x17, 0x18, 0x19,
0x25, 0x26, 0x27, 0x28, 0x29,
0x35, 0x36, 0x37, 0x38, 0x39,
0x45, 0x46, 0x47, 0x48, 0x49,

0xc, 0xd, 0xe, 0xf,


0x1a, 0x1b, 0x1c, 0x1d,
0x2a, 0x2b, 0x2c, 0x2d,
0x3a, 0x3b, 0x3c, 0x3d,
0x4a, 0x4b, 0x4c, 0x4d,

0x1e,
0x2e,
0x3e,
0x4e,

0x1f,
0x2f,
0x3f,
0x4f,

140
0x50,
0x60,
P,
0x80,
0x90,
0xa0,
0xb0,
0xc0,
0xd0,
0xe0,
0xf0,

CHAPTER 12. NAMESPACE DOCUMENTATION


0x51,
A,
Q,
0x81,
0x91,
0xa1,
0xb1,
0xc1,
0xd1,
0xe1,
0xf1,

0x52,
B,
R,
0x82,
0x92,
0xa2,
0xb2,
0xc2,
0xd2,
0xe2,
0xf2,

0x53,
C,
S,
0x83,
0x93,
0xa3,
0xb3,
0xc3,
0xd3,
0xe3,
0xf3,

0x54,
D,
T,
0x84,
0x94,
0xa4,
0xb4,
0xc4,
0xd4,
0xe4,
0xf4,

0x55,
E,
U,
0x85,
0x95,
0xa5,
0xb5,
0xc5,
0xd5,
0xe5,
0xf5,

0x56,
F,
V,
0x86,
0x96,
0xa6,
0xb6,
0xc6,
0xd6,
0xe6,
0xf6,

0x57,
G,
W,
0x87,
0x97,
0xa7,
0xb7,
0xc7,
0xd7,
0xe7,
0xf7,

0x58,
H,
X,
0x88,
0x98,
0xa8,
0xb8,
0xc8,
0xd8,
0xe8,
0xf8,

0x59,
I,
Y,
0x89,
0x99,
0xa9,
0xb9,
0xc9,
0xd9,
0xe9,
0xf9,

0x5a,
J,
Z,
0x8a,
0x9a,
0xaa,
0xba,
0xca,
0xda,
0xea,
0xfa,

0x5b,
K,
0x7b,
0x8b,
0x9b,
0xab,
0xbb,
0xcb,
0xdb,
0xeb,
0xfb,

/,
L,
0x7c,
0x8c,
0x9c,
0xac,
0xbc,
0xcc,
0xdc,
0xec,
0xfc,

0x5d,
M,
0x7d,
0x8d,
0x9d,
0xad,
0xbd,
0xcd,
0xdd,
0xed,
0xfd,

0x5e,
N,
0x7e,
0x8e,
0x9e,
0xae,
0xbe,
0xce,
0xde,
0xee,
0xfe,

0x5f,
O,
0x7f,
0x8f,
0x9f,
0xaf,
0xbf,
0xcf,
0xdf,
0xef,
0xff}

Dakota funcs DakFuncs0


Initial value:
= {
fprintf,
abort handler,
dlsolver option,
continuous lower bounds1,
continuous upper bounds1,
nonlinear ineq constraint lower bounds1,
nonlinear ineq constraint upper bounds1,
nonlinear eq constraint targets1,
linear ineq constraint lower bounds1,
linear ineq constraint upper bounds1,
linear eq constraint targets1,
linear ineq constraint coeffs1,
linear eq constraint coeffs1,
ComputeResponses1,
GetFuncs1,
GetGrads1,
GetContVars1,
SetBestContVars1,
SetBestDiscVars1,
SetBestRespFns1,
Get Real1,
Get Int1,
Get Bool1
}

const char FIELD NAMES[ ]


Initial value:
= { "numFns", "numVars", "numACV", "numADIV",
"numADRV", "numDerivVars", "xC", "xDI",
"xDR", "xCLabels", "xDILabels",
"xDRLabels", "directFnASV", "directFnDVV",
"fnFlag", "gradFlag", "hessFlag",
"fnVals", "fnGrads", "fnHessians",
"fnLabels", "failure", "currEvalId" }

fields to pass to Matlab in Dakota structure


Referenced by MatlabInterface::matlab engine run(), and MatlabInterface::MatlabInterface().
const int NUMBER OF FIELDS = 23
number of fields in above structure
Referenced by MatlabInterface::matlab engine run(), and MatlabInterface::MatlabInterface().

12.1. DAKOTA NAMESPACE REFERENCE


GuiKeyWord kw 1[1] [static]
Initial value:
= {
{"results output file",11,0,1,0,13,0,0.,0.,0.,0,"{File name for results output}
EnvCommands.html#EnvOutput"}
}

1231 distinct keywords (plus 180 aliases)


GuiKeyWord kw 2[1] [static]
Initial value:
= {
{"tabular graphics file",11,0,1,0,7,0,0.,0.,0.,0,"{File name for tabular graphics data}
EnvCommands.html#EnvOutput"}
}

GuiKeyWord kw 3[6] [static]


Initial value:
= {
{"graphics",8,0,1,0,3,0,0.,0.,0.,0,"{Graphics flag} EnvCommands.html#EnvOutput"},
{"method pointer",3,0,5,0,14},
{"output precision",0x29,0,3,0,9,0,0.,0.,0.,0,"{Numeric output precision}
EnvCommands.html#EnvOutput"},
{"results output",8,1,4,0,11,kw 1,0.,0.,0.,0,"{Enable results output}
EnvCommands.html#EnvOutput"},
{"tabular graphics data",8,1,2,0,5,kw 2,0.,0.,0.,0,"{Tabulation of graphics data}
EnvCommands.html#EnvOutput"},
{"top method pointer",11,0,5,0,15,0,0.,0.,0.,0,"{Method pointer}
EnvCommands.html#EnvMethPtr"}
}

GuiKeyWord kw 4[1] [static]


Initial value:
= {
{"cache tolerance",10,0,1,0,2263}
}

GuiKeyWord kw 5[4] [static]


Initial value:
= {
{"active set vector",8,0,1,0,2257},
{"evaluation cache",8,0,2,0,2259},
{"restart file",8,0,4,0,2265},
{"strict cache equality",8,1,3,0,2261,kw 4}
}

141

142

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 6[1] [static]


Initial value:
= {
{"processors per analysis",0x19,0,1,0,2233,0,0.,0.,0.,0,"{Number of processors per analysis
server} InterfCommands.html#InterfApplicDF"}
}

GuiKeyWord kw 7[4] [static]


Initial value:
= {
{"abort",8,0,1,1,2247,0,0.,0.,0.,0,"@[CHOOSE failure mitigation]"},
{"continuation",8,0,1,1,2253},
{"recover",14,0,1,1,2251},
{"retry",9,0,1,1,2249}
}

GuiKeyWord kw 8[1] [static]


Initial value:
= {
{"numpy",8,0,1,0,2239,0,0.,0.,0.,0,"{Python NumPy dataflow}
InterfCommands.html#InterfApplicMSP"}
}

GuiKeyWord kw 9[2] [static]


Initial value:
= {
{"copy",8,0,1,0,2227,0,0.,0.,0.,0,"{Copy template files} InterfCommands.html#InterfApplicF"
},
{"replace",8,0,2,0,2229,0,0.,0.,0.,0,"{Replace existing files}
InterfCommands.html#InterfApplicF"}
}

GuiKeyWord kw 10[7] [static]


Initial value:
= {
{"dir save",0,0,3,0,2220},
{"dir tag",0,0,2,0,2218},
{"directory save",8,0,3,0,2221,0,0.,0.,0.,0,"{Save work directory}
InterfCommands.html#InterfApplicF"},
{"directory tag",8,0,2,0,2219,0,0.,0.,0.,0,"{Tag work directory}
InterfCommands.html#InterfApplicF"},
{"named",11,0,1,0,2217,0,0.,0.,0.,0,"{Name of work directory}
InterfCommands.html#InterfApplicF"},
{"template directory",11,2,4,0,2223,kw 9,0.,0.,0.,0,"{Template directory}
InterfCommands.html#InterfApplicF"},
{"template files",15,2,4,0,2225,kw 9,0.,0.,0.,0,"{Template files}
InterfCommands.html#InterfApplicF"}
}

12.1. DAKOTA NAMESPACE REFERENCE

143

GuiKeyWord kw 11[9] [static]


Initial value:
= {
{"allow existing results",8,0,3,0,2205,0,0.,0.,0.,0,"{Allow existing results files}
InterfCommands.html#InterfApplicF"},
{"aprepro",8,0,5,0,2209,0,0.,0.,0.,0,"{Aprepro parameters file format}
InterfCommands.html#InterfApplicF"},
{"dprepro",0,0,5,0,2208},
{"file save",8,0,7,0,2213,0,0.,0.,0.,0,"{Parameters and results file saving}
InterfCommands.html#InterfApplicF"},
{"file tag",8,0,6,0,2211,0,0.,0.,0.,0,"{Parameters and results file tagging}
InterfCommands.html#InterfApplicF"},
{"parameters file",11,0,1,0,2201,0,0.,0.,0.,0,"{Parameters file name}
InterfCommands.html#InterfApplicF"},
{"results file",11,0,2,0,2203,0,0.,0.,0.,0,"{Results file name}
InterfCommands.html#InterfApplicF"},
{"verbatim",8,0,4,0,2207,0,0.,0.,0.,0,"{Verbatim driver/filter invocation syntax}
InterfCommands.html#InterfApplicF"},
{"work directory",8,7,8,0,2215,kw 10,0.,0.,0.,0,"{Create work directory}
InterfCommands.html#InterfApplicF"}
}

GuiKeyWord kw 12[12] [static]


Initial value:
= {
{"analysis components",15,0,1,0,2191,0,0.,0.,0.,0,"{Additional identifiers for use by the
analysis drivers} InterfCommands.html#InterfApplic"},
{"deactivate",8,4,6,0,2255,kw 5,0.,0.,0.,0,"{Feature deactivation}
InterfCommands.html#InterfApplic"},
{"direct",8,1,4,1,2231,kw 6,0.,0.,0.,0,"[CHOOSE interface type]{Direct function interface }
InterfCommands.html#InterfApplicDF"},
{"failure capture",8,4,5,0,2245,kw 7,0.,0.,0.,0,"{Failure capturing}
InterfCommands.html#InterfApplic"},
{"fork",8,9,4,1,2199,kw 11,0.,0.,0.,0,"@{Fork interface } InterfCommands.html#InterfApplicF
"},
{"grid",8,0,4,1,2243,0,0.,0.,0.,0,"{Grid interface } InterfCommands.html#InterfApplicG"},
{"input filter",11,0,2,0,2193,0,0.,0.,0.,0,"{Input filter} InterfCommands.html#InterfApplic
"},
{"matlab",8,0,4,1,2235,0,0.,0.,0.,0,"{Matlab interface }
InterfCommands.html#InterfApplicMSP"},
{"output filter",11,0,3,0,2195,0,0.,0.,0.,0,"{Output filter}
InterfCommands.html#InterfApplic"},
{"python",8,1,4,1,2237,kw 8,0.,0.,0.,0,"{Python interface }
InterfCommands.html#InterfApplicMSP"},
{"scilab",8,0,4,1,2241,0,0.,0.,0.,0,"{Scilab interface }
InterfCommands.html#InterfApplicMSP"},
{"system",8,9,4,1,2197,kw 11}
}

GuiKeyWord kw 13[2] [static]


Initial value:
= {
{"master",8,0,1,1,2297},
{"peer",8,0,1,1,2299}
}

144

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 14[2] [static]


Initial value:
= {
{"dynamic",8,0,1,1,2273},
{"static",8,0,1,1,2275}
}

GuiKeyWord kw 15[3] [static]


Initial value:
= {
{"analysis concurrency",0x19,0,3,0,2277,0,0.,0.,0.,0,"{Asynchronous analysis concurrency}
InterfCommands.html#InterfIndControl"},
{"evaluation concurrency",0x19,0,1,0,2269,0,0.,0.,0.,0,"{Asynchronous evaluation
concurrency} InterfCommands.html#InterfIndControl"},
{"local evaluation scheduling",8,2,2,0,2271,kw 14,0.,0.,0.,0,"{Local evaluation scheduling}
InterfCommands.html#InterfIndControl"}
}

GuiKeyWord kw 16[2] [static]


Initial value:
= {
{"dynamic",8,0,1,1,2287},
{"static",8,0,1,1,2289}
}

GuiKeyWord kw 17[2] [static]


Initial value:
= {
{"master",8,0,1,1,2283},
{"peer",8,2,1,1,2285,kw 16,0.,0.,0.,0,"{Peer scheduling of evaluations}
InterfCommands.html#InterfIndControl"}
}

GuiKeyWord kw 18[9] [static]


Initial value:
= {
{"algebraic mappings",11,0,2,0,2187,0,0.,0.,0.,0,"{Algebraic mappings file}
InterfCommands.html#InterfAlgebraic"},
{"analysis drivers",15,12,3,0,2189,kw 12,0.,0.,0.,0,"{Analysis drivers}
InterfCommands.html#InterfApplic"},
{"analysis scheduling",8,2,9,0,2295,kw 13,0.,0.,0.,0,"{Message passing configuration for
scheduling of analyses} InterfCommands.html#InterfIndControl"},
{"analysis servers",0x19,0,8,0,2293,0,0.,0.,0.,0,"{Number of analysis servers}
InterfCommands.html#InterfIndControl"},
{"asynchronous",8,3,4,0,2267,kw 15,0.,0.,0.,0,"{Asynchronous interface usage}
InterfCommands.html#InterfIndControl"},
{"evaluation scheduling",8,2,6,0,2281,kw 17,0.,0.,0.,0,"{Message passing configuration for
scheduling of evaluations} InterfCommands.html#InterfIndControl"},
{"evaluation servers",0x19,0,5,0,2279,0,0.,0.,0.,0,"{Number of evaluation servers}
InterfCommands.html#InterfIndControl"},
{"id interface",11,0,1,0,2185,0,0.,0.,0.,0,"{Interface set identifier}
InterfCommands.html#InterfIndControl"},
{"processors per evaluation",0x19,0,7,0,2291,0,0.,0.,0.,0,"{Number of processors per
evaluation server} InterfCommands.html#InterfIndControl"}
}

12.1. DAKOTA NAMESPACE REFERENCE


GuiKeyWord kw 19[2] [static]
Initial value:
= {
{"complementary",8,0,1,1,1131},
{"cumulative",8,0,1,1,1129}
}

GuiKeyWord kw 20[1] [static]


Initial value:
= {
{"num gen reliability levels",13,0,1,0,1139,0,0.,0.,0.,0,"{Number of generalized
reliability levels} MethodCommands.html#MethodNonD"}
}

GuiKeyWord kw 21[1] [static]


Initial value:
= {
{"num probability levels",13,0,1,0,1135,0,0.,0.,0.,0,"{Number of probability levels}
MethodCommands.html#MethodNonD"}
}

GuiKeyWord kw 22[2] [static]


Initial value:
= {
{"mt19937",8,0,1,1,1143},
{"rnum2",8,0,1,1,1145}
}

GuiKeyWord kw 23[4] [static]


Initial value:
= {
{"constant liar",8,0,1,1,1023},
{"distance penalty",8,0,1,1,1019},
{"naive",8,0,1,1,1017},
{"topology",8,0,1,1,1021}
}

GuiKeyWord kw 24[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1035},
{"freeform",8,0,1,0,1037}
}

145

146

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 25[3] [static]


Initial value:
= {
{"distance",8,0,1,1,1011},
{"gradient",8,0,1,1,1013},
{"predicted variance",8,0,1,1,1009}
}

GuiKeyWord kw 26[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1029},
{"freeform",8,0,1,0,1031}
}

GuiKeyWord kw 27[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,1053},
{"series",8,0,1,1,1051}
}

GuiKeyWord kw 28[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,1047},
{"probabilities",8,0,1,1,1045},
{"system",8,2,2,0,1049,kw 27}
}

GuiKeyWord kw 29[2] [static]


Initial value:
= {
{"compute",8,3,2,0,1043,kw 28},
{"num response levels",13,0,1,0,1041}
}

GuiKeyWord kw 30[15] [static]


Initial value:
= {
{"batch selection",8,4,3,0,1015,kw 23,0.,0.,0.,0,"{Batch selection strategy}
MethodCommands.html#MethodNonDAdaptive"},
{"batch size",9,0,4,0,1025,0,0.,0.,0.,0,"{Batch size (number of points added each
iteration)} MethodCommands.html#MethodNonDAdaptive"},
{"distribution",8,2,12,0,1127,kw 19,0.,0.,0.,0,"{Distribution type}
MethodCommands.html#MethodNonD"},
{"emulator samples",9,0,1,0,1005,0,0.,0.,0.,0,"{Number of samples on the emulator to

12.1. DAKOTA NAMESPACE REFERENCE

147

generate a new true sample each iteration} MethodCommands.html#MethodNonDAdaptive"},


{"export points file",11,2,6,0,1033,kw 24,0.,0.,0.,0,"{File name for exporting
approximation-based samples from evaluating the GP} MethodCommands.html#MethodNonDAdaptive"},
{"fitness metric",8,3,2,0,1007,kw 25,0.,0.,0.,0,"{Fitness metric}
MethodCommands.html#MethodNonDAdaptive"},
{"gen reliability levels",14,1,14,0,1137,kw 20,0.,0.,0.,0,"{Generalized reliability levels}
MethodCommands.html#MethodNonD"},
{"import points file",11,2,5,0,1027,kw 26,0.,0.,0.,0,"{File name for points to be imported
as the basis for the initial GP} MethodCommands.html#MethodNonDAdaptive"},
{"misc options",15,0,8,0,1055},
{"model pointer",11,0,9,0,1593},
{"probability levels",14,1,13,0,1133,kw 21,0.,0.,0.,0,"{Probability levels}
MethodCommands.html#MethodNonD"},
{"response levels",14,2,7,0,1039,kw 29},
{"rng",8,2,15,0,1141,kw 22,0.,0.,0.,0,"{Random number generator}
MethodCommands.html#MethodNonDMC"},
{"samples",9,0,10,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC
"},
{"seed",0x19,0,11,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"}
}

GuiKeyWord kw 31[7] [static]


Initial value:
= {
{"merit1",8,0,1,1,305,0,0.,0.,0.,0,"[CHOOSE merit function]"},
{"merit1 smooth",8,0,1,1,307},
{"merit2",8,0,1,1,309},
{"merit2 smooth",8,0,1,1,311,0,0.,0.,0.,0,"@"},
{"merit2 squared",8,0,1,1,313},
{"merit max",8,0,1,1,301},
{"merit max smooth",8,0,1,1,303}
}

GuiKeyWord kw 32[2] [static]


Initial value:
= {
{"blocking",8,0,1,1,295,0,0.,0.,0.,0,"[CHOOSE synchronization]"},
{"nonblocking",8,0,1,1,297,0,0.,0.,0.,0,"@"}
}

GuiKeyWord kw 33[19] [static]


Initial value:
= {
{"constraint penalty",10,0,7,0,315,0,0.,0.,0.,0,"{Constraint penalty}
MethodCommands.html#MethodAPPSDC"},
{"contraction factor",10,0,2,0,287,0,0.,0.,0.,0,"{Pattern contraction factor}
MethodCommands.html#MethodAPPSDC"},
{"initial delta",10,0,1,0,285,0,0.,0.,0.,0,"{Initial offset value}
MethodCommands.html#MethodAPPSDC"},
{"linear equality constraint matrix",14,0,15,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,17,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,18,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,16,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,10,0,455,0,0.,0.,0.,0,"{Linear inequality

148

CHAPTER 12. NAMESPACE DOCUMENTATION


coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,11,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,13,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,14,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,12,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"merit function",8,7,6,0,299,kw 31,0.,0.,0.,0,"{Merit function}
MethodCommands.html#MethodAPPSDC"},
{"model pointer",11,0,9,0,1593},
{"smoothing factor",10,0,8,0,317,0,0.,0.,0.,0,"{Smoothing factor}
MethodCommands.html#MethodAPPSDC"},
{"solution accuracy",2,0,4,0,290},
{"solution target",10,0,4,0,291,0,0.,0.,0.,0,"{Solution target}
MethodCommands.html#MethodAPPSDC"},
{"synchronization",8,2,5,0,293,kw 32,0.,0.,0.,0,"{Evaluation synchronization}
MethodCommands.html#MethodAPPSDC"},
{"threshold delta",10,0,3,0,289,0,0.,0.,0.,0,"{Threshold for offset values}
MethodCommands.html#MethodAPPSDC"}
}

GuiKeyWord kw 34[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1289},
{"freeform",8,0,1,0,1291}
}

GuiKeyWord kw 35[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1283},
{"freeform",8,0,1,0,1285}
}

GuiKeyWord kw 36[5] [static]


Initial value:
= {
{"dakota",8,0,1,1,1277},
{"emulator samples",9,0,2,0,1279},
{"export points file",11,2,4,0,1287,kw 34},
{"import points file",11,2,3,0,1281,kw 35},
{"surfpack",8,0,1,1,1275}
}

GuiKeyWord kw 37[1] [static]


Initial value:
= {
{"sparse grid level",13,0,1,0,1295}
}

12.1. DAKOTA NAMESPACE REFERENCE


GuiKeyWord kw 38[1] [static]
Initial value:
= {
{"sparse grid level",13,0,1,0,1299}
}

GuiKeyWord kw 39[4] [static]


Initial value:
= {
{"gaussian process",8,5,1,1,1273,kw 36},
{"kriging",0,5,1,1,1272,kw 36},
{"pce",8,1,1,1,1293,kw 37},
{"sc",8,1,1,1,1297,kw 38}
}

GuiKeyWord kw 40[6] [static]


Initial value:
= {
{"chains",0x29,0,1,0,1261,0,3.,0.,0.,0,"{Number of chains}
MethodCommands.html#MethodNonDBayesCalib"},
{"crossover chain pairs",0x29,0,3,0,1265,0,0.,0.,0.,0,"{Number of chain pairs used in
crossover } MethodCommands.html#MethodNonDBayesCalib"},
{"emulator",8,4,6,0,1271,kw 39},
{"gr threshold",0x1a,0,4,0,1267,0,0.,0.,0.,0,"{Gelman-Rubin Threshold for convergence}
MethodCommands.html#MethodNonDBayesCalib"},
{"jump step",0x29,0,5,0,1269,0,0.,0.,0.,0,"{Jump-Step }
MethodCommands.html#MethodNonDBayesCalib"},
{"num cr",0x29,0,2,0,1263,0,1.,0.,0.,0,"{Number of candidate points used in burn-in
adaptation} MethodCommands.html#MethodNonDBayesCalib"}
}

GuiKeyWord kw 41[2] [static]


Initial value:
= {
{"adaptive",8,0,1,1,1247},
{"hastings",8,0,1,1,1245}
}

GuiKeyWord kw 42[2] [static]


Initial value:
= {
{"delayed",8,0,1,1,1241},
{"standard",8,0,1,1,1239}
}

149

150

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 43[2] [static]


Initial value:
= {
{"metropolis",8,2,2,0,1243,kw 41,0.,0.,0.,0,"{Metropolis type for the MCMC algorithm }
MethodCommands.html#MethodNonDBayesCalib"},
{"rejection",8,2,1,0,1237,kw 42}
}

GuiKeyWord kw 44[2] [static]


Initial value:
= {
{"dram",8,2,1,1,1235,kw 43},
{"multilevel",8,0,1,1,1249}
}

GuiKeyWord kw 45[2] [static]


Initial value:
= {
{"mt19937",8,0,1,1,1253},
{"rnum2",8,0,1,1,1255}
}

GuiKeyWord kw 46[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1229},
{"freeform",8,0,1,0,1231}
}

GuiKeyWord kw 47[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1223},
{"freeform",8,0,1,0,1225}
}

GuiKeyWord kw 48[6] [static]


Initial value:
= {
{"emulator samples",9,0,1,1,1219},
{"export points file",11,2,3,0,1227,kw 46},
{"import points file",11,2,2,0,1221,kw 47},
{"mcmc type",8,2,4,0,1233,kw 44},
{"proposal covariance scale",14,0,6,0,1257,0,0.,0.,0.,0,"{Proposal covariance scaling}
MethodCommands.html#MethodNonDBayesCalib"},
{"rng",8,2,5,0,1251,kw 45,0.,0.,0.,0,"{Random seed generator}
MethodCommands.html#MethodNonDBayesCalib"}
}

12.1. DAKOTA NAMESPACE REFERENCE


GuiKeyWord kw 49[2] [static]
Initial value:
= {
{"annotated",8,0,1,0,1205},
{"freeform",8,0,1,0,1207}
}

GuiKeyWord kw 50[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1199},
{"freeform",8,0,1,0,1201}
}

GuiKeyWord kw 51[5] [static]


Initial value:
= {
{"dakota",8,0,1,1,1193},
{"emulator samples",9,0,2,0,1195},
{"export points file",11,2,4,0,1203,kw 49},
{"import points file",11,2,3,0,1197,kw 50},
{"surfpack",8,0,1,1,1191}
}

GuiKeyWord kw 52[1] [static]


Initial value:
= {
{"sparse grid level",13,0,1,0,1211}
}

GuiKeyWord kw 53[1] [static]


Initial value:
= {
{"sparse grid level",13,0,1,0,1215}
}

GuiKeyWord kw 54[4] [static]


Initial value:
= {
{"gaussian process",8,5,1,1,1189,kw 51},
{"kriging",0,5,1,1,1188,kw 51},
{"pce",8,1,1,1,1209,kw 52},
{"sc",8,1,1,1,1213,kw 53}
}

151

152

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 55[4] [static]


Initial value:
= {
{"emulator",8,4,1,0,1187,kw 54},
{"mcmc type",8,2,2,0,1233,kw 44},
{"proposal covariance scale",14,0,4,0,1257,0,0.,0.,0.,0,"{Proposal covariance scaling}
MethodCommands.html#MethodNonDBayesCalib"},
{"rng",8,2,3,0,1251,kw 45,0.,0.,0.,0,"{Random seed generator}
MethodCommands.html#MethodNonDBayesCalib"}
}

GuiKeyWord kw 56[9] [static]


Initial value:
= {
{"calibrate sigma",8,0,4,0,1305,0,0.,0.,0.,0,"{Calibrate sigma flag}
MethodCommands.html#MethodNonDBayesCalib"},
{"dream",8,6,1,1,1259,kw 40},
{"gpmsa",8,6,1,1,1217,kw 48},
{"likelihood scale",10,0,3,0,1303,0,0.,0.,0.,0,"{Likelihood scale factor}
MethodCommands.html#MethodNonDBayesCalib"},
{"model pointer",11,0,5,0,1593},
{"queso",8,4,1,1,1185,kw 55},
{"samples",9,0,6,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"seed",0x19,0,7,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"},
{"use derivatives",8,0,2,0,1301}
}

GuiKeyWord kw 57[4] [static]


Initial value:
= {
{"deltas per variable",5,0,2,2,1576},
{"model pointer",11,0,3,0,1593},
{"step vector",14,0,1,1,1575,0,0.,0.,0.,0,"{Step vector} MethodCommands.html#MethodPSCPS"},
{"steps per variable",13,0,2,2,1577,0,0.,0.,0.,0,"{Number of steps per variable}
MethodCommands.html#MethodPSCPS"}
}

GuiKeyWord kw 58[7] [static]


Initial value:
= {
{"beta solver name",11,0,1,1,603},
{"misc options",15,0,6,0,611,0,0.,0.,0.,0,"{Specify miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"model pointer",11,0,2,0,1593},
{"seed",0x19,0,4,0,607,0,0.,0.,0.,0,"{Random seed for stochastic pattern search}
MethodCommands.html#MethodSCOLIBPS"},
{"show misc options",8,0,5,0,609,0,0.,0.,0.,0,"{Show miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"solution accuracy",2,0,3,0,604},
{"solution target",10,0,3,0,605,0,0.,0.,0.,0,"{Desired solution target}
MethodCommands.html#MethodSCOLIBDC"}
}

12.1. DAKOTA NAMESPACE REFERENCE

153

GuiKeyWord kw 59[8] [static]


Initial value:
= {
{"initial delta",10,0,6,0,521,0,0.,0.,0.,0,"{Initial offset value}
MethodCommands.html#MethodSCOLIBPS"},
{"misc options",15,0,5,0,611,0,0.,0.,0.,0,"{Specify miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"model pointer",11,0,1,0,1593},
{"seed",0x19,0,3,0,607,0,0.,0.,0.,0,"{Random seed for stochastic pattern search}
MethodCommands.html#MethodSCOLIBPS"},
{"show misc options",8,0,4,0,609,0,0.,0.,0.,0,"{Show miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"solution accuracy",2,0,2,0,604},
{"solution target",10,0,2,0,605,0,0.,0.,0.,0,"{Desired solution target}
MethodCommands.html#MethodSCOLIBDC"},
{"threshold delta",10,0,7,0,523,0,0.,0.,0.,0,"{Threshold for offset values}
MethodCommands.html#MethodSCOLIBPS"}
}

GuiKeyWord kw 60[2] [static]


Initial value:
= {
{"all dimensions",8,0,1,1,531},
{"major dimension",8,0,1,1,529}
}

GuiKeyWord kw 61[12] [static]


Initial value:
= {
{"constraint penalty",10,0,6,0,541,0,0.,0.,0.,0,"{Constraint penalty}
MethodCommands.html#MethodSCOLIBDIR"},
{"division",8,2,1,0,527,kw 60,0.,0.,0.,0,"{Box subdivision approach}
MethodCommands.html#MethodSCOLIBDIR"},
{"global balance parameter",10,0,2,0,533,0,0.,0.,0.,0,"{Global search balancing parameter}
MethodCommands.html#MethodSCOLIBDIR"},
{"local balance parameter",10,0,3,0,535,0,0.,0.,0.,0,"{Local search balancing parameter}
MethodCommands.html#MethodSCOLIBDIR"},
{"max boxsize limit",10,0,4,0,537,0,0.,0.,0.,0,"{Maximum boxsize limit}
MethodCommands.html#MethodSCOLIBDIR"},
{"min boxsize limit",10,0,5,0,539,0,0.,0.,0.,0,"{Minimum boxsize limit}
MethodCommands.html#MethodSCOLIBDIR"},
{"misc options",15,0,11,0,611,0,0.,0.,0.,0,"{Specify miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"model pointer",11,0,7,0,1593},
{"seed",0x19,0,9,0,607,0,0.,0.,0.,0,"{Random seed for stochastic pattern search}
MethodCommands.html#MethodSCOLIBPS"},
{"show misc options",8,0,10,0,609,0,0.,0.,0.,0,"{Show miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"solution accuracy",2,0,8,0,604},
{"solution target",10,0,8,0,605,0,0.,0.,0.,0,"{Desired solution target}
MethodCommands.html#MethodSCOLIBDC"}
}

GuiKeyWord kw 62[3] [static]


Initial value:
= {
{"blend",8,0,1,1,577},
{"two point",8,0,1,1,575},
{"uniform",8,0,1,1,579}
}

154

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 63[2] [static]


Initial value:
= {
{"linear rank",8,0,1,1,557},
{"merit function",8,0,1,1,559}
}

GuiKeyWord kw 64[3] [static]


Initial value:
= {
{"flat file",11,0,1,1,553},
{"simple random",8,0,1,1,549},
{"unique random",8,0,1,1,551}
}

GuiKeyWord kw 65[2] [static]


Initial value:
= {
{"mutation range",9,0,2,0,595,0,0.,0.,0.,0,"{Mutation range}
MethodCommands.html#MethodSCOLIBEA"},
{"mutation scale",10,0,1,0,593,0,0.,0.,0.,0,"{Mutation scale}
MethodCommands.html#MethodSCOLIBEA"}
}

GuiKeyWord kw 66[5] [static]


Initial value:
= {
{"non adaptive",8,0,2,0,597,0,0.,0.,0.,0,"{Non-adaptive mutation flag}
MethodCommands.html#MethodSCOLIBEA"},
{"offset cauchy",8,2,1,1,589,kw 65},
{"offset normal",8,2,1,1,587,kw 65},
{"offset uniform",8,2,1,1,591,kw 65},
{"replace uniform",8,0,1,1,585}
}

GuiKeyWord kw 67[4] [static]


Initial value:
= {
{"chc",9,0,1,1,565,0,0.,0.,0.,0,"{CHC replacement type} MethodCommands.html#MethodSCOLIBEA"
},
{"elitist",9,0,1,1,567,0,0.,0.,0.,0,"{Elitist replacement type}
MethodCommands.html#MethodSCOLIBEA"},
{"new solutions generated",9,0,2,0,569,0,0.,0.,0.,0,"{New solutions generated}
MethodCommands.html#MethodSCOLIBEA"},
{"random",9,0,1,1,563,0,0.,0.,0.,0,"{Random replacement type}
MethodCommands.html#MethodSCOLIBEA"}
}

12.1. DAKOTA NAMESPACE REFERENCE


GuiKeyWord kw 68[15] [static]
Initial value:
= {
{"constraint penalty",10,0,9,0,599},
{"crossover rate",10,0,5,0,571,0,0.,0.,0.,0,"{Crossover rate}
MethodCommands.html#MethodSCOLIBEA"},
{"crossover type",8,3,6,0,573,kw 62,0.,0.,0.,0,"{Crossover type}
MethodCommands.html#MethodSCOLIBEA"},
{"fitness type",8,2,3,0,555,kw 63,0.,0.,0.,0,"{Fitness type}
MethodCommands.html#MethodSCOLIBEA"},
{"initialization type",8,3,2,0,547,kw 64,0.,0.,0.,0,"{Initialization type}
MethodCommands.html#MethodSCOLIBEA"},
{"misc options",15,0,14,0,611,0,0.,0.,0.,0,"{Specify miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"model pointer",11,0,10,0,1593},
{"mutation rate",10,0,7,0,581,0,0.,0.,0.,0,"{Mutation rate}
MethodCommands.html#MethodSCOLIBEA"},
{"mutation type",8,5,8,0,583,kw 66,0.,0.,0.,0,"{Mutation type}
MethodCommands.html#MethodSCOLIBEA"},
{"population size",0x19,0,1,0,545,0,0.,0.,0.,0,"{Number of population members}
MethodCommands.html#MethodSCOLIBEA"},
{"replacement type",8,4,4,0,561,kw 67,0.,0.,0.,0,"{Replacement type}
MethodCommands.html#MethodSCOLIBEA"},
{"seed",0x19,0,12,0,607,0,0.,0.,0.,0,"{Random seed for stochastic pattern search}
MethodCommands.html#MethodSCOLIBPS"},
{"show misc options",8,0,13,0,609,0,0.,0.,0.,0,"{Show miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"solution accuracy",2,0,11,0,604},
{"solution target",10,0,11,0,605,0,0.,0.,0.,0,"{Desired solution target}
MethodCommands.html#MethodSCOLIBDC"}
}

GuiKeyWord kw 69[3] [static]


Initial value:
= {
{"adaptive pattern",8,0,1,1,495},
{"basic pattern",8,0,1,1,497},
{"multi step",8,0,1,1,493}
}

GuiKeyWord kw 70[2] [static]


Initial value:
= {
{"coordinate",8,0,1,1,483},
{"simplex",8,0,1,1,485}
}

GuiKeyWord kw 71[2] [static]


Initial value:
= {
{"blocking",8,0,1,1,501},
{"nonblocking",8,0,1,1,503}
}

155

156

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 72[18] [static]


Initial value:
= {
{"constant penalty",8,0,1,0,475,0,0.,0.,0.,0,"{Control of dynamic penalty}
MethodCommands.html#MethodSCOLIBPS"},
{"constraint penalty",10,0,17,0,517,0,0.,0.,0.,0,"{Constraint penalty}
MethodCommands.html#MethodSCOLIBPS"},
{"contraction factor",10,0,16,0,515,0,0.,0.,0.,0,"{Pattern contraction factor}
MethodCommands.html#MethodSCOLIBPS"},
{"expand after success",9,0,3,0,479,0,0.,0.,0.,0,"{Number of consecutive improvements
before expansion} MethodCommands.html#MethodSCOLIBPS"},
{"exploratory moves",8,3,7,0,491,kw 69,0.,0.,0.,0,"{Exploratory moves selection}
MethodCommands.html#MethodSCOLIBPS"},
{"initial delta",10,0,14,0,521,0,0.,0.,0.,0,"{Initial offset value}
MethodCommands.html#MethodSCOLIBPS"},
{"misc options",15,0,13,0,611,0,0.,0.,0.,0,"{Specify miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"model pointer",11,0,9,0,1593},
{"no expansion",8,0,2,0,477,0,0.,0.,0.,0,"{No expansion flag}
MethodCommands.html#MethodSCOLIBPS"},
{"pattern basis",8,2,4,0,481,kw 70,0.,0.,0.,0,"{Pattern basis selection}
MethodCommands.html#MethodSCOLIBPS"},
{"seed",0x19,0,11,0,607,0,0.,0.,0.,0,"{Random seed for stochastic pattern search}
MethodCommands.html#MethodSCOLIBPS"},
{"show misc options",8,0,12,0,609,0,0.,0.,0.,0,"{Show miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"solution accuracy",2,0,10,0,604},
{"solution target",10,0,10,0,605,0,0.,0.,0.,0,"{Desired solution target}
MethodCommands.html#MethodSCOLIBDC"},
{"stochastic",8,0,5,0,487,0,0.,0.,0.,0,"{Stochastic pattern search}
MethodCommands.html#MethodSCOLIBPS"},
{"synchronization",8,2,8,0,499,kw 71,0.,0.,0.,0,"{Evaluation synchronization}
MethodCommands.html#MethodSCOLIBPS"},
{"threshold delta",10,0,15,0,523,0,0.,0.,0.,0,"{Threshold for offset values}
MethodCommands.html#MethodSCOLIBPS"},
{"total pattern size",9,0,6,0,489,0,0.,0.,0.,0,"{Total number of points in pattern}
MethodCommands.html#MethodSCOLIBPS"}
}

GuiKeyWord kw 73[14] [static]


Initial value:
= {
{"constant penalty",8,0,4,0,513,0,0.,0.,0.,0,"{Control of dynamic penalty}
MethodCommands.html#MethodSCOLIBSW"},
{"constraint penalty",10,0,13,0,517,0,0.,0.,0.,0,"{Constraint penalty}
MethodCommands.html#MethodSCOLIBPS"},
{"contract after failure",9,0,1,0,507,0,0.,0.,0.,0,"{Number of consecutive failures before
contraction} MethodCommands.html#MethodSCOLIBSW"},
{"contraction factor",10,0,12,0,515,0,0.,0.,0.,0,"{Pattern contraction factor}
MethodCommands.html#MethodSCOLIBPS"},
{"expand after success",9,0,3,0,511,0,0.,0.,0.,0,"{Number of consecutive improvements
before expansion} MethodCommands.html#MethodSCOLIBSW"},
{"initial delta",10,0,10,0,521,0,0.,0.,0.,0,"{Initial offset value}
MethodCommands.html#MethodSCOLIBPS"},
{"misc options",15,0,9,0,611,0,0.,0.,0.,0,"{Specify miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"model pointer",11,0,5,0,1593},
{"no expansion",8,0,2,0,509,0,0.,0.,0.,0,"{No expansion flag}
MethodCommands.html#MethodSCOLIBSW"},
{"seed",0x19,0,7,0,607,0,0.,0.,0.,0,"{Random seed for stochastic pattern search}
MethodCommands.html#MethodSCOLIBPS"},
{"show misc options",8,0,8,0,609,0,0.,0.,0.,0,"{Show miscellaneous options}
MethodCommands.html#MethodSCOLIBDC"},
{"solution accuracy",2,0,6,0,604},
{"solution target",10,0,6,0,605,0,0.,0.,0.,0,"{Desired solution target}
MethodCommands.html#MethodSCOLIBDC"},
{"threshold delta",10,0,11,0,523,0,0.,0.,0.,0,"{Threshold for offset values}

12.1. DAKOTA NAMESPACE REFERENCE

157

MethodCommands.html#MethodSCOLIBPS"}
}

GuiKeyWord kw 74[12] [static]


Initial value:
= {
{"frcg",8,0,1,1,219},
{"linear equality constraint matrix",14,0,8,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,10,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,11,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,9,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,3,0,455,0,0.,0.,0.,0,"{Linear inequality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,4,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,6,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,7,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,5,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"mfd",8,0,1,1,221},
{"model pointer",11,0,2,0,1593}
}

GuiKeyWord kw 75[10] [static]


Initial value:
= {
{"linear equality constraint matrix",14,0,7,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,9,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,10,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,8,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,2,0,455,0,0.,0.,0.,0,"{Linear inequality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,3,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,5,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,6,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,4,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"model pointer",11,0,1,0,1593}
}

GuiKeyWord kw 76[1] [static]


Initial value:
= {
{"drop tolerance",10,0,1,0,1329}
}

158

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 77[15] [static]


Initial value:
= {
{"box behnken",8,0,1,1,1319,0,0.,0.,0.,0,"[CHOOSE DACE type]"},
{"central composite",8,0,1,1,1321},
{"fixed seed",8,0,5,0,1331,0,0.,0.,0.,0,"{Fixed seed flag} MethodCommands.html#MethodDDACE"
},
{"grid",8,0,1,1,1309},
{"lhs",8,0,1,1,1315},
{"main effects",8,0,2,0,1323,0,0.,0.,0.,0,"{Main effects} MethodCommands.html#MethodDDACE"}
,
{"model pointer",11,0,7,0,1593},
{"oa lhs",8,0,1,1,1317},
{"oas",8,0,1,1,1313},
{"quality metrics",8,0,3,0,1325,0,0.,0.,0.,0,"{Quality metrics}
MethodCommands.html#MethodDDACE"},
{"random",8,0,1,1,1311},
{"samples",9,0,8,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"seed",0x19,0,9,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"},
{"symbols",9,0,6,0,1333,0,0.,0.,0.,0,"{Number of symbols} MethodCommands.html#MethodDDACE"}
,
{"variance based decomp",8,1,4,0,1327,kw 76,0.,0.,0.,0,"{Variance based decomposition}
MethodCommands.html#MethodDDACE"}
}

GuiKeyWord kw 78[15] [static]


Initial value:
= {
{"bfgs",8,0,1,1,207},
{"frcg",8,0,1,1,203},
{"linear equality constraint matrix",14,0,8,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,10,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,11,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,9,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,3,0,455,0,0.,0.,0.,0,"{Linear inequality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,4,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,6,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,7,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,5,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"mmfd",8,0,1,1,205},
{"model pointer",11,0,2,0,1593},
{"slp",8,0,1,1,209},
{"sqp",8,0,1,1,211}
}

GuiKeyWord kw 79[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,669},
{"freeform",8,0,1,0,671}
}

12.1. DAKOTA NAMESPACE REFERENCE

159

GuiKeyWord kw 80[2] [static]


Initial value:
= {
{"dakota",8,0,1,1,657},
{"surfpack",8,0,1,1,655}
}

GuiKeyWord kw 81[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,663},
{"freeform",8,0,1,0,665}
}

GuiKeyWord kw 82[7] [static]


Initial value:
= {
{"export points file",11,2,4,0,667,kw 79,0.,0.,0.,0,"{File name for exporting
approximation-based samples from evaluating the GP} MethodCommands.html#MethodEG"},
{"gaussian process",8,2,1,0,653,kw 80,0.,0.,0.,0,"{GP selection}
MethodCommands.html#MethodEG"},
{"import points file",11,2,3,0,661,kw 81,0.,0.,0.,0,"{File name for points to be imported
as the basis for the initial GP} MethodCommands.html#MethodEG"},
{"kriging",0,2,1,0,652,kw 80},
{"model pointer",11,0,6,0,1593},
{"seed",0x19,0,5,0,673,0,0.,0.,0.,0,"{Random seed} MethodCommands.html#MethodEG"},
{"use derivatives",8,0,2,0,659,0,0.,0.,0.,0,"{Derivative usage}
MethodCommands.html#MethodEG"}
}

GuiKeyWord kw 83[9] [static]


Initial value:
= {
{"batch size",9,0,2,0,1079},
{"distribution",8,2,6,0,1127,kw 19,0.,0.,0.,0,"{Distribution type}
MethodCommands.html#MethodNonD"},
{"emulator samples",9,0,1,0,1077},
{"gen reliability levels",14,1,8,0,1137,kw 20,0.,0.,0.,0,"{Generalized reliability levels}
MethodCommands.html#MethodNonD"},
{"model pointer",11,0,3,0,1593},
{"probability levels",14,1,7,0,1133,kw 21,0.,0.,0.,0,"{Probability levels}
MethodCommands.html#MethodNonD"},
{"rng",8,2,9,0,1141,kw 22,0.,0.,0.,0,"{Random number generator}
MethodCommands.html#MethodNonDMC"},
{"samples",9,0,4,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"seed",0x19,0,5,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"}
}

160

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 84[3] [static]


Initial value:
= {
{"grid",8,0,1,1,1349,0,0.,0.,0.,0,"[CHOOSE trial type]"},
{"halton",8,0,1,1,1351},
{"random",8,0,1,1,1353,0,0.,0.,0.,0,"@"}
}

GuiKeyWord kw 85[1] [static]


Initial value:
= {
{"drop tolerance",10,0,1,0,1343}
}

GuiKeyWord kw 86[9] [static]


Initial value:
= {
{"fixed seed",8,0,4,0,1345,0,0.,0.,0.,0,"{Fixed seed flag}
MethodCommands.html#MethodFSUDACE"},
{"latinize",8,0,1,0,1337,0,0.,0.,0.,0,"{Latinization of samples}
MethodCommands.html#MethodFSUDACE"},
{"model pointer",11,0,7,0,1593},
{"num trials",9,0,6,0,1355,0,0.,0.,0.,0,"{Number of trials }
MethodCommands.html#MethodFSUDACE"},
{"quality metrics",8,0,2,0,1339,0,0.,0.,0.,0,"{Quality metrics}
MethodCommands.html#MethodFSUDACE"},
{"samples",9,0,8,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"seed",0x19,0,9,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"},
{"trial type",8,3,5,0,1347,kw 84,0.,0.,0.,0,"{Trial type} MethodCommands.html#MethodFSUDACE
"},
{"variance based decomp",8,1,3,0,1341,kw 85,0.,0.,0.,0,"{Variance based decomposition}
MethodCommands.html#MethodFSUDACE"}
}

GuiKeyWord kw 87[1] [static]


Initial value:
= {
{"drop tolerance",10,0,1,0,1543}
}

GuiKeyWord kw 88[11] [static]


Initial value:
= {
{"fixed sequence",8,0,6,0,1547,0,0.,0.,0.,0,"{Fixed sequence flag}
MethodCommands.html#MethodFSUDACE"},
{"halton",8,0,1,1,1533,0,0.,0.,0.,0,"[CHOOSE sequence type]"},
{"hammersley",8,0,1,1,1535},
{"latinize",8,0,2,0,1537,0,0.,0.,0.,0,"{Latinization of samples}
MethodCommands.html#MethodFSUDACE"},
{"model pointer",11,0,10,0,1593},

12.1. DAKOTA NAMESPACE REFERENCE


{"prime base",13,0,9,0,1553,0,0.,0.,0.,0,"{Prime bases for sequences}
MethodCommands.html#MethodFSUDACE"},
{"quality metrics",8,0,3,0,1539,0,0.,0.,0.,0,"{Quality metrics}
MethodCommands.html#MethodFSUDACE"},
{"samples",9,0,5,0,1545,0,0.,0.,0.,0,"{Number of samples taken in the MCMC sampling}
MethodCommands.html#MethodNonDBayesCalib"},
{"sequence leap",13,0,8,0,1551,0,0.,0.,0.,0,"{Sequence leaping indices}
MethodCommands.html#MethodFSUDACE"},
{"sequence start",13,0,7,0,1549,0,0.,0.,0.,0,"{Sequence starting indices}
MethodCommands.html#MethodFSUDACE"},
{"variance based decomp",8,1,4,0,1541,kw 87,0.,0.,0.,0,"{Variance based decomposition}
MethodCommands.html#MethodFSUDACE"}
}

GuiKeyWord kw 89[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,983},
{"freeform",8,0,1,0,985}
}

GuiKeyWord kw 90[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,977},
{"freeform",8,0,1,0,979}
}

GuiKeyWord kw 91[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,1001},
{"series",8,0,1,1,999}
}

GuiKeyWord kw 92[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,995},
{"probabilities",8,0,1,1,993},
{"system",8,2,2,0,997,kw 91}
}

GuiKeyWord kw 93[2] [static]


Initial value:
= {
{"compute",8,3,2,0,991,kw 92},
{"num response levels",13,0,1,0,989}
}

161

162

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 94[11] [static]


Initial value:
= {
{"distribution",8,2,8,0,1127,kw 19,0.,0.,0.,0,"{Distribution type}
MethodCommands.html#MethodNonD"},
{"emulator samples",9,0,1,0,973},
{"export points file",11,2,3,0,981,kw 89,0.,0.,0.,0,"{File name for exporting
approximation-based samples from evaluating the emulator} MethodCommands.html#MethodNonDBayesCalib"},
{"gen reliability levels",14,1,10,0,1137,kw 20,0.,0.,0.,0,"{Generalized reliability levels}
MethodCommands.html#MethodNonD"},
{"import points file",11,2,2,0,975,kw 90,0.,0.,0.,0,"{File name for points to be imported
as the basis for the initial emulator} MethodCommands.html#MethodNonDBayesCalib"},
{"model pointer",11,0,5,0,1593},
{"probability levels",14,1,9,0,1133,kw 21,0.,0.,0.,0,"{Probability levels}
MethodCommands.html#MethodNonD"},
{"response levels",14,2,4,0,987,kw 93},
{"rng",8,2,11,0,1141,kw 22,0.,0.,0.,0,"{Random number generator}
MethodCommands.html#MethodNonDMC"},
{"samples",9,0,6,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"seed",0x19,0,7,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"}
}

GuiKeyWord kw 95[2] [static]


Initial value:
= {
{"model pointer",11,0,2,0,1593},
{"seed",0x19,0,1,0,649,0,0.,0.,0.,0,"{Random seed} MethodCommands.html#MethodNonDMC"}
}

GuiKeyWord kw 96[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,1125},
{"series",8,0,1,1,1123}
}

GuiKeyWord kw 97[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,1119},
{"probabilities",8,0,1,1,1117},
{"system",8,2,2,0,1121,kw 96}
}

GuiKeyWord kw 98[2] [static]


Initial value:
= {
{"compute",8,3,2,0,1115,kw 97},
{"num response levels",13,0,1,0,1113}
}

12.1. DAKOTA NAMESPACE REFERENCE

163

GuiKeyWord kw 99[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1103},
{"freeform",8,0,1,0,1105}
}

GuiKeyWord kw 100[2] [static]


Initial value:
= {
{"dakota",8,0,1,1,1091},
{"surfpack",8,0,1,1,1089}
}

GuiKeyWord kw 101[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1097},
{"freeform",8,0,1,0,1099}
}

GuiKeyWord kw 102[5] [static]


Initial value:
= {
{"export points file",11,2,4,0,1101,kw 99},
{"gaussian process",8,2,1,0,1087,kw 100},
{"import points file",11,2,3,0,1095,kw 101,0.,0.,0.,0,"{File containing points to evaluate}
MethodCommands.html#MethodPSLPS"},
{"kriging",0,2,1,0,1086,kw 100},
{"use derivatives",8,0,2,0,1093}
}

GuiKeyWord kw 103[12] [static]


Initial value:
= {
{"distribution",8,2,6,0,1127,kw 19,0.,0.,0.,0,"{Distribution type}
MethodCommands.html#MethodNonD"},
{"ea",8,0,1,0,1107},
{"ego",8,5,1,0,1085,kw 102},
{"gen reliability levels",14,1,8,0,1137,kw 20,0.,0.,0.,0,"{Generalized reliability levels}
MethodCommands.html#MethodNonD"},
{"lhs",8,0,1,0,1109},
{"model pointer",11,0,3,0,1593},
{"probability levels",14,1,7,0,1133,kw 21,0.,0.,0.,0,"{Probability levels}
MethodCommands.html#MethodNonD"},
{"response levels",14,2,2,0,1111,kw 98},
{"rng",8,2,9,0,1141,kw 22,0.,0.,0.,0,"{Random number generator}
MethodCommands.html#MethodNonDMC"},
{"samples",9,0,4,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"sbo",8,5,1,0,1083,kw 102},
{"seed",0x19,0,5,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"}
}

164

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 104[2] [static]


Initial value:
= {
{"mt19937",8,0,1,1,1179},
{"rnum2",8,0,1,1,1181}
}

GuiKeyWord kw 105[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1169},
{"freeform",8,0,1,0,1171}
}

GuiKeyWord kw 106[2] [static]


Initial value:
= {
{"dakota",8,0,1,1,1157},
{"surfpack",8,0,1,1,1155}
}

GuiKeyWord kw 107[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1163},
{"freeform",8,0,1,0,1165}
}

GuiKeyWord kw 108[5] [static]


Initial value:
= {
{"export points file",11,2,4,0,1167,kw 105,0.,0.,0.,0,"{File name for exporting
approximation-based samples from evaluating the GP} MethodCommands.html#MethodNonDGlobalIntervalEst"},
{"gaussian process",8,2,1,0,1153,kw 106,0.,0.,0.,0,"{EGO GP selection}
MethodCommands.html#MethodNonDGlobalIntervalEst"},
{"import points file",11,2,3,0,1161,kw 107,0.,0.,0.,0,"{File name for points to be imported
as the basis for the initial GP} MethodCommands.html#MethodNonDGlobalIntervalEst"},
{"kriging",0,2,1,0,1152,kw 106},
{"use derivatives",8,0,2,0,1159,0,0.,0.,0.,0,"{Derivative usage}
MethodCommands.html#MethodNonDGlobalIntervalEst"}
}

12.1. DAKOTA NAMESPACE REFERENCE

165

GuiKeyWord kw 109[8] [static]


Initial value:
= {
{"ea",8,0,1,0,1173},
{"ego",8,5,1,0,1151,kw 108},
{"lhs",8,0,1,0,1175},
{"model pointer",11,0,3,0,1593},
{"rng",8,2,2,0,1177,kw 104,0.,0.,0.,0,"{Random seed generator}
MethodCommands.html#MethodNonDGlobalIntervalEst"},
{"samples",9,0,4,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"sbo",8,5,1,0,1149,kw 108},
{"seed",0x19,0,5,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"}
}

GuiKeyWord kw 110[2] [static]


Initial value:
= {
{"complementary",8,0,1,1,1521},
{"cumulative",8,0,1,1,1519}
}

GuiKeyWord kw 111[1] [static]


Initial value:
= {
{"num gen reliability levels",13,0,1,0,1529}
}

GuiKeyWord kw 112[1] [static]


Initial value:
= {
{"num probability levels",13,0,1,0,1525}
}

GuiKeyWord kw 113[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1487},
{"freeform",8,0,1,0,1489}
}

GuiKeyWord kw 114[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1481},
{"freeform",8,0,1,0,1483}
}

166

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 115[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,1515},
{"series",8,0,1,1,1513}
}

GuiKeyWord kw 116[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,1509},
{"probabilities",8,0,1,1,1507},
{"system",8,2,2,0,1511,kw 115}
}

GuiKeyWord kw 117[2] [static]


Initial value:
= {
{"compute",8,3,2,0,1505,kw 116},
{"num response levels",13,0,1,0,1503}
}

GuiKeyWord kw 118[2] [static]


Initial value:
= {
{"mt19937",8,0,1,1,1497},
{"rnum2",8,0,1,1,1499}
}

GuiKeyWord kw 119[16] [static]


Initial value:
= {
{"dakota",8,0,2,0,1477},
{"distribution",8,2,10,0,1517,kw 110},
{"export points file",11,2,4,0,1485,kw 113,0.,0.,0.,0,"{File name for exporting
approximation-based samples from evaluating the GP} MethodCommands.html#MethodNonDGlobalRel"},
{"gen reliability levels",14,1,12,0,1527,kw 111},
{"import points file",11,2,3,0,1479,kw 114,0.,0.,0.,0,"{File name for points to be imported
as the basis for the initial GP} MethodCommands.html#MethodNonDGlobalRel"},
{"model pointer",11,0,9,0,1593},
{"probability levels",14,1,11,0,1523,kw 112},
{"response levels",14,2,8,0,1501,kw 117},
{"rng",8,2,7,0,1495,kw 118},
{"seed",0x19,0,6,0,1493,0,0.,0.,0.,0,"{Random seed for initial GP construction}
MethodCommands.html#MethodNonDGlobalRel"},
{"surfpack",8,0,2,0,1475},
{"u gaussian process",8,0,1,1,1473},
{"u kriging",0,0,1,1,1472},
{"use derivatives",8,0,5,0,1491,0,0.,0.,0.,0,"{Derivative usage}
MethodCommands.html#MethodNonDGlobalRel"},
{"x gaussian process",8,0,1,1,1471},
{"x kriging",0,0,1,1,1470}
}

12.1. DAKOTA NAMESPACE REFERENCE

167

GuiKeyWord kw 120[2] [static]


Initial value:
= {
{"master",8,0,1,1,113},
{"peer",8,0,1,1,115}
}

GuiKeyWord kw 121[1] [static]


Initial value:
= {
{"model pointer list",11,0,1,0,77,0,0.,0.,0.,0,"{List of model pointers}
MethodCommands.html#MethodMetaHybrid"}
}

GuiKeyWord kw 122[2] [static]


Initial value:
= {
{"method name list",15,1,1,1,75,kw 121,0.,0.,0.,0,"{List of method names}
MethodCommands.html#MethodMetaHybrid"},
{"method pointer list",15,0,1,1,79,0,0.,0.,0.,0,"{List of method pointers}
MethodCommands.html#MethodMetaHybrid"}
}

GuiKeyWord kw 123[1] [static]


Initial value:
= {
{"global model pointer",11,0,1,0,61,0,0.,0.,0.,0,"{Pointer to the global model
specification} MethodCommands.html#MethodMetaHybrid"}
}

GuiKeyWord kw 124[1] [static]


Initial value:
= {
{"local model pointer",11,0,1,0,67,0,0.,0.,0.,0,"{Pointer to the local model specification}
MethodCommands.html#MethodMetaHybrid"}
}

GuiKeyWord kw 125[5] [static]


Initial value:
= {
{"global method name",11,1,1,1,59,kw 123,0.,0.,0.,0,"{Name of the global method}
MethodCommands.html#MethodMetaHybrid"},
{"global method pointer",11,0,1,1,63,0,0.,0.,0.,0,"{Pointer to the global method
specification} MethodCommands.html#MethodMetaHybrid"},
{"local method name",11,1,2,2,65,kw 124,0.,0.,0.,0,"{Name of the local method}
MethodCommands.html#MethodMetaHybrid"},
{"local method pointer",11,0,2,2,69,0,0.,0.,0.,0,"{Pointer to the local method
specification} MethodCommands.html#MethodMetaHybrid"},
{"local search probability",10,0,3,0,71,0,0.,0.,0.,0,"{Probability of executing local
searches} MethodCommands.html#MethodMetaHybrid"}
}

168

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 126[1] [static]


Initial value:
= {
{"model pointer list",11,0,1,0,53,0,0.,0.,0.,0,"{List of model pointers}
MethodCommands.html#MethodMetaHybrid"}
}

GuiKeyWord kw 127[2] [static]


Initial value:
= {
{"method name list",15,1,1,1,51,kw 126,0.,0.,0.,0,"{List of method names}
MethodCommands.html#MethodMetaHybrid"},
{"method pointer list",15,0,1,1,55,0,0.,0.,0.,0,"{List of method pointers}
MethodCommands.html#MethodMetaHybrid"}
}

GuiKeyWord kw 128[8] [static]


Initial value:
= {
{"collaborative",8,2,1,1,73,kw 122,0.,0.,0.,0,"{Collaborative hybrid}
MethodCommands.html#MethodMetaHybrid"},
{"coupled",0,5,1,1,56,kw 125},
{"embedded",8,5,1,1,57,kw 125,0.,0.,0.,0,"{Embedded hybrid}
MethodCommands.html#MethodMetaHybrid"},
{"iterator scheduling",8,2,3,0,111,kw 120,0.,0.,0.,0,"{Message passing configuration for
scheduling of iterator jobs} MethodCommands.html#MethodMeta"},
{"iterator servers",0x19,0,2,0,109,0,0.,0.,0.,0,"{Number of iterator servers}
MethodCommands.html#MethodMeta"},
{"processors per iterator",0x19,0,4,0,117,0,0.,0.,0.,0,"{Number of processors per iterator
server} MethodCommands.html#MethodMeta"},
{"sequential",8,2,1,1,49,kw 127,0.,0.,0.,0,"{Sequential hybrid}
MethodCommands.html#MethodMetaHybrid"},
{"uncoupled",0,2,1,1,48,kw 127}
}

GuiKeyWord kw 129[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,969},
{"series",8,0,1,1,967}
}

GuiKeyWord kw 130[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,963},
{"probabilities",8,0,1,1,961},
{"system",8,2,2,0,965,kw 129}
}

12.1. DAKOTA NAMESPACE REFERENCE

169

GuiKeyWord kw 131[2] [static]


Initial value:
= {
{"compute",8,3,2,0,959,kw 130},
{"num response levels",13,0,1,0,957}
}

GuiKeyWord kw 132[12] [static]


Initial value:
= {
{"adapt import",8,0,1,1,949},
{"distribution",8,2,7,0,1127,kw 19,0.,0.,0.,0,"{Distribution type}
MethodCommands.html#MethodNonD"},
{"gen reliability levels",14,1,9,0,1137,kw 20,0.,0.,0.,0,"{Generalized reliability levels}
MethodCommands.html#MethodNonD"},
{"import",8,0,1,1,947},
{"mm adapt import",8,0,1,1,951},
{"model pointer",11,0,4,0,1593},
{"probability levels",14,1,8,0,1133,kw 21,0.,0.,0.,0,"{Probability levels}
MethodCommands.html#MethodNonD"},
{"refinement samples",9,0,2,0,953},
{"response levels",14,2,3,0,955,kw 131},
{"rng",8,2,10,0,1141,kw 22,0.,0.,0.,0,"{Random number generator}
MethodCommands.html#MethodNonDMC"},
{"samples",9,0,5,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"seed",0x19,0,6,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"}
}

GuiKeyWord kw 133[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1569},
{"freeform",8,0,1,0,1571}
}

GuiKeyWord kw 134[3] [static]


Initial value:
= {
{"import points file",11,2,1,1,1567,kw 133},
{"list of points",14,0,1,1,1565,0,0.,0.,0.,0,"{List of points to evaluate}
MethodCommands.html#MethodPSLPS"},
{"model pointer",11,0,2,0,1593}
}

GuiKeyWord kw 135[2] [static]


Initial value:
= {
{"complementary",8,0,1,1,1399},
{"cumulative",8,0,1,1,1397}
}

170

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 136[1] [static]


Initial value:
= {
{"num gen reliability levels",13,0,1,0,1393}
}

GuiKeyWord kw 137[1] [static]


Initial value:
= {
{"num probability levels",13,0,1,0,1389}
}

GuiKeyWord kw 138[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,1385},
{"series",8,0,1,1,1383}
}

GuiKeyWord kw 139[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,1379},
{"probabilities",8,0,1,1,1377},
{"system",8,2,2,0,1381,kw 138}
}

GuiKeyWord kw 140[2] [static]


Initial value:
= {
{"compute",8,3,2,0,1375,kw 139},
{"num response levels",13,0,1,0,1373}
}

GuiKeyWord kw 141[7] [static]


Initial value:
= {
{"distribution",8,2,5,0,1395,kw 135},
{"gen reliability levels",14,1,4,0,1391,kw 136},
{"model pointer",11,0,6,0,1593},
{"nip",8,0,1,0,1369},
{"probability levels",14,1,3,0,1387,kw 137},
{"response levels",14,2,2,0,1371,kw 140},
{"sqp",8,0,1,0,1367}
}

12.1. DAKOTA NAMESPACE REFERENCE


GuiKeyWord kw 142[3] [static]
Initial value:
= {
{"model pointer",11,0,2,0,1593},
{"nip",8,0,1,0,1405},
{"sqp",8,0,1,0,1403}
}

GuiKeyWord kw 143[5] [static]


Initial value:
= {
{"adapt import",8,0,1,1,1439},
{"import",8,0,1,1,1437},
{"mm adapt import",8,0,1,1,1441},
{"refinement samples",9,0,2,0,1443},
{"seed",0x19,0,3,0,1445,0,0.,0.,0.,0,"{Random seed}
MethodCommands.html#MethodNonDBayesCalib"}
}

GuiKeyWord kw 144[4] [static]


Initial value:
= {
{"first order",8,0,1,1,1431},
{"probability refinement",8,5,2,0,1435,kw 143},
{"sample refinement",0,5,2,0,1434,kw 143},
{"second order",8,0,1,1,1433}
}

GuiKeyWord kw 145[10] [static]


Initial value:
= {
{"integration",8,4,3,0,1429,kw 144,0.,0.,0.,0,"{Integration method}
MethodCommands.html#MethodNonDLocalRel"},
{"nip",8,0,2,0,1427},
{"no approx",8,0,1,1,1423},
{"sqp",8,0,2,0,1425},
{"u taylor mean",8,0,1,1,1413},
{"u taylor mpp",8,0,1,1,1417},
{"u two point",8,0,1,1,1421},
{"x taylor mean",8,0,1,1,1411},
{"x taylor mpp",8,0,1,1,1415},
{"x two point",8,0,1,1,1419}
}

GuiKeyWord kw 146[1] [static]


Initial value:
= {
{"num reliability levels",13,0,1,0,1467}
}

171

172

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 147[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,1463},
{"series",8,0,1,1,1461}
}

GuiKeyWord kw 148[4] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,1457},
{"probabilities",8,0,1,1,1453},
{"reliabilities",8,0,1,1,1455},
{"system",8,2,2,0,1459,kw 147}
}

GuiKeyWord kw 149[2] [static]


Initial value:
= {
{"compute",8,4,2,0,1451,kw 148},
{"num response levels",13,0,1,0,1449}
}

GuiKeyWord kw 150[7] [static]


Initial value:
= {
{"distribution",8,2,5,0,1517,kw 110},
{"gen reliability levels",14,1,7,0,1527,kw 111},
{"model pointer",11,0,4,0,1593},
{"mpp search",8,10,1,0,1409,kw 145,0.,0.,0.,0,"{MPP search type}
MethodCommands.html#MethodNonDLocalRel"},
{"probability levels",14,1,6,0,1523,kw 112},
{"reliability levels",14,1,3,0,1465,kw 146},
{"response levels",14,2,2,0,1447,kw 149}
}

GuiKeyWord kw 151[16] [static]


Initial value:
= {
{"display all evaluations",8,0,6,0,331,0,0.,0.,0.,0,"{Display NOMAD evaluations}
MethodCommands.html#MethodNOMADDC"},
{"display format",11,0,4,0,327},
{"function precision",10,0,1,0,321,0,0.,0.,0.,0,"{Function Evaluation Precision}
MethodCommands.html#MethodNOMADDC"},
{"history file",11,0,3,0,325,0,0.,0.,0.,0,"{NOMAD History File}
MethodCommands.html#MethodNOMADDC"},
{"linear equality constraint matrix",14,0,13,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,15,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,16,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},

12.1. DAKOTA NAMESPACE REFERENCE

173

{"linear equality targets",14,0,14,0,467,0,0.,0.,0.,0,"{Linear equality targets}


MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,8,0,455,0,0.,0.,0.,0,"{Linear inequality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,9,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,11,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,12,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,10,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"model pointer",11,0,7,0,1593},
{"seed",0x19,0,2,0,323,0,0.,0.,0.,0,"{Random Seed} MethodCommands.html#MethodNOMADDC"},
{"variable neighborhood search",10,0,5,0,329}
}

GuiKeyWord kw 152[2] [static]


Initial value:
= {
{"num offspring",0x19,0,2,0,433,0,0.,0.,0.,0,"{Number of offspring in random shuffle
crossover} MethodCommands.html#MethodJEGADC"},
{"num parents",0x19,0,1,0,431,0,0.,0.,0.,0,"{Number of parents in random shuffle crossover}
MethodCommands.html#MethodJEGADC"}
}

GuiKeyWord kw 153[5] [static]


Initial value:
= {
{"crossover rate",10,0,2,0,435,0,0.,0.,0.,0,"{Crossover rate}
MethodCommands.html#MethodJEGADC"},
{"multi point binary",9,0,1,1,423,0,0.,0.,0.,0,"{Multi point binary crossover}
MethodCommands.html#MethodJEGADC"},
{"multi point parameterized binary",9,0,1,1,425,0,0.,0.,0.,0,"{Multi point parameterized
binary crossover} MethodCommands.html#MethodJEGADC"},
{"multi point real",9,0,1,1,427,0,0.,0.,0.,0,"{Multi point real crossover}
MethodCommands.html#MethodJEGADC"},
{"shuffle random",8,2,1,1,429,kw 152,0.,0.,0.,0,"{Random shuffle crossover}
MethodCommands.html#MethodJEGADC"}
}

GuiKeyWord kw 154[3] [static]


Initial value:
= {
{"flat file",11,0,1,1,419},
{"simple random",8,0,1,1,415},
{"unique random",8,0,1,1,417}
}

GuiKeyWord kw 155[1] [static]


Initial value:
= {
{"mutation scale",10,0,1,0,449,0,0.,0.,0.,0,"{Mutation scale}
MethodCommands.html#MethodJEGADC"}
}

174

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 156[6] [static]


Initial value:
= {
{"bit random",8,0,1,1,439},
{"mutation rate",10,0,2,0,451,0,0.,0.,0.,0,"{Mutation rate}
MethodCommands.html#MethodJEGADC"},
{"offset cauchy",8,1,1,1,445,kw 155},
{"offset normal",8,1,1,1,443,kw 155},
{"offset uniform",8,1,1,1,447,kw 155},
{"replace uniform",8,0,1,1,441}
}

GuiKeyWord kw 157[3] [static]


Initial value:
= {
{"metric tracker",8,0,1,1,365,0,0.,0.,0.,0,"{Convergence type}
MethodCommands.html#MethodJEGAMOGA"},
{"num generations",0x29,0,3,0,369,0,0.,0.,0.,0,"{Number generations for metric tracker
converger} MethodCommands.html#MethodJEGAMOGA"},
{"percent change",10,0,2,0,367,0,0.,0.,0.,0,"{Percent change limit for metric tracker
converger} MethodCommands.html#MethodJEGAMOGA"}
}

GuiKeyWord kw 158[2] [static]


Initial value:
= {
{"domination count",8,0,1,1,339},
{"layer rank",8,0,1,1,337}
}

GuiKeyWord kw 159[1] [static]


Initial value:
= {
{"num designs",0x29,0,1,0,361,0,2.,0.,0.,0,"{Number designs to keep for max designs nicher}
MethodCommands.html#MethodJEGAMOGA"}
}

GuiKeyWord kw 160[3] [static]


Initial value:
= {
{"distance",14,0,1,1,357},
{"max designs",14,1,1,1,359,kw 159},
{"radial",14,0,1,1,355}
}

12.1. DAKOTA NAMESPACE REFERENCE

175

GuiKeyWord kw 161[1] [static]


Initial value:
= {
{"orthogonal distance",14,0,1,1,373,0,0.,0.,0.,0,"{Post processor distance}
MethodCommands.html#MethodJEGAMOGA"}
}

GuiKeyWord kw 162[2] [static]


Initial value:
= {
{"shrinkage fraction",10,0,1,0,351},
{"shrinkage percentage",2,0,1,0,350}
}

GuiKeyWord kw 163[4] [static]


Initial value:
= {
{"below limit",10,2,1,1,349,kw 162,0.,0.,0.,0,"{Below limit selection}
MethodCommands.html#MethodJEGADC"},
{"elitist",8,0,1,1,343},
{"roulette wheel",8,0,1,1,345},
{"unique roulette wheel",8,0,1,1,347}
}

GuiKeyWord kw 164[22] [static]


Initial value:
= {
{"convergence type",8,3,4,0,363,kw 157},
{"crossover type",8,5,20,0,421,kw 153,0.,0.,0.,0,"{Crossover type}
MethodCommands.html#MethodJEGADC"},
{"fitness type",8,2,1,0,335,kw 158,0.,0.,0.,0,"{Fitness type}
MethodCommands.html#MethodJEGAMOGA"},
{"initialization type",8,3,19,0,413,kw 154,0.,0.,0.,0,"{Initialization type}
MethodCommands.html#MethodJEGADC"},
{"linear equality constraint matrix",14,0,12,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,14,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,15,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,13,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,7,0,455,0,0.,0.,0.,0,"{Linear inequality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,8,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,10,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,11,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,9,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"log file",11,0,17,0,409,0,0.,0.,0.,0,"{Log file} MethodCommands.html#MethodJEGADC"},
{"model pointer",11,0,6,0,1593},
{"mutation type",8,6,21,0,437,kw 156,0.,0.,0.,0,"{Mutation type}
MethodCommands.html#MethodJEGADC"},

176

CHAPTER 12. NAMESPACE DOCUMENTATION


{"niching type",8,3,3,0,353,kw 160,0.,0.,0.,0,"{Niche pressure type}
MethodCommands.html#MethodJEGAMOGA"},
{"population size",0x29,0,16,0,407,0,0.,0.,0.,0,"{Number of population members}
MethodCommands.html#MethodJEGADC"},
{"postprocessor type",8,1,5,0,371,kw 161,0.,0.,0.,0,"{Post processor type}
MethodCommands.html#MethodJEGAMOGA"},
{"print each pop",8,0,18,0,411,0,0.,0.,0.,0,"{Population output}
MethodCommands.html#MethodJEGADC"},
{"replacement type",8,4,2,0,341,kw 163,0.,0.,0.,0,"{Replacement type}
MethodCommands.html#MethodJEGAMOGA"},
{"seed",0x19,0,22,0,453,0,0.,0.,0.,0,"{Random seed} MethodCommands.html#MethodJEGADC"}
}

GuiKeyWord kw 165[1] [static]


Initial value:
= {
{"model pointer",11,0,1,0,85,0,0.,0.,0.,0,"{Model pointer} MethodCommands.html#MethodMeta"}
}

GuiKeyWord kw 166[1] [static]


Initial value:
= {
{"seed",9,0,1,0,91,0,0.,0.,0.,0,"{Seed for random starting points}
MethodCommands.html#MethodMetaMultiStart"}
}

GuiKeyWord kw 167[7] [static]


Initial value:
= {
{"iterator scheduling",8,2,5,0,111,kw 120,0.,0.,0.,0,"{Message passing configuration for
scheduling of iterator jobs} MethodCommands.html#MethodMeta"},
{"iterator servers",0x19,0,4,0,109,0,0.,0.,0.,0,"{Number of iterator servers}
MethodCommands.html#MethodMeta"},
{"method name",11,1,1,1,83,kw 165,0.,0.,0.,0,"{Identification of a sub-method by name (no
separate specification block)} MethodCommands.html#MethodMeta"},
{"method pointer",11,0,1,1,87,0,0.,0.,0.,0,"{Identification of a sub-method by pointer to a
separate specification block} MethodCommands.html#MethodMeta"},
{"processors per iterator",0x19,0,6,0,117,0,0.,0.,0.,0,"{Number of processors per iterator
server} MethodCommands.html#MethodMeta"},
{"random starts",9,1,2,0,89,kw 166,0.,0.,0.,0,"{Number of random starting points}
MethodCommands.html#MethodMetaMultiStart"},
{"starting points",14,0,3,0,93,0,0.,0.,0.,0,"{List of user-specified starting points}
MethodCommands.html#MethodMetaMultiStart"}
}

GuiKeyWord kw 168[2] [static]


Initial value:
= {
{"model pointer",11,0,2,0,1593},
{"partitions",13,0,1,1,1581,0,0.,0.,0.,0,"{Partitions per variable}
MethodCommands.html#MethodPSMPS"}
}

12.1. DAKOTA NAMESPACE REFERENCE

177

GuiKeyWord kw 169[5] [static]


Initial value:
= {
{"min boxsize limit",10,0,2,0,641,0,0.,0.,0.,0,"{Min boxsize limit}
MethodCommands.html#MethodNCSUDC"},
{"model pointer",11,0,4,0,1593},
{"solution accuracy",2,0,1,0,638},
{"solution target",10,0,1,0,639,0,0.,0.,0.,0,"{Solution Target }
MethodCommands.html#MethodNCSUDC"},
{"volume boxsize limit",10,0,3,0,643,0,0.,0.,0.,0,"{Volume boxsize limit}
MethodCommands.html#MethodNCSUDC"}
}

GuiKeyWord kw 170[10] [static]


Initial value:
= {
{"absolute conv tol",10,0,2,0,617,0,0.,0.,0.,0,"{Absolute function convergence tolerance}
MethodCommands.html#MethodLSNL2SOL"},
{"covariance",9,0,8,0,629,0,0.,0.,0.,0,"{Covariance post-processing}
MethodCommands.html#MethodLSNL2SOL"},
{"false conv tol",10,0,6,0,625,0,0.,0.,0.,0,"{False convergence tolerance}
MethodCommands.html#MethodLSNL2SOL"},
{"function precision",10,0,1,0,615,0,0.,0.,0.,0,"{Relative precision in least squares
terms} MethodCommands.html#MethodLSNL2SOL"},
{"initial trust radius",10,0,7,0,627,0,0.,0.,0.,0,"{Initial trust region radius}
MethodCommands.html#MethodLSNL2SOL"},
{"model pointer",11,0,10,0,1593},
{"regression diagnostics",8,0,9,0,631,0,0.,0.,0.,0,"{Regression diagnostics
post-processing} MethodCommands.html#MethodLSNL2SOL"},
{"singular conv tol",10,0,4,0,621,0,0.,0.,0.,0,"{Singular convergence tolerance}
MethodCommands.html#MethodLSNL2SOL"},
{"singular radius",10,0,5,0,623,0,0.,0.,0.,0,"{Step limit for sctol}
MethodCommands.html#MethodLSNL2SOL"},
{"x conv tol",10,0,3,0,619,0,0.,0.,0.,0,"{Convergence tolerance for change in parameter
vector} MethodCommands.html#MethodLSNL2SOL"}
}

GuiKeyWord kw 171[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,1073},
{"series",8,0,1,1,1071}
}

GuiKeyWord kw 172[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,1067},
{"probabilities",8,0,1,1,1065},
{"system",8,2,2,0,1069,kw 171}
}

178

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 173[2] [static]


Initial value:
= {
{"compute",8,3,2,0,1063,kw 172},
{"num response levels",13,0,1,0,1061}
}

GuiKeyWord kw 174[8] [static]


Initial value:
= {
{"distribution",8,2,5,0,1127,kw 19,0.,0.,0.,0,"{Distribution type}
MethodCommands.html#MethodNonD"},
{"gen reliability levels",14,1,7,0,1137,kw 20,0.,0.,0.,0,"{Generalized reliability levels}
MethodCommands.html#MethodNonD"},
{"model pointer",11,0,2,0,1593},
{"probability levels",14,1,6,0,1133,kw 21,0.,0.,0.,0,"{Probability levels}
MethodCommands.html#MethodNonD"},
{"response levels",14,2,1,0,1059,kw 173},
{"rng",8,2,8,0,1141,kw 22,0.,0.,0.,0,"{Random number generator}
MethodCommands.html#MethodNonDMC"},
{"samples",9,0,3,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"seed",0x19,0,4,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"}
}

GuiKeyWord kw 175[1] [static]


Initial value:
= {
{"num reliability levels",13,0,1,0,925,0,0.,0.,0.,0,"{Number of reliability levels}
MethodCommands.html#MethodNonD"}
}

GuiKeyWord kw 176[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,943},
{"series",8,0,1,1,941}
}

GuiKeyWord kw 177[4] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,937},
{"probabilities",8,0,1,1,933},
{"reliabilities",8,0,1,1,935},
{"system",8,2,2,0,939,kw 176}
}

12.1. DAKOTA NAMESPACE REFERENCE

179

GuiKeyWord kw 178[2] [static]


Initial value:
= {
{"compute",8,4,2,0,931,kw 177,0.,0.,0.,0,"{Target statistics for response levels}
MethodCommands.html#MethodNonD"},
{"num response levels",13,0,1,0,929,0,0.,0.,0.,0,"{Number of response levels}
MethodCommands.html#MethodNonD"}
}

GuiKeyWord kw 179[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,779},
{"freeform",8,0,1,0,781}
}

GuiKeyWord kw 180[3] [static]


Initial value:
= {
{"adapted",8,0,1,1,719},
{"tensor product",8,0,1,1,715},
{"total order",8,0,1,1,717}
}

GuiKeyWord kw 181[1] [static]


Initial value:
= {
{"noise tolerance",14,0,1,0,741}
}

GuiKeyWord kw 182[1] [static]


Initial value:
= {
{"noise tolerance",14,0,1,0,745}
}

GuiKeyWord kw 183[2] [static]


Initial value:
= {
{"l2 penalty",10,0,2,0,751,0,0.,0.,0.,0,"{l2 penalty used for elastic net modification of
LASSO} MethodCommands.html#MethodNonDPCE"},
{"noise tolerance",14,0,1,0,749}
}

180

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 184[2] [static]


Initial value:
= {
{"equality constrained",8,0,1,0,731},
{"svd",8,0,1,0,729}
}

GuiKeyWord kw 185[1] [static]


Initial value:
= {
{"noise tolerance",14,0,1,0,735}
}

GuiKeyWord kw 186[17] [static]


Initial value:
= {
{"basis pursuit",8,0,2,0,737,0,0.,0.,0.,0,"{L1 minimization via Basis Pursuit (BP)}
MethodCommands.html#MethodNonDPCE"},
{"basis pursuit denoising",8,1,2,0,739,kw 181,0.,0.,0.,0,"{L1 minimization via Basis
Pursuit DeNoising (BPDN)} MethodCommands.html#MethodNonDPCE"},
{"bp",0,0,2,0,736},
{"bpdn",0,1,2,0,738,kw 181},
{"cross validation",8,0,3,0,753,0,0.,0.,0.,0,"{Specify whether to use cross validation}
MethodCommands.html#MethodNonDPCE"},
{"lars",0,1,2,0,742,kw 182},
{"lasso",0,2,2,0,746,kw 183},
{"least absolute shrinkage",8,2,2,0,747,kw 183,0.,0.,0.,0,"{L1 minimization via Least
Absolute Shrinkage Operator (LASSO)} MethodCommands.html#MethodNonDPCE"},
{"least angle regression",8,1,2,0,743,kw 182,0.,0.,0.,0,"{L1 minimization via Least Angle
Regression (LARS)} MethodCommands.html#MethodNonDPCE"},
{"least squares",8,2,2,0,727,kw 184,0.,0.,0.,0,"{Least squares regression}
MethodCommands.html#MethodNonDPCE"},
{"omp",0,1,2,0,732,kw 185},
{"orthogonal matching pursuit",8,1,2,0,733,kw 185,0.,0.,0.,0,"{L1 minimization via
Orthogonal Matching Pursuit (OMP)} MethodCommands.html#MethodNonDPCE"},
{"ratio order",10,0,1,0,725,0,0.,0.,0.,0,"{Order of collocation oversampling relationship}
MethodCommands.html#MethodNonDPCE"},
{"reuse points",8,0,6,0,759},
{"reuse samples",0,0,6,0,758},
{"tensor grid",8,0,5,0,757},
{"use derivatives",8,0,4,0,755}
}

GuiKeyWord kw 187[3] [static]


Initial value:
= {
{"incremental lhs",8,0,2,0,765,0,0.,0.,0.,0,"{Use incremental LHS for expansion samples}
MethodCommands.html#MethodNonDPCE"},
{"reuse points",8,0,1,0,763},
{"reuse samples",0,0,1,0,762}
}

12.1. DAKOTA NAMESPACE REFERENCE

181

GuiKeyWord kw 188[6] [static]


Initial value:
= {
{"basis type",8,3,2,0,713,kw 180},
{"collocation points",13,17,3,1,721,kw 186,0.,0.,0.,0,"{Number collocation points to
estimate coeffs} MethodCommands.html#MethodNonDPCE"},
{"collocation ratio",10,17,3,1,723,kw 186,0.,0.,0.,0,"{Collocation point oversampling ratio
to estimate coeffs} MethodCommands.html#MethodNonDPCE"},
{"dimension preference",14,0,1,0,711},
{"expansion samples",13,3,3,1,761,kw 187,0.,0.,0.,0,"{Number simulation samples to estimate
coeffs} MethodCommands.html#MethodNonDPCE"},
{"import points file",11,2,4,0,777,kw 179,0.,0.,0.,0,"{File name for points to be imported
for forming a PCE (unstructured grid assumed)} MethodCommands.html#MethodNonDPCE"}
}

GuiKeyWord kw 189[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,815},
{"freeform",8,0,1,0,817}
}

GuiKeyWord kw 190[6] [static]


Initial value:
= {
{"collocation points",13,0,1,1,769},
{"cross validation",8,0,2,0,771},
{"import points file",11,2,5,0,777,kw 179,0.,0.,0.,0,"{File name for points to be imported
for forming a PCE (unstructured grid assumed)} MethodCommands.html#MethodNonDPCE"},
{"reuse points",8,0,4,0,775},
{"reuse samples",0,0,4,0,774},
{"tensor grid",13,0,3,0,773}
}

GuiKeyWord kw 191[3] [static]


Initial value:
= {
{"decay",8,0,1,1,685},
{"generalized",8,0,1,1,687},
{"sobol",8,0,1,1,683}
}

GuiKeyWord kw 192[2] [static]


Initial value:
= {
{"dimension adaptive",8,3,1,1,681,kw 191},
{"uniform",8,0,1,1,679}
}

182

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 193[4] [static]


Initial value:
= {
{"adapt import",8,0,1,1,807},
{"import",8,0,1,1,805},
{"mm adapt import",8,0,1,1,809},
{"refinement samples",9,0,2,0,811,0,0.,0.,0.,0,"{Refinement samples}
MethodCommands.html#MethodNonDLocalRel"}
}

GuiKeyWord kw 194[3] [static]


Initial value:
= {
{"dimension preference",14,0,1,0,701,0,0.,0.,0.,0,"{Dimension preference for anisotropic
tensor and sparse grids} MethodCommands.html#MethodNonDPCE"},
{"nested",8,0,2,0,703},
{"non nested",8,0,2,0,705}
}

GuiKeyWord kw 195[2] [static]


Initial value:
= {
{"lhs",8,0,1,1,799},
{"random",8,0,1,1,801}
}

GuiKeyWord kw 196[5] [static]


Initial value:
= {
{"dimension preference",14,0,2,0,701,0,0.,0.,0.,0,"{Dimension preference for anisotropic
tensor and sparse grids} MethodCommands.html#MethodNonDPCE"},
{"nested",8,0,3,0,703},
{"non nested",8,0,3,0,705},
{"restricted",8,0,1,0,697},
{"unrestricted",8,0,1,0,699}
}

GuiKeyWord kw 197[2] [static]


Initial value:
= {
{"drop tolerance",10,0,2,0,789,0,0.,0.,0.,0,"{VBD tolerance for omitting small indices}
MethodCommands.html#MethodNonDMC"},
{"interaction order",0x19,0,1,0,787,0,0.,0.,0.,0,"{Restriction of order of VBD interations}
MethodCommands.html#MethodNonDPCE"}
}

12.1. DAKOTA NAMESPACE REFERENCE

183

GuiKeyWord kw 199[1] [static]


Initial value:
= {
{"previous samples",9,0,1,1,915,0,0.,0.,0.,0,"{Previous samples for incremental approaches}
MethodCommands.html#MethodNonDMC"}
}

GuiKeyWord kw 200[4] [static]


Initial value:
= {
{"incremental lhs",8,1,1,1,911,kw 199},
{"incremental random",8,1,1,1,913,kw 199},
{"lhs",8,0,1,1,909},
{"random",8,0,1,1,907}
}

GuiKeyWord kw 201[1] [static]


Initial value:
= {
{"drop tolerance",10,0,1,0,919}
}

GuiKeyWord kw 202[12] [static]


Initial value:
= {
{"distribution",8,2,6,0,1127,kw 19,0.,0.,0.,0,"{Distribution type}
MethodCommands.html#MethodNonD"},
{"fixed seed",8,0,12,0,921,0,0.,0.,0.,0,"{Fixed seed flag} MethodCommands.html#MethodNonDMC
"},
{"gen reliability levels",14,1,8,0,1137,kw 20,0.,0.,0.,0,"{Generalized reliability levels}
MethodCommands.html#MethodNonD"},
{"model pointer",11,0,3,0,1593},
{"probability levels",14,1,7,0,1133,kw 21,0.,0.,0.,0,"{Probability levels}
MethodCommands.html#MethodNonD"},
{"reliability levels",14,1,10,0,923,kw 175,0.,0.,0.,0,"{Reliability levels}
MethodCommands.html#MethodNonD"},
{"response levels",14,2,11,0,927,kw 178,0.,0.,0.,0,"{Response levels}
MethodCommands.html#MethodNonD"},
{"rng",8,2,9,0,1141,kw 22,0.,0.,0.,0,"{Random number generator}
MethodCommands.html#MethodNonDMC"},
{"sample type",8,4,1,0,905,kw 200},
{"samples",9,0,4,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"seed",0x19,0,5,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"},
{"variance based decomp",8,1,2,0,917,kw 201}
}

GuiKeyWord kw 203[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,899},
{"freeform",8,0,1,0,901}
}

184

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 204[2] [static]


Initial value:
= {
{"generalized",8,0,1,1,841},
{"sobol",8,0,1,1,839}
}

GuiKeyWord kw 205[3] [static]


Initial value:
= {
{"dimension adaptive",8,2,1,1,837,kw 204},
{"local adaptive",8,0,1,1,843},
{"uniform",8,0,1,1,835}
}

GuiKeyWord kw 206[2] [static]


Initial value:
= {
{"generalized",8,0,1,1,831},
{"sobol",8,0,1,1,829}
}

GuiKeyWord kw 207[2] [static]


Initial value:
= {
{"dimension adaptive",8,2,1,1,827,kw 206},
{"uniform",8,0,1,1,825}
}

GuiKeyWord kw 208[4] [static]


Initial value:
= {
{"adapt import",8,0,1,1,891},
{"import",8,0,1,1,889},
{"mm adapt import",8,0,1,1,893},
{"refinement samples",9,0,2,0,895}
}

GuiKeyWord kw 209[2] [static]


Initial value:
= {
{"lhs",8,0,1,1,883},
{"random",8,0,1,1,885}
}

12.1. DAKOTA NAMESPACE REFERENCE

185

GuiKeyWord kw 210[4] [static]


Initial value:
= {
{"hierarchical",8,0,2,0,861},
{"nodal",8,0,2,0,859},
{"restricted",8,0,1,0,855},
{"unrestricted",8,0,1,0,857}
}

GuiKeyWord kw 211[2] [static]


Initial value:
= {
{"drop tolerance",10,0,2,0,875,0,0.,0.,0.,0,"{VBD tolerance for omitting small indices}
MethodCommands.html#MethodNonDSC"},
{"interaction order",0x19,0,1,0,873,0,0.,0.,0.,0,"{Restriction of order of VBD interations}
MethodCommands.html#MethodNonDSC"}
}

GuiKeyWord kw 212[28] [static]


Initial value:
= {
{"askey",8,0,2,0,847},
{"diagonal covariance",8,0,8,0,877},
{"dimension preference",14,0,4,0,863,0,0.,0.,0.,0,"{Dimension preference for anisotropic
tensor and sparse grids} MethodCommands.html#MethodNonDSC"},
{"distribution",8,2,15,0,1127,kw 19,0.,0.,0.,0,"{Distribution type}
MethodCommands.html#MethodNonD"},
{"export points file",11,2,11,0,897,kw 203,0.,0.,0.,0,"{File name for exporting
approximation-based samples from evaluating the interpolant} MethodCommands.html#MethodNonDSC"},
{"fixed seed",8,0,21,0,921,0,0.,0.,0.,0,"{Fixed seed flag} MethodCommands.html#MethodNonDMC
"},
{"full covariance",8,0,8,0,879},
{"gen reliability levels",14,1,17,0,1137,kw 20,0.,0.,0.,0,"{Generalized reliability levels}
MethodCommands.html#MethodNonD"},
{"h refinement",8,3,1,0,833,kw 205},
{"model pointer",11,0,12,0,1593},
{"nested",8,0,6,0,867},
{"non nested",8,0,6,0,869},
{"p refinement",8,2,1,0,823,kw 207},
{"piecewise",8,0,2,0,845},
{"probability levels",14,1,16,0,1133,kw 21,0.,0.,0.,0,"{Probability levels}
MethodCommands.html#MethodNonD"},
{"probability refinement",8,4,10,0,887,kw 208},
{"quadrature order",13,0,3,1,851,0,0.,0.,0.,0,"{Quadrature order for collocation points}
MethodCommands.html#MethodNonDSC"},
{"reliability levels",14,1,19,0,923,kw 175,0.,0.,0.,0,"{Reliability levels}
MethodCommands.html#MethodNonD"},
{"response levels",14,2,20,0,927,kw 178,0.,0.,0.,0,"{Response levels}
MethodCommands.html#MethodNonD"},
{"rng",8,2,18,0,1141,kw 22,0.,0.,0.,0,"{Random number generator}
MethodCommands.html#MethodNonDMC"},
{"sample refinement",0,4,10,0,886,kw 208},
{"sample type",8,2,9,0,881,kw 209},
{"samples",9,0,13,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC
"},
{"seed",0x19,0,14,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"},
{"sparse grid level",13,4,3,1,853,kw 210,0.,0.,0.,0,"{Sparse grid level for collocation
points} MethodCommands.html#MethodNonDSC"},
{"use derivatives",8,0,5,0,865,0,0.,0.,0.,0,"{Derivative enhancement flag}
MethodCommands.html#MethodNonDSC"},

186

CHAPTER 12. NAMESPACE DOCUMENTATION


{"variance based decomp",8,2,7,0,871,kw 211,0.,0.,0.,0,"{Variance-based decomposition
(VBD)} MethodCommands.html#MethodNonDSC"},
{"wiener",8,0,2,0,849}
}

GuiKeyWord kw 213[2] [static]


Initial value:
= {
{"misc options",15,0,1,0,635},
{"model pointer",11,0,2,0,1593}
}

GuiKeyWord kw 214[13] [static]


Initial value:
= {
{"function precision",10,0,12,0,237,0,0.,0.,0.,0,"{Function precision}
MethodCommands.html#MethodNPSOLDC"},
{"linear equality constraint matrix",14,0,7,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,9,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,10,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,8,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,2,0,455,0,0.,0.,0.,0,"{Linear inequality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,3,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,5,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,6,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,4,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"linesearch tolerance",10,0,13,0,239,0,0.,0.,0.,0,"{Line search tolerance}
MethodCommands.html#MethodNPSOLDC"},
{"model pointer",11,0,1,0,1593},
{"verify level",9,0,11,0,235,0,0.,0.,0.,0,"{Gradient verification level}
MethodCommands.html#MethodNPSOLDC"}
}

GuiKeyWord kw 215[12] [static]


Initial value:
= {
{"gradient tolerance",10,0,12,0,277},
{"linear equality constraint matrix",14,0,7,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,9,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,10,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,8,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,2,0,455,0,0.,0.,0.,0,"{Linear inequality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,3,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,5,0,461,0,0.,0.,0.,0,"{Linear inequality scaling

12.1. DAKOTA NAMESPACE REFERENCE

187

types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,6,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,4,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"max step",10,0,11,0,275},
{"model pointer",11,0,1,0,1593}
}

GuiKeyWord kw 216[11] [static]


Initial value:
= {
{"linear equality constraint matrix",14,0,8,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,10,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,11,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,9,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,3,0,455,0,0.,0.,0.,0,"{Linear inequality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,4,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,6,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,7,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,5,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"model pointer",11,0,2,0,1593},
{"search scheme size",9,0,1,0,281}
}

GuiKeyWord kw 217[3] [static]


Initial value:
= {
{"argaez tapia",8,0,1,1,267},
{"el bakry",8,0,1,1,265},
{"van shanno",8,0,1,1,269}
}

GuiKeyWord kw 218[4] [static]


Initial value:
= {
{"gradient based line search",8,0,1,1,257,0,0.,0.,0.,0,"[CHOOSE line search type]"},
{"tr pds",8,0,1,1,261},
{"trust region",8,0,1,1,259},
{"value based line search",8,0,1,1,255}
}

188

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 219[16] [static]


Initial value:
= {
{"centering parameter",10,0,4,0,273},
{"gradient tolerance",10,0,16,0,277},
{"linear equality constraint matrix",14,0,11,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,13,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,14,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,12,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,6,0,455,0,0.,0.,0.,0,"{Linear inequality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,7,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,9,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,10,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,8,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"max step",10,0,15,0,275},
{"merit function",8,3,2,0,263,kw 217},
{"model pointer",11,0,5,0,1593},
{"search method",8,4,1,0,253,kw 218},
{"steplength to boundary",10,0,3,0,271}
}

GuiKeyWord kw 220[5] [static]


Initial value:
= {
{"debug",8,0,1,1,23,0,0.,0.,0.,0,"[CHOOSE output level]"},
{"normal",8,0,1,1,27},
{"quiet",8,0,1,1,29},
{"silent",8,0,1,1,31},
{"verbose",8,0,1,1,25}
}

GuiKeyWord kw 221[2] [static]


Initial value:
= {
{"model pointer",11,0,1,0,99,0,0.,0.,0.,0,"{Identification of model by pointer}
MethodCommands.html#MethodMetaMultiStart"},
{"opt model pointer",3,0,1,0,98}
}

GuiKeyWord kw 222[1] [static]


Initial value:
= {
{"seed",9,0,1,0,105,0,0.,0.,0.,0,"{Seed for random weighting sets}
MethodCommands.html#MethodMetaParetoSet"}
}

12.1. DAKOTA NAMESPACE REFERENCE

189

GuiKeyWord kw 223[10] [static]


Initial value:
= {
{"iterator scheduling",8,2,5,0,111,kw 120,0.,0.,0.,0,"{Message passing configuration for
scheduling of iterator jobs} MethodCommands.html#MethodMeta"},
{"iterator servers",0x19,0,4,0,109,0,0.,0.,0.,0,"{Number of iterator servers}
MethodCommands.html#MethodMeta"},
{"method name",11,2,1,1,97,kw 221,0.,0.,0.,0,"{Identification of sub-iterator by name}
MethodCommands.html#MethodMetaMultiStart"},
{"method pointer",11,0,1,1,101,0,0.,0.,0.,0,"{Identification of sub-iterator by pointer}
MethodCommands.html#MethodMetaMultiStart"},
{"multi objective weight sets",6,0,3,0,106},
{"opt method name",3,2,1,1,96,kw 221},
{"opt method pointer",3,0,1,1,100},
{"processors per iterator",0x19,0,6,0,117,0,0.,0.,0.,0,"{Number of processors per iterator
server} MethodCommands.html#MethodMeta"},
{"random weight sets",9,1,2,0,103,kw 222,0.,0.,0.,0,"{Number of random weighting sets}
MethodCommands.html#MethodMetaParetoSet"},
{"weight sets",14,0,3,0,107,0,0.,0.,0.,0,"{List of user-specified weighting sets}
MethodCommands.html#MethodMetaParetoSet"}
}

GuiKeyWord kw 224[4] [static]


Initial value:
= {
{"model pointer",11,0,2,0,1593},
{"partitions",13,0,1,0,1359,0,0.,0.,0.,0,"{Number of partitions}
MethodCommands.html#MethodPSUADE"},
{"samples",9,0,3,0,1361,0,0.,0.,0.,0,"{Number of samples} MethodCommands.html#MethodNonDMC"
},
{"seed",0x19,0,4,0,1363,0,0.,0.,0.,0,"{Refinement seed}
MethodCommands.html#MethodNonDLocalRel"}
}

GuiKeyWord kw 225[5] [static]


Initial value:
= {
{"converge order",8,0,1,1,1587},
{"converge qoi",8,0,1,1,1589},
{"estimate order",8,0,1,1,1585},
{"model pointer",11,0,3,0,1593},
{"refinement rate",10,0,2,0,1591,0,0.,0.,0.,0,"{Refinement rate}
MethodCommands.html#MethodSolnRichardson"}
}

GuiKeyWord kw 226[2] [static]


Initial value:
= {
{"num generations",0x29,0,2,0,405},
{"percent change",10,0,1,0,403}
}

190

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 227[2] [static]


Initial value:
= {
{"num generations",0x29,0,2,0,399,0,0.,0.,0.,0,"{Number of generations (for convergence
test) } MethodCommands.html#MethodJEGASOGA"},
{"percent change",10,0,1,0,397,0,0.,0.,0.,0,"{Percent change in fitness}
MethodCommands.html#MethodJEGASOGA"}
}

GuiKeyWord kw 228[2] [static]


Initial value:
= {
{"average fitness tracker",8,2,1,1,401,kw 226},
{"best fitness tracker",8,2,1,1,395,kw 227}
}

GuiKeyWord kw 229[2] [static]


Initial value:
= {
{"constraint penalty",10,0,2,0,381,0,0.,0.,0.,0,"{Constraint penalty in merit function}
MethodCommands.html#MethodJEGASOGA"},
{"merit function",8,0,1,1,379}
}

GuiKeyWord kw 230[4] [static]


Initial value:
= {
{"elitist",8,0,1,1,385},
{"favor feasible",8,0,1,1,387},
{"roulette wheel",8,0,1,1,389},
{"unique roulette wheel",8,0,1,1,391}
}

GuiKeyWord kw 231[20] [static]


Initial value:
= {
{"convergence type",8,2,3,0,393,kw 228,0.,0.,0.,0,"{Convergence type}
MethodCommands.html#MethodJEGASOGA"},
{"crossover type",8,5,18,0,421,kw 153,0.,0.,0.,0,"{Crossover type}
MethodCommands.html#MethodJEGADC"},
{"fitness type",8,2,1,0,377,kw 229,0.,0.,0.,0,"{Fitness type}
MethodCommands.html#MethodJEGASOGA"},
{"initialization type",8,3,17,0,413,kw 154,0.,0.,0.,0,"{Initialization type}
MethodCommands.html#MethodJEGADC"},
{"linear equality constraint matrix",14,0,10,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,12,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,13,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,11,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},

12.1. DAKOTA NAMESPACE REFERENCE

191

{"linear inequality constraint matrix",14,0,5,0,455,0,0.,0.,0.,0,"{Linear inequality


coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,6,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,8,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,9,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,7,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"log file",11,0,15,0,409,0,0.,0.,0.,0,"{Log file} MethodCommands.html#MethodJEGADC"},
{"model pointer",11,0,4,0,1593},
{"mutation type",8,6,19,0,437,kw 156,0.,0.,0.,0,"{Mutation type}
MethodCommands.html#MethodJEGADC"},
{"population size",0x29,0,14,0,407,0,0.,0.,0.,0,"{Number of population members}
MethodCommands.html#MethodJEGADC"},
{"print each pop",8,0,16,0,411,0,0.,0.,0.,0,"{Population output}
MethodCommands.html#MethodJEGADC"},
{"replacement type",8,4,2,0,383,kw 230,0.,0.,0.,0,"{Replacement type}
MethodCommands.html#MethodJEGASOGA"},
{"seed",0x19,0,20,0,453,0,0.,0.,0.,0,"{Random seed} MethodCommands.html#MethodJEGADC"}
}

GuiKeyWord kw 232[15] [static]


Initial value:
= {
{"function precision",10,0,13,0,237,0,0.,0.,0.,0,"{Function precision}
MethodCommands.html#MethodNPSOLDC"},
{"linear equality constraint matrix",14,0,8,0,465,0,0.,0.,0.,0,"{Linear equality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear equality scale types",15,0,10,0,469,0,0.,0.,0.,0,"{Linear equality scaling types}
MethodCommands.html#MethodMin"},
{"linear equality scales",14,0,11,0,471,0,0.,0.,0.,0,"{Linear equality scales}
MethodCommands.html#MethodMin"},
{"linear equality targets",14,0,9,0,467,0,0.,0.,0.,0,"{Linear equality targets}
MethodCommands.html#MethodMin"},
{"linear inequality constraint matrix",14,0,3,0,455,0,0.,0.,0.,0,"{Linear inequality
coefficient matrix} MethodCommands.html#MethodMin"},
{"linear inequality lower bounds",14,0,4,0,457,0,0.,0.,0.,0,"{Linear inequality lower
bounds} MethodCommands.html#MethodMin"},
{"linear inequality scale types",15,0,6,0,461,0,0.,0.,0.,0,"{Linear inequality scaling
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,7,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,5,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"linesearch tolerance",10,0,14,0,239,0,0.,0.,0.,0,"{Line search tolerance}
MethodCommands.html#MethodNPSOLDC"},
{"model pointer",11,0,2,0,1593},
{"nlssol",8,0,1,1,233},
{"npsol",8,0,1,1,231},
{"verify level",9,0,12,0,235,0,0.,0.,0.,0,"{Gradient verification level}
MethodCommands.html#MethodNPSOLDC"}
}

GuiKeyWord kw 233[7] [static]


Initial value:
= {
{"approx method name",3,0,1,1,184},
{"approx method pointer",3,0,1,1,182},
{"approx model pointer",3,0,2,2,186},
{"method name",11,0,1,1,185},
{"method pointer",11,0,1,1,183},
{"model pointer",11,0,2,2,187},

192

CHAPTER 12. NAMESPACE DOCUMENTATION


{"replace points",8,0,3,0,189,0,0.,0.,0.,0,"{Replace points used in surrogate construction
with best points from previous iteration} MethodCommands.html#MethodSBG"}
}

GuiKeyWord kw 234[2] [static]


Initial value:
= {
{"filter",8,0,1,1,175,0,0.,0.,0.,0,"@[CHOOSE acceptance logic]"},
{"tr ratio",8,0,1,1,173}
}

GuiKeyWord kw 235[7] [static]


Initial value:
= {
{"augmented lagrangian objective",8,0,1,1,151,0,0.,0.,0.,0,"[CHOOSE objective formulation]"
},
{"lagrangian objective",8,0,1,1,153},
{"linearized constraints",8,0,2,2,157,0,0.,0.,0.,0,"[CHOOSE constraint formulation]"},
{"no constraints",8,0,2,2,159},
{"original constraints",8,0,2,2,155,0,0.,0.,0.,0,"@"},
{"original primary",8,0,1,1,147,0,0.,0.,0.,0,"@"},
{"single objective",8,0,1,1,149}
}

GuiKeyWord kw 236[1] [static]


Initial value:
= {
{"homotopy",8,0,1,1,179}
}

GuiKeyWord kw 237[4] [static]


Initial value:
= {
{"adaptive penalty merit",8,0,1,1,165,0,0.,0.,0.,0,"[CHOOSE merit function]"},
{"augmented lagrangian merit",8,0,1,1,169,0,0.,0.,0.,0,"@"},
{"lagrangian merit",8,0,1,1,167},
{"penalty merit",8,0,1,1,163}
}

GuiKeyWord kw 238[6] [static]


Initial value:
= {
{"contract threshold",10,0,3,0,137,0,0.,0.,0.,0,"{Shrink trust region if trust region ratio
is below this value} MethodCommands.html#MethodSBL"},
{"contraction factor",10,0,5,0,141,0,0.,0.,0.,0,"{Trust region contraction factor}
MethodCommands.html#MethodSBL"},
{"expand threshold",10,0,4,0,139,0,0.,0.,0.,0,"{Expand trust region if trust region ratio
is above this value} MethodCommands.html#MethodSBL"},
{"expansion factor",10,0,6,0,143,0,0.,0.,0.,0,"{Trust region expansion factor}

12.1. DAKOTA NAMESPACE REFERENCE

193

MethodCommands.html#MethodSBL"},
{"initial size",10,0,1,0,133,0,0.,0.,0.,0,"{Trust region initial size (relative to bounds)}
MethodCommands.html#MethodSBL"},
{"minimum size",10,0,2,0,135,0,0.,0.,0.,0,"{Trust region minimum size}
MethodCommands.html#MethodSBL"}
}

GuiKeyWord kw 239[13] [static]


Initial value:
= {
{"acceptance logic",8,2,8,0,171,kw 234,0.,0.,0.,0,"{SBL iterate acceptance logic}
MethodCommands.html#MethodSBL"},
{"approx method name",3,0,1,1,122},
{"approx method pointer",3,0,1,1,120},
{"approx model pointer",3,0,2,2,124},
{"approx subproblem",8,7,6,0,145,kw 235,0.,0.,0.,0,"{Approximate subproblem formulation}
MethodCommands.html#MethodSBL"},
{"constraint relax",8,1,9,0,177,kw 236,0.,0.,0.,0,"{SBL constraint relaxation method for
infeasible iterates} MethodCommands.html#MethodSBL"},
{"merit function",8,4,7,0,161,kw 237,0.,0.,0.,0,"{SBL merit function}
MethodCommands.html#MethodSBL"},
{"method name",11,0,1,1,123,0,0.,0.,0.,0,"{Identification of minimizer by name}
MethodCommands.html#MethodMetaParetoSet"},
{"method pointer",11,0,1,1,121,0,0.,0.,0.,0,"{Identification of minimizer by pointer}
MethodCommands.html#MethodMetaParetoSet"},
{"model pointer",11,0,2,2,125,0,0.,0.,0.,0,"{Identification of model by pointer}
MethodCommands.html#MethodMetaParetoSet"},
{"soft convergence limit",9,0,3,0,127,0,0.,0.,0.,0,"{Soft convergence limit for SBL
iterations} MethodCommands.html#MethodSBL"},
{"trust region",8,6,5,0,131,kw 238,0.,0.,0.,0,"{Trust region group specification}
MethodCommands.html#MethodSBL"},
{"truth surrogate bypass",8,0,4,0,129,0,0.,0.,0.,0,"{Flag for bypassing lower level
surrogates in truth verifications} MethodCommands.html#MethodSBL"}
}

GuiKeyWord kw 240[4] [static]


Initial value:
= {
{"final point",14,0,1,1,1557,0,0.,0.,0.,0,"[CHOOSE final pt or increment]{Termination point
of vector} MethodCommands.html#MethodPSVPS"},
{"model pointer",11,0,3,0,1593},
{"num steps",9,0,2,2,1561,0,0.,0.,0.,0,"{Number of steps along vector}
MethodCommands.html#MethodPSVPS"},
{"step vector",14,0,1,1,1559,0,0.,0.,0.,0,"{Step vector} MethodCommands.html#MethodPSVPS"}
}

GuiKeyWord kw 242[1] [static]


Initial value:
= {
{"optional interface responses pointer",11,0,1,0,1799,0,0.,0.,0.,0,"{Responses pointer for
nested model optional interfaces} ModelCommands.html#ModelNested"}
}

194

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 243[2] [static]


Initial value:
= {
{"master",8,0,1,1,1807},
{"peer",8,0,1,1,1809}
}

GuiKeyWord kw 244[7] [static]


Initial value:
= {

nested
nested

nested
nested

{"iterator scheduling",8,2,2,0,1805,kw 243},


{"iterator servers",0x19,0,1,0,1803},
{"primary response mapping",14,0,6,0,1817,0,0.,0.,0.,0,"{Primary response mappings for
models} ModelCommands.html#ModelNested"},
{"primary variable mapping",15,0,4,0,1813,0,0.,0.,0.,0,"{Primary variable mappings for
models} ModelCommands.html#ModelNested"},
{"processors per iterator",0x19,0,3,0,1811},
{"secondary response mapping",14,0,7,0,1819,0,0.,0.,0.,0,"{Secondary response mappings for
models} ModelCommands.html#ModelNested"},
{"secondary variable mapping",15,0,5,0,1815,0,0.,0.,0.,0,"{Secondary variable mappings for
models} ModelCommands.html#ModelNested"}
}

GuiKeyWord kw 245[2] [static]


Initial value:
= {
{"optional interface pointer",11,1,1,0,1797,kw 242,0.,0.,0.,0,"{Optional interface set
pointer} ModelCommands.html#ModelNested"},
{"sub method pointer",11,7,2,1,1801,kw 244,0.,0.,0.,0,"{Sub-method pointer for nested
models} ModelCommands.html#ModelNested"}
}

GuiKeyWord kw 246[1] [static]


Initial value:
= {
{"interface pointer",11,0,1,0,1607,0,0.,0.,0.,0,"{Interface set pointer}
ModelCommands.html#ModelSingle"}
}

GuiKeyWord kw 247[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1761},
{"freeform",8,0,1,0,1763}
}

12.1. DAKOTA NAMESPACE REFERENCE

195

GuiKeyWord kw 248[6] [static]


Initial value:
= {
{"additive",8,0,2,2,1743,0,0.,0.,0.,0,"[CHOOSE correction type]"},
{"combined",8,0,2,2,1747},
{"first order",8,0,1,1,1739,0,0.,0.,0.,0,"[CHOOSE correction order]"},
{"multiplicative",8,0,2,2,1745},
{"second order",8,0,1,1,1741},
{"zeroth order",8,0,1,1,1737}
}

GuiKeyWord kw 249[2] [static]


Initial value:
= {
{"folds",9,0,1,0,1753,0,0.,0.,0.,0,"{Number cross validation folds}
ModelCommands.html#ModelSurrG"},
{"percent",10,0,1,0,1755,0,0.,0.,0.,0,"{Percent points per CV fold}
ModelCommands.html#ModelSurrG"}
}

GuiKeyWord kw 250[2] [static]


Initial value:
= {
{"cross validate",8,2,1,0,1751,kw 249},
{"press",8,0,2,0,1757,0,0.,0.,0.,0,"{Perform PRESS cross validation}
ModelCommands.html#ModelSurrG"}
}

GuiKeyWord kw 251[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1729},
{"freeform",8,0,1,0,1731}
}

GuiKeyWord kw 252[3] [static]


Initial value:
= {
{"constant",8,0,1,1,1623},
{"linear",8,0,1,1,1625},
{"reduced quadratic",8,0,1,1,1627}
}

GuiKeyWord kw 253[2] [static]


Initial value:
= {
{"point selection",8,0,1,0,1619,0,0.,0.,0.,0,"{GP point selection}
ModelCommands.html#ModelSurrG"},
{"trend",8,3,2,0,1621,kw 252,0.,0.,0.,0,"{GP trend function} ModelCommands.html#ModelSurrG"
}
}

196

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 254[4] [static]


Initial value:
= {
{"constant",8,0,1,1,1633},
{"linear",8,0,1,1,1635},
{"quadratic",8,0,1,1,1639},
{"reduced quadratic",8,0,1,1,1637}
}

GuiKeyWord kw 255[7] [static]


Initial value:
= {
{"correlation lengths",14,0,5,0,1649,0,0.,0.,0.,0,"{Surfpack GP correlation lengths}
ModelCommands.html#ModelSurrG"},
{"export model file",11,0,6,0,1651},
{"find nugget",9,0,4,0,1647,0,0.,0.,0.,0,"{Surfpack finds the optimal nugget }
ModelCommands.html#ModelSurrG"},
{"max trials",0x19,0,3,0,1643,0,0.,0.,0.,0,"{Surfpack GP maximum trials}
ModelCommands.html#ModelSurrG"},
{"nugget",0x1a,0,4,0,1645,0,0.,0.,0.,0,"{Surfpack user-specified nugget }
ModelCommands.html#ModelSurrG"},
{"optimization method",11,0,2,0,1641,0,0.,0.,0.,0,"{Surfpack GP optimization method}
ModelCommands.html#ModelSurrG"},
{"trend",8,4,1,0,1631,kw 254,0.,0.,0.,0,"{Surfpack GP trend function}
ModelCommands.html#ModelSurrG"}
}

GuiKeyWord kw 256[2] [static]


Initial value:
= {
{"dakota",8,2,1,1,1617,kw 253},
{"surfpack",8,7,1,1,1629,kw 255}
}

GuiKeyWord kw 257[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,1723,0,0.,0.,0.,0,"{Challenge file in annotated format}
ModelCommands.html#ModelSurrG"},
{"freeform",8,0,1,0,1725,0,0.,0.,0.,0,"{Challenge file in freeform format}
ModelCommands.html#ModelSurrG"}
}

GuiKeyWord kw 258[2] [static]


Initial value:
= {
{"cubic",8,0,1,1,1661},
{"linear",8,0,1,1,1659}
}

12.1. DAKOTA NAMESPACE REFERENCE

197

GuiKeyWord kw 259[3] [static]


Initial value:
= {
{"export model file",11,0,3,0,1663},
{"interpolation",8,2,2,0,1657,kw 258,0.,0.,0.,0,"{MARS interpolation}
ModelCommands.html#ModelSurrG"},
{"max bases",9,0,1,0,1655,0,0.,0.,0.,0,"{MARS maximum bases} ModelCommands.html#ModelSurrG"
}
}

GuiKeyWord kw 260[3] [static]


Initial value:
= {
{"export model file",11,0,3,0,1671},
{"poly order",9,0,1,0,1667,0,0.,0.,0.,0,"{MLS polynomial order}
ModelCommands.html#ModelSurrG"},
{"weight function",9,0,2,0,1669,0,0.,0.,0.,0,"{MLS weight function}
ModelCommands.html#ModelSurrG"}
}

GuiKeyWord kw 261[4] [static]


Initial value:
= {
{"export model file",11,0,4,0,1681},
{"nodes",9,0,1,0,1675,0,0.,0.,0.,0,"{ANN number nodes} ModelCommands.html#ModelSurrG"},
{"random weight",9,0,3,0,1679,0,0.,0.,0.,0,"{ANN random weight}
ModelCommands.html#ModelSurrG"},
{"range",10,0,2,0,1677,0,0.,0.,0.,0,"{ANN range} ModelCommands.html#ModelSurrG"}
}

GuiKeyWord kw 262[4] [static]


Initial value:
= {
{"cubic",8,0,1,1,1701,0,0.,0.,0.,0,"[CHOOSE polynomial order]"},
{"export model file",11,0,2,0,1703},
{"linear",8,0,1,1,1697},
{"quadratic",8,0,1,1,1699}
}

GuiKeyWord kw 263[5] [static]


Initial value:
= {
{"bases",9,0,1,0,1685,0,0.,0.,0.,0,"{RBF number of bases} ModelCommands.html#ModelSurrG"},
{"export model file",11,0,5,0,1693},
{"max pts",9,0,2,0,1687,0,0.,0.,0.,0,"{RBF maximum points} ModelCommands.html#ModelSurrG"},
{"max subsets",9,0,4,0,1691},
{"min partition",9,0,3,0,1689,0,0.,0.,0.,0,"{RBF minimum partitions}
ModelCommands.html#ModelSurrG"}
}

198

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 264[3] [static]


Initial value:
= {
{"all",8,0,1,1,1715},
{"none",8,0,1,1,1719},
{"region",8,0,1,1,1717}
}

GuiKeyWord kw 265[21] [static]


Initial value:
= {
{"challenge points file",11,2,10,0,1759,kw 247,0.,0.,0.,0,"{Challenge file for surrogate
metrics} ModelCommands.html#ModelSurrG"},
{"correction",8,6,8,0,1735,kw 248,0.,0.,0.,0,"{Surrogate correction approach}
ModelCommands.html#ModelSurrG"},
{"dace method pointer",11,0,3,0,1711,0,0.,0.,0.,0,"{Design of experiments method pointer}
ModelCommands.html#ModelSurrG"},
{"diagnostics",7,2,9,0,1748,kw 250},
{"export points file",11,2,6,0,1727,kw 251,0.,0.,0.,0,"{File export of global
approximation-based sample results} ModelCommands.html#ModelSurrG"},
{"gaussian process",8,2,1,1,1615,kw 256,0.,0.,0.,0,"[CHOOSE surrogate type]{Dakota Gaussian
process} ModelCommands.html#ModelSurrG"},
{"import points file",11,2,5,0,1721,kw 257,0.,0.,0.,0,"{File import of samples for global
approximation builds} ModelCommands.html#ModelSurrG"},
{"kriging",0,2,1,1,1614,kw 256},
{"mars",8,3,1,1,1653,kw 259,0.,0.,0.,0,"{Multivariate adaptive regression splines}
ModelCommands.html#ModelSurrG"},
{"metrics",15,2,9,0,1749,kw 250,0.,0.,0.,0,"{Compute surrogate diagnostics}
ModelCommands.html#ModelSurrG"},
{"minimum points",8,0,2,0,1707},
{"moving least squares",8,3,1,1,1665,kw 260,0.,0.,0.,0,"{Moving least squares}
ModelCommands.html#ModelSurrG"},
{"neural network",8,4,1,1,1673,kw 261,0.,0.,0.,0,"{Artificial neural network}
ModelCommands.html#ModelSurrG"},
{"polynomial",8,4,1,1,1695,kw 262,0.,0.,0.,0,"{Polynomial} ModelCommands.html#ModelSurrG"},
{"radial basis",8,5,1,1,1683,kw 263},
{"recommended points",8,0,2,0,1709},
{"reuse points",8,3,4,0,1713,kw 264},
{"reuse samples",0,3,4,0,1712,kw 264},
{"samples file",3,2,5,0,1720,kw 257},
{"total points",9,0,2,0,1705},
{"use derivatives",8,0,7,0,1733,0,0.,0.,0.,0,"{Surfpack GP gradient enhancement}
ModelCommands.html#ModelSurrG"}
}

GuiKeyWord kw 266[6] [static]


Initial value:
= {
{"additive",8,0,2,2,1789,0,0.,0.,0.,0,"[CHOOSE correction type]"},
{"combined",8,0,2,2,1793},
{"first order",8,0,1,1,1785,0,0.,0.,0.,0,"[CHOOSE correction order]"},
{"multiplicative",8,0,2,2,1791},
{"second order",8,0,1,1,1787},
{"zeroth order",8,0,1,1,1783}
}

12.1. DAKOTA NAMESPACE REFERENCE


GuiKeyWord kw 267[3] [static]
Initial value:
= {
{"correction",8,6,3,3,1781,kw 266,0.,0.,0.,0,"{Surrogate correction approach}
ModelCommands.html#ModelSurrH"},
{"high fidelity model pointer",11,0,2,2,1779,0,0.,0.,0.,0,"{Pointer to the high fidelity
model specification} ModelCommands.html#ModelSurrH"},
{"low fidelity model pointer",11,0,1,1,1777,0,0.,0.,0.,0,"{Pointer to the low fidelity
model specification} ModelCommands.html#ModelSurrH"}
}

GuiKeyWord kw 268[2] [static]


Initial value:
= {
{"actual model pointer",11,0,2,2,1773,0,0.,0.,0.,0,"{Pointer to the truth model
specification} ModelCommands.html#ModelSurrMP"},
{"taylor series",8,0,1,1,1771,0,0.,0.,0.,0,"{Taylor series local approximation }
ModelCommands.html#ModelSurrL"}
}

GuiKeyWord kw 269[2] [static]


Initial value:
= {
{"actual model pointer",11,0,2,2,1773,0,0.,0.,0.,0,"{Pointer to the truth model
specification} ModelCommands.html#ModelSurrMP"},
{"tana",8,0,1,1,1767,0,0.,0.,0.,0,"{Two-point adaptive nonlinear approximation }
ModelCommands.html#ModelSurrMP"}
}

GuiKeyWord kw 270[5] [static]


Initial value:
= {
{"global",8,21,2,1,1613,kw 265,0.,0.,0.,0,"[CHOOSE surrogate category]{Global
approximations } ModelCommands.html#ModelSurrG"},
{"hierarchical",8,3,2,1,1775,kw 267,0.,0.,0.,0,"{Hierarchical approximation }
ModelCommands.html#ModelSurrH"},
{"id surrogates",13,0,1,0,1611,0,0.,0.,0.,0,"{Surrogate response ids}
ModelCommands.html#ModelSurrogate"},
{"local",8,2,2,1,1769,kw 268,0.,0.,0.,0,"{Local approximation}
ModelCommands.html#ModelSurrL"},
{"multipoint",8,2,2,1,1765,kw 269,0.,0.,0.,0,"{Multipoint approximation}
ModelCommands.html#ModelSurrMP"}
}

GuiKeyWord kw 271[7] [static]


Initial value:

199

200

CHAPTER 12. NAMESPACE DOCUMENTATION

= {
{"hierarchical tagging",8,0,4,0,1603,0,0.,0.,0.,0,"{Hierarchical evaluation tags}
ModelCommands.html#ModelIndControl"},
{"id model",11,0,1,0,1597,0,0.,0.,0.,0,"{Model set identifier}
ModelCommands.html#ModelIndControl"},
{"nested",8,2,5,1,1795,kw 245,0.,0.,0.,0,"[CHOOSE model type]"},
{"responses pointer",11,0,3,0,1601,0,0.,0.,0.,0,"{Responses set pointer}
ModelCommands.html#ModelIndControl"},
{"single",8,1,5,1,1605,kw 246,0.,0.,0.,0,"@"},
{"surrogate",8,5,5,1,1609,kw 270},
{"variables pointer",11,0,2,0,1599,0,0.,0.,0.,0,"{Variables set pointer}
ModelCommands.html#ModelIndControl"}
}

GuiKeyWord kw 272[6] [static]


Initial value:
= {
{"annotated",8,0,3,0,2349,0,0.,0.,0.,0,"{Data file in annotated format}
RespCommands.html#RespFnLS"},
{"freeform",8,0,3,0,2351,0,0.,0.,0.,0,"{Data file in freeform format}
RespCommands.html#RespFnLS"},
{"num config variables",0x29,0,4,0,2353,0,0.,0.,0.,0,"{Configuration variable columns in
file} RespCommands.html#RespFnLS"},
{"num experiments",0x29,0,1,0,2345,0,0.,0.,0.,0,"{Experiments in file}
RespCommands.html#RespFnLS"},
{"num replicates",13,0,2,0,2347,0,0.,0.,0.,0,"{Replicates per each experiment in file}
RespCommands.html#RespFnLS"},
{"num std deviations",0x29,0,5,0,2355,0,0.,0.,0.,0,"{Standard deviation columns in file}
RespCommands.html#RespFnLS"}
}

GuiKeyWord kw 273[6] [static]


Initial value:
= {
{"nonlinear equality scale types",0x807,0,2,0,2370,0,0.,0.,0.,0,0,0,"
nonlinear equality constraints"},
{"nonlinear equality scales",0x806,0,3,0,2372,0,0.,0.,0.,0,0,0,"
nonlinear equality constraints"},
{"nonlinear equality targets",6,0,1,0,2368,0,0.,0.,0.,0,0,0,"nonlinear equality constraints
"},
{"scale types",0x80f,0,2,0,2371,0,0.,0.,0.,0,0,0,"nonlinear equality constraints"},
{"scales",0x80e,0,3,0,2373,0,0.,0.,0.,0,0,0,"nonlinear equality constraints"},
{"targets",14,0,1,0,2369,0,0.,0.,0.,0,"{Nonlinear equality targets}
RespCommands.html#RespFnLS",0,"nonlinear equality constraints"}
}

GuiKeyWord kw 274[8] [static]


Initial value:
= {
{"lower bounds",14,0,1,0,2359,0,0.,0.,0.,0,"{Nonlinear inequality lower bounds}
RespCommands.html#RespFnLS",0,"nonlinear inequality constraints"},
{"nonlinear inequality lower bounds",6,0,1,0,2358,0,0.,0.,0.,0,0,0,"
nonlinear inequality constraints"},
{"nonlinear inequality scale types",0x807,0,3,0,2362,0,0.,0.,0.,0,0,0,"
nonlinear inequality constraints"},
{"nonlinear inequality scales",0x806,0,4,0,2364,0,0.,0.,0.,0,0,0,"
nonlinear inequality constraints"},
{"nonlinear inequality upper bounds",6,0,2,0,2360,0,0.,0.,0.,0,0,0,"
nonlinear inequality constraints"},

12.1. DAKOTA NAMESPACE REFERENCE

201

{"scale types",0x80f,0,3,0,2363,0,0.,0.,0.,0,0,0,"nonlinear inequality constraints"},


{"scales",0x80e,0,4,0,2365,0,0.,0.,0.,0,0,0,"nonlinear inequality constraints"},
{"upper bounds",14,0,2,0,2361,0,0.,0.,0.,0,"{Nonlinear inequality upper bounds}
RespCommands.html#RespFnLS",0,"nonlinear inequality constraints"}
}

GuiKeyWord kw 275[15] [static]


Initial value:
= {
{"calibration data file",11,6,4,0,2343,kw 272,0.,0.,0.,0,"{Calibration data file name}
RespCommands.html#RespFnLS"},
{"calibration term scale types",0x807,0,1,0,2336,0,0.,0.,0.,0,0,0,"calibration terms"},
{"calibration term scales",0x806,0,2,0,2338,0,0.,0.,0.,0,0,0,"calibration terms"},
{"calibration weights",6,0,3,0,2340,0,0.,0.,0.,0,0,0,"calibration terms"},
{"least squares data file",3,6,4,0,2342,kw 272},
{"least squares term scale types",0x807,0,1,0,2336,0,0.,0.,0.,0,0,0,"calibration terms"},
{"least squares term scales",0x806,0,2,0,2338,0,0.,0.,0.,0,0,0,"calibration terms"},
{"least squares weights",6,0,3,0,2340,0,0.,0.,0.,0,0,0,"calibration terms"},
{"nonlinear equality constraints",0x29,6,6,0,2367,kw 273,0.,0.,0.,0,"{Number of nonlinear
equality constraints} RespCommands.html#RespFnLS"},
{"nonlinear inequality constraints",0x29,8,5,0,2357,kw 274,0.,0.,0.,0,"{Number of nonlinear
inequality constraints} RespCommands.html#RespFnLS"},
{"num nonlinear equality constraints",0x21,6,6,0,2366,kw 273},
{"num nonlinear inequality constraints",0x21,8,5,0,2356,kw 274},
{"primary scale types",0x80f,0,1,0,2337,0,0.,0.,0.,0,"{Calibration scaling types}
RespCommands.html#RespFnLS",0,"calibration terms"},
{"primary scales",0x80e,0,2,0,2339,0,0.,0.,0.,0,"{Calibration scales}
RespCommands.html#RespFnLS",0,"calibration terms"},
{"weights",14,0,3,0,2341,0,0.,0.,0.,0,"{Calibration term weights}
RespCommands.html#RespFnLS",0,"calibration terms"}
}

GuiKeyWord kw 276[4] [static]


Initial value:
= {
{"absolute",8,0,2,0,2397},
{"bounds",8,0,2,0,2399},
{"ignore bounds",8,0,1,0,2393,0,0.,0.,0.,0,"{Ignore variable bounds}
RespCommands.html#RespGradMixed"},
{"relative",8,0,2,0,2395}
}

GuiKeyWord kw 277[10] [static]


Initial value:
= {
{"central",8,0,6,0,2407,0,0.,0.,0.,0,"[CHOOSE difference interval]"},
{"dakota",8,4,4,0,2391,kw 276,0.,0.,0.,0,"@[CHOOSE gradient source]{Interval scaling type}
RespCommands.html#RespGradNum"},
{"fd gradient step size",6,0,7,0,2408},
{"fd step size",14,0,7,0,2409,0,0.,0.,0.,0,"{Finite difference step size}
RespCommands.html#RespGradMixed"},
{"forward",8,0,6,0,2405,0,0.,0.,0.,0,"@"},
{"id analytic gradients",13,0,2,2,2385,0,0.,0.,0.,0,"{Analytic derivatives function list}
RespCommands.html#RespGradMixed"},
{"id numerical gradients",13,0,1,1,2383,0,0.,0.,0.,0,"{Numerical derivatives function list}
RespCommands.html#RespGradMixed"},
{"interval type",8,0,5,0,2403,0,0.,0.,0.,0,"{Interval type} RespCommands.html#RespGradNum"}
,
{"method source",8,0,3,0,2389,0,0.,0.,0.,0,"{Method source} RespCommands.html#RespGradNum"}
,
{"vendor",8,0,4,0,2401}
}

202

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 278[2] [static]


Initial value:
= {
{"fd hessian step size",6,0,1,0,2440},
{"fd step size",14,0,1,0,2441,0,0.,0.,0.,0,"{Finite difference step size}
RespCommands.html#RespHessMixed"}
}

GuiKeyWord kw 279[1] [static]


Initial value:
= {
{"damped",8,0,1,0,2457,0,0.,0.,0.,0,"{Numerical safeguarding of BFGS update}
RespCommands.html#RespHessMixed"}
}

GuiKeyWord kw 280[2] [static]


Initial value:
= {
{"bfgs",8,1,1,1,2455,kw 279,0.,0.,0.,0,"[CHOOSE Hessian approx.]"},
{"sr1",8,0,1,1,2459}
}

GuiKeyWord kw 281[8] [static]


Initial value:
= {
{"absolute",8,0,2,0,2445},
{"bounds",8,0,2,0,2447},
{"central",8,0,3,0,2451,0,0.,0.,0.,0,"[CHOOSE difference interval]"},
{"forward",8,0,3,0,2449,0,0.,0.,0.,0,"@"},
{"id analytic hessians",13,0,5,0,2461,0,0.,0.,0.,0,"{Analytic Hessians function list}
RespCommands.html#RespHessMixed"},
{"id numerical hessians",13,2,1,0,2439,kw 278,0.,0.,0.,0,"{Numerical Hessians function
list} RespCommands.html#RespHessMixed"},
{"id quasi hessians",13,2,4,0,2453,kw 280,0.,0.,0.,0,"{Quasi Hessians function list}
RespCommands.html#RespHessMixed"},
{"relative",8,0,2,0,2443}
}

GuiKeyWord kw 282[6] [static]


Initial value:
= {
{"nonlinear equality scale types",0x807,0,2,0,2330,0,0.,0.,0.,0,0,0,"
nonlinear equality constraints"},
{"nonlinear equality scales",0x806,0,3,0,2332,0,0.,0.,0.,0,0,0,"
nonlinear equality constraints"},
{"nonlinear equality targets",6,0,1,0,2328,0,0.,0.,0.,0,0,0,"nonlinear equality constraints
"},
{"scale types",0x80f,0,2,0,2331,0,0.,0.,0.,0,"{Nonlinear scaling types (for inequalities or
equalities)} RespCommands.html#RespFnLS",0,"nonlinear equality constraints"},
{"scales",0x80e,0,3,0,2333,0,0.,0.,0.,0,"{Nonlinear scales (for inequalities or
equalities)} RespCommands.html#RespFnLS",0,"nonlinear equality constraints"},
{"targets",14,0,1,0,2329,0,0.,0.,0.,0,"{Nonlinear equality constraint targets}
RespCommands.html#RespFnOpt",0,"nonlinear equality constraints"}
}

12.1. DAKOTA NAMESPACE REFERENCE

203

GuiKeyWord kw 283[8] [static]


Initial value:
= {
{"lower bounds",14,0,1,0,2319,0,0.,0.,0.,0,"{Nonlinear inequality constraint lower bounds}
RespCommands.html#RespFnOpt",0,"nonlinear inequality constraints"},
{"nonlinear inequality lower bounds",6,0,1,0,2318,0,0.,0.,0.,0,0,0,"
nonlinear inequality constraints"},
{"nonlinear inequality scale types",0x807,0,3,0,2322,0,0.,0.,0.,0,0,0,"
nonlinear inequality constraints"},
{"nonlinear inequality scales",0x806,0,4,0,2324,0,0.,0.,0.,0,0,0,"
nonlinear inequality constraints"},
{"nonlinear inequality upper bounds",6,0,2,0,2320,0,0.,0.,0.,0,0,0,"
nonlinear inequality constraints"},
{"scale types",0x80f,0,3,0,2323,0,0.,0.,0.,0,"{Nonlinear constraint scaling types (for
inequalities or equalities)} RespCommands.html#RespFnOpt",0,"nonlinear inequality constraints"},
{"scales",0x80e,0,4,0,2325,0,0.,0.,0.,0,"{Nonlinear constraint scales (for inequalities or
equalities)} RespCommands.html#RespFnOpt",0,"nonlinear inequality constraints"},
{"upper bounds",14,0,2,0,2321,0,0.,0.,0.,0,"{Nonlinear inequality constraint upper bounds}
RespCommands.html#RespFnOpt",0,"nonlinear inequality constraints"}
}

GuiKeyWord kw 284[11] [static]


Initial value:
= {
{"multi objective weights",6,0,4,0,2314,0,0.,0.,0.,0,0,0,"objective functions"},
{"nonlinear equality constraints",0x29,6,6,0,2327,kw 282,0.,0.,0.,0,"{Number of nonlinear
equality constraints} RespCommands.html#RespFnOpt"},
{"nonlinear inequality constraints",0x29,8,5,0,2317,kw 283,0.,0.,0.,0,"{Number of nonlinear
inequality constraints} RespCommands.html#RespFnOpt"},
{"num nonlinear equality constraints",0x21,6,6,0,2326,kw 282},
{"num nonlinear inequality constraints",0x21,8,5,0,2316,kw 283},
{"objective function scale types",0x807,0,2,0,2310,0,0.,0.,0.,0,0,0,"objective functions"},
{"objective function scales",0x806,0,3,0,2312,0,0.,0.,0.,0,0,0,"objective functions"},
{"primary scale types",0x80f,0,2,0,2311,0,0.,0.,0.,0,"{Objective function scaling types}
RespCommands.html#RespFnOpt",0,"objective functions"},
{"primary scales",0x80e,0,3,0,2313,0,0.,0.,0.,0,"{Objective function scales}
RespCommands.html#RespFnOpt",0,"objective functions"},
{"sense",0x80f,0,1,0,2309,0,0.,0.,0.,0,"{Optimization sense} RespCommands.html#RespFnOpt",0
,"objective functions"},
{"weights",14,0,4,0,2315,0,0.,0.,0.,0,"{Multi-objective weightings}
RespCommands.html#RespFnOpt",0,"objective functions"}
}

GuiKeyWord kw 285[8] [static]


Initial value:
= {
{"central",8,0,6,0,2407,0,0.,0.,0.,0,"[CHOOSE difference interval]"},
{"dakota",8,4,4,0,2391,kw 276,0.,0.,0.,0,"@[CHOOSE gradient source]{Interval scaling type}
RespCommands.html#RespGradNum"},
{"fd gradient step size",6,0,7,0,2408},
{"fd step size",14,0,7,0,2409,0,0.,0.,0.,0,"{Finite difference step size}
RespCommands.html#RespGradMixed"},
{"forward",8,0,6,0,2405,0,0.,0.,0.,0,"@"},
{"interval type",8,0,5,0,2403,0,0.,0.,0.,0,"{Interval type} RespCommands.html#RespGradNum"}
,
{"method source",8,0,3,0,2389,0,0.,0.,0.,0,"{Method source} RespCommands.html#RespGradNum"}
,
{"vendor",8,0,4,0,2401}
}

204

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 286[7] [static]


Initial value:
= {
{"absolute",8,0,2,0,2419},
{"bounds",8,0,2,0,2421},
{"central",8,0,3,0,2425,0,0.,0.,0.,0,"[CHOOSE difference interval]"},
{"fd hessian step size",6,0,1,0,2414},
{"fd step size",14,0,1,0,2415,0,0.,0.,0.,0,"{Finite difference step size}
RespCommands.html#RespHessNum"},
{"forward",8,0,3,0,2423,0,0.,0.,0.,0,"@"},
{"relative",8,0,2,0,2417}
}

GuiKeyWord kw 287[1] [static]


Initial value:
= {
{"damped",8,0,1,0,2431,0,0.,0.,0.,0,"{Numerical safeguarding of BFGS update}
RespCommands.html#RespHessQuasi"}
}

GuiKeyWord kw 288[2] [static]


Initial value:
= {
{"bfgs",8,1,1,1,2429,kw 287,0.,0.,0.,0,"[CHOOSE Hessian approx.]"},
{"sr1",8,0,1,1,2433}
}

GuiKeyWord kw 289[19] [static]


Initial value:
= {
{"analytic gradients",8,0,4,2,2379,0,0.,0.,0.,0,"[CHOOSE gradient type]"},
{"analytic hessians",8,0,5,3,2435,0,0.,0.,0.,0,"[CHOOSE Hessian type]"},
{"calibration terms",0x29,15,3,1,2335,kw 275,0.,0.,0.,0,"{{Calibration (Least squares)}
Number of calibration terms} RespCommands.html#RespFnLS"},
{"descriptors",15,0,2,0,2305,0,0.,0.,0.,0,"{Response labels} RespCommands.html#RespLabels"}
,
{"id responses",11,0,1,0,2303,0,0.,0.,0.,0,"{Responses set identifier}
RespCommands.html#RespSetId"},
{"least squares terms",0x21,15,3,1,2334,kw 275},
{"mixed gradients",8,10,4,2,2381,kw 277,0.,0.,0.,0,"{Mixed gradients}
RespCommands.html#RespGradMixed"},
{"mixed hessians",8,8,5,3,2437,kw 281,0.,0.,0.,0,"{Mixed Hessians}
RespCommands.html#RespHessMixed"},
{"no gradients",8,0,4,2,2377,0,0.,0.,0.,0,"@"},
{"no hessians",8,0,5,3,2411,0,0.,0.,0.,0,"@"},
{"num least squares terms",0x21,15,3,1,2334,kw 275},
{"num objective functions",0x21,11,3,1,2306,kw 284},
{"num response functions",0x21,0,3,1,2374},
{"numerical gradients",8,8,4,2,2387,kw 285,0.,0.,0.,0,"{Numerical gradients}
RespCommands.html#RespGradNum"},
{"numerical hessians",8,7,5,3,2413,kw 286,0.,0.,0.,0,"{Numerical Hessians}
RespCommands.html#RespHessNum"},
{"objective functions",0x29,11,3,1,2307,kw 284,0.,0.,0.,0,"{{Optimization} Number of
objective functions} RespCommands.html#RespFnOpt"},
{"quasi hessians",8,2,5,3,2427,kw 288,0.,0.,0.,0,"{Quasi Hessians}
RespCommands.html#RespHessQuasi"},
{"response descriptors",7,0,2,0,2304},
{"response functions",0x29,0,3,1,2375,0,0.,0.,0.,0,"{{Generic responses} Number of response
functions} RespCommands.html#RespFnGen"}
}

12.1. DAKOTA NAMESPACE REFERENCE

205

GuiKeyWord kw 290[6] [static]


Initial value:
= {
{"aleatory",8,0,1,1,1833},
{"all",8,0,1,1,1827},
{"design",8,0,1,1,1829},
{"epistemic",8,0,1,1,1835},
{"state",8,0,1,1,1837},
{"uncertain",8,0,1,1,1831}
}

GuiKeyWord kw 291[11] [static]


Initial value:
= {
{"alphas",14,0,1,1,1963,0,0.,0.,0.,0,"{beta uncertain alphas} VarCommands.html#VarCAUV Beta
",0,"beta uncertain"},
{"betas",14,0,2,2,1965,0,0.,0.,0.,0,"{beta uncertain betas} VarCommands.html#VarCAUV Beta",
0,"beta uncertain"},
{"buv alphas",6,0,1,1,1962,0,0.,0.,0.,0,0,0,"beta uncertain"},
{"buv betas",6,0,2,2,1964,0,0.,0.,0.,0,0,0,"beta uncertain"},
{"buv descriptors",7,0,6,0,1972,0,0.,0.,0.,0,0,0,"beta uncertain"},
{"buv lower bounds",6,0,3,3,1966,0,0.,0.,0.,0,0,0,"beta uncertain"},
{"buv upper bounds",6,0,4,4,1968,0,0.,0.,0.,0,0,0,"beta uncertain"},
{"descriptors",15,0,6,0,1973,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCAUV Beta",0,"
beta uncertain"},
{"initial point",14,0,5,0,1971,0,0.,0.,0.,0,0,0,"beta uncertain"},
{"lower bounds",14,0,3,3,1967,0,0.,0.,0.,0,"{Distribution lower bounds}
VarCommands.html#VarCAUV Beta",0,"beta uncertain"},
{"upper bounds",14,0,4,4,1969,0,0.,0.,0.,0,"{Distribution upper bounds}
VarCommands.html#VarCAUV Beta",0,"beta uncertain"}
}

GuiKeyWord kw 292[5] [static]


Initial value:
= {
{"descriptors",15,0,4,0,2045,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDAUV Binomial"
,0,"binomial uncertain"},
{"initial point",13,0,3,0,2043,0,0.,0.,0.,0,0,0,"binomial uncertain"},
{"num trials",13,0,2,2,2041,0,0.,0.,0.,0,"{binomial uncertain num trials}
VarCommands.html#VarDAUV Binomial",0,"binomial uncertain"},
{"prob per trial",6,0,1,1,2038,0,0.,0.,0.,0,0,0,"binomial uncertain"},
{"probability per trial",14,0,1,1,2039,0,0.,0.,0.,0,0,0,"binomial uncertain"}
}

GuiKeyWord kw 293[12] [static]


Initial value:
= {
{"cdv descriptors",7,0,6,0,1854,0,0.,0.,0.,0,0,0,"continuous design"},
{"cdv initial point",6,0,1,0,1844,0,0.,0.,0.,0,0,0,"continuous design"},
{"cdv lower bounds",6,0,2,0,1846,0,0.,0.,0.,0,0,0,"continuous design"},
{"cdv scale types",0x807,0,4,0,1850,0,0.,0.,0.,0,0,0,"continuous design"},
{"cdv scales",0x806,0,5,0,1852,0,0.,0.,0.,0,0,0,"continuous design"},
{"cdv upper bounds",6,0,3,0,1848,0,0.,0.,0.,0,0,0,"continuous design"},
{"descriptors",15,0,6,0,1855,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCDV",0,"
continuous design"},
{"initial point",14,0,1,0,1845,0,0.,0.,0.,0,"{Initial point} VarCommands.html#VarCDV",0,"

206

CHAPTER 12. NAMESPACE DOCUMENTATION


continuous design"},
{"lower bounds",14,0,2,0,1847,0,0.,0.,0.,0,"{Lower bounds} VarCommands.html#VarCDV",0,"
continuous design"},
{"scale types",0x80f,0,4,0,1851,0,0.,0.,0.,0,"{Scaling types} VarCommands.html#VarCDV",0,"
continuous design"},
{"scales",0x80e,0,5,0,1853,0,0.,0.,0.,0,"{Scales} VarCommands.html#VarCDV",0,"
continuous design"},
{"upper bounds",14,0,3,0,1849,0,0.,0.,0.,0,"{Upper bounds} VarCommands.html#VarCDV",0,"
continuous design"}
}

GuiKeyWord kw 294[10] [static]


Initial value:
= {
{"descriptors",15,0,6,0,2103,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCEUV Interval"
,0,"continuous interval uncertain"},
{"initial point",14,0,5,0,2101,0,0.,0.,0.,0,0,0,"continuous interval uncertain"},
{"interval probabilities",14,0,2,0,2095,0,0.,0.,0.,0,"{basic probability assignments per
continuous interval} VarCommands.html#VarCEUV Interval"},
{"interval probs",6,0,2,0,2094},
{"iuv descriptors",7,0,6,0,2102,0,0.,0.,0.,0,0,0,"continuous interval uncertain"},
{"iuv interval probs",6,0,2,0,2094},
{"iuv num intervals",5,0,1,0,2092,0,0.,0.,0.,0,0,0,"continuous interval uncertain"},
{"lower bounds",14,0,3,1,2097,0,0.,0.,0.,0,"{lower bounds of continuous intervals}
VarCommands.html#VarCEUV Interval"},
{"num intervals",13,0,1,0,2093,0,0.,0.,0.,0,"{number of intervals defined for each
continuous interval variable} VarCommands.html#VarCEUV Interval",0,"continuous interval uncertain"},
{"upper bounds",14,0,4,2,2099,0,0.,0.,0.,0,"{upper bounds of continuous intervals}
VarCommands.html#VarCEUV Interval"}
}

GuiKeyWord kw 295[8] [static]


Initial value:
= {
{"csv descriptors",7,0,4,0,2150,0,0.,0.,0.,0,0,0,"continuous state"},
{"csv initial state",6,0,1,0,2144,0,0.,0.,0.,0,0,0,"continuous state"},
{"csv lower bounds",6,0,2,0,2146,0,0.,0.,0.,0,0,0,"continuous state"},
{"csv upper bounds",6,0,3,0,2148,0,0.,0.,0.,0,0,0,"continuous state"},
{"descriptors",15,0,4,0,2151,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCSV",0,"
continuous state"},
{"initial state",14,0,1,0,2145,0,0.,0.,0.,0,"{Initial states} VarCommands.html#VarCSV",0,"
continuous state"},
{"lower bounds",14,0,2,0,2147,0,0.,0.,0.,0,"{Lower bounds} VarCommands.html#VarCSV",0,"
continuous state"},
{"upper bounds",14,0,3,0,2149,0,0.,0.,0.,0,"{Upper bounds} VarCommands.html#VarCSV",0,"
continuous state"}
}

GuiKeyWord kw 296[8] [static]


Initial value:
= {
{"ddv descriptors",7,0,4,0,1864,0,0.,0.,0.,0,0,0,"discrete design range"},
{"ddv initial point",5,0,1,0,1858,0,0.,0.,0.,0,0,0,"discrete design range"},
{"ddv lower bounds",5,0,2,0,1860,0,0.,0.,0.,0,0,0,"discrete design range"},
{"ddv upper bounds",5,0,3,0,1862,0,0.,0.,0.,0,0,0,"discrete design range"},
{"descriptors",15,0,4,0,1865,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDDRIV",0,"
discrete design range"},
{"initial point",13,0,1,0,1859,0,0.,0.,0.,0,"{Initial point} VarCommands.html#VarDDRIV",0,"
discrete design range"},

12.1. DAKOTA NAMESPACE REFERENCE

207

{"lower bounds",13,0,2,0,1861,0,0.,0.,0.,0,"{Lower bounds} VarCommands.html#VarDDRIV",0,"


discrete design range"},
{"upper bounds",13,0,3,0,1863,0,0.,0.,0.,0,"{Upper bounds} VarCommands.html#VarDDRIV",0,"
discrete design range"}
}

GuiKeyWord kw 297[4] [static]


Initial value:
= {
{"descriptors",15,0,4,0,1875,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDDSIV",0,"
discrete design set integer"},
{"initial point",13,0,1,0,1869,0,0.,0.,0.,0,"{Initial point} VarCommands.html#VarDDSIV",0,"
discrete design set integer"},
{"num set values",13,0,2,0,1871,0,0.,0.,0.,0,"{Number of values for each variable}
VarCommands.html#VarDDSIV",0,"discrete design set integer"},
{"set values",13,0,3,1,1873,0,0.,0.,0.,0,"{Set values} VarCommands.html#VarDDSIV"}
}

GuiKeyWord kw 298[4] [static]


Initial value:
= {
{"descriptors",15,0,4,0,1885,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDDSRV",0,"
discrete design set real"},
{"initial point",14,0,1,0,1879,0,0.,0.,0.,0,"{Initial point} VarCommands.html#VarDDSRV",0,"
discrete design set real"},
{"num set values",13,0,2,0,1881,0,0.,0.,0.,0,"{Number of values for each variable}
VarCommands.html#VarDDSRV",0,"discrete design set real"},
{"set values",14,0,3,1,1883,0,0.,0.,0.,0,"{Set values} VarCommands.html#VarDDSRV"}
}

GuiKeyWord kw 299[9] [static]


Initial value:
= {
{"descriptors",15,0,6,0,2117,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDIUV",0,"
discrete interval uncertain"},
{"initial point",13,0,5,0,2115,0,0.,0.,0.,0,0,0,"discrete interval uncertain"},
{"interval probabilities",14,0,2,0,2109,0,0.,0.,0.,0,"{Basic probability assignments per
interval} VarCommands.html#VarDIUV"},
{"interval probs",6,0,2,0,2108},
{"lower bounds",13,0,3,1,2111,0,0.,0.,0.,0,"{Lower bounds} VarCommands.html#VarDIUV"},
{"num intervals",13,0,1,0,2107,0,0.,0.,0.,0,"{Number of intervals defined for each interval
variable} VarCommands.html#VarDIUV",0,"discrete interval uncertain"},
{"range probabilities",6,0,2,0,2108},
{"range probs",6,0,2,0,2108},
{"upper bounds",13,0,4,2,2113,0,0.,0.,0.,0,"{Upper bounds} VarCommands.html#VarDIUV"}
}

GuiKeyWord kw 300[8] [static]


Initial value:
= {
{"descriptors",15,0,4,0,2161,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDSRIV",0,"
discrete state range"},
{"dsv descriptors",7,0,4,0,2160,0,0.,0.,0.,0,0,0,"discrete state range"},
{"dsv initial state",5,0,1,0,2154,0,0.,0.,0.,0,0,0,"discrete state range"},

208

CHAPTER 12. NAMESPACE DOCUMENTATION


{"dsv lower bounds",5,0,2,0,2156,0,0.,0.,0.,0,0,0,"discrete state range"},
{"dsv upper bounds",5,0,3,0,2158,0,0.,0.,0.,0,0,0,"discrete state range"},
{"initial state",13,0,1,0,2155,0,0.,0.,0.,0,"{Initial states} VarCommands.html#VarDSRIV",0,
"discrete state range"},
{"lower bounds",13,0,2,0,2157,0,0.,0.,0.,0,"{Lower bounds} VarCommands.html#VarDSRIV",0,"
discrete state range"},
{"upper bounds",13,0,3,0,2159,0,0.,0.,0.,0,"{Upper bounds} VarCommands.html#VarDSRIV",0,"
discrete state range"}
}

GuiKeyWord kw 301[4] [static]


Initial value:
= {
{"descriptors",15,0,4,0,2171,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDSSIV",0,"
discrete state set integer"},
{"initial state",13,0,1,0,2165,0,0.,0.,0.,0,"{Initial state} VarCommands.html#VarDSSIV",0,"
discrete state set integer"},
{"num set values",13,0,2,0,2167,0,0.,0.,0.,0,"{Number of values for each variable}
VarCommands.html#VarDSSIV",0,"discrete state set integer"},
{"set values",13,0,3,1,2169,0,0.,0.,0.,0,"{Set values} VarCommands.html#VarDSSIV"}
}

GuiKeyWord kw 302[4] [static]


Initial value:
= {
{"descriptors",15,0,4,0,2181,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDSSRV",0,"
discrete state set real"},
{"initial state",14,0,1,0,2175,0,0.,0.,0.,0,"{Initial state} VarCommands.html#VarDSSRV",0,"
discrete state set real"},
{"num set values",13,0,2,0,2177,0,0.,0.,0.,0,"{Number of values for each variable}
VarCommands.html#VarDSSRV",0,"discrete state set real"},
{"set values",14,0,3,1,2179,0,0.,0.,0.,0,"{Set values} VarCommands.html#VarDSSRV"}
}

GuiKeyWord kw 303[6] [static]


Initial value:
= {
{"descriptors",15,0,5,0,2129,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDUSIV",0,"
discrete uncertain set integer"},
{"initial point",13,0,4,0,2127,0,0.,0.,0.,0,0,0,"discrete uncertain set integer"},
{"num set values",13,0,1,0,2121,0,0.,0.,0.,0,"{Number of values for each variable}
VarCommands.html#VarDUSIV",0,"discrete uncertain set integer"},
{"set probabilities",14,0,3,0,2125,0,0.,0.,0.,0,"{Probabilities for each set member}
VarCommands.html#VarDUSIV"},
{"set probs",6,0,3,0,2124},
{"set values",13,0,2,1,2123,0,0.,0.,0.,0,"{Set values} VarCommands.html#VarDUSIV"}
}

GuiKeyWord kw 304[6] [static]


Initial value:

12.1. DAKOTA NAMESPACE REFERENCE

209

= {
{"descriptors",15,0,5,0,2141,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDUSRV",0,"
discrete uncertain set real"},
{"initial point",14,0,4,0,2139,0,0.,0.,0.,0,0,0,"discrete uncertain set real"},
{"num set values",13,0,1,0,2133,0,0.,0.,0.,0,"{Number of values for each variable}
VarCommands.html#VarDUSRV",0,"discrete uncertain set real"},
{"set probabilities",14,0,3,0,2137,0,0.,0.,0.,0,"{Probabilities for each set member}
VarCommands.html#VarDUSRV"},
{"set probs",6,0,3,0,2136},
{"set values",14,0,2,1,2135,0,0.,0.,0.,0,"{Set values} VarCommands.html#VarDUSRV"}
}

GuiKeyWord kw 305[5] [static]


Initial value:
= {
{"betas",14,0,1,1,1955,0,0.,0.,0.,0,"{exponential uncertain betas}
VarCommands.html#VarCAUV Exponential",0,"exponential uncertain"},
{"descriptors",15,0,3,0,1959,0,0.,0.,0.,0,"{Descriptors}
VarCommands.html#VarCAUV Exponential",0,"exponential uncertain"},
{"euv betas",6,0,1,1,1954,0,0.,0.,0.,0,0,0,"exponential uncertain"},
{"euv descriptors",7,0,3,0,1958,0,0.,0.,0.,0,0,0,"exponential uncertain"},
{"initial point",14,0,2,0,1957,0,0.,0.,0.,0,0,0,"exponential uncertain"}
}

GuiKeyWord kw 306[7] [static]


Initial value:
= {
{"alphas",14,0,1,1,1997,0,0.,0.,0.,0,"{frechet uncertain alphas}
VarCommands.html#VarCAUV Frechet",0,"frechet uncertain"},
{"betas",14,0,2,2,1999,0,0.,0.,0.,0,"{frechet uncertain betas}
VarCommands.html#VarCAUV Frechet",0,"frechet uncertain"},
{"descriptors",15,0,4,0,2003,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCAUV Frechet",
0,"frechet uncertain"},
{"fuv alphas",6,0,1,1,1996,0,0.,0.,0.,0,0,0,"frechet uncertain"},
{"fuv betas",6,0,2,2,1998,0,0.,0.,0.,0,0,0,"frechet uncertain"},
{"fuv descriptors",7,0,4,0,2002,0,0.,0.,0.,0,0,0,"frechet uncertain"},
{"initial point",14,0,3,0,2001,0,0.,0.,0.,0,0,0,"frechet uncertain"}
}

GuiKeyWord kw 307[7] [static]


Initial value:
= {
{"alphas",14,0,1,1,1977,0,0.,0.,0.,0,"{gamma uncertain alphas}
VarCommands.html#VarCAUV Gamma",0,"gamma uncertain"},
{"betas",14,0,2,2,1979,0,0.,0.,0.,0,"{gamma uncertain betas} VarCommands.html#VarCAUV Gamma
",0,"gamma uncertain"},
{"descriptors",15,0,4,0,1983,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCAUV Gamma",0,
"gamma uncertain"},
{"gauv alphas",6,0,1,1,1976,0,0.,0.,0.,0,0,0,"gamma uncertain"},
{"gauv betas",6,0,2,2,1978,0,0.,0.,0.,0,0,0,"gamma uncertain"},
{"gauv descriptors",7,0,4,0,1982,0,0.,0.,0.,0,0,0,"gamma uncertain"},
{"initial point",14,0,3,0,1981,0,0.,0.,0.,0,0,0,"gamma uncertain"}
}

210

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 308[4] [static]


Initial value:
= {
{"descriptors",15,0,3,0,2063,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDAUV Geometric
",0,"geometric uncertain"},
{"initial point",13,0,2,0,2061,0,0.,0.,0.,0,0,0,"geometric uncertain"},
{"prob per trial",6,0,1,1,2058,0,0.,0.,0.,0,0,0,"geometric uncertain"},
{"probability per trial",14,0,1,1,2059,0,0.,0.,0.,0,0,0,"geometric uncertain"}
}

GuiKeyWord kw 309[7] [static]


Initial value:
= {
{"alphas",14,0,1,1,1987,0,0.,0.,0.,0,"{gumbel uncertain alphas}
VarCommands.html#VarCAUV Gumbel",0,"gumbel uncertain"},
{"betas",14,0,2,2,1989,0,0.,0.,0.,0,"{gumbel uncertain betas}
VarCommands.html#VarCAUV Gumbel",0,"gumbel uncertain"},
{"descriptors",15,0,4,0,1993,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCAUV Gumbel",0
,"gumbel uncertain"},
{"guuv alphas",6,0,1,1,1986,0,0.,0.,0.,0,0,0,"gumbel uncertain"},
{"guuv betas",6,0,2,2,1988,0,0.,0.,0.,0,0,0,"gumbel uncertain"},
{"guuv descriptors",7,0,4,0,1992,0,0.,0.,0.,0,0,0,"gumbel uncertain"},
{"initial point",14,0,3,0,1991,0,0.,0.,0.,0,0,0,"gumbel uncertain"}
}

GuiKeyWord kw 310[11] [static]


Initial value:
= {
{"abscissas",14,0,2,1,2019,0,0.,0.,0.,0,"{sets of abscissas for bin-based histogram
variables} VarCommands.html#VarCAUV Bin Histogram"},
{"counts",14,0,3,2,2023,0,0.,0.,0.,0,"{sets of counts for bin-based histogram variables}
VarCommands.html#VarCAUV Bin Histogram"},
{"descriptors",15,0,5,0,2027,0,0.,0.,0.,0,"{Descriptors}
VarCommands.html#VarCAUV Bin Histogram",0,"histogram bin uncertain"},
{"huv bin abscissas",6,0,2,1,2018},
{"huv bin counts",6,0,3,2,2022},
{"huv bin descriptors",7,0,5,0,2026,0,0.,0.,0.,0,0,0,"histogram bin uncertain"},
{"huv bin ordinates",6,0,3,2,2020},
{"huv num bin pairs",5,0,1,0,2016,0,0.,0.,0.,0,0,0,"histogram bin uncertain"},
{"initial point",14,0,4,0,2025,0,0.,0.,0.,0,0,0,"histogram bin uncertain"},
{"num pairs",13,0,1,0,2017,0,0.,0.,0.,0,"{key to apportionment among bin-based histogram
variables} VarCommands.html#VarCAUV Bin Histogram",0,"histogram bin uncertain"},
{"ordinates",14,0,3,2,2021,0,0.,0.,0.,0,"{sets of ordinates for bin-based histogram
variables} VarCommands.html#VarCAUV Bin Histogram"}
}

GuiKeyWord kw 311[9] [static]


Initial value:
= {
{"abscissas",14,0,2,1,2081,0,0.,0.,0.,0,"{sets of abscissas for point-based histogram
variables} VarCommands.html#VarDAUV Point Histogram"},
{"counts",14,0,3,2,2083,0,0.,0.,0.,0,"{sets of counts for point-based histogram variables}
VarCommands.html#VarDAUV Point Histogram"},
{"descriptors",15,0,5,0,2087,0,0.,0.,0.,0,"{Descriptors}
VarCommands.html#VarDAUV Point Histogram",0,"histogram point uncertain"},
{"huv num point pairs",5,0,1,0,2078,0,0.,0.,0.,0,0,0,"histogram point uncertain"},

12.1. DAKOTA NAMESPACE REFERENCE

211

{"huv point abscissas",6,0,2,1,2080},


{"huv point counts",6,0,3,2,2082},
{"huv point descriptors",7,0,5,0,2086,0,0.,0.,0.,0,0,0,"histogram point uncertain"},
{"initial point",14,0,4,0,2085,0,0.,0.,0.,0,0,0,"histogram point uncertain"},
{"num pairs",13,0,1,0,2079,0,0.,0.,0.,0,"{key to apportionment among point-based histogram
variables} VarCommands.html#VarDAUV Point Histogram",0,"histogram point uncertain"}
}

GuiKeyWord kw 312[5] [static]


Initial value:
= {
{"descriptors",15,0,5,0,2075,0,0.,0.,0.,0,"{Descriptors}
VarCommands.html#VarDAUV Hypergeometric",0,"hypergeometric uncertain"},
{"initial point",13,0,4,0,2073,0,0.,0.,0.,0,0,0,"hypergeometric uncertain"},
{"num drawn",13,0,3,3,2071,0,0.,0.,0.,0,"{hypergeometric uncertain num drawn }
VarCommands.html#VarDAUV Hypergeometric",0,"hypergeometric uncertain"},
{"selected population",13,0,2,2,2069,0,0.,0.,0.,0,"{hypergeometric uncertain
selected population} VarCommands.html#VarDAUV Hypergeometric",0,"hypergeometric uncertain"},
{"total population",13,0,1,1,2067,0,0.,0.,0.,0,"{hypergeometric uncertain total population}
VarCommands.html#VarDAUV Hypergeometric",0,"hypergeometric uncertain"}
}

GuiKeyWord kw 313[2] [static]


Initial value:
= {
{"lnuv zetas",6,0,1,1,1904,0,0.,0.,0.,0,0,0,"lognormal uncertain"},
{"zetas",14,0,1,1,1905,0,0.,0.,0.,0,"{lognormal uncertain zetas}
VarCommands.html#VarCAUV Lognormal",0,"lognormal uncertain"}
}

GuiKeyWord kw 314[4] [static]


Initial value:
= {
{"error factors",14,0,1,1,1911,0,0.,0.,0.,0,"[CHOOSE variance spec.]{lognormal uncertain
error factors} VarCommands.html#VarCAUV Lognormal",0,"lognormal uncertain"},
{"lnuv error factors",6,0,1,1,1910,0,0.,0.,0.,0,0,0,"lognormal uncertain"},
{"lnuv std deviations",6,0,1,1,1908,0,0.,0.,0.,0,0,0,"lognormal uncertain"},
{"std deviations",14,0,1,1,1909,0,0.,0.,0.,0,"@{lognormal uncertain standard deviations}
VarCommands.html#VarCAUV Lognormal",0,"lognormal uncertain"}
}

GuiKeyWord kw 315[11] [static]


Initial value:
= {
{"descriptors",15,0,5,0,1919,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCAUV Lognormal
",0,"lognormal uncertain"},
{"initial point",14,0,4,0,1917,0,0.,0.,0.,0,0,0,"lognormal uncertain"},
{"lambdas",14,2,1,1,1903,kw 313,0.,0.,0.,0,"[CHOOSE characterization]{lognormal uncertain
lambdas} VarCommands.html#VarCAUV Lognormal",0,"lognormal uncertain"},
{"lnuv descriptors",7,0,5,0,1918,0,0.,0.,0.,0,0,0,"lognormal uncertain"},
{"lnuv lambdas",6,2,1,1,1902,kw 313,0.,0.,0.,0,0,0,"lognormal uncertain"},
{"lnuv lower bounds",6,0,2,0,1912,0,0.,0.,0.,0,0,0,"lognormal uncertain"},
{"lnuv means",6,4,1,1,1906,kw 314,0.,0.,0.,0,0,0,"lognormal uncertain"},
{"lnuv upper bounds",6,0,3,0,1914,0,0.,0.,0.,0,0,0,"lognormal uncertain"},

212

CHAPTER 12. NAMESPACE DOCUMENTATION


{"lower bounds",14,0,2,0,1913,0,0.,0.,0.,0,"{Distribution lower bounds}
VarCommands.html#VarCAUV Lognormal",0,"lognormal uncertain"},
{"means",14,4,1,1,1907,kw 314,0.,0.,0.,0,"@{lognormal uncertain means}
VarCommands.html#VarCAUV Lognormal",0,"lognormal uncertain"},
{"upper bounds",14,0,3,0,1915,0,0.,0.,0.,0,"{Distribution upper bounds}
VarCommands.html#VarCAUV Lognormal",0,"lognormal uncertain"}
}

GuiKeyWord kw 316[7] [static]


Initial value:
= {
{"descriptors",15,0,4,0,1939,0,0.,0.,0.,0,"{Descriptors}
VarCommands.html#VarCAUV Loguniform",0,"loguniform uncertain"},
{"initial point",14,0,3,0,1937,0,0.,0.,0.,0,0,0,"loguniform uncertain"},
{"lower bounds",14,0,1,1,1933,0,0.,0.,0.,0,"{Distribution lower bounds}
VarCommands.html#VarCAUV Loguniform",0,"loguniform uncertain"},
{"luuv descriptors",7,0,4,0,1938,0,0.,0.,0.,0,0,0,"loguniform uncertain"},
{"luuv lower bounds",6,0,1,1,1932,0,0.,0.,0.,0,0,0,"loguniform uncertain"},
{"luuv upper bounds",6,0,2,2,1934,0,0.,0.,0.,0,0,0,"loguniform uncertain"},
{"upper bounds",14,0,2,2,1935,0,0.,0.,0.,0,"{Distribution upper bounds}
VarCommands.html#VarCAUV Loguniform",0,"loguniform uncertain"}
}

GuiKeyWord kw 317[5] [static]


Initial value:
= {
{"descriptors",15,0,4,0,2055,0,0.,0.,0.,0,"{Descriptors}
VarCommands.html#VarDAUV Negative Binomial",0,"negative binomial uncertain"},
{"initial point",13,0,3,0,2053,0,0.,0.,0.,0,0,0,"negative binomial uncertain"},
{"num trials",13,0,2,2,2051,0,0.,0.,0.,0,"{negative binomial uncertain success num trials}
VarCommands.html#VarDAUV Negative Binomial",0,"negative binomial uncertain"},
{"prob per trial",6,0,1,1,2048,0,0.,0.,0.,0,0,0,"negative binomial uncertain"},
{"probability per trial",14,0,1,1,2049,0,0.,0.,0.,0,0,0,"negative binomial uncertain"}
}

GuiKeyWord kw 318[11] [static]


Initial value:
= {
{"descriptors",15,0,6,0,1899,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCAUV Normal",0
,"normal uncertain"},
{"initial point",14,0,5,0,1897,0,0.,0.,0.,0,0,0,"normal uncertain"},
{"lower bounds",14,0,3,0,1893,0,0.,0.,0.,0,"{Distribution lower bounds}
VarCommands.html#VarCAUV Normal",0,"normal uncertain"},
{"means",14,0,1,1,1889,0,0.,0.,0.,0,"{normal uncertain means}
VarCommands.html#VarCAUV Normal",0,"normal uncertain"},
{"nuv descriptors",7,0,6,0,1898,0,0.,0.,0.,0,0,0,"normal uncertain"},
{"nuv lower bounds",6,0,3,0,1892,0,0.,0.,0.,0,0,0,"normal uncertain"},
{"nuv means",6,0,1,1,1888,0,0.,0.,0.,0,0,0,"normal uncertain"},
{"nuv std deviations",6,0,2,2,1890,0,0.,0.,0.,0,0,0,"normal uncertain"},
{"nuv upper bounds",6,0,4,0,1894,0,0.,0.,0.,0,0,0,"normal uncertain"},
{"std deviations",14,0,2,2,1891,0,0.,0.,0.,0,"{normal uncertain standard deviations}
VarCommands.html#VarCAUV Normal",0,"normal uncertain"},
{"upper bounds",14,0,4,0,1895,0,0.,0.,0.,0,"{Distribution upper bounds}
VarCommands.html#VarCAUV Normal",0,"normal uncertain"}
}

12.1. DAKOTA NAMESPACE REFERENCE

213

GuiKeyWord kw 319[3] [static]


Initial value:
= {
{"descriptors",15,0,3,0,2035,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDAUV Poisson",
0,"poisson uncertain"},
{"initial point",13,0,2,0,2033,0,0.,0.,0.,0,0,0,"poisson uncertain"},
{"lambdas",14,0,1,1,2031,0,0.,0.,0.,0,"{poisson uncertain lambdas}
VarCommands.html#VarDAUV Poisson",0,"poisson uncertain"}
}

GuiKeyWord kw 320[9] [static]


Initial value:
= {
{"descriptors",15,0,5,0,1951,0,0.,0.,0.,0,"{Descriptors}
VarCommands.html#VarCAUV Triangular",0,"triangular uncertain"},
{"initial point",14,0,4,0,1949,0,0.,0.,0.,0,0,0,"triangular uncertain"},
{"lower bounds",14,0,2,2,1945,0,0.,0.,0.,0,"{Distribution lower bounds}
VarCommands.html#VarCAUV Triangular",0,"triangular uncertain"},
{"modes",14,0,1,1,1943,0,0.,0.,0.,0,"{triangular uncertain modes}
VarCommands.html#VarCAUV Triangular",0,"triangular uncertain"},
{"tuv descriptors",7,0,5,0,1950,0,0.,0.,0.,0,0,0,"triangular uncertain"},
{"tuv lower bounds",6,0,2,2,1944,0,0.,0.,0.,0,0,0,"triangular uncertain"},
{"tuv modes",6,0,1,1,1942,0,0.,0.,0.,0,0,0,"triangular uncertain"},
{"tuv upper bounds",6,0,3,3,1946,0,0.,0.,0.,0,0,0,"triangular uncertain"},
{"upper bounds",14,0,3,3,1947,0,0.,0.,0.,0,"{Distribution upper bounds}
VarCommands.html#VarCAUV Triangular",0,"triangular uncertain"}
}

GuiKeyWord kw 321[7] [static]


Initial value:
= {
{"descriptors",15,0,4,0,1929,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCAUV Uniform",
0,"uniform uncertain"},
{"initial point",14,0,3,0,1927,0,0.,0.,0.,0,0,0,"uniform uncertain"},
{"lower bounds",14,0,1,1,1923,0,0.,0.,0.,0,"{Distribution lower bounds}
VarCommands.html#VarCAUV Uniform",0,"uniform uncertain"},
{"upper bounds",14,0,2,2,1925,0,0.,0.,0.,0,"{Distribution upper bounds}
VarCommands.html#VarCAUV Uniform",0,"uniform uncertain"},
{"uuv descriptors",7,0,4,0,1928,0,0.,0.,0.,0,0,0,"uniform uncertain"},
{"uuv lower bounds",6,0,1,1,1922,0,0.,0.,0.,0,0,0,"uniform uncertain"},
{"uuv upper bounds",6,0,2,2,1924,0,0.,0.,0.,0,0,0,"uniform uncertain"}
}

GuiKeyWord kw 322[7] [static]


Initial value:
= {
{"alphas",14,0,1,1,2007,0,0.,0.,0.,0,"{weibull uncertain alphas}
VarCommands.html#VarCAUV Weibull",0,"weibull uncertain"},
{"betas",14,0,2,2,2009,0,0.,0.,0.,0,"{weibull uncertain betas}
VarCommands.html#VarCAUV Weibull",0,"weibull uncertain"},
{"descriptors",15,0,4,0,2013,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarCAUV Weibull",
0,"weibull uncertain"},
{"initial point",14,0,3,0,2011,0,0.,0.,0.,0,0,0,"weibull uncertain"},
{"wuv alphas",6,0,1,1,2006,0,0.,0.,0.,0,0,0,"weibull uncertain"},
{"wuv betas",6,0,2,2,2008,0,0.,0.,0.,0,0,0,"weibull uncertain"},
{"wuv descriptors",7,0,4,0,2012,0,0.,0.,0.,0,0,0,"weibull uncertain"}
}

214

CHAPTER 12. NAMESPACE DOCUMENTATION

GuiKeyWord kw 324[6] [static]


Initial value:
= {
{"environment",0x108,6,1,1,1,kw 3,0.,0.,0.,0,"{Environment} The environment specifies the
top level technique which will govern the management of iterators and models in the solution of the problem
of interest. EnvCommands.html"},
{"interface",0x308,9,5,5,2183,kw 18,0.,0.,0.,0,"{Interface} An interface specifies how
function evaluations will be performed in order to map a set of parameters into a set of responses.
InterfCommands.html"},
{"method",0x308,90,2,2,17,kw 241,0.,0.,0.,0,"{Method} A method specifies the name and
controls of an iterative procedure, e.g., a sensitivity analysis, uncertainty quantification, or optimization
method. MethodCommands.html"},
{"model",8,7,3,3,1595,kw 271,0.,0.,0.,0,"{Model} A model consists of a model type and maps
specified variables through an interface to generate responses. ModelCommands.html"},
{"responses",0x308,19,6,6,2301,kw 289,0.,0.,0.,0,"{Responses} A responses object specifies
the data that can be returned to DAKOTA through the interface after the completion of a function evaluation.
RespCommands.html"},
{"variables",0x308,37,4,4,1821,kw 323,0.,0.,0.,0,"{Variables} A variables object specifies
the parameter set to be iterated by a particular method. VarCommands.html"}
}

KeyWord kw 1[1] [static]


Initial value:
= {
{"results output file",11,0,1,0,0,0.,0.,0,N stm(str,resultsOutputFile)}
}

1231 distinct keywords (plus 180 aliases)


KeyWord kw 2[1] [static]
Initial value:
= {
{"tabular graphics file",11,0,1,0,0,0.,0.,0,N stm(str,tabularDataFile)}
}

KeyWord kw 3[6] [static]


Initial value:
= {
{"graphics",8,0,1,0,0,0.,0.,0,N stm(true,graphicsFlag)},
{"method pointer",3,0,5,0,0,0.,0.,4,N stm(str,topMethodPointer)},
{"output precision",0x29,0,3,0,0,0.,0.,0,N stm(int,outputPrecision)},
{"results output",8,1,4,0,kw 1,0.,0.,0,N stm(true,resultsOutputFlag)},
{"tabular graphics data",8,1,2,0,kw 2,0.,0.,0,N stm(true,tabularDataFlag)},
{"top method pointer",11,0,5,0,0,0.,0.,0,N stm(str,topMethodPointer)}
}

KeyWord kw 4[1] [static]


Initial value:
= {
{"cache tolerance",10,0,1,0,0,0.,0.,0,N ifm(Real,nearbyEvalCacheTol)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 5[4] [static]
Initial value:
= {
{"active set vector",8,0,1,0,0,0.,0.,0,N ifm(false,activeSetVectorFlag)},
{"evaluation cache",8,0,2,0,0,0.,0.,0,N ifm(false,evalCacheFlag)},
{"restart file",8,0,4,0,0,0.,0.,0,N ifm(false,restartFileFlag)},
{"strict cache equality",8,1,3,0,kw 4,0.,0.,0,N ifm(true,nearbyEvalCacheFlag)}
}

KeyWord kw 6[1] [static]


Initial value:
= {
{"processors per analysis",0x19,0,1,0,0,0.,0.,0,N ifm(pint,procsPerAnalysis)}
}

KeyWord kw 7[4] [static]


Initial value:
= {
{"abort",8,0,1,1,0,0.,0.,0,N ifm(lit,failAction abort)},
{"continuation",8,0,1,1,0,0.,0.,0,N ifm(lit,failAction continuation)},
{"recover",14,0,1,1,0,0.,0.,0,N ifm(Rlit,TYPE DATA failAction recover)},
{"retry",9,0,1,1,0,0.,0.,0,N ifm(ilit,TYPE DATA failAction retry)}
}

KeyWord kw 8[1] [static]


Initial value:
= {
{"numpy",8,0,1,0,0,0.,0.,0,N ifm(true,numpyFlag)}
}

KeyWord kw 9[2] [static]


Initial value:
= {
{"copy",8,0,1,0,0,0.,0.,0,N ifm(true,templateCopy)},
{"replace",8,0,2,0,0,0.,0.,0,N ifm(true,templateReplace)}
}

KeyWord kw 10[7] [static]


Initial value:
= {
{"dir save",0,0,3,0,0,0.,0.,2,N ifm(true,dirSave)},
{"dir tag",0,0,2,0,0,0.,0.,2,N ifm(true,dirTag)},
{"directory save",8,0,3,0,0,0.,0.,0,N ifm(true,dirSave)},
{"directory tag",8,0,2,0,0,0.,0.,0,N ifm(true,dirTag)},
{"named",11,0,1,0,0,0.,0.,0,N ifm(str,workDir)},
{"template directory",11,2,4,0,kw 9,0.,0.,0,N ifm(str,templateDir)},
{"template files",15,2,4,0,kw 9,0.,0.,0,N ifm(strL,templateFiles)}
}

215

216

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 11[9] [static]


Initial value:
= {
{"allow existing results",8,0,3,0,0,0.,0.,0,N ifm(true,allowExistingResultsFlag)},
{"aprepro",8,0,5,0,0,0.,0.,0,N ifm(true,apreproFlag)},
{"dprepro",0,0,5,0,0,0.,0.,-1,N ifm(true,apreproFlag)},
{"file save",8,0,7,0,0,0.,0.,0,N ifm(true,fileSaveFlag)},
{"file tag",8,0,6,0,0,0.,0.,0,N ifm(true,fileTagFlag)},
{"parameters file",11,0,1,0,0,0.,0.,0,N ifm(str,parametersFile)},
{"results file",11,0,2,0,0,0.,0.,0,N ifm(str,resultsFile)},
{"verbatim",8,0,4,0,0,0.,0.,0,N ifm(true,verbatimFlag)},
{"work directory",8,7,8,0,kw 10,0.,0.,0,N ifm(true,useWorkdir)}
}

KeyWord kw 12[12] [static]


Initial value:
= {
{"analysis components",15,0,1,0,0,0.,0.,0,N ifm(str2D,analysisComponents)},
{"deactivate",8,4,6,0,kw 5},
{"direct",8,1,4,1,kw 6,0.,0.,0,N ifm(lit,interfaceType direct)},
{"failure capture",8,4,5,0,kw 7},
{"fork",8,9,4,1,kw 11,0.,0.,0,N ifm(lit,interfaceType fork)},
{"grid",8,0,4,1,0,0.,0.,0,N ifm(lit,interfaceType grid)},
{"input filter",11,0,2,0,0,0.,0.,0,N ifm(str,inputFilter)},
{"matlab",8,0,4,1,0,0.,0.,0,N ifm(lit,interfaceType matlab)},
{"output filter",11,0,3,0,0,0.,0.,0,N ifm(str,outputFilter)},
{"python",8,1,4,1,kw 8,0.,0.,0,N ifm(lit,interfaceType python)},
{"scilab",8,0,4,1,0,0.,0.,0,N ifm(lit,interfaceType scilab)},
{"system",8,9,4,1,kw 11,0.,0.,0,N ifm(lit,interfaceType system)}
}

KeyWord kw 13[2] [static]


Initial value:
= {
{"master",8,0,1,1,0,0.,0.,0,N ifm(type,analysisScheduling MASTER SCHEDULING)},
{"peer",8,0,1,1,0,0.,0.,0,N ifm(type,analysisScheduling PEER SCHEDULING)}
}

KeyWord kw 14[2] [static]


Initial value:
= {
{"dynamic",8,0,1,1,0,0.,0.,0,N ifm(type,asynchLocalEvalScheduling DYNAMIC SCHEDULING)},
{"static",8,0,1,1,0,0.,0.,0,N ifm(type,asynchLocalEvalScheduling STATIC SCHEDULING)}
}

KeyWord kw 15[3] [static]


Initial value:
= {
{"analysis concurrency",0x19,0,3,0,0,0.,0.,0,N ifm(pint,asynchLocalAnalysisConcurrency)},
{"evaluation concurrency",0x19,0,1,0,0,0.,0.,0,N ifm(pint,asynchLocalEvalConcurrency)},
{"local evaluation scheduling",8,2,2,0,kw 14}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 16[2] [static]
Initial value:
= {
{"dynamic",8,0,1,1,0,0.,0.,0,N ifm(type,evalScheduling PEER DYNAMIC SCHEDULING)},
{"static",8,0,1,1,0,0.,0.,0,N ifm(type,evalScheduling PEER STATIC SCHEDULING)}
}

KeyWord kw 17[2] [static]


Initial value:
= {
{"master",8,0,1,1,0,0.,0.,0,N ifm(type,evalScheduling MASTER SCHEDULING)},
{"peer",8,2,1,1,kw 16}
}

KeyWord kw 18[9] [static]


Initial value:
= {
{"algebraic mappings",11,0,2,0,0,0.,0.,0,N ifm(str,algebraicMappings)},
{"analysis drivers",15,12,3,0,kw 12,0.,0.,0,N ifm(strL,analysisDrivers)},
{"analysis scheduling",8,2,9,0,kw 13},
{"analysis servers",0x19,0,8,0,0,0.,0.,0,N ifm(pint,analysisServers)},
{"asynchronous",8,3,4,0,kw 15,0.,0.,0,N ifm(lit,interfaceSynchronization asynchronous)},
{"evaluation scheduling",8,2,6,0,kw 17},
{"evaluation servers",0x19,0,5,0,0,0.,0.,0,N ifm(pint,evalServers)},
{"id interface",11,0,1,0,0,0.,0.,0,N ifm(str,idInterface)},
{"processors per evaluation",0x19,0,7,0,0,0.,0.,0,N ifm(pint,procsPerEval)}
}

KeyWord kw 19[1] [static]


Initial value:
= {
{"model pointer",11,0,1,0,0,0.,0.,0,N mdm(str,modelPointer)}
}

KeyWord kw 20[2] [static]


Initial value:
= {
{"samples",9,0,1,0,0,0.,0.,0,N mdm(int,numSamples)},
{"seed",0x19,0,2,0,0,0.,0.,0,N mdm(pint,randomSeed)}
}

KeyWord kw 21[2] [static]


Initial value:
= {
{"complementary",8,0,1,1,0,0.,0.,0,N mdm(type,distributionType COMPLEMENTARY)},
{"cumulative",8,0,1,1,0,0.,0.,0,N mdm(type,distributionType CUMULATIVE)}
}

217

218

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 22[1] [static]


Initial value:
= {
{"num gen reliability levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,genReliabilityLevels)}
}

KeyWord kw 23[1] [static]


Initial value:
= {
{"num probability levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,probabilityLevels)}
}

KeyWord kw 24[2] [static]


Initial value:
= {
{"mt19937",8,0,1,1,0,0.,0.,0,N mdm(lit,rngName mt19937)},
{"rnum2",8,0,1,1,0,0.,0.,0,N mdm(lit,rngName rnum2)}
}

KeyWord kw 25[4] [static]


Initial value:
= {
{"distribution",8,2,1,0,kw 21},
{"gen reliability levels",14,1,3,0,kw 22,0.,0.,0,N mdm(resplevs,genReliabilityLevels)},
{"probability levels",14,1,2,0,kw 23,0.,0.,0,N mdm(resplevs01,probabilityLevels)},
{"rng",8,2,4,0,kw 24}
}

KeyWord kw 26[4] [static]


Initial value:
= {
{"constant liar",8,0,1,1,0,0.,0.,0,N mdm(lit,batchSelectionType constant liar)},
{"distance penalty",8,0,1,1,0,0.,0.,0,N mdm(lit,batchSelectionType distance penalty)},
{"naive",8,0,1,1,0,0.,0.,0,N mdm(lit,batchSelectionType naive)},
{"topology",8,0,1,1,0,0.,0.,0,N mdm(lit,batchSelectionType topology)}
}

KeyWord kw 27[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

12.1. DAKOTA NAMESPACE REFERENCE

219

KeyWord kw 28[3] [static]


Initial value:
= {
{"distance",8,0,1,1,0,0.,0.,0,N mdm(lit,fitnessMetricType distance)},
{"gradient",8,0,1,1,0,0.,0.,0,N mdm(lit,fitnessMetricType gradient)},
{"predicted variance",8,0,1,1,0,0.,0.,0,N mdm(lit,fitnessMetricType predicted variance)}
}

KeyWord kw 29[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxImportAnnotated)}
}

KeyWord kw 30[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM PARALLEL)},
{"series",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM SERIES)}
}

KeyWord kw 31[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget GEN RELIABILITIES)},
{"probabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget PROBABILITIES)},
{"system",8,2,2,0,kw 30}
}

KeyWord kw 32[2] [static]


Initial value:
= {
{"compute",8,3,2,0,kw 31},
{"num response levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,responseLevels)}
}

KeyWord kw 33[11] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{0,0,4,0,0,kw 25},
{"batch selection",8,4,3,0,kw 26},
{"batch size",9,0,4,0,0,0.,0.,0,N mdm(int,batchSize)},
{"emulator samples",9,0,1,0,0,0.,0.,0,N mdm(int,emulatorSamples)},
{"export points file",11,2,6,0,kw 27,0.,0.,0,N mdm(str,approxExportFile)},
{"fitness metric",8,3,2,0,kw 28},
{"import points file",11,2,5,0,kw 29,0.,0.,0,N mdm(str,approxImportFile)},
{"misc options",15,0,8,0,0,0.,0.,0,N mdm(strL,miscOptions)},
{"response levels",14,2,7,0,kw 32,0.,0.,0,N mdm(resplevs,responseLevels)}
}

220

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 34[9] [static]


Initial value:
= {
{"linear equality constraint matrix",14,0,6,0,0,0.,0.,0,N mdm(RealDL,
linearEqConstraintCoeffs)},
{"linear equality scale types",15,0,8,0,0,0.,0.,0,N mdm(strL,linearEqScaleTypes)},
{"linear equality scales",14,0,9,0,0,0.,0.,0,N mdm(RealDL,linearEqScales)},
{"linear equality targets",14,0,7,0,0,0.,0.,0,N mdm(RealDL,linearEqTargets)},
{"linear inequality constraint matrix",14,0,1,0,0,0.,0.,0,N mdm(RealDL,
linearIneqConstraintCoeffs)},
{"linear inequality lower bounds",14,0,2,0,0,0.,0.,0,N mdm(RealDL,linearIneqLowerBnds)},
{"linear inequality scale types",15,0,4,0,0,0.,0.,0,N mdm(strL,linearIneqScaleTypes)},
{"linear inequality scales",14,0,5,0,0,0.,0.,0,N mdm(RealDL,linearIneqScales)},
{"linear inequality upper bounds",14,0,3,0,0,0.,0.,0,N mdm(RealDL,linearIneqUpperBnds)}
}

KeyWord kw 35[7] [static]


Initial value:
= {
{"merit1",8,0,1,1,0,0.,0.,0,N mdm(lit,meritFunction merit1)},
{"merit1 smooth",8,0,1,1,0,0.,0.,0,N mdm(lit,meritFunction merit1 smooth)},
{"merit2",8,0,1,1,0,0.,0.,0,N mdm(lit,meritFunction merit2)},
{"merit2 smooth",8,0,1,1,0,0.,0.,0,N mdm(lit,meritFunction merit2 smooth)},
{"merit2 squared",8,0,1,1,0,0.,0.,0,N mdm(lit,meritFunction merit2 squared)},
{"merit max",8,0,1,1,0,0.,0.,0,N mdm(lit,meritFunction merit max)},
{"merit max smooth",8,0,1,1,0,0.,0.,0,N mdm(lit,meritFunction merit max smooth)}
}

KeyWord kw 36[2] [static]


Initial value:
= {
{"blocking",8,0,1,1,0,0.,0.,0,N mdm(lit,evalSynchronize blocking)},
{"nonblocking",8,0,1,1,0,0.,0.,0,N mdm(lit,evalSynchronize nonblocking)}
}

KeyWord kw 37[11] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{"constraint penalty",10,0,7,0,0,0.,0.,0,N mdm(Real,constrPenalty)},
{"contraction factor",10,0,2,0,0,0.,0.,0,N mdm(Real,contractStepLength)},
{"initial delta",10,0,1,0,0,0.,0.,0,N mdm(Real,initStepLength)},
{"merit function",8,7,6,0,kw 35},
{"smoothing factor",10,0,8,0,0,0.,0.,0,N mdm(Real,smoothFactor)},
{"solution accuracy",2,0,4,0,0,0.,0.,1,N mdm(Real,solnTarget)},
{"solution target",10,0,4,0,0,0.,0.,0,N mdm(Real,solnTarget)},
{"synchronization",8,2,5,0,kw 36},
{"threshold delta",10,0,3,0,0,0.,0.,0,N mdm(Real,threshStepLength)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 38[2] [static]
Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

KeyWord kw 39[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxImportAnnotated)}
}

KeyWord kw 40[5] [static]


Initial value:
= {
{"dakota",8,0,1,1,0,0.,0.,0,N mdm(type,emulatorType GP EMULATOR)},
{"emulator samples",9,0,2,0,0,0.,0.,0,N mdm(int,emulatorSamples)},
{"export points file",11,2,4,0,kw 38,0.,0.,0,N mdm(str,approxExportFile)},
{"import points file",11,2,3,0,kw 39,0.,0.,0,N mdm(str,approxImportFile)},
{"surfpack",8,0,1,1,0,0.,0.,0,N mdm(type,emulatorType KRIGING EMULATOR)}
}

KeyWord kw 41[1] [static]


Initial value:
= {
{"sparse grid level",13,0,1,0,0,0.,0.,0,N mdm(usharray,sparseGridLevel)}
}

KeyWord kw 42[1] [static]


Initial value:
= {
{"sparse grid level",13,0,1,0,0,0.,0.,0,N mdm(usharray,sparseGridLevel)}
}

KeyWord kw 43[4] [static]


Initial value:
= {
{"gaussian process",8,5,1,1,kw 40},
{"kriging",0,5,1,1,kw 40,0.,0.,-1},
{"pce",8,1,1,1,kw 41,0.,0.,0,N mdm(type,emulatorType PCE EMULATOR)},
{"sc",8,1,1,1,kw 42,0.,0.,0,N mdm(type,emulatorType SC EMULATOR)}
}

221

222

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 44[6] [static]


Initial value:
= {
{"chains",0x29,0,1,0,0,3.,0.,0,N mdm(int,numChains)},
{"crossover chain pairs",0x29,0,3,0,0,0.,0.,0,N mdm(int,crossoverChainPairs)},
{"emulator",8,4,6,0,kw 43},
{"gr threshold",0x1a,0,4,0,0,0.,0.,0,N mdm(Real,grThreshold)},
{"jump step",0x29,0,5,0,0,0.,0.,0,N mdm(int,jumpStep)},
{"num cr",0x29,0,2,0,0,1.,0.,0,N mdm(int,numCR)}
}

KeyWord kw 45[2] [static]


Initial value:
= {
{"adaptive",8,0,1,1,0,0.,0.,0,N mdm(lit,metropolisType adaptive)},
{"hastings",8,0,1,1,0,0.,0.,0,N mdm(lit,metropolisType hastings)}
}

KeyWord kw 46[2] [static]


Initial value:
= {
{"delayed",8,0,1,1,0,0.,0.,0,N mdm(lit,rejectionType delayed)},
{"standard",8,0,1,1,0,0.,0.,0,N mdm(lit,rejectionType standard)}
}

KeyWord kw 47[2] [static]


Initial value:
= {
{"metropolis",8,2,2,0,kw 45},
{"rejection",8,2,1,0,kw 46}
}

KeyWord kw 48[2] [static]


Initial value:
= {
{"dram",8,2,1,1,kw 47,0.,0.,0,N mdm(lit,mcmcType dram)},
{"multilevel",8,0,1,1,0,0.,0.,0,N mdm(lit,mcmcType multilevel)}
}

KeyWord kw 49[2] [static]


Initial value:
= {
{"mt19937",8,0,1,1,0,0.,0.,0,N mdm(lit,rngName mt19937)},
{"rnum2",8,0,1,1,0,0.,0.,0,N mdm(lit,rngName rnum2)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 50[3] [static]
Initial value:
= {
{"mcmc type",8,2,1,0,kw 48},
{"proposal covariance scale",14,0,3,0,0,0.,0.,0,N mdm(RealDL,proposalCovScale)},
{"rng",8,2,2,0,kw 49}
}

KeyWord kw 51[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

KeyWord kw 52[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxImportAnnotated)}
}

KeyWord kw 53[4] [static]


Initial value:
= {
{0,0,3,0,0,kw 50},
{"emulator samples",9,0,1,1,0,0.,0.,0,N mdm(int,emulatorSamples)},
{"export points file",11,2,3,0,kw 51,0.,0.,0,N mdm(str,approxExportFile)},
{"import points file",11,2,2,0,kw 52,0.,0.,0,N mdm(str,approxImportFile)}
}

KeyWord kw 54[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

KeyWord kw 55[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxImportAnnotated)}
}

223

224

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 56[5] [static]


Initial value:
= {
{"dakota",8,0,1,1,0,0.,0.,0,N mdm(type,emulatorType GP EMULATOR)},
{"emulator samples",9,0,2,0,0,0.,0.,0,N mdm(int,emulatorSamples)},
{"export points file",11,2,4,0,kw 54,0.,0.,0,N mdm(str,approxExportFile)},
{"import points file",11,2,3,0,kw 55,0.,0.,0,N mdm(str,approxImportFile)},
{"surfpack",8,0,1,1,0,0.,0.,0,N mdm(type,emulatorType KRIGING EMULATOR)}
}

KeyWord kw 57[1] [static]


Initial value:
= {
{"sparse grid level",13,0,1,0,0,0.,0.,0,N mdm(usharray,sparseGridLevel)}
}

KeyWord kw 58[1] [static]


Initial value:
= {
{"sparse grid level",13,0,1,0,0,0.,0.,0,N mdm(usharray,sparseGridLevel)}
}

KeyWord kw 59[4] [static]


Initial value:
= {
{"gaussian process",8,5,1,1,kw 56},
{"kriging",0,5,1,1,kw 56,0.,0.,-1},
{"pce",8,1,1,1,kw 57,0.,0.,0,N mdm(type,emulatorType PCE EMULATOR)},
{"sc",8,1,1,1,kw 58,0.,0.,0,N mdm(type,emulatorType SC EMULATOR)}
}

KeyWord kw 60[2] [static]


Initial value:
= {
{0,0,3,0,0,kw 50},
{"emulator",8,4,1,0,kw 59}
}

KeyWord kw 61[8] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{"calibrate sigma",8,0,4,0,0,0.,0.,0,N mdm(true,calibrateSigmaFlag)},
{"dream",8,6,1,1,kw 44,0.,0.,0,N mdm(utype,subMethod SUBMETHOD DREAM)},
{"gpmsa",8,3,1,1,kw 53,0.,0.,0,N mdm(utype,subMethod SUBMETHOD GPMSA)},
{"likelihood scale",10,0,3,0,0,0.,0.,0,N mdm(Real,likelihoodScale)},
{"queso",8,1,1,1,kw 60,0.,0.,0,N mdm(utype,subMethod SUBMETHOD QUESO)},
{"use derivatives",8,0,2,0,0,0.,0.,0,N mdm(true,methodUseDerivsFlag)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 62[4] [static]
Initial value:
= {
{0,0,1,0,0,kw 19},
{"deltas per variable",5,0,2,2,0,0.,0.,2,N mdm(ivec,stepsPerVariable)},
{"step vector",14,0,1,1,0,0.,0.,0,N mdm(RealDL,stepVector)},
{"steps per variable",13,0,2,2,0,0.,0.,0,N mdm(ivec,stepsPerVariable)}
}

KeyWord kw 63[5] [static]


Initial value:
= {
{"misc options",15,0,4,0,0,0.,0.,0,N mdm(strL,miscOptions)},
{"seed",0x19,0,2,0,0,0.,0.,0,N mdm(pint,randomSeed)},
{"show misc options",8,0,3,0,0,0.,0.,0,N mdm(true,showMiscOptions)},
{"solution accuracy",2,0,1,0,0,0.,0.,1,N mdm(Real,solnTarget)},
{"solution target",10,0,1,0,0,0.,0.,0,N mdm(Real,solnTarget)}
}

KeyWord kw 64[3] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,5,0,0,kw 63},
{"beta solver name",11,0,1,1,0,0.,0.,0,N mdm(str,betaSolverName)}
}

KeyWord kw 65[2] [static]


Initial value:
= {
{"initial delta",10,0,1,0,0,0.,0.,0,N mdm(Real,initDelta)},
{"threshold delta",10,0,2,0,0,0.,0.,0,N mdm(Real,threshDelta)}
}

KeyWord kw 66[4] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,5,0,0,kw 63},
{0,0,2,0,0,kw 65},
{""}
}

KeyWord kw 67[2] [static]


Initial value:
= {
{"all dimensions",8,0,1,1,0,0.,0.,0,N mdm(lit,boxDivision all dimensions)},
{"major dimension",8,0,1,1,0,0.,0.,0,N mdm(lit,boxDivision major dimension)}
}

225

226

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 68[8] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,5,0,0,kw 63},
{"constraint penalty",10,0,6,0,0,0.,0.,0,N mdm(Real,constraintPenalty)},
{"division",8,2,1,0,kw 67},
{"global balance parameter",10,0,2,0,0,0.,0.,0,N mdm(Real,globalBalanceParam)},
{"local balance parameter",10,0,3,0,0,0.,0.,0,N mdm(Real,localBalanceParam)},
{"max boxsize limit",10,0,4,0,0,0.,0.,0,N mdm(Real,maxBoxSize)},
{"min boxsize limit",10,0,5,0,0,0.,0.,0,N mdm(Real,minBoxSize)}
}

KeyWord kw 69[3] [static]


Initial value:
= {
{"blend",8,0,1,1,0,0.,0.,0,N mdm(lit,crossoverType blend)},
{"two point",8,0,1,1,0,0.,0.,0,N mdm(lit,crossoverType two point)},
{"uniform",8,0,1,1,0,0.,0.,0,N mdm(lit,crossoverType uniform)}
}

KeyWord kw 70[2] [static]


Initial value:
= {
{"linear rank",8,0,1,1,0,0.,0.,0,N mdm(lit,fitnessType linear rank)},
{"merit function",8,0,1,1,0,0.,0.,0,N mdm(lit,fitnessType proportional)}
}

KeyWord kw 71[3] [static]


Initial value:
= {
{"flat file",11,0,1,1,0,0.,0.,0,N mdm(slit2,TYPE DATA initializationType flat file)},
{"simple random",8,0,1,1,0,0.,0.,0,N mdm(lit,initializationType random)},
{"unique random",8,0,1,1,0,0.,0.,0,N mdm(lit,initializationType unique random)}
}

KeyWord kw 72[2] [static]


Initial value:
= {
{"mutation range",9,0,2,0,0,0.,0.,0,N mdm(int,mutationRange)},
{"mutation scale",10,0,1,0,0,0.,0.,0,N mdm(Real,mutationScale)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 73[5] [static]
Initial value:
= {
{"non adaptive",8,0,2,0,0,0.,0.,0,N mdm(false,mutationAdaptive)},
{"offset cauchy",8,2,1,1,kw 72,0.,0.,0,N mdm(lit,mutationType offset cauchy)},
{"offset normal",8,2,1,1,kw 72,0.,0.,0,N mdm(lit,mutationType offset normal)},
{"offset uniform",8,2,1,1,kw 72,0.,0.,0,N mdm(lit,mutationType offset uniform)},
{"replace uniform",8,0,1,1,0,0.,0.,0,N mdm(lit,mutationType replace uniform)}
}

KeyWord kw 74[4] [static]


Initial value:
= {
{"chc",9,0,1,1,0,0.,0.,0,N mdm(ilit2,TYPE DATA replacementType chc)},
{"elitist",9,0,1,1,0,0.,0.,0,N mdm(ilit2,TYPE DATA replacementType elitist)},
{"new solutions generated",9,0,2,0,0,0.,0.,0,N mdm(int,newSolnsGenerated)},
{"random",9,0,1,1,0,0.,0.,0,N mdm(ilit2,TYPE DATA replacementType random)}
}

KeyWord kw 75[11] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,5,0,0,kw 63},
{"constraint penalty",10,0,9,0,0,0.,0.,0,N mdm(Real,constraintPenalty)},
{"crossover rate",10,0,5,0,0,0.,0.,0,N mdm(Real,crossoverRate)},
{"crossover type",8,3,6,0,kw 69},
{"fitness type",8,2,3,0,kw 70},
{"initialization type",8,3,2,0,kw 71},
{"mutation rate",10,0,7,0,0,0.,0.,0,N mdm(Real,mutationRate)},
{"mutation type",8,5,8,0,kw 73},
{"population size",0x19,0,1,0,0,0.,0.,0,N mdm(pint,populationSize)},
{"replacement type",8,4,4,0,kw 74}
}

KeyWord kw 76[2] [static]


Initial value:
= {
{"constraint penalty",10,0,2,0,0,0.,0.,0,N mdm(Real,constraintPenalty)},
{"contraction factor",10,0,1,0,0,0.,0.,0,N mdm(Real,contractFactor)}
}

KeyWord kw 77[3] [static]


Initial value:
= {
{"adaptive pattern",8,0,1,1,0,0.,0.,0,N mdm(lit,exploratoryMoves adaptive)},
{"basic pattern",8,0,1,1,0,0.,0.,0,N mdm(lit,exploratoryMoves simple)},
{"multi step",8,0,1,1,0,0.,0.,0,N mdm(lit,exploratoryMoves multi step)}
}

227

228

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 78[2] [static]


Initial value:
= {
{"coordinate",8,0,1,1,0,0.,0.,0,N mdm(lit,patternBasis coordinate)},
{"simplex",8,0,1,1,0,0.,0.,0,N mdm(lit,patternBasis simplex)}
}

KeyWord kw 79[2] [static]


Initial value:
= {
{"blocking",8,0,1,1,0,0.,0.,0,N mdm(lit,evalSynchronize blocking)},
{"nonblocking",8,0,1,1,0,0.,0.,0,N mdm(lit,evalSynchronize nonblocking)}
}

KeyWord kw 80[12] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,5,0,0,kw 63},
{0,0,2,0,0,kw 65},
{0,0,2,0,0,kw 76},
{"constant penalty",8,0,1,0,0,0.,0.,0,N mdm(true,constantPenalty)},
{"expand after success",9,0,3,0,0,0.,0.,0,N mdm(int,expandAfterSuccess)},
{"exploratory moves",8,3,7,0,kw 77},
{"no expansion",8,0,2,0,0,0.,0.,0,N mdm(false,expansionFlag)},
{"pattern basis",8,2,4,0,kw 78},
{"stochastic",8,0,5,0,0,0.,0.,0,N mdm(true,randomizeOrderFlag)},
{"synchronization",8,2,8,0,kw 79},
{"total pattern size",9,0,6,0,0,0.,0.,0,N mdm(int,totalPatternSize)}
}

KeyWord kw 81[8] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,5,0,0,kw 63},
{0,0,2,0,0,kw 65},
{0,0,2,0,0,kw 76},
{"constant penalty",8,0,4,0,0,0.,0.,0,N mdm(true,constantPenalty)},
{"contract after failure",9,0,1,0,0,0.,0.,0,N mdm(int,contractAfterFail)},
{"expand after success",9,0,3,0,0,0.,0.,0,N mdm(int,expandAfterSuccess)},
{"no expansion",8,0,2,0,0,0.,0.,0,N mdm(false,expansionFlag)}
}

KeyWord kw 82[4] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{"frcg",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName CONMIN FRCG)},
{"mfd",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName CONMIN MFD)}
}

12.1. DAKOTA NAMESPACE REFERENCE

229

KeyWord kw 83[3] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{""}
}

KeyWord kw 84[1] [static]


Initial value:
= {
{"drop tolerance",10,0,1,0,0,0.,0.,0,N mdm(Real,vbdDropTolerance)}
}

KeyWord kw 85[14] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{"box behnken",8,0,1,1,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD BOX BEHNKEN)},
{"central composite",8,0,1,1,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD CENTRAL COMPOSITE)},
{"fixed seed",8,0,5,0,0,0.,0.,0,N mdm(true,fixedSeedFlag)},
{"grid",8,0,1,1,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD GRID)},
{"lhs",8,0,1,1,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD LHS)},
{"main effects",8,0,2,0,0,0.,0.,0,N mdm(true,mainEffectsFlag)},
{"oa lhs",8,0,1,1,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD OA LHS)},
{"oas",8,0,1,1,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD OAS)},
{"quality metrics",8,0,3,0,0,0.,0.,0,N mdm(true,volQualityFlag)},
{"random",8,0,1,1,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD RANDOM)},
{"symbols",9,0,6,0,0,0.,0.,0,N mdm(int,numSymbols)},
{"variance based decomp",8,1,4,0,kw 84,0.,0.,0,N mdm(true,vbdFlag)}
}

KeyWord kw 86[7] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{"bfgs",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName DOT BFGS)},
{"frcg",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName DOT FRCG)},
{"mmfd",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName DOT MMFD)},
{"slp",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName DOT SLP)},
{"sqp",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName DOT SQP)}
}

KeyWord kw 87[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

230

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 88[2] [static]


Initial value:
= {
{"dakota",8,0,1,1,0,0.,0.,0,N mdm(type,emulatorType GP EMULATOR)},
{"surfpack",8,0,1,1,0,0.,0.,0,N mdm(type,emulatorType KRIGING EMULATOR)}
}

KeyWord kw 89[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxImportAnnotated)}
}

KeyWord kw 90[7] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"export points file",11,2,4,0,kw 87,0.,0.,0,N mdm(str,approxExportFile)},
{"gaussian process",8,2,1,0,kw 88},
{"import points file",11,2,3,0,kw 89,0.,0.,0,N mdm(str,approxImportFile)},
{"kriging",0,2,1,0,kw 88,0.,0.,-2},
{"seed",0x19,0,5,0,0,0.,0.,0,N mdm(pint,randomSeed)},
{"use derivatives",8,0,2,0,0,0.,0.,0,N mdm(true,methodUseDerivsFlag)}
}

KeyWord kw 91[5] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{0,0,4,0,0,kw 25},
{"batch size",9,0,2,0,0,0.,0.,0,N mdm(int,batchSize)},
{"emulator samples",9,0,1,0,0,0.,0.,0,N mdm(int,emulatorSamples)}
}

KeyWord kw 92[3] [static]


Initial value:
= {
{"grid",8,0,1,1,0,0.,0.,0,N mdm(lit,trialType grid)},
{"halton",8,0,1,1,0,0.,0.,0,N mdm(lit,trialType halton)},
{"random",8,0,1,1,0,0.,0.,0,N mdm(lit,trialType random)}
}

KeyWord kw 93[1] [static]


Initial value:
= {
{"drop tolerance",10,0,1,0,0,0.,0.,0,N mdm(Real,vbdDropTolerance)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 94[8] [static]
Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{"fixed seed",8,0,4,0,0,0.,0.,0,N mdm(true,fixedSeedFlag)},
{"latinize",8,0,1,0,0,0.,0.,0,N mdm(true,latinizeFlag)},
{"num trials",9,0,6,0,0,0.,0.,0,N mdm(int,numTrials)},
{"quality metrics",8,0,2,0,0,0.,0.,0,N mdm(true,volQualityFlag)},
{"trial type",8,3,5,0,kw 92},
{"variance based decomp",8,1,3,0,kw 93,0.,0.,0,N mdm(true,vbdFlag)}
}

KeyWord kw 95[1] [static]


Initial value:
= {
{"drop tolerance",10,0,1,0,0,0.,0.,0,N mdm(Real,vbdDropTolerance)}
}

KeyWord kw 96[11] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"fixed sequence",8,0,6,0,0,0.,0.,0,N mdm(true,fixedSequenceFlag)},
{"halton",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName FSU HALTON)},
{"hammersley",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName FSU HAMMERSLEY)},
{"latinize",8,0,2,0,0,0.,0.,0,N mdm(true,latinizeFlag)},
{"prime base",13,0,9,0,0,0.,0.,0,N mdm(ivec,primeBase)},
{"quality metrics",8,0,3,0,0,0.,0.,0,N mdm(true,volQualityFlag)},
{"samples",9,0,5,0,0,0.,0.,0,N mdm(int,numSamples)},
{"sequence leap",13,0,8,0,0,0.,0.,0,N mdm(ivec,sequenceLeap)},
{"sequence start",13,0,7,0,0,0.,0.,0,N mdm(ivec,sequenceStart)},
{"variance based decomp",8,1,4,0,kw 95,0.,0.,0,N mdm(true,vbdFlag)}
}

KeyWord kw 97[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

KeyWord kw 98[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxImportAnnotated)}
}

231

232

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 99[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM PARALLEL)},
{"series",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM SERIES)}
}

KeyWord kw 100[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget GEN RELIABILITIES)},
{"probabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget PROBABILITIES)},
{"system",8,2,2,0,kw 99}
}

KeyWord kw 101[2] [static]


Initial value:
= {
{"compute",8,3,2,0,kw 100},
{"num response levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,responseLevels)}
}

KeyWord kw 102[7] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{0,0,4,0,0,kw 25},
{"emulator samples",9,0,1,0,0,0.,0.,0,N mdm(int,emulatorSamples)},
{"export points file",11,2,3,0,kw 97,0.,0.,0,N mdm(str,approxExportFile)},
{"import points file",11,2,2,0,kw 98,0.,0.,0,N mdm(str,approxImportFile)},
{"response levels",14,2,4,0,kw 101,0.,0.,0,N mdm(resplevs,responseLevels)}
}

KeyWord kw 103[2] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"seed",0x19,0,1,0,0,0.,0.,0,N mdm(pint,randomSeed)}
}

KeyWord kw 104[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM PARALLEL)},
{"series",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM SERIES)}
}

12.1. DAKOTA NAMESPACE REFERENCE

233

KeyWord kw 105[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget GEN RELIABILITIES)},
{"probabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget PROBABILITIES)},
{"system",8,2,2,0,kw 104}
}

KeyWord kw 106[2] [static]


Initial value:
= {
{"compute",8,3,2,0,kw 105},
{"num response levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,responseLevels)}
}

KeyWord kw 107[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

KeyWord kw 108[2] [static]


Initial value:
= {
{"dakota",8,0,1,1,0,0.,0.,0,N mdm(type,emulatorType GP EMULATOR)},
{"surfpack",8,0,1,1,0,0.,0.,0,N mdm(type,emulatorType KRIGING EMULATOR)}
}

KeyWord kw 109[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxImportAnnotated)}
}

KeyWord kw 110[5] [static]


Initial value:
= {
{"export points file",11,2,4,0,kw 107,0.,0.,0,N mdm(str,approxExportFile)},
{"gaussian process",8,2,1,0,kw 108},
{"import points file",11,2,3,0,kw 109,0.,0.,0,N mdm(str,approxImportFile)},
{"kriging",0,2,1,0,kw 108,0.,0.,-2},
{"use derivatives",8,0,2,0,0,0.,0.,0,N mdm(true,methodUseDerivsFlag)}
}

234

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 111[8] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{0,0,4,0,0,kw 25},
{"ea",8,0,1,0,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD EA)},
{"ego",8,5,1,0,kw 110,0.,0.,0,N mdm(utype,subMethod SUBMETHOD EGO)},
{"lhs",8,0,1,0,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD LHS)},
{"response levels",14,2,2,0,kw 106,0.,0.,0,N mdm(resplevs,responseLevels)},
{"sbo",8,5,1,0,kw 110,0.,0.,0,N mdm(utype,subMethod SUBMETHOD SBO)}
}

KeyWord kw 112[2] [static]


Initial value:
= {
{"mt19937",8,0,1,1,0,0.,0.,0,N mdm(lit,rngName mt19937)},
{"rnum2",8,0,1,1,0,0.,0.,0,N mdm(lit,rngName rnum2)}
}

KeyWord kw 113[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

KeyWord kw 114[2] [static]


Initial value:
= {
{"dakota",8,0,1,1,0,0.,0.,0,N mdm(type,emulatorType GP EMULATOR)},
{"surfpack",8,0,1,1,0,0.,0.,0,N mdm(type,emulatorType KRIGING EMULATOR)}
}

KeyWord kw 115[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxImportAnnotated)}
}

KeyWord kw 116[5] [static]


Initial value:
= {
{"export points file",11,2,4,0,kw 113,0.,0.,0,N mdm(str,approxExportFile)},
{"gaussian process",8,2,1,0,kw 114},
{"import points file",11,2,3,0,kw 115,0.,0.,0,N mdm(str,approxImportFile)},
{"kriging",0,2,1,0,kw 114,0.,0.,-2},
{"use derivatives",8,0,2,0,0,0.,0.,0,N mdm(true,methodUseDerivsFlag)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 117[7] [static]
Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{"ea",8,0,1,0,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD EA)},
{"ego",8,5,1,0,kw 116,0.,0.,0,N mdm(utype,subMethod SUBMETHOD EGO)},
{"lhs",8,0,1,0,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD LHS)},
{"rng",8,2,2,0,kw 112},
{"sbo",8,5,1,0,kw 116,0.,0.,0,N mdm(utype,subMethod SUBMETHOD SBO)}
}

KeyWord kw 118[2] [static]


Initial value:
= {
{"complementary",8,0,1,1,0,0.,0.,0,N mdm(type,distributionType COMPLEMENTARY)},
{"cumulative",8,0,1,1,0,0.,0.,0,N mdm(type,distributionType CUMULATIVE)}
}

KeyWord kw 119[1] [static]


Initial value:
= {
{"num gen reliability levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,genReliabilityLevels)}
}

KeyWord kw 120[1] [static]


Initial value:
= {
{"num probability levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,probabilityLevels)}
}

KeyWord kw 121[3] [static]


Initial value:
= {
{"distribution",8,2,1,0,kw 118},
{"gen reliability levels",14,1,3,0,kw 119,0.,0.,0,N mdm(resplevs,genReliabilityLevels)},
{"probability levels",14,1,2,0,kw 120,0.,0.,0,N mdm(resplevs01,probabilityLevels)}
}

KeyWord kw 122[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

235

236

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 123[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxImportAnnotated)}
}

KeyWord kw 124[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM PARALLEL)},
{"series",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM SERIES)}
}

KeyWord kw 125[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget GEN RELIABILITIES)},
{"probabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget PROBABILITIES)},
{"system",8,2,2,0,kw 124}
}

KeyWord kw 126[2] [static]


Initial value:
= {
{"compute",8,3,2,0,kw 125},
{"num response levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,responseLevels)}
}

KeyWord kw 127[2] [static]


Initial value:
= {
{"mt19937",8,0,1,1,0,0.,0.,0,N mdm(lit,rngName mt19937)},
{"rnum2",8,0,1,1,0,0.,0.,0,N mdm(lit,rngName rnum2)}
}

KeyWord kw 128[14] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,3,0,0,kw 121},
{"dakota",8,0,2,0,0,0.,0.,0,N mdm(type,emulatorType GP EMULATOR)},
{"export points file",11,2,4,0,kw 122,0.,0.,0,N mdm(str,approxExportFile)},
{"import points file",11,2,3,0,kw 123,0.,0.,0,N mdm(str,approxImportFile)},
{"response levels",14,2,8,0,kw 126,0.,0.,0,N mdm(resplevs,responseLevels)},
{"rng",8,2,7,0,kw 127},
{"seed",0x19,0,6,0,0,0.,0.,0,N mdm(pint,randomSeed)},

12.1. DAKOTA NAMESPACE REFERENCE


{"surfpack",8,0,2,0,0,0.,0.,0,N mdm(type,emulatorType KRIGING EMULATOR)},
{"u gaussian process",8,0,1,1,0,0.,0.,0,N mdm(utype,reliabilitySearchType EGRA U)},
{"u kriging",0,0,1,1,0,0.,0.,-1,N mdm(utype,reliabilitySearchType EGRA U)},
{"use derivatives",8,0,5,0,0,0.,0.,0,N mdm(true,methodUseDerivsFlag)},
{"x gaussian process",8,0,1,1,0,0.,0.,0,N mdm(utype,reliabilitySearchType EGRA X)},
{"x kriging",0,0,1,1,0,0.,0.,-1,N mdm(utype,reliabilitySearchType EGRA X)}
}

KeyWord kw 129[2] [static]


Initial value:
= {
{"master",8,0,1,1,0,0.,0.,0,N mdm(type,iteratorScheduling MASTER SCHEDULING)},
{"peer",8,0,1,1,0,0.,0.,0,N mdm(type,iteratorScheduling PEER SCHEDULING)}
}

KeyWord kw 130[3] [static]


Initial value:
= {
{"iterator scheduling",8,2,2,0,kw 129},
{"iterator servers",0x19,0,1,0,0,0.,0.,0,N mdm(pint,iteratorServers)},
{"processors per iterator",0x19,0,3,0,0,0.,0.,0,N mdm(pint,procsPerIterator)}
}

KeyWord kw 131[1] [static]


Initial value:
= {
{"model pointer list",11,0,1,0,0,0.,0.,0,N mdm(strL,hybridModelPointers)}
}

KeyWord kw 132[2] [static]


Initial value:
= {
{"method name list",15,1,1,1,kw 131,0.,0.,0,N mdm(strL,hybridMethodNames)},
{"method pointer list",15,0,1,1,0,0.,0.,0,N mdm(strL,hybridMethodPointers)}
}

KeyWord kw 133[1] [static]


Initial value:
= {
{"global model pointer",11,0,1,0,0,0.,0.,0,N mdm(str,hybridGlobalModelPointer)}
}

KeyWord kw 134[1] [static]


Initial value:
= {
{"local model pointer",11,0,1,0,0,0.,0.,0,N mdm(str,hybridLocalModelPointer)}
}

237

238

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 135[5] [static]


Initial value:
= {
{"global method name",11,1,1,1,kw 133,0.,0.,0,N mdm(str,hybridGlobalMethodName)},
{"global method pointer",11,0,1,1,0,0.,0.,0,N mdm(str,hybridGlobalMethodPointer)},
{"local method name",11,1,2,2,kw 134,0.,0.,0,N mdm(str,hybridLocalMethodName)},
{"local method pointer",11,0,2,2,0,0.,0.,0,N mdm(str,hybridLocalMethodPointer)},
{"local search probability",10,0,3,0,0,0.,0.,0,N mdm(Real,hybridLSProb)}
}

KeyWord kw 136[1] [static]


Initial value:
= {
{"model pointer list",11,0,1,0,0,0.,0.,0,N mdm(strL,hybridModelPointers)}
}

KeyWord kw 137[2] [static]


Initial value:
= {
{"method name list",15,1,1,1,kw 136,0.,0.,0,N mdm(strL,hybridMethodNames)},
{"method pointer list",15,0,1,1,0,0.,0.,0,N mdm(strL,hybridMethodPointers)}
}

KeyWord kw 138[6] [static]


Initial value:
= {
{0,0,3,0,0,kw 130},
{"collaborative",8,2,1,1,kw 132,0.,0.,0,N mdm(utype,subMethod SUBMETHOD COLLABORATIVE)},
{"coupled",0,5,1,1,kw 135,0.,0.,1,N mdm(utype,subMethod SUBMETHOD EMBEDDED)},
{"embedded",8,5,1,1,kw 135,0.,0.,0,N mdm(utype,subMethod SUBMETHOD EMBEDDED)},
{"sequential",8,2,1,1,kw 137,0.,0.,0,N mdm(utype,subMethod SUBMETHOD SEQUENTIAL)},
{"uncoupled",0,2,1,1,kw 137,0.,0.,-1,N mdm(utype,subMethod SUBMETHOD SEQUENTIAL)}
}

KeyWord kw 139[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM PARALLEL)},
{"series",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM SERIES)}
}

KeyWord kw 140[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget GEN RELIABILITIES)},
{"probabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget PROBABILITIES)},
{"system",8,2,2,0,kw 139}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 141[2] [static]
Initial value:
= {
{"compute",8,3,2,0,kw 140},
{"num response levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,responseLevels)}
}

KeyWord kw 142[8] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{0,0,4,0,0,kw 25},
{"adapt import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine AIS)},
{"import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine IS)},
{"mm adapt import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine MMAIS)},
{"refinement samples",9,0,2,0,0,0.,0.,0,N mdm(int,refineSamples)},
{"response levels",14,2,3,0,kw 141,0.,0.,0,N mdm(resplevs,responseLevels)}
}

KeyWord kw 143[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,pstudyFileAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,pstudyFileAnnotated)}
}

KeyWord kw 144[3] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"import points file",11,2,1,1,kw 143,0.,0.,0,N mdm(str,pstudyFilename)},
{"list of points",14,0,1,1,0,0.,0.,0,N mdm(RealDL,listOfPoints)}
}

KeyWord kw 145[2] [static]


Initial value:
= {
{"complementary",8,0,1,1,0,0.,0.,0,N mdm(type,distributionType COMPLEMENTARY)},
{"cumulative",8,0,1,1,0,0.,0.,0,N mdm(type,distributionType CUMULATIVE)}
}

KeyWord kw 146[1] [static]


Initial value:
= {
{"num gen reliability levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,genReliabilityLevels)}
}

239

240

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 147[1] [static]


Initial value:
= {
{"num probability levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,probabilityLevels)}
}

KeyWord kw 148[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM PARALLEL)},
{"series",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM SERIES)}
}

KeyWord kw 149[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget GEN RELIABILITIES)},
{"probabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget PROBABILITIES)},
{"system",8,2,2,0,kw 148}
}

KeyWord kw 150[2] [static]


Initial value:
= {
{"compute",8,3,2,0,kw 149},
{"num response levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,responseLevels)}
}

KeyWord kw 151[7] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"distribution",8,2,5,0,kw 145},
{"gen reliability levels",14,1,4,0,kw 146,0.,0.,0,N mdm(resplevs,genReliabilityLevels)},
{"nip",8,0,1,0,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD NIP)},
{"probability levels",14,1,3,0,kw 147,0.,0.,0,N mdm(resplevs01,probabilityLevels)},
{"response levels",14,2,2,0,kw 150,0.,0.,0,N mdm(resplevs,responseLevels)},
{"sqp",8,0,1,0,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD SQP)}
}

KeyWord kw 152[3] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"nip",8,0,1,0,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD NIP)},
{"sqp",8,0,1,0,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD SQP)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 153[5] [static]
Initial value:
= {
{"adapt import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine AIS)},
{"import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine IS)},
{"mm adapt import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine MMAIS)},
{"refinement samples",9,0,2,0,0,0.,0.,0,N mdm(int,refineSamples)},
{"seed",0x19,0,3,0,0,0.,0.,0,N mdm(pint,randomSeed)}
}

KeyWord kw 154[4] [static]


Initial value:
= {
{"first order",8,0,1,1,0,0.,0.,0,N mdm(lit,reliabilityIntegration first order)},
{"probability refinement",8,5,2,0,kw 153},
{"sample refinement",0,5,2,0,kw 153,0.,0.,-1},
{"second order",8,0,1,1,0,0.,0.,0,N mdm(lit,reliabilityIntegration second order)}
}

KeyWord kw 155[10] [static]


Initial value:
= {
{"integration",8,4,3,0,kw 154},
{"nip",8,0,2,0,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD NIP)},
{"no approx",8,0,1,1,0,0.,0.,0,N mdm(utype,reliabilitySearchType NO APPROX)},
{"sqp",8,0,2,0,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD SQP)},
{"u taylor mean",8,0,1,1,0,0.,0.,0,N mdm(utype,reliabilitySearchType AMV U)},
{"u taylor mpp",8,0,1,1,0,0.,0.,0,N mdm(utype,reliabilitySearchType AMV PLUS U)},
{"u two point",8,0,1,1,0,0.,0.,0,N mdm(utype,reliabilitySearchType TANA U)},
{"x taylor mean",8,0,1,1,0,0.,0.,0,N mdm(utype,reliabilitySearchType AMV X)},
{"x taylor mpp",8,0,1,1,0,0.,0.,0,N mdm(utype,reliabilitySearchType AMV PLUS X)},
{"x two point",8,0,1,1,0,0.,0.,0,N mdm(utype,reliabilitySearchType TANA X)}
}

KeyWord kw 156[1] [static]


Initial value:
= {
{"num reliability levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,reliabilityLevels)}
}

KeyWord kw 157[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM PARALLEL)},
{"series",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM SERIES)}
}

241

242

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 158[4] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget GEN RELIABILITIES)},
{"probabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget PROBABILITIES)},
{"reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget RELIABILITIES)},
{"system",8,2,2,0,kw 157}
}

KeyWord kw 159[2] [static]


Initial value:
= {
{"compute",8,4,2,0,kw 158},
{"num response levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,responseLevels)}
}

KeyWord kw 160[5] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,3,0,0,kw 121},
{"mpp search",8,10,1,0,kw 155},
{"reliability levels",14,1,3,0,kw 156,0.,0.,0,N mdm(resplevs,reliabilityLevels)},
{"response levels",14,2,2,0,kw 159,0.,0.,0,N mdm(resplevs,responseLevels)}
}

KeyWord kw 161[8] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{"display all evaluations",8,0,6,0,0,0.,0.,0,N mdm(true,showAllEval)},
{"display format",11,0,4,0,0,0.,0.,0,N mdm(str,displayFormat)},
{"function precision",10,0,1,0,0,0.,0.,0,N mdm(Real,functionPrecision)},
{"history file",11,0,3,0,0,0.,0.,0,N mdm(str,historyFile)},
{"seed",0x19,0,2,0,0,0.,0.,0,N mdm(pint,randomSeed)},
{"variable neighborhood search",10,0,5,0,0,0.,0.,0,N mdm(Real,vns)}
}

KeyWord kw 162[2] [static]


Initial value:
= {
{"num offspring",0x19,0,2,0,0,0.,0.,0,N mdm(pintz,numOffspring)},
{"num parents",0x19,0,1,0,0,0.,0.,0,N mdm(pintz,numParents)}
}

12.1. DAKOTA NAMESPACE REFERENCE

243

KeyWord kw 163[5] [static]


Initial value:
= {
{"crossover rate",10,0,2,0,0,0.,0.,0,N mdm(litz,TYPE DATA crossoverType null crossover)},
{"multi point binary",9,0,1,1,0,0.,0.,0,N mdm(ilit2p,
TYPE DATA crossoverType multi point binary)},
{"multi point parameterized binary",9,0,1,1,0,0.,0.,0,N mdm(ilit2p,
TYPE DATA crossoverType multi point parameterized binary)},
{"multi point real",9,0,1,1,0,0.,0.,0,N mdm(ilit2p,TYPE DATA crossoverType multi point real
)},
{"shuffle random",8,2,1,1,kw 162,0.,0.,0,N mdm(litc,TYPE DATA crossoverType shuffle random)
}
}

KeyWord kw 164[3] [static]


Initial value:
= {
{"flat file",11,0,1,1,0,0.,0.,0,N mdm(slit2,TYPE DATA initializationType flat file)},
{"simple random",8,0,1,1,0,0.,0.,0,N mdm(lit,initializationType random)},
{"unique random",8,0,1,1,0,0.,0.,0,N mdm(lit,initializationType unique random)}
}

KeyWord kw 165[1] [static]


Initial value:
= {
{"mutation scale",10,0,1,0,0,0.,0.,0,N mdm(Real01,mutationScale)}
}

KeyWord kw 166[6] [static]


Initial value:
= {
{"bit random",8,0,1,1,0,0.,0.,0,N mdm(lit,mutationType bit random)},
{"mutation rate",10,0,2,0,0,0.,0.,0,N mdm(litz,TYPE DATA mutationType null mutation)},
{"offset cauchy",8,1,1,1,kw 165,0.,0.,0,N mdm(litc,TYPE DATA mutationType offset cauchy)},
{"offset normal",8,1,1,1,kw 165,0.,0.,0,N mdm(litc,TYPE DATA mutationType offset normal)},
{"offset uniform",8,1,1,1,kw 165,0.,0.,0,N mdm(litc,TYPE DATA mutationType offset uniform)}
,
{"replace uniform",8,0,1,1,0,0.,0.,0,N mdm(lit,mutationType replace uniform)}
}

KeyWord kw 167[7] [static]


Initial value:
= {
{"crossover type",8,5,5,0,kw 163},
{"initialization type",8,3,4,0,kw 164},
{"log file",11,0,2,0,0,0.,0.,0,N mdm(str,logFile)},
{"mutation type",8,6,6,0,kw 166},
{"population size",0x29,0,1,0,0,0.,0.,0,N mdm(nnint,populationSize)},
{"print each pop",8,0,3,0,0,0.,0.,0,N mdm(true,printPopFlag)},
{"seed",0x19,0,7,0,0,0.,0.,0,N mdm(pint,randomSeed)}
}

244

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 168[3] [static]


Initial value:
= {
{"metric tracker",8,0,1,1,0,0.,0.,0,N mdm(lit,convergenceType metric tracker)},
{"num generations",0x29,0,3,0,0,0.,0.,0,N mdm(sizet,numGenerations)},
{"percent change",10,0,2,0,0,0.,0.,0,N mdm(Realz,convergenceTolerance)}
}

KeyWord kw 169[2] [static]


Initial value:
= {
{"domination count",8,0,1,1,0,0.,0.,0,N mdm(lit,fitnessType domination count)},
{"layer rank",8,0,1,1,0,0.,0.,0,N mdm(lit,fitnessType layer rank)}
}

KeyWord kw 170[1] [static]


Initial value:
= {
{"num designs",0x29,0,1,0,0,2.,0.,0,N mdm(pintz,numDesigns)}
}

KeyWord kw 171[3] [static]


Initial value:
= {
{"distance",14,0,1,1,0,0.,0.,0,N mdm(RealLlit,TYPE DATA nichingType distance)},
{"max designs",14,1,1,1,kw 170,0.,0.,0,N mdm(RealLlit,TYPE DATA nichingType max designs)},
{"radial",14,0,1,1,0,0.,0.,0,N mdm(RealLlit,TYPE DATA nichingType radial)}
}

KeyWord kw 172[1] [static]


Initial value:
= {
{"orthogonal distance",14,0,1,1,0,0.,0.,0,N mdm(RealLlit,
TYPE DATA postProcessorType distance postprocessor)}
}

KeyWord kw 173[2] [static]


Initial value:
= {
{"shrinkage fraction",10,0,1,0,0,0.,0.,0,N mdm(Real01,shrinkagePercent)},
{"shrinkage percentage",2,0,1,0,0,0.,0.,-1,N mdm(Real01,shrinkagePercent)}
}

12.1. DAKOTA NAMESPACE REFERENCE

245

KeyWord kw 174[4] [static]


Initial value:
= {
{"below limit",10,2,1,1,kw 173,0.,0.,0,N mdm(litp,TYPE DATA replacementType below limit)},
{"elitist",8,0,1,1,0,0.,0.,0,N mdm(lit,replacementType elitist)},
{"roulette wheel",8,0,1,1,0,0.,0.,0,N mdm(lit,replacementType roulette wheel)},
{"unique roulette wheel",8,0,1,1,0,0.,0.,0,N mdm(lit,replacementType unique roulette wheel)
}
}

KeyWord kw 175[8] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{0,0,7,0,0,kw 167},
{"convergence type",8,3,4,0,kw 168},
{"fitness type",8,2,1,0,kw 169},
{"niching type",8,3,3,0,kw 171},
{"postprocessor type",8,1,5,0,kw 172},
{"replacement type",8,4,2,0,kw 174}
}

KeyWord kw 176[1] [static]


Initial value:
= {
{"model pointer",11,0,1,0,0,0.,0.,0,N mdm(str,subModelPointer)}
}

KeyWord kw 177[1] [static]


Initial value:
= {
{"seed",9,0,1,0,0,0.,0.,0,N mdm(int,randomSeed)}
}

KeyWord kw 178[5] [static]


Initial value:
= {
{0,0,3,0,0,kw 130},
{"method name",11,1,1,1,kw 176,0.,0.,0,N mdm(str,subMethodName)},
{"method pointer",11,0,1,1,0,0.,0.,0,N mdm(str,subMethodPointer)},
{"random starts",9,1,2,0,kw 177,0.,0.,0,N mdm(int,concurrentRandomJobs)},
{"starting points",14,0,3,0,0,0.,0.,0,N mdm(RealDL,concurrentParameterSets)}
}

246

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 179[2] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"partitions",13,0,1,1,0,0.,0.,0,N mdm(usharray,varPartitions)}
}

KeyWord kw 180[5] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"min boxsize limit",10,0,2,0,0,0.,0.,0,N mdm(Real,minBoxSize)},
{"solution accuracy",2,0,1,0,0,0.,0.,1,N mdm(Real,solnTarget)},
{"solution target",10,0,1,0,0,0.,0.,0,N mdm(Real,solnTarget)},
{"volume boxsize limit",10,0,3,0,0,0.,0.,0,N mdm(Real,volBoxSize)}
}

KeyWord kw 181[10] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"absolute conv tol",10,0,2,0,0,0.,0.,0,N mdm(Real,absConvTol)},
{"covariance",9,0,8,0,0,0.,0.,0,N mdm(int,covarianceType)},
{"false conv tol",10,0,6,0,0,0.,0.,0,N mdm(Real,falseConvTol)},
{"function precision",10,0,1,0,0,0.,0.,0,N mdm(Real,functionPrecision)},
{"initial trust radius",10,0,7,0,0,0.,0.,0,N mdm(Real,initTRRadius)},
{"regression diagnostics",8,0,9,0,0,0.,0.,0,N mdm(true,regressDiag)},
{"singular conv tol",10,0,4,0,0,0.,0.,0,N mdm(Real,singConvTol)},
{"singular radius",10,0,5,0,0,0.,0.,0,N mdm(Real,singRadius)},
{"x conv tol",10,0,3,0,0,0.,0.,0,N mdm(Real,xConvTol)}
}

KeyWord kw 182[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM PARALLEL)},
{"series",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM SERIES)}
}

KeyWord kw 183[3] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget GEN RELIABILITIES)},
{"probabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget PROBABILITIES)},
{"system",8,2,2,0,kw 182}
}

12.1. DAKOTA NAMESPACE REFERENCE

247

KeyWord kw 184[2] [static]


Initial value:
= {
{"compute",8,3,2,0,kw 183},
{"num response levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,responseLevels)}
}

KeyWord kw 185[4] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{0,0,4,0,0,kw 25},
{"response levels",14,2,1,0,kw 184,0.,0.,0,N mdm(resplevs,responseLevels)}
}

KeyWord kw 186[1] [static]


Initial value:
= {
{"num reliability levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,reliabilityLevels)}
}

KeyWord kw 187[2] [static]


Initial value:
= {
{"parallel",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM PARALLEL)},
{"series",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTargetReduce SYSTEM SERIES)}
}

KeyWord kw 188[4] [static]


Initial value:
= {
{"gen reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget GEN RELIABILITIES)},
{"probabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget PROBABILITIES)},
{"reliabilities",8,0,1,1,0,0.,0.,0,N mdm(type,responseLevelTarget RELIABILITIES)},
{"system",8,2,2,0,kw 187}
}

KeyWord kw 189[2] [static]


Initial value:
= {
{"compute",8,4,2,0,kw 188},
{"num response levels",13,0,1,0,0,0.,0.,0,N mdm(num resplevs,responseLevels)}
}

248

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 190[2] [static]


Initial value:
= {
{"reliability levels",14,1,1,0,kw 186,0.,0.,0,N mdm(resplevs,reliabilityLevels)},
{"response levels",14,2,2,0,kw 189,0.,0.,0,N mdm(resplevs,responseLevels)}
}

KeyWord kw 191[1] [static]


Initial value:
= {
{"fixed seed",8,0,1,0,0,0.,0.,0,N mdm(true,fixedSeedFlag)}
}

KeyWord kw 192[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxImportAnnotated)}
}

KeyWord kw 193[1] [static]


Initial value:
= {
{"import points file",11,2,1,0,kw 192,0.,0.,0,N mdm(str,approxImportFile)}
}

KeyWord kw 194[3] [static]


Initial value:
= {
{"adapted",8,0,1,1,0,0.,0.,0,N mdm(type,expansionBasisType ADAPTED BASIS)},
{"tensor product",8,0,1,1,0,0.,0.,0,N mdm(type,expansionBasisType TENSOR PRODUCT BASIS)},
{"total order",8,0,1,1,0,0.,0.,0,N mdm(type,expansionBasisType TOTAL ORDER BASIS)}
}

KeyWord kw 195[1] [static]


Initial value:
= {
{"noise tolerance",14,0,1,0,0,0.,0.,0,N mdm(RealDL,regressionNoiseTol)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 196[1] [static]
Initial value:
= {
{"noise tolerance",14,0,1,0,0,0.,0.,0,N mdm(RealDL,regressionNoiseTol)}
}

KeyWord kw 197[2] [static]


Initial value:
= {
{"l2 penalty",10,0,2,0,0,0.,0.,0,N mdm(Real,regressionL2Penalty)},
{"noise tolerance",14,0,1,0,0,0.,0.,0,N mdm(RealDL,regressionNoiseTol)}
}

KeyWord kw 198[2] [static]


Initial value:
= {
{"equality constrained",8,0,1,0,0,0.,0.,0,N mdm(type,lsRegressionType EQ CON LS)},
{"svd",8,0,1,0,0,0.,0.,0,N mdm(type,lsRegressionType SVD LS)}
}

KeyWord kw 199[1] [static]


Initial value:
= {
{"noise tolerance",14,0,1,0,0,0.,0.,0,N mdm(RealDL,regressionNoiseTol)}
}

KeyWord kw 200[17] [static]


Initial value:
= {
{"basis pursuit",8,0,2,0,0,0.,0.,0,N mdm(type,regressionType BASIS PURSUIT)},
{"basis pursuit denoising",8,1,2,0,kw 195,0.,0.,0,N mdm(type,
regressionType BASIS PURSUIT DENOISING)},
{"bp",0,0,2,0,0,0.,0.,-2,N mdm(type,regressionType BASIS PURSUIT)},
{"bpdn",0,1,2,0,kw 195,0.,0.,-2,N mdm(type,regressionType BASIS PURSUIT DENOISING)},
{"cross validation",8,0,3,0,0,0.,0.,0,N mdm(true,crossValidation)},
{"lars",0,1,2,0,kw 196,0.,0.,3,N mdm(type,regressionType LEAST ANGLE REGRESSION)},
{"lasso",0,2,2,0,kw 197,0.,0.,1,N mdm(type,regressionType LASSO REGRESSION)},
{"least absolute shrinkage",8,2,2,0,kw 197,0.,0.,0,N mdm(type,
regressionType LASSO REGRESSION)},
{"least angle regression",8,1,2,0,kw 196,0.,0.,0,N mdm(type,
regressionType LEAST ANGLE REGRESSION)},
{"least squares",8,2,2,0,kw 198,0.,0.,0,N mdm(type,
regressionType DEFAULT LEAST SQ REGRESSION)},
{"omp",0,1,2,0,kw 199,0.,0.,1,N mdm(type,regressionType ORTHOG MATCH PURSUIT)},
{"orthogonal matching pursuit",8,1,2,0,kw 199,0.,0.,0,N mdm(type,
regressionType ORTHOG MATCH PURSUIT)},
{"ratio order",10,0,1,0,0,0.,0.,0,N mdm(Realp,collocRatioTermsOrder)},
{"reuse points",8,0,6,0,0,0.,0.,0,N mdm(lit,pointReuse all)},
{"reuse samples",0,0,6,0,0,0.,0.,-1,N mdm(lit,pointReuse all)},
{"tensor grid",8,0,5,0,0,0.,0.,0,N mdm(true,tensorGridFlag)},
{"use derivatives",8,0,4,0,0,0.,0.,0,N mdm(true,methodUseDerivsFlag)}
}

249

250

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 201[3] [static]


Initial value:
= {
{"incremental lhs",8,0,2,0,0,0.,0.,0,N mdm(lit,expansionSampleType incremental lhs)},
{"reuse points",8,0,1,0,0,0.,0.,0,N mdm(lit,pointReuse all)},
{"reuse samples",0,0,1,0,0,0.,0.,-1,N mdm(lit,pointReuse all)}
}

KeyWord kw 202[6] [static]


Initial value:
= {
{0,0,1,0,0,kw 193},
{"basis type",8,3,2,0,kw 194},
{"collocation points",13,17,3,1,kw 200,0.,0.,0,N mdm(szarray,collocationPoints)},
{"collocation ratio",10,17,3,1,kw 200,0.,0.,0,N mdm(Realp,collocationRatio)},
{"dimension preference",14,0,1,0,0,0.,0.,0,N mdm(RealDL,anisoDimPref)},
{"expansion samples",13,3,3,1,kw 201,0.,0.,0,N mdm(szarray,expansionSamples)}
}

KeyWord kw 203[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

KeyWord kw 204[6] [static]


Initial value:
= {
{0,0,1,0,0,kw 193},
{"collocation points",13,0,1,1,0,0.,0.,0,N mdm(szarray,collocationPoints)},
{"cross validation",8,0,2,0,0,0.,0.,0,N mdm(true,crossValidation)},
{"reuse points",8,0,4,0,0,0.,0.,0,N mdm(lit,pointReuse all)},
{"reuse samples",0,0,4,0,0,0.,0.,-1,N mdm(lit,pointReuse all)},
{"tensor grid",13,0,3,0,0,0.,0.,0,N mdm(usharray,tensorGridOrder)}
}

KeyWord kw 205[3] [static]


Initial value:
= {
{"decay",8,0,1,1,0,0.,0.,0,N mdm(type,refinementControl DIMENSION ADAPTIVE CONTROL DECAY)},
{"generalized",8,0,1,1,0,0.,0.,0,N mdm(type,
refinementControl DIMENSION ADAPTIVE CONTROL GENERALIZED)},
{"sobol",8,0,1,1,0,0.,0.,0,N mdm(type,refinementControl DIMENSION ADAPTIVE CONTROL SOBOL)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 206[2] [static]
Initial value:
= {
{"dimension adaptive",8,3,1,1,kw 205},
{"uniform",8,0,1,1,0,0.,0.,0,N mdm(type,refinementControl UNIFORM CONTROL)}
}

KeyWord kw 207[4] [static]


Initial value:
= {
{"adapt import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine AIS)},
{"import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine IS)},
{"mm adapt import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine MMAIS)},
{"refinement samples",9,0,2,0,0,0.,0.,0,N mdm(int,refineSamples)}
}

KeyWord kw 208[3] [static]


Initial value:
= {
{"dimension preference",14,0,1,0,0,0.,0.,0,N mdm(RealDL,anisoDimPref)},
{"nested",8,0,2,0,0,0.,0.,0,N mdm(type,nestingOverride NESTED)},
{"non nested",8,0,2,0,0,0.,0.,0,N mdm(type,nestingOverride NON NESTED)}
}

KeyWord kw 209[2] [static]


Initial value:
= {
{"lhs",8,0,1,1,0,0.,0.,0,N mdm(utype,sampleType SUBMETHOD LHS)},
{"random",8,0,1,1,0,0.,0.,0,N mdm(utype,sampleType SUBMETHOD RANDOM)}
}

KeyWord kw 210[3] [static]


Initial value:
= {
{0,0,3,0,0,kw 208},
{"restricted",8,0,1,0,0,0.,0.,0,N mdm(type,growthOverride RESTRICTED)},
{"unrestricted",8,0,1,0,0,0.,0.,0,N mdm(type,growthOverride UNRESTRICTED)}
}

KeyWord kw 211[2] [static]


Initial value:
= {
{"drop tolerance",10,0,2,0,0,0.,0.,0,N mdm(Real,vbdDropTolerance)},
{"interaction order",0x19,0,1,0,0,0.,0.,0,N mdm(ushint,vbdOrder)}
}

251

252

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 212[25] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{0,0,4,0,0,kw 25},
{0,0,2,0,0,kw 190},
{0,0,1,0,0,kw 191},
{"askey",8,0,2,0,0,0.,0.,0,N mdm(type,expansionType ASKEY U)},
{"cubature integrand",9,0,3,1,0,0.,0.,0,N mdm(ushint,cubIntOrder)},
{"diagonal covariance",8,0,5,0,0,0.,0.,0,N mdm(type,covarianceControl DIAGONAL COVARIANCE)}
,
{"expansion order",13,5,3,1,kw 202,0.,0.,0,N mdm(usharray,expansionOrder)},
{"export expansion file",11,0,10,0,0,0.,0.,0,N mdm(str,expansionExportFile)},
{"export points file",11,2,9,0,kw 203,0.,0.,0,N mdm(str,approxExportFile)},
{"full covariance",8,0,5,0,0,0.,0.,0,N mdm(type,covarianceControl FULL COVARIANCE)},
{"import expansion file",11,0,3,1,0,0.,0.,0,N mdm(str,expansionImportFile)},
{"least interpolation",0,5,3,1,kw 204,0.,0.,3,N mdm(type,
regressionType ORTHOG LEAST INTERPOLATION)},
{"normalized",8,0,6,0,0,0.,0.,0,N mdm(true,normalizedCoeffs)},
{"oli",0,5,3,1,kw 204,0.,0.,1,N mdm(type,regressionType ORTHOG LEAST INTERPOLATION)},
{"orthogonal least interpolation",8,5,3,1,kw 204,0.,0.,0,N mdm(type,
regressionType ORTHOG LEAST INTERPOLATION)},
{"p refinement",8,2,1,0,kw 206,0.,0.,0,N mdm(type,refinementType P REFINEMENT)},
{"probability refinement",8,4,8,0,kw 207},
{"quadrature order",13,3,3,1,kw 208,0.,0.,0,N mdm(usharray,quadratureOrder)},
{"sample refinement",0,4,8,0,kw 207,0.,0.,-2},
{"sample type",8,2,7,0,kw 209},
{"sparse grid level",13,2,3,1,kw 210,0.,0.,0,N mdm(usharray,sparseGridLevel)},
{"variance based decomp",8,2,4,0,kw 211,0.,0.,0,N mdm(true,vbdFlag)},
{"wiener",8,0,2,0,0,0.,0.,0,N mdm(type,expansionType STD NORMAL U)}
}

KeyWord kw 213[1] [static]


Initial value:
= {
{"previous samples",9,0,1,1,0,0.,0.,0,N mdm(int,previousSamples)}
}

KeyWord kw 214[4] [static]


Initial value:
= {
{"incremental lhs",8,1,1,1,kw 213,0.,0.,0,N mdm(utype,sampleType SUBMETHOD INCREMENTAL LHS)
},
{"incremental random",8,1,1,1,kw 213,0.,0.,0,N mdm(utype,
sampleType SUBMETHOD INCREMENTAL RANDOM)},
{"lhs",8,0,1,1,0,0.,0.,0,N mdm(utype,sampleType SUBMETHOD LHS)},
{"random",8,0,1,1,0,0.,0.,0,N mdm(utype,sampleType SUBMETHOD RANDOM)}
}

KeyWord kw 215[1] [static]


Initial value:
= {
{"drop tolerance",10,0,1,0,0,0.,0.,0,N mdm(Real,vbdDropTolerance)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 216[7] [static]
Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{0,0,4,0,0,kw 25},
{0,0,2,0,0,kw 190},
{0,0,1,0,0,kw 191},
{"sample type",8,4,1,0,kw 214},
{"variance based decomp",8,1,2,0,kw 215,0.,0.,0,N mdm(true,vbdFlag)}
}

KeyWord kw 217[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mdm(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mdm(false,approxExportAnnotated)}
}

KeyWord kw 218[2] [static]


Initial value:
= {
{"generalized",8,0,1,1,0,0.,0.,0,N mdm(type,
refinementControl DIMENSION ADAPTIVE CONTROL GENERALIZED)},
{"sobol",8,0,1,1,0,0.,0.,0,N mdm(type,refinementControl DIMENSION ADAPTIVE CONTROL SOBOL)}
}

KeyWord kw 219[3] [static]


Initial value:
= {
{"dimension adaptive",8,2,1,1,kw 218},
{"local adaptive",8,0,1,1,0,0.,0.,0,N mdm(type,refinementControl LOCAL ADAPTIVE CONTROL)},
{"uniform",8,0,1,1,0,0.,0.,0,N mdm(type,refinementControl UNIFORM CONTROL)}
}

KeyWord kw 220[2] [static]


Initial value:
= {
{"generalized",8,0,1,1,0,0.,0.,0,N mdm(type,
refinementControl DIMENSION ADAPTIVE CONTROL GENERALIZED)},
{"sobol",8,0,1,1,0,0.,0.,0,N mdm(type,refinementControl DIMENSION ADAPTIVE CONTROL SOBOL)}
}

KeyWord kw 221[2] [static]


Initial value:
= {
{"dimension adaptive",8,2,1,1,kw 220},
{"uniform",8,0,1,1,0,0.,0.,0,N mdm(type,refinementControl UNIFORM CONTROL)}
}

253

254

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 222[4] [static]


Initial value:
= {
{"adapt import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine AIS)},
{"import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine IS)},
{"mm adapt import",8,0,1,1,0,0.,0.,0,N mdm(utype,integrationRefine MMAIS)},
{"refinement samples",9,0,2,0,0,0.,0.,0,N mdm(int,refineSamples)}
}

KeyWord kw 223[2] [static]


Initial value:
= {
{"lhs",8,0,1,1,0,0.,0.,0,N mdm(utype,sampleType SUBMETHOD LHS)},
{"random",8,0,1,1,0,0.,0.,0,N mdm(utype,sampleType SUBMETHOD RANDOM)}
}

KeyWord kw 224[4] [static]


Initial value:
= {
{"hierarchical",8,0,2,0,0,0.,0.,0,N mdm(type,expansionBasisType HIERARCHICAL INTERPOLANT)},
{"nodal",8,0,2,0,0,0.,0.,0,N mdm(type,expansionBasisType NODAL INTERPOLANT)},
{"restricted",8,0,1,0,0,0.,0.,0,N mdm(type,growthOverride RESTRICTED)},
{"unrestricted",8,0,1,0,0,0.,0.,0,N mdm(type,growthOverride UNRESTRICTED)}
}

KeyWord kw 225[2] [static]


Initial value:
= {
{"drop tolerance",10,0,2,0,0,0.,0.,0,N mdm(Real,vbdDropTolerance)},
{"interaction order",0x19,0,1,0,0,0.,0.,0,N mdm(ushint,vbdOrder)}
}

KeyWord kw 226[23] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{0,0,4,0,0,kw 25},
{0,0,2,0,0,kw 190},
{0,0,1,0,0,kw 191},
{"askey",8,0,2,0,0,0.,0.,0,N mdm(type,expansionType ASKEY U)},
{"diagonal covariance",8,0,8,0,0,0.,0.,0,N mdm(type,covarianceControl DIAGONAL COVARIANCE)}
,
{"dimension preference",14,0,4,0,0,0.,0.,0,N mdm(RealDL,anisoDimPref)},
{"export points file",11,2,11,0,kw 217,0.,0.,0,N mdm(str,approxExportFile)},
{"full covariance",8,0,8,0,0,0.,0.,0,N mdm(type,covarianceControl FULL COVARIANCE)},
{"h refinement",8,3,1,0,kw 219,0.,0.,0,N mdm(type,refinementType H REFINEMENT)},
{"nested",8,0,6,0,0,0.,0.,0,N mdm(type,nestingOverride NESTED)},
{"non nested",8,0,6,0,0,0.,0.,0,N mdm(type,nestingOverride NON NESTED)},
{"p refinement",8,2,1,0,kw 221,0.,0.,0,N mdm(type,refinementType P REFINEMENT)},
{"piecewise",8,0,2,0,0,0.,0.,0,NIDRProblemDescDB::method piecewise},
{"probability refinement",8,4,10,0,kw 222},

12.1. DAKOTA NAMESPACE REFERENCE


{"quadrature order",13,0,3,1,0,0.,0.,0,N mdm(usharray,quadratureOrder)},
{"sample refinement",0,4,10,0,kw 222,0.,0.,-2},
{"sample type",8,2,9,0,kw 223},
{"sparse grid level",13,4,3,1,kw 224,0.,0.,0,N mdm(usharray,sparseGridLevel)},
{"use derivatives",8,0,5,0,0,0.,0.,0,N mdm(true,methodUseDerivsFlag)},
{"variance based decomp",8,2,7,0,kw 225,0.,0.,0,N mdm(true,vbdFlag)},
{"wiener",8,0,2,0,0,0.,0.,0,N mdm(type,expansionType STD NORMAL U)}
}

KeyWord kw 227[2] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"misc options",15,0,1,0,0,0.,0.,0,N mdm(strL,miscOptions)}
}

KeyWord kw 228[3] [static]


Initial value:
= {
{"function precision",10,0,2,0,0,0.,0.,0,N mdm(Real,functionPrecision)},
{"linesearch tolerance",10,0,3,0,0,0.,0.,0,N mdm(Real,lineSearchTolerance)},
{"verify level",9,0,1,0,0,0.,0.,0,N mdm(int,verifyLevel)}
}

KeyWord kw 229[4] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{0,0,3,0,0,kw 228},
{""}
}

KeyWord kw 230[2] [static]


Initial value:
= {
{"gradient tolerance",10,0,2,0,0,0.,0.,0,N mdm(Real,gradientTolerance)},
{"max step",10,0,1,0,0,0.,0.,0,N mdm(Real,maxStep)}
}

KeyWord kw 231[4] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{0,0,2,0,0,kw 230},
{""}
}

255

256

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 232[3] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{"search scheme size",9,0,1,0,0,0.,0.,0,N mdm(int,searchSchemeSize)}
}

KeyWord kw 233[3] [static]


Initial value:
= {
{"argaez tapia",8,0,1,1,0,0.,0.,0,N mdm(type,meritFn ArgaezTapia)},
{"el bakry",8,0,1,1,0,0.,0.,0,N mdm(type,meritFn NormFmu)},
{"van shanno",8,0,1,1,0,0.,0.,0,N mdm(type,meritFn VanShanno)}
}

KeyWord kw 234[4] [static]


Initial value:
= {
{"gradient based line search",8,0,1,1,0,0.,0.,0,N mdm(lit,
searchMethod gradient based line search)},
{"tr pds",8,0,1,1,0,0.,0.,0,N mdm(lit,searchMethod tr pds)},
{"trust region",8,0,1,1,0,0.,0.,0,N mdm(lit,searchMethod trust region)},
{"value based line search",8,0,1,1,0,0.,0.,0,N mdm(lit,searchMethod value based line search
)}
}

KeyWord kw 235[7] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{0,0,2,0,0,kw 230},
{"centering parameter",10,0,4,0,0,0.,0.,0,N mdm(Real,centeringParam)},
{"merit function",8,3,2,0,kw 233},
{"search method",8,4,1,0,kw 234},
{"steplength to boundary",10,0,3,0,0,0.,0.,0,N mdm(Real,stepLenToBoundary)}
}

KeyWord kw 236[5] [static]


Initial value:
= {
{"debug",8,0,1,1,0,0.,0.,0,N mdm(type,methodOutput DEBUG OUTPUT)},
{"normal",8,0,1,1,0,0.,0.,0,N mdm(type,methodOutput NORMAL OUTPUT)},
{"quiet",8,0,1,1,0,0.,0.,0,N mdm(type,methodOutput QUIET OUTPUT)},
{"silent",8,0,1,1,0,0.,0.,0,N mdm(type,methodOutput SILENT OUTPUT)},
{"verbose",8,0,1,1,0,0.,0.,0,N mdm(type,methodOutput VERBOSE OUTPUT)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 237[2] [static]
Initial value:
= {
{"model pointer",11,0,1,0,0,0.,0.,0,N mdm(str,subModelPointer)},
{"opt model pointer",3,0,1,0,0,0.,0.,-1,N mdm(str,subModelPointer)}
}

KeyWord kw 238[1] [static]


Initial value:
= {
{"seed",9,0,1,0,0,0.,0.,0,N mdm(int,randomSeed)}
}

KeyWord kw 239[8] [static]


Initial value:
= {
{0,0,3,0,0,kw 130},
{"method name",11,2,1,1,kw 237,0.,0.,0,N mdm(str,subMethodName)},
{"method pointer",11,0,1,1,0,0.,0.,0,N mdm(str,subMethodPointer)},
{"multi objective weight sets",6,0,3,0,0,0.,0.,4,N mdm(RealDL,concurrentParameterSets)},
{"opt method name",3,2,1,1,kw 237,0.,0.,-3,N mdm(str,subMethodName)},
{"opt method pointer",3,0,1,1,0,0.,0.,-3,N mdm(str,subMethodPointer)},
{"random weight sets",9,1,2,0,kw 238,0.,0.,0,N mdm(int,concurrentRandomJobs)},
{"weight sets",14,0,3,0,0,0.,0.,0,N mdm(RealDL,concurrentParameterSets)}
}

KeyWord kw 240[3] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,2,0,0,kw 20},
{"partitions",13,0,1,0,0,0.,0.,0,N mdm(usharray,varPartitions)}
}

KeyWord kw 241[5] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"converge order",8,0,1,1,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD CONVERGE ORDER)},
{"converge qoi",8,0,1,1,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD CONVERGE QOI)},
{"estimate order",8,0,1,1,0,0.,0.,0,N mdm(utype,subMethod SUBMETHOD ESTIMATE ORDER)},
{"refinement rate",10,0,2,0,0,0.,0.,0,N mdm(Real,refinementRate)}
}

KeyWord kw 242[2] [static]


Initial value:
= {
{"num generations",0x29,0,2,0,0,0.,0.,0,N mdm(sizet,numGenerations)},
{"percent change",10,0,1,0,0,0.,0.,0,N mdm(Realz,convergenceTolerance)}
}

257

258

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 243[2] [static]


Initial value:
= {
{"num generations",0x29,0,2,0,0,0.,0.,0,N mdm(sizet,numGenerations)},
{"percent change",10,0,1,0,0,0.,0.,0,N mdm(Realz,convergenceTolerance)}
}

KeyWord kw 244[2] [static]


Initial value:
= {
{"average fitness tracker",8,2,1,1,kw 242,0.,0.,0,N mdm(lit,
convergenceType average fitness tracker)},
{"best fitness tracker",8,2,1,1,kw 243,0.,0.,0,N mdm(lit,
convergenceType best fitness tracker)}
}

KeyWord kw 245[2] [static]


Initial value:
= {
{"constraint penalty",10,0,2,0,0,0.,0.,0,N mdm(Realp,constraintTolerance)},
{"merit function",8,0,1,1,0,0.,0.,0,N mdm(lit,fitnessType merit function)}
}

KeyWord kw 246[4] [static]


Initial value:
= {
{"elitist",8,0,1,1,0,0.,0.,0,N mdm(lit,replacementType elitist)},
{"favor feasible",8,0,1,1,0,0.,0.,0,N mdm(lit,replacementType favor feasible)},
{"roulette wheel",8,0,1,1,0,0.,0.,0,N mdm(lit,replacementType roulette wheel)},
{"unique roulette wheel",8,0,1,1,0,0.,0.,0,N mdm(lit,replacementType unique roulette wheel)
}
}

KeyWord kw 247[6] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{0,0,7,0,0,kw 167},
{"convergence type",8,2,3,0,kw 244},
{"fitness type",8,2,1,0,kw 245},
{"replacement type",8,4,2,0,kw 246}
}

12.1. DAKOTA NAMESPACE REFERENCE

259

KeyWord kw 248[5] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{0,0,9,0,0,kw 34},
{0,0,3,0,0,kw 228},
{"nlssol",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName NLSSOL SQP)},
{"npsol",8,0,1,1,0,0.,0.,0,N mdm(utype,methodName NPSOL SQP)}
}

KeyWord kw 249[7] [static]


Initial value:
= {
{"approx method name",3,0,1,1,0,0.,0.,3,N mdm(str,subMethodName)},
{"approx method pointer",3,0,1,1,0,0.,0.,3,N mdm(str,subMethodPointer)},
{"approx model pointer",3,0,2,2,0,0.,0.,3,N mdm(str,modelPointer)},
{"method name",11,0,1,1,0,0.,0.,0,N mdm(str,subMethodName)},
{"method pointer",11,0,1,1,0,0.,0.,0,N mdm(str,subMethodPointer)},
{"model pointer",11,0,2,2,0,0.,0.,0,N mdm(str,modelPointer)},
{"replace points",8,0,3,0,0,0.,0.,0,N mdm(true,surrBasedGlobalReplacePts)}
}

KeyWord kw 250[2] [static]


Initial value:
= {
{"filter",8,0,1,1,0,0.,0.,0,N mdm(type,surrBasedLocalAcceptLogic FILTER)},
{"tr ratio",8,0,1,1,0,0.,0.,0,N mdm(type,surrBasedLocalAcceptLogic TR RATIO)}
}

KeyWord kw 251[7] [static]


Initial value:
= {
{"augmented lagrangian objective",8,0,1,1,0,0.,0.,0,N mdm(type,
surrBasedLocalSubProbObj AUGMENTED LAGRANGIAN OBJECTIVE)},
{"lagrangian objective",8,0,1,1,0,0.,0.,0,N mdm(type,
surrBasedLocalSubProbObj LAGRANGIAN OBJECTIVE)},
{"linearized constraints",8,0,2,2,0,0.,0.,0,N mdm(type,
surrBasedLocalSubProbCon LINEARIZED CONSTRAINTS)},
{"no constraints",8,0,2,2,0,0.,0.,0,N mdm(type,surrBasedLocalSubProbCon NO CONSTRAINTS)},
{"original constraints",8,0,2,2,0,0.,0.,0,N mdm(type,
surrBasedLocalSubProbCon ORIGINAL CONSTRAINTS)},
{"original primary",8,0,1,1,0,0.,0.,0,N mdm(type,surrBasedLocalSubProbObj ORIGINAL PRIMARY)
},
{"single objective",8,0,1,1,0,0.,0.,0,N mdm(type,surrBasedLocalSubProbObj SINGLE OBJECTIVE)
}
}

KeyWord kw 252[1] [static]


Initial value:
= {
{"homotopy",8,0,1,1,0,0.,0.,0,N mdm(type,surrBasedLocalConstrRelax HOMOTOPY)}
}

260

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 253[4] [static]


Initial value:
= {
{"adaptive penalty merit",8,0,1,1,0,0.,0.,0,N mdm(type,
surrBasedLocalMeritFn ADAPTIVE PENALTY MERIT)},
{"augmented lagrangian merit",8,0,1,1,0,0.,0.,0,N mdm(type,
surrBasedLocalMeritFn AUGMENTED LAGRANGIAN MERIT)},
{"lagrangian merit",8,0,1,1,0,0.,0.,0,N mdm(type,surrBasedLocalMeritFn LAGRANGIAN MERIT)},
{"penalty merit",8,0,1,1,0,0.,0.,0,N mdm(type,surrBasedLocalMeritFn PENALTY MERIT)}
}

KeyWord kw 254[6] [static]


Initial value:
= {
{"contract threshold",10,0,3,0,0,0.,0.,0,N mdm(Real,surrBasedLocalTRContractTrigger)},
{"contraction factor",10,0,5,0,0,0.,0.,0,N mdm(Real,surrBasedLocalTRContract)},
{"expand threshold",10,0,4,0,0,0.,0.,0,N mdm(Real,surrBasedLocalTRExpandTrigger)},
{"expansion factor",10,0,6,0,0,0.,0.,0,N mdm(Real,surrBasedLocalTRExpand)},
{"initial size",10,0,1,0,0,0.,0.,0,N mdm(Real,surrBasedLocalTRInitSize)},
{"minimum size",10,0,2,0,0,0.,0.,0,N mdm(Real,surrBasedLocalTRMinSize)}
}

KeyWord kw 255[13] [static]


Initial value:
= {
{"acceptance logic",8,2,8,0,kw 250},
{"approx method name",3,0,1,1,0,0.,0.,6,N mdm(str,subMethodName)},
{"approx method pointer",3,0,1,1,0,0.,0.,6,N mdm(str,subMethodPointer)},
{"approx model pointer",3,0,2,2,0,0.,0.,6,N mdm(str,modelPointer)},
{"approx subproblem",8,7,6,0,kw 251},
{"constraint relax",8,1,9,0,kw 252},
{"merit function",8,4,7,0,kw 253},
{"method name",11,0,1,1,0,0.,0.,0,N mdm(str,subMethodName)},
{"method pointer",11,0,1,1,0,0.,0.,0,N mdm(str,subMethodPointer)},
{"model pointer",11,0,2,2,0,0.,0.,0,N mdm(str,modelPointer)},
{"soft convergence limit",9,0,3,0,0,0.,0.,0,N mdm(int,surrBasedLocalSoftConvLimit)},
{"trust region",8,6,5,0,kw 254,0.,0.,0,0,0,NIDRProblemDescDB::method tr final},
{"truth surrogate bypass",8,0,4,0,0,0.,0.,0,N mdm(true,surrBasedLocalLayerBypass)}
}

KeyWord kw 256[4] [static]


Initial value:
= {
{0,0,1,0,0,kw 19},
{"final point",14,0,1,1,0,0.,0.,0,N mdm(RealDL,finalPoint)},
{"num steps",9,0,2,2,0,0.,0.,0,N mdm(int,numSteps)},
{"step vector",14,0,1,1,0,0.,0.,0,N mdm(RealDL,stepVector)}
}

KeyWord kw 258[1] [static]


Initial value:
= {
{"optional interface responses pointer",11,0,1,0,0,0.,0.,0,N mom(str,
optionalInterfRespPointer)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 259[2] [static]
Initial value:
= {
{"master",8,0,1,1,0,0.,0.,0,N mom(type,subMethodScheduling MASTER SCHEDULING)},
{"peer",8,0,1,1,0,0.,0.,0,N mom(type,subMethodScheduling PEER SCHEDULING)}
}

KeyWord kw 260[7] [static]


Initial value:
= {
{"iterator scheduling",8,2,2,0,kw 259},
{"iterator servers",0x19,0,1,0,0,0.,0.,0,N mom(pint,subMethodServers)},
{"primary response mapping",14,0,6,0,0,0.,0.,0,N mom(RealDL,primaryRespCoeffs)},
{"primary variable mapping",15,0,4,0,0,0.,0.,0,N mom(strL,primaryVarMaps)},
{"processors per iterator",0x19,0,3,0,0,0.,0.,0,N mom(pint,subMethodProcs)},
{"secondary response mapping",14,0,7,0,0,0.,0.,0,N mom(RealDL,secondaryRespCoeffs)},
{"secondary variable mapping",15,0,5,0,0,0.,0.,0,N mom(strL,secondaryVarMaps)}
}

KeyWord kw 261[2] [static]


Initial value:
= {
{"optional interface pointer",11,1,1,0,kw 258,0.,0.,0,N mom(str,interfacePointer)},
{"sub method pointer",11,7,2,1,kw 260,0.,0.,0,N mom(str,subMethodPointer)}
}

KeyWord kw 262[1] [static]


Initial value:
= {
{"interface pointer",11,0,1,0,0,0.,0.,0,N mom(str,interfacePointer)}
}

KeyWord kw 263[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mom(true,approxChallengeAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mom(false,approxChallengeAnnotated)}
}

KeyWord kw 264[6] [static]


Initial value:
= {
{"additive",8,0,2,2,0,0.,0.,0,N mom(type,approxCorrectionType ADDITIVE CORRECTION)},
{"combined",8,0,2,2,0,0.,0.,0,N mom(type,approxCorrectionType COMBINED CORRECTION)},
{"first order",8,0,1,1,0,0.,0.,0,N mom(order,approxCorrectionOrder 1)},
{"multiplicative",8,0,2,2,0,0.,0.,0,N mom(type,
approxCorrectionType MULTIPLICATIVE CORRECTION)},
{"second order",8,0,1,1,0,0.,0.,0,N mom(order,approxCorrectionOrder 2)},
{"zeroth order",8,0,1,1,0,0.,0.,0,N mom(order,approxCorrectionOrder 0)}
}

261

262

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 265[2] [static]


Initial value:
= {
{"folds",9,0,1,0,0,0.,0.,0,N mom(int,numFolds)},
{"percent",10,0,1,0,0,0.,0.,0,N mom(Real,percentFold)}
}

KeyWord kw 266[2] [static]


Initial value:
= {
{"cross validate",8,2,1,0,kw 265,0.,0.,0,N mom(true,crossValidateFlag)},
{"press",8,0,2,0,0,0.,0.,0,N mom(true,pressFlag)}
}

KeyWord kw 267[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mom(true,approxExportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mom(false,approxExportAnnotated)}
}

KeyWord kw 268[3] [static]


Initial value:
= {
{"constant",8,0,1,1,0,0.,0.,0,N mom(lit,trendOrder constant)},
{"linear",8,0,1,1,0,0.,0.,0,N mom(lit,trendOrder linear)},
{"reduced quadratic",8,0,1,1,0,0.,0.,0,N mom(lit,trendOrder reduced quadratic)}
}

KeyWord kw 269[2] [static]


Initial value:
= {
{"point selection",8,0,1,0,0,0.,0.,0,N mom(true,pointSelection)},
{"trend",8,3,2,0,kw 268}
}

KeyWord kw 270[4] [static]


Initial value:
= {
{"constant",8,0,1,1,0,0.,0.,0,N mom(lit,trendOrder constant)},
{"linear",8,0,1,1,0,0.,0.,0,N mom(lit,trendOrder linear)},
{"quadratic",8,0,1,1,0,0.,0.,0,N mom(lit,trendOrder quadratic)},
{"reduced quadratic",8,0,1,1,0,0.,0.,0,N mom(lit,trendOrder reduced quadratic)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 271[7] [static]
Initial value:
= {
{"correlation lengths",14,0,5,0,0,0.,0.,0,N mom(RealDL,krigingCorrelations)},
{"export model file",11,0,6,0,0,0.,0.,0,N mom(str, approxExportModelFile)},
{"find nugget",9,0,4,0,0,0.,0.,0,N mom(shint,krigingFindNugget)},
{"max trials",0x19,0,3,0,0,0.,0.,0,N mom(shint,krigingMaxTrials)},
{"nugget",0x1a,0,4,0,0,0.,0.,0,N mom(Real,krigingNugget)},
{"optimization method",11,0,2,0,0,0.,0.,0,N mom(str,krigingOptMethod)},
{"trend",8,4,1,0,kw 270}
}

KeyWord kw 272[2] [static]


Initial value:
= {
{"dakota",8,2,1,1,kw 269,0.,0.,0,N mom(lit,surrogateType global gaussian)},
{"surfpack",8,7,1,1,kw 271,0.,0.,0,N mom(lit,surrogateType global kriging)}
}

KeyWord kw 273[2] [static]


Initial value:
= {
{"annotated",8,0,1,0,0,0.,0.,0,N mom(true,approxImportAnnotated)},
{"freeform",8,0,1,0,0,0.,0.,0,N mom(false,approxImportAnnotated)}
}

KeyWord kw 274[2] [static]


Initial value:
= {
{"cubic",8,0,1,1,0,0.,0.,0,N mom(lit,marsInterpolation cubic)},
{"linear",8,0,1,1,0,0.,0.,0,N mom(lit,marsInterpolation linear)}
}

KeyWord kw 275[3] [static]


Initial value:
= {
{"export model file",11,0,3,0,0,0.,0.,0,N mom(str, approxExportModelFile)},
{"interpolation",8,2,2,0,kw 274},
{"max bases",9,0,1,0,0,0.,0.,0,N mom(shint,marsMaxBases)}
}

KeyWord kw 276[3] [static]


Initial value:
= {
{"export model file",11,0,3,0,0,0.,0.,0,N mom(str, approxExportModelFile)},
{"poly order",9,0,1,0,0,0.,0.,0,N mom(shint,mlsPolyOrder)},
{"weight function",9,0,2,0,0,0.,0.,0,N mom(shint,mlsWeightFunction)}
}

263

264

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 277[4] [static]


Initial value:
= {
{"export model file",11,0,4,0,0,0.,0.,0,N mom(str, approxExportModelFile)},
{"nodes",9,0,1,0,0,0.,0.,0,N mom(shint,annNodes)},
{"random weight",9,0,3,0,0,0.,0.,0,N mom(shint,annRandomWeight)},
{"range",10,0,2,0,0,0.,0.,0,N mom(Real,annRange)}
}

KeyWord kw 278[4] [static]


Initial value:
= {
{"cubic",8,0,1,1,0,0.,0.,0,N mom(order,polynomialOrder 3)},
{"export model file",11,0,2,0,0,0.,0.,0,N mom(str, approxExportModelFile)},
{"linear",8,0,1,1,0,0.,0.,0,N mom(order,polynomialOrder 1)},
{"quadratic",8,0,1,1,0,0.,0.,0,N mom(order,polynomialOrder 2)}
}

KeyWord kw 279[5] [static]


Initial value:
= {
{"bases",9,0,1,0,0,0.,0.,0,N mom(shint,rbfBases)},
{"export model file",11,0,5,0,0,0.,0.,0,N mom(str, approxExportModelFile)},
{"max pts",9,0,2,0,0,0.,0.,0,N mom(shint,rbfMaxPts)},
{"max subsets",9,0,4,0,0,0.,0.,0,N mom(shint,rbfMaxSubsets)},
{"min partition",9,0,3,0,0,0.,0.,0,N mom(shint,rbfMinPartition)}
}

KeyWord kw 280[3] [static]


Initial value:
= {
{"all",8,0,1,1,0,0.,0.,0,N mom(lit,approxPointReuse all)},
{"none",8,0,1,1,0,0.,0.,0,N mom(lit,approxPointReuse none)},
{"region",8,0,1,1,0,0.,0.,0,N mom(lit,approxPointReuse region)}
}

KeyWord kw 281[21] [static]


Initial value:
= {
{"challenge points file",11,2,10,0,kw 263,0.,0.,0,N mom(str,approxChallengeFile)},
{"correction",8,6,8,0,kw 264},
{"dace method pointer",11,0,3,0,0,0.,0.,0,N mom(str,subMethodPointer)},
{"diagnostics",7,2,9,0,kw 266,0.,0.,6,N mom(strL,diagMetrics)},
{"export points file",11,2,6,0,kw 267,0.,0.,0,N mom(str,approxExportFile)},
{"gaussian process",8,2,1,1,kw 272},
{"import points file",11,2,5,0,kw 273,0.,0.,0,N mom(str,approxImportFile)},
{"kriging",0,2,1,1,kw 272,0.,0.,-2},
{"mars",8,3,1,1,kw 275,0.,0.,0,N mom(lit,surrogateType global mars)},
{"metrics",15,2,9,0,kw 266,0.,0.,0,N mom(strL,diagMetrics)},
{"minimum points",8,0,2,0,0,0.,0.,0,N mom(type,pointsManagement MINIMUM POINTS)},
{"moving least squares",8,3,1,1,kw 276,0.,0.,0,N mom(lit,
surrogateType global moving least squares)},

12.1. DAKOTA NAMESPACE REFERENCE


{"neural network",8,4,1,1,kw 277,0.,0.,0,N mom(lit,surrogateType global neural network)},
{"polynomial",8,4,1,1,kw 278,0.,0.,0,N mom(lit,surrogateType global polynomial)},
{"radial basis",8,5,1,1,kw 279,0.,0.,0,N mom(lit,surrogateType global radial basis)},
{"recommended points",8,0,2,0,0,0.,0.,0,N mom(type,pointsManagement RECOMMENDED POINTS)},
{"reuse points",8,3,4,0,kw 280},
{"reuse samples",0,3,4,0,kw 280,0.,0.,-1},
{"samples file",3,2,5,0,kw 273,0.,0.,-12,N mom(str,approxImportFile)},
{"total points",9,0,2,0,0,0.,0.,0,N mom(int,pointsTotal)},
{"use derivatives",8,0,7,0,0,0.,0.,0,N mom(true,modelUseDerivsFlag)}
}

KeyWord kw 282[6] [static]


Initial value:
= {
{"additive",8,0,2,2,0,0.,0.,0,N mom(type,approxCorrectionType ADDITIVE CORRECTION)},
{"combined",8,0,2,2,0,0.,0.,0,N mom(type,approxCorrectionType COMBINED CORRECTION)},
{"first order",8,0,1,1,0,0.,0.,0,N mom(order,approxCorrectionOrder 1)},
{"multiplicative",8,0,2,2,0,0.,0.,0,N mom(type,
approxCorrectionType MULTIPLICATIVE CORRECTION)},
{"second order",8,0,1,1,0,0.,0.,0,N mom(order,approxCorrectionOrder 2)},
{"zeroth order",8,0,1,1,0,0.,0.,0,N mom(order,approxCorrectionOrder 0)}
}

KeyWord kw 283[3] [static]


Initial value:
= {
{"correction",8,6,3,3,kw 282},
{"high fidelity model pointer",11,0,2,2,0,0.,0.,0,N mom(str,truthModelPointer)},
{"low fidelity model pointer",11,0,1,1,0,0.,0.,0,N mom(str,lowFidelityModelPointer)}
}

KeyWord kw 284[1] [static]


Initial value:
= {
{"actual model pointer",11,0,1,1,0,0.,0.,0,N mom(str,truthModelPointer)}
}

KeyWord kw 285[2] [static]


Initial value:
= {
{0,0,1,0,0,kw 284},
{"taylor series",8,0,1,1}
}

KeyWord kw 286[2] [static]


Initial value:
= {
{0,0,1,0,0,kw 284},
{"tana",8,0,1,1}
}

265

266

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 287[5] [static]


Initial value:
= {
{"global",8,21,2,1,kw 281},
{"hierarchical",8,3,2,1,kw 283,0.,0.,0,N mom(lit,surrogateType hierarchical)},
{"id surrogates",13,0,1,0,0,0.,0.,0,N mom(intsetm1,surrogateFnIndices)},
{"local",8,1,2,1,kw 285,0.,0.,0,N mom(lit,surrogateType local taylor)},
{"multipoint",8,1,2,1,kw 286,0.,0.,0,N mom(lit,surrogateType multipoint tana)}
}

KeyWord kw 288[7] [static]


Initial value:
= {
{"hierarchical tagging",8,0,4,0,0,0.,0.,0,N mom(true,hierarchicalTags)},
{"id model",11,0,1,0,0,0.,0.,0,N mom(str,idModel)},
{"nested",8,2,5,1,kw 261,0.,0.,0,N mom(lit,modelType nested)},
{"responses pointer",11,0,3,0,0,0.,0.,0,N mom(str,responsesPointer)},
{"single",8,1,5,1,kw 262,0.,0.,0,N mom(lit,modelType single)},
{"surrogate",8,5,5,1,kw 287,0.,0.,0,N mom(lit,modelType surrogate)},
{"variables pointer",11,0,2,0,0,0.,0.,0,N mom(str,variablesPointer)}
}

KeyWord kw 289[6] [static]


Initial value:
= {
{"annotated",8,0,3,0,0,0.,0.,0,N rem(true,expDataFileAnnotated)},
{"freeform",8,0,3,0,0,0.,0.,0,N rem(false,expDataFileAnnotated)},
{"num config variables",0x29,0,4,0,0,0.,0.,0,N rem(sizet,numExpConfigVars)},
{"num experiments",0x29,0,1,0,0,0.,0.,0,N rem(sizet,numExperiments)},
{"num replicates",13,0,2,0,0,0.,0.,0,N rem(ivec,numReplicates)},
{"num std deviations",0x29,0,5,0,0,0.,0.,0,N rem(sizet,numExpStdDeviations)}
}

KeyWord kw 290[6] [static]


Initial value:
= {
{"nonlinear equality scale types",0x807,0,2,0,0,0.,0.,3,N rem(strL,nonlinearEqScaleTypes)},
{"nonlinear equality scales",0x806,0,3,0,0,0.,0.,3,N rem(RealDL,nonlinearEqScales)},
{"nonlinear equality targets",6,0,1,0,0,0.,0.,3,N rem(RealDL,nonlinearEqTargets)},
{"scale types",0x80f,0,2,0,0,0.,0.,0,N rem(strL,nonlinearEqScaleTypes)},
{"scales",0x80e,0,3,0,0,0.,0.,0,N rem(RealDL,nonlinearEqScales)},
{"targets",14,0,1,0,0,0.,0.,0,N rem(RealDL,nonlinearEqTargets)}
}

KeyWord kw 291[8] [static]


Initial value:

12.1. DAKOTA NAMESPACE REFERENCE

267

= {
{"lower bounds",14,0,1,0,0,0.,0.,0,N rem(RealDL,nonlinearIneqLowerBnds)},
{"nonlinear inequality lower bounds",6,0,1,0,0,0.,0.,-1,N rem(RealDL,nonlinearIneqLowerBnds
)},
{"nonlinear inequality scale types",0x807,0,3,0,0,0.,0.,3,N rem(strL,
nonlinearIneqScaleTypes)},
{"nonlinear inequality scales",0x806,0,4,0,0,0.,0.,3,N rem(RealDL,nonlinearIneqScales)},
{"nonlinear inequality upper bounds",6,0,2,0,0,0.,0.,3,N rem(RealDL,nonlinearIneqUpperBnds)
},
{"scale types",0x80f,0,3,0,0,0.,0.,0,N rem(strL,nonlinearIneqScaleTypes)},
{"scales",0x80e,0,4,0,0,0.,0.,0,N rem(RealDL,nonlinearIneqScales)},
{"upper bounds",14,0,2,0,0,0.,0.,0,N rem(RealDL,nonlinearIneqUpperBnds)}
}

KeyWord kw 292[15] [static]


Initial value:
= {
{"calibration data file",11,6,4,0,kw 289,0.,0.,0,N rem(str,expDataFileName)},
{"calibration term scale types",0x807,0,1,0,0,0.,0.,11,N rem(strL,primaryRespFnScaleTypes)}
,
{"calibration term scales",0x806,0,2,0,0,0.,0.,11,N rem(RealDL,primaryRespFnScales)},
{"calibration weights",6,0,3,0,0,0.,0.,11,N rem(RealDL,primaryRespFnWeights)},
{"least squares data file",3,6,4,0,kw 289,0.,0.,-4,N rem(str,expDataFileName)},
{"least squares term scale types",0x807,0,1,0,0,0.,0.,7,N rem(strL,primaryRespFnScaleTypes)
},
{"least squares term scales",0x806,0,2,0,0,0.,0.,7,N rem(RealDL,primaryRespFnScales)},
{"least squares weights",6,0,3,0,0,0.,0.,7,N rem(RealDL,primaryRespFnWeights)},
{"nonlinear equality constraints",0x29,6,6,0,kw 290,0.,0.,0,N rem(sizet,
numNonlinearEqConstraints)},
{"nonlinear inequality constraints",0x29,8,5,0,kw 291,0.,0.,0,N rem(sizet,
numNonlinearIneqConstraints)},
{"num nonlinear equality constraints",0x21,6,6,0,kw 290,0.,0.,-2,N rem(sizet,
numNonlinearEqConstraints)},
{"num nonlinear inequality constraints",0x21,8,5,0,kw 291,0.,0.,-2,N rem(sizet,
numNonlinearIneqConstraints)},
{"primary scale types",0x80f,0,1,0,0,0.,0.,0,N rem(strL,primaryRespFnScaleTypes)},
{"primary scales",0x80e,0,2,0,0,0.,0.,0,N rem(RealDL,primaryRespFnScales)},
{"weights",14,0,3,0,0,0.,0.,0,N rem(RealDL,primaryRespFnWeights)}
}

KeyWord kw 293[4] [static]


Initial value:
= {
{"absolute",8,0,2,0,0,0.,0.,0,N rem(lit,fdGradStepType absolute)},
{"bounds",8,0,2,0,0,0.,0.,0,N rem(lit,fdGradStepType bounds)},
{"ignore bounds",8,0,1,0,0,0.,0.,0,N rem(true,ignoreBounds)},
{"relative",8,0,2,0,0,0.,0.,0,N rem(lit,fdGradStepType relative)}
}

KeyWord kw 294[8] [static]


Initial value:
= {
{"central",8,0,4,0,0,0.,0.,0,N rem(lit,intervalType central)},
{"dakota",8,4,2,0,kw 293,0.,0.,0,N rem(lit,methodSource dakota)},
{"fd gradient step size",6,0,5,0,0,0.,0.,1,N rem(RealL,fdGradStepSize)},
{"fd step size",14,0,5,0,0,0.,0.,0,N rem(RealL,fdGradStepSize)},
{"forward",8,0,4,0,0,0.,0.,0,N rem(lit,intervalType forward)},
{"interval type",8,0,3},
{"method source",8,0,1},
{"vendor",8,0,2,0,0,0.,0.,0,N rem(lit,methodSource vendor)}
}

268

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 295[3] [static]


Initial value:
= {
{0,0,8,0,0,kw 294},
{"id analytic gradients",13,0,2,2,0,0.,0.,0,N rem(intset,idAnalyticGrads)},
{"id numerical gradients",13,0,1,1,0,0.,0.,0,N rem(intset,idNumericalGrads)}
}

KeyWord kw 296[2] [static]


Initial value:
= {
{"fd hessian step size",6,0,1,0,0,0.,0.,1,N rem(RealL,fdHessStepSize)},
{"fd step size",14,0,1,0,0,0.,0.,0,N rem(RealL,fdHessStepSize)}
}

KeyWord kw 297[1] [static]


Initial value:
= {
{"damped",8,0,1,0,0,0.,0.,0,N rem(lit,quasiHessianType damped bfgs)}
}

KeyWord kw 298[2] [static]


Initial value:
= {
{"bfgs",8,1,1,1,kw 297,0.,0.,0,N rem(lit,quasiHessianType bfgs)},
{"sr1",8,0,1,1,0,0.,0.,0,N rem(lit,quasiHessianType sr1)}
}

KeyWord kw 299[8] [static]


Initial value:
= {
{"absolute",8,0,2,0,0,0.,0.,0,N rem(lit,fdHessStepType absolute)},
{"bounds",8,0,2,0,0,0.,0.,0,N rem(lit,fdHessStepType bounds)},
{"central",8,0,3,0,0,0.,0.,0,N rem(true,centralHess)},
{"forward",8,0,3,0,0,0.,0.,0,N rem(false,centralHess)},
{"id analytic hessians",13,0,5,0,0,0.,0.,0,N rem(intset,idAnalyticHessians)},
{"id numerical hessians",13,2,1,0,kw 296,0.,0.,0,N rem(intset,idNumericalHessians)},
{"id quasi hessians",13,2,4,0,kw 298,0.,0.,0,N rem(intset,idQuasiHessians)},
{"relative",8,0,2,0,0,0.,0.,0,N rem(lit,fdHessStepType relative)}
}

KeyWord kw 300[6] [static]


Initial value:
= {
{"nonlinear equality scale types",0x807,0,2,0,0,0.,0.,3,N rem(strL,nonlinearEqScaleTypes)},
{"nonlinear equality scales",0x806,0,3,0,0,0.,0.,3,N rem(RealDL,nonlinearEqScales)},
{"nonlinear equality targets",6,0,1,0,0,0.,0.,3,N rem(RealDL,nonlinearEqTargets)},
{"scale types",0x80f,0,2,0,0,0.,0.,0,N rem(strL,nonlinearEqScaleTypes)},
{"scales",0x80e,0,3,0,0,0.,0.,0,N rem(RealDL,nonlinearEqScales)},
{"targets",14,0,1,0,0,0.,0.,0,N rem(RealDL,nonlinearEqTargets)}
}

12.1. DAKOTA NAMESPACE REFERENCE

269

KeyWord kw 301[8] [static]


Initial value:
= {
{"lower bounds",14,0,1,0,0,0.,0.,0,N rem(RealDL,nonlinearIneqLowerBnds)},
{"nonlinear inequality lower bounds",6,0,1,0,0,0.,0.,-1,N rem(RealDL,nonlinearIneqLowerBnds
)},
{"nonlinear inequality scale types",0x807,0,3,0,0,0.,0.,3,N rem(strL,
nonlinearIneqScaleTypes)},
{"nonlinear inequality scales",0x806,0,4,0,0,0.,0.,3,N rem(RealDL,nonlinearIneqScales)},
{"nonlinear inequality upper bounds",6,0,2,0,0,0.,0.,3,N rem(RealDL,nonlinearIneqUpperBnds)
},
{"scale types",0x80f,0,3,0,0,0.,0.,0,N rem(strL,nonlinearIneqScaleTypes)},
{"scales",0x80e,0,4,0,0,0.,0.,0,N rem(RealDL,nonlinearIneqScales)},
{"upper bounds",14,0,2,0,0,0.,0.,0,N rem(RealDL,nonlinearIneqUpperBnds)}
}

KeyWord kw 302[11] [static]


Initial value:
= {
{"multi objective weights",6,0,4,0,0,0.,0.,10,N rem(RealDL,primaryRespFnWeights)},
{"nonlinear equality constraints",0x29,6,6,0,kw 300,0.,0.,0,N rem(sizet,
numNonlinearEqConstraints)},
{"nonlinear inequality constraints",0x29,8,5,0,kw 301,0.,0.,0,N rem(sizet,
numNonlinearIneqConstraints)},
{"num nonlinear equality constraints",0x21,6,6,0,kw 300,0.,0.,-2,N rem(sizet,
numNonlinearEqConstraints)},
{"num nonlinear inequality constraints",0x21,8,5,0,kw 301,0.,0.,-2,N rem(sizet,
numNonlinearIneqConstraints)},
{"objective function scale types",0x807,0,2,0,0,0.,0.,2,N rem(strL,primaryRespFnScaleTypes)
},
{"objective function scales",0x806,0,3,0,0,0.,0.,2,N rem(RealDL,primaryRespFnScales)},
{"primary scale types",0x80f,0,2,0,0,0.,0.,0,N rem(strL,primaryRespFnScaleTypes)},
{"primary scales",0x80e,0,3,0,0,0.,0.,0,N rem(RealDL,primaryRespFnScales)},
{"sense",0x80f,0,1,0,0,0.,0.,0,N rem(strL,primaryRespFnSense)},
{"weights",14,0,4,0,0,0.,0.,0,N rem(RealDL,primaryRespFnWeights)}
}

KeyWord kw 303[7] [static]


Initial value:
= {
{"absolute",8,0,2,0,0,0.,0.,0,N rem(lit,fdHessStepType absolute)},
{"bounds",8,0,2,0,0,0.,0.,0,N rem(lit,fdHessStepType bounds)},
{"central",8,0,3,0,0,0.,0.,0,N rem(true,centralHess)},
{"fd hessian step size",6,0,1,0,0,0.,0.,1,N rem(RealL,fdHessStepSize)},
{"fd step size",14,0,1,0,0,0.,0.,0,N rem(RealL,fdHessStepSize)},
{"forward",8,0,3,0,0,0.,0.,0,N rem(false,centralHess)},
{"relative",8,0,2,0,0,0.,0.,0,N rem(lit,fdHessStepType relative)}
}

KeyWord kw 304[1] [static]


Initial value:
= {
{"damped",8,0,1,0,0,0.,0.,0,N rem(lit,quasiHessianType damped bfgs)}
}

270

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 305[2] [static]


Initial value:
= {
{"bfgs",8,1,1,1,kw 304,0.,0.,0,N rem(lit,quasiHessianType bfgs)},
{"sr1",8,0,1,1,0,0.,0.,0,N rem(lit,quasiHessianType sr1)}
}

KeyWord kw 306[19] [static]


Initial value:
= {
{"analytic gradients",8,0,4,2,0,0.,0.,0,N rem(lit,gradientType analytic)},
{"analytic hessians",8,0,5,3,0,0.,0.,0,N rem(lit,hessianType analytic)},
{"calibration terms",0x29,15,3,1,kw 292,0.,0.,0,N rem(sizet,numLeastSqTerms)},
{"descriptors",15,0,2,0,0,0.,0.,0,N rem(strL,responseLabels)},
{"id responses",11,0,1,0,0,0.,0.,0,N rem(str,idResponses)},
{"least squares terms",0x21,15,3,1,kw 292,0.,0.,-3,N rem(sizet,numLeastSqTerms)},
{"mixed gradients",8,2,4,2,kw 295,0.,0.,0,N rem(lit,gradientType mixed)},
{"mixed hessians",8,8,5,3,kw 299,0.,0.,0,N rem(lit,hessianType mixed)},
{"no gradients",8,0,4,2,0,0.,0.,0,N rem(lit,gradientType none)},
{"no hessians",8,0,5,3,0,0.,0.,0,N rem(lit,hessianType none)},
{"num least squares terms",0x21,15,3,1,kw 292,0.,0.,-8,N rem(sizet,numLeastSqTerms)},
{"num objective functions",0x21,11,3,1,kw 302,0.,0.,4,N rem(sizet,numObjectiveFunctions)},
{"num response functions",0x21,0,3,1,0,0.,0.,6,N rem(sizet,numResponseFunctions)},
{"numerical gradients",8,8,4,2,kw 294,0.,0.,0,N rem(lit,gradientType numerical)},
{"numerical hessians",8,7,5,3,kw 303,0.,0.,0,N rem(lit,hessianType numerical)},
{"objective functions",0x29,11,3,1,kw 302,0.,0.,0,N rem(sizet,numObjectiveFunctions)},
{"quasi hessians",8,2,5,3,kw 305,0.,0.,0,N rem(lit,hessianType quasi)},
{"response descriptors",7,0,2,0,0,0.,0.,-14,N rem(strL,responseLabels)},
{"response functions",0x29,0,3,1,0,0.,0.,0,N rem(sizet,numResponseFunctions)}
}

KeyWord kw 307[6] [static]


Initial value:
= {
{"aleatory",8,0,1,1,0,0.,0.,0,N vam(type,varsView ALEATORY UNCERTAIN VIEW)},
{"all",8,0,1,1,0,0.,0.,0,N vam(type,varsView ALL VIEW)},
{"design",8,0,1,1,0,0.,0.,0,N vam(type,varsView DESIGN VIEW)},
{"epistemic",8,0,1,1,0,0.,0.,0,N vam(type,varsView EPISTEMIC UNCERTAIN VIEW)},
{"state",8,0,1,1,0,0.,0.,0,N vam(type,varsView STATE VIEW)},
{"uncertain",8,0,1,1,0,0.,0.,0,N vam(type,varsView UNCERTAIN VIEW)}
}

KeyWord kw 308[11] [static]


Initial value:
= {
{"alphas",14,0,1,1,0,0.,0.,0,N vam(RealLb,betaUncAlphas)},
{"betas",14,0,2,2,0,0.,0.,0,N vam(RealLb,betaUncBetas)},
{"buv alphas",6,0,1,1,0,0.,0.,-2,N vam(RealLb,betaUncAlphas)},
{"buv betas",6,0,2,2,0,0.,0.,-2,N vam(RealLb,betaUncBetas)},
{"buv descriptors",7,0,6,0,0,0.,0.,3,N vae(caulbl,CAUVar beta)},
{"buv lower bounds",6,0,3,3,0,0.,0.,4,N vam(rvec,betaUncLowerBnds)},
{"buv upper bounds",6,0,4,4,0,0.,0.,4,N vam(rvec,betaUncUpperBnds)},
{"descriptors",15,0,6,0,0,0.,0.,0,N vae(caulbl,CAUVar beta)},
{"initial point",14,0,5,0,0,0.,0.,0,N vam(rvec,betaUncVars)},
{"lower bounds",14,0,3,3,0,0.,0.,0,N vam(rvec,betaUncLowerBnds)},
{"upper bounds",14,0,4,4,0,0.,0.,0,N vam(rvec,betaUncUpperBnds)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 309[5] [static]
Initial value:
= {
{"descriptors",15,0,4,0,0,0.,0.,0,N vae(dauilbl,DAUIVar binomial)},
{"initial point",13,0,3,0,0,0.,0.,0,N vam(IntLb,binomialUncVars)},
{"num trials",13,0,2,2,0,0.,0.,0,N vam(IntLb,binomialUncNumTrials)},
{"prob per trial",6,0,1,1,0,0.,0.,1,N vam(rvec,binomialUncProbPerTrial)},
{"probability per trial",14,0,1,1,0,0.,0.,0,N vam(rvec,binomialUncProbPerTrial)}
}

KeyWord kw 310[12] [static]


Initial value:
= {
{"cdv descriptors",7,0,6,0,0,0.,0.,6,N vam(strL,continuousDesignLabels)},
{"cdv initial point",6,0,1,0,0,0.,0.,6,N vam(rvec,continuousDesignVars)},
{"cdv lower bounds",6,0,2,0,0,0.,0.,6,N vam(rvec,continuousDesignLowerBnds)},
{"cdv scale types",0x807,0,4,0,0,0.,0.,6,N vam(strL,continuousDesignScaleTypes)},
{"cdv scales",0x806,0,5,0,0,0.,0.,6,N vam(rvec,continuousDesignScales)},
{"cdv upper bounds",6,0,3,0,0,0.,0.,6,N vam(rvec,continuousDesignUpperBnds)},
{"descriptors",15,0,6,0,0,0.,0.,0,N vam(strL,continuousDesignLabels)},
{"initial point",14,0,1,0,0,0.,0.,0,N vam(rvec,continuousDesignVars)},
{"lower bounds",14,0,2,0,0,0.,0.,0,N vam(rvec,continuousDesignLowerBnds)},
{"scale types",0x80f,0,4,0,0,0.,0.,0,N vam(strL,continuousDesignScaleTypes)},
{"scales",0x80e,0,5,0,0,0.,0.,0,N vam(rvec,continuousDesignScales)},
{"upper bounds",14,0,3,0,0,0.,0.,0,N vam(rvec,continuousDesignUpperBnds)}
}

KeyWord kw 311[10] [static]


Initial value:
= {
{"descriptors",15,0,6,0,0,0.,0.,0,N vae(ceulbl,CEUVar interval)},
{"initial point",14,0,5,0,0,0.,0.,0,N vam(rvec,continuousIntervalUncVars)},
{"interval probabilities",14,0,2,0,0,0.,0.,0,N vam(newrvec,Var Info CIp)},
{"interval probs",6,0,2,0,0,0.,0.,-1,N vam(newrvec,Var Info CIp)},
{"iuv descriptors",7,0,6,0,0,0.,0.,-4,N vae(ceulbl,CEUVar interval)},
{"iuv interval probs",6,0,2,0,0,0.,0.,-3,N vam(newrvec,Var Info CIp)},
{"iuv num intervals",5,0,1,0,0,0.,0.,2,N vam(newiarray,Var Info nCI)},
{"lower bounds",14,0,3,1,0,0.,0.,0,N vam(newrvec,Var Info CIlb)},
{"num intervals",13,0,1,0,0,0.,0.,0,N vam(newiarray,Var Info nCI)},
{"upper bounds",14,0,4,2,0,0.,0.,0,N vam(newrvec,Var Info CIub)}
}

KeyWord kw 312[8] [static]


Initial value:
= {
{"csv descriptors",7,0,4,0,0,0.,0.,4,N vam(strL,continuousStateLabels)},
{"csv initial state",6,0,1,0,0,0.,0.,4,N vam(rvec,continuousStateVars)},
{"csv lower bounds",6,0,2,0,0,0.,0.,4,N vam(rvec,continuousStateLowerBnds)},
{"csv upper bounds",6,0,3,0,0,0.,0.,4,N vam(rvec,continuousStateUpperBnds)},
{"descriptors",15,0,4,0,0,0.,0.,0,N vam(strL,continuousStateLabels)},
{"initial state",14,0,1,0,0,0.,0.,0,N vam(rvec,continuousStateVars)},
{"lower bounds",14,0,2,0,0,0.,0.,0,N vam(rvec,continuousStateLowerBnds)},
{"upper bounds",14,0,3,0,0,0.,0.,0,N vam(rvec,continuousStateUpperBnds)}
}

271

272

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 313[8] [static]


Initial value:
= {
{"ddv descriptors",7,0,4,0,0,0.,0.,4,N vam(strL,discreteDesignRangeLabels)},
{"ddv initial point",5,0,1,0,0,0.,0.,4,N vam(ivec,discreteDesignRangeVars)},
{"ddv lower bounds",5,0,2,0,0,0.,0.,4,N vam(ivec,discreteDesignRangeLowerBnds)},
{"ddv upper bounds",5,0,3,0,0,0.,0.,4,N vam(ivec,discreteDesignRangeUpperBnds)},
{"descriptors",15,0,4,0,0,0.,0.,0,N vam(strL,discreteDesignRangeLabels)},
{"initial point",13,0,1,0,0,0.,0.,0,N vam(ivec,discreteDesignRangeVars)},
{"lower bounds",13,0,2,0,0,0.,0.,0,N vam(ivec,discreteDesignRangeLowerBnds)},
{"upper bounds",13,0,3,0,0,0.,0.,0,N vam(ivec,discreteDesignRangeUpperBnds)}
}

KeyWord kw 314[4] [static]


Initial value:
= {
{"descriptors",15,0,4,0,0,0.,0.,0,N vam(strL,discreteDesignSetIntLabels)},
{"initial point",13,0,1,0,0,0.,0.,0,N vam(ivec,discreteDesignSetIntVars)},
{"num set values",13,0,2,0,0,0.,0.,0,N vam(newiarray,Var Info nddsi)},
{"set values",13,0,3,1,0,0.,0.,0,N vam(newivec,Var Info ddsi)}
}

KeyWord kw 315[4] [static]


Initial value:
= {
{"descriptors",15,0,4,0,0,0.,0.,0,N vam(strL,discreteDesignSetRealLabels)},
{"initial point",14,0,1,0,0,0.,0.,0,N vam(rvec,discreteDesignSetRealVars)},
{"num set values",13,0,2,0,0,0.,0.,0,N vam(newiarray,Var Info nddsr)},
{"set values",14,0,3,1,0,0.,0.,0,N vam(newrvec,Var Info ddsr)}
}

KeyWord kw 316[9] [static]


Initial value:
= {
{"descriptors",15,0,6,0,0,0.,0.,0,N vae(deuilbl,DEUIVar interval)},
{"initial point",13,0,5,0,0,0.,0.,0,N vam(ivec,discreteIntervalUncVars)},
{"interval probabilities",14,0,2,0,0,0.,0.,0,N vam(newrvec,Var Info DIp)},
{"interval probs",6,0,2,0,0,0.,0.,-1,N vam(newrvec,Var Info DIp)},
{"lower bounds",13,0,3,1,0,0.,0.,0,N vam(newivec,Var Info DIlb)},
{"num intervals",13,0,1,0,0,0.,0.,0,N vam(newiarray,Var Info nDI)},
{"range probabilities",6,0,2,0,0,0.,0.,-4,N vam(newrvec,Var Info DIp)},
{"range probs",6,0,2,0,0,0.,0.,-5,N vam(newrvec,Var Info DIp)},
{"upper bounds",13,0,4,2,0,0.,0.,0,N vam(newivec,Var Info DIub)}
}

KeyWord kw 317[8] [static]


Initial value:

12.1. DAKOTA NAMESPACE REFERENCE


= {
{"descriptors",15,0,4,0,0,0.,0.,0,N vam(strL,discreteStateRangeLabels)},
{"dsv descriptors",7,0,4,0,0,0.,0.,-1,N vam(strL,discreteStateRangeLabels)},
{"dsv initial state",5,0,1,0,0,0.,0.,3,N vam(ivec,discreteStateRangeVars)},
{"dsv lower bounds",5,0,2,0,0,0.,0.,3,N vam(ivec,discreteStateRangeLowerBnds)},
{"dsv upper bounds",5,0,3,0,0,0.,0.,3,N vam(ivec,discreteStateRangeUpperBnds)},
{"initial state",13,0,1,0,0,0.,0.,0,N vam(ivec,discreteStateRangeVars)},
{"lower bounds",13,0,2,0,0,0.,0.,0,N vam(ivec,discreteStateRangeLowerBnds)},
{"upper bounds",13,0,3,0,0,0.,0.,0,N vam(ivec,discreteStateRangeUpperBnds)}
}

KeyWord kw 318[4] [static]


Initial value:
= {
{"descriptors",15,0,4,0,0,0.,0.,0,N vam(strL,discreteStateSetIntLabels)},
{"initial state",13,0,1,0,0,0.,0.,0,N vam(ivec,discreteStateSetIntVars)},
{"num set values",13,0,2,0,0,0.,0.,0,N vam(newiarray,Var Info ndssi)},
{"set values",13,0,3,1,0,0.,0.,0,N vam(newivec,Var Info dssi)}
}

KeyWord kw 319[4] [static]


Initial value:
= {
{"descriptors",15,0,4,0,0,0.,0.,0,N vam(strL,discreteStateSetRealLabels)},
{"initial state",14,0,1,0,0,0.,0.,0,N vam(rvec,discreteStateSetRealVars)},
{"num set values",13,0,2,0,0,0.,0.,0,N vam(newiarray,Var Info ndssr)},
{"set values",14,0,3,1,0,0.,0.,0,N vam(newrvec,Var Info dssr)}
}

KeyWord kw 320[6] [static]


Initial value:
= {
{"descriptors",15,0,5,0,0,0.,0.,0,N vae(deuilbl,DEUIVar set int)},
{"initial point",13,0,4,0,0,0.,0.,0,N vam(ivec,discreteUncSetIntVars)},
{"num set values",13,0,1,0,0,0.,0.,0,N vam(newiarray,Var Info ndusi)},
{"set probabilities",14,0,3,0,0,0.,0.,0,N vam(newrvec,Var Info DSIp)},
{"set probs",6,0,3,0,0,0.,0.,-1,N vam(newrvec,Var Info DSIp)},
{"set values",13,0,2,1,0,0.,0.,0,N vam(newivec,Var Info dusi)}
}

KeyWord kw 321[6] [static]


Initial value:
= {
{"descriptors",15,0,5,0,0,0.,0.,0,N vae(deurlbl,DEURVar set real)},
{"initial point",14,0,4,0,0,0.,0.,0,N vam(rvec,discreteUncSetRealVars)},
{"num set values",13,0,1,0,0,0.,0.,0,N vam(newiarray,Var Info ndusr)},
{"set probabilities",14,0,3,0,0,0.,0.,0,N vam(newrvec,Var Info DSRp)},
{"set probs",6,0,3,0,0,0.,0.,-1,N vam(newrvec,Var Info DSRp)},
{"set values",14,0,2,1,0,0.,0.,0,N vam(newrvec,Var Info dusr)}
}

273

274

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 322[5] [static]


Initial value:
= {
{"betas",14,0,1,1,0,0.,0.,0,N vam(RealLb,exponentialUncBetas)},
{"descriptors",15,0,3,0,0,0.,0.,0,N vae(caulbl,CAUVar exponential)},
{"euv betas",6,0,1,1,0,0.,0.,-2,N vam(RealLb,exponentialUncBetas)},
{"euv descriptors",7,0,3,0,0,0.,0.,-2,N vae(caulbl,CAUVar exponential)},
{"initial point",14,0,2,0,0,0.,0.,0,N vam(RealLb,exponentialUncVars)}
}

KeyWord kw 323[7] [static]


Initial value:
= {
{"alphas",14,0,1,1,0,0.,0.,0,N vam(RealLb,frechetUncAlphas)},
{"betas",14,0,2,2,0,0.,0.,0,N vam(rvec,frechetUncBetas)},
{"descriptors",15,0,4,0,0,0.,0.,0,N vae(caulbl,CAUVar frechet)},
{"fuv alphas",6,0,1,1,0,0.,0.,-3,N vam(RealLb,frechetUncAlphas)},
{"fuv betas",6,0,2,2,0,0.,0.,-3,N vam(rvec,frechetUncBetas)},
{"fuv descriptors",7,0,4,0,0,0.,0.,-3,N vae(caulbl,CAUVar frechet)},
{"initial point",14,0,3,0,0,0.,0.,0,N vam(rvec,frechetUncVars)}
}

KeyWord kw 324[7] [static]


Initial value:
= {
{"alphas",14,0,1,1,0,0.,0.,0,N vam(RealLb,gammaUncAlphas)},
{"betas",14,0,2,2,0,0.,0.,0,N vam(RealLb,gammaUncBetas)},
{"descriptors",15,0,4,0,0,0.,0.,0,N vae(caulbl,CAUVar gamma)},
{"gauv alphas",6,0,1,1,0,0.,0.,-3,N vam(RealLb,gammaUncAlphas)},
{"gauv betas",6,0,2,2,0,0.,0.,-3,N vam(RealLb,gammaUncBetas)},
{"gauv descriptors",7,0,4,0,0,0.,0.,-3,N vae(caulbl,CAUVar gamma)},
{"initial point",14,0,3,0,0,0.,0.,0,N vam(RealLb,gammaUncVars)}
}

KeyWord kw 325[4] [static]


Initial value:
= {
{"descriptors",15,0,3,0,0,0.,0.,0,N vae(dauilbl,DAUIVar geometric)},
{"initial point",13,0,2,0,0,0.,0.,0,N vam(IntLb,geometricUncVars)},
{"prob per trial",6,0,1,1,0,0.,0.,1,N vam(rvec,geometricUncProbPerTrial)},
{"probability per trial",14,0,1,1,0,0.,0.,0,N vam(rvec,geometricUncProbPerTrial)}
}

KeyWord kw 326[7] [static]


Initial value:
= {
{"alphas",14,0,1,1,0,0.,0.,0,N vam(RealLb,gumbelUncAlphas)},
{"betas",14,0,2,2,0,0.,0.,0,N vam(rvec,gumbelUncBetas)},
{"descriptors",15,0,4,0,0,0.,0.,0,N vae(caulbl,CAUVar gumbel)},
{"guuv alphas",6,0,1,1,0,0.,0.,-3,N vam(RealLb,gumbelUncAlphas)},
{"guuv betas",6,0,2,2,0,0.,0.,-3,N vam(rvec,gumbelUncBetas)},
{"guuv descriptors",7,0,4,0,0,0.,0.,-3,N vae(caulbl,CAUVar gumbel)},
{"initial point",14,0,3,0,0,0.,0.,0,N vam(rvec,gumbelUncVars)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 327[11] [static]
Initial value:
= {
{"abscissas",14,0,2,1,0,0.,0.,0,N vam(newrvec,Var Info hba)},
{"counts",14,0,3,2,0,0.,0.,0,N vam(newrvec,Var Info hbc)},
{"descriptors",15,0,5,0,0,0.,0.,0,N vae(caulbl,CAUVar histogram bin)},
{"huv bin abscissas",6,0,2,1,0,0.,0.,-3,N vam(newrvec,Var Info hba)},
{"huv bin counts",6,0,3,2,0,0.,0.,-3,N vam(newrvec,Var Info hbc)},
{"huv bin descriptors",7,0,5,0,0,0.,0.,-3,N vae(caulbl,CAUVar histogram bin)},
{"huv bin ordinates",6,0,3,2,0,0.,0.,4,N vam(newrvec,Var Info hbo)},
{"huv num bin pairs",5,0,1,0,0,0.,0.,2,N vam(newiarray,Var Info nhbp)},
{"initial point",14,0,4,0,0,0.,0.,0,N vam(rvec,histogramBinUncVars)},
{"num pairs",13,0,1,0,0,0.,0.,0,N vam(newiarray,Var Info nhbp)},
{"ordinates",14,0,3,2,0,0.,0.,0,N vam(newrvec,Var Info hbo)}
}

KeyWord kw 328[9] [static]


Initial value:
= {
{"abscissas",14,0,2,1,0,0.,0.,0,N vam(newrvec,Var Info hpa)},
{"counts",14,0,3,2,0,0.,0.,0,N vam(newrvec,Var Info hpc)},
{"descriptors",15,0,5,0,0,0.,0.,0,N vae(daurlbl,DAURVar histogram point)},
{"huv num point pairs",5,0,1,0,0,0.,0.,5,N vam(newiarray,Var Info nhpp)},
{"huv point abscissas",6,0,2,1,0,0.,0.,-4,N vam(newrvec,Var Info hpa)},
{"huv point counts",6,0,3,2,0,0.,0.,-4,N vam(newrvec,Var Info hpc)},
{"huv point descriptors",7,0,5,0,0,0.,0.,-4,N vae(daurlbl,DAURVar histogram point)},
{"initial point",14,0,4,0,0,0.,0.,0,N vam(rvec,histogramPointUncVars)},
{"num pairs",13,0,1,0,0,0.,0.,0,N vam(newiarray,Var Info nhpp)}
}

KeyWord kw 329[5] [static]


Initial value:
= {
{"descriptors",15,0,5,0,0,0.,0.,0,N vae(dauilbl,DAUIVar hypergeometric)},
{"initial point",13,0,4,0,0,0.,0.,0,N vam(IntLb,hyperGeomUncVars)},
{"num drawn",13,0,3,3,0,0.,0.,0,N vam(IntLb,hyperGeomUncNumDrawn)},
{"selected population",13,0,2,2,0,0.,0.,0,N vam(IntLb,hyperGeomUncSelectedPop)},
{"total population",13,0,1,1,0,0.,0.,0,N vam(IntLb,hyperGeomUncTotalPop)}
}

KeyWord kw 330[2] [static]


Initial value:
= {
{"lnuv zetas",6,0,1,1,0,0.,0.,1,N vam(RealLb,lognormalUncZetas)},
{"zetas",14,0,1,1,0,0.,0.,0,N vam(RealLb,lognormalUncZetas)}
}

KeyWord kw 331[4] [static]


Initial value:
= {
{"error factors",14,0,1,1,0,0.,0.,0,N vam(RealLb,lognormalUncErrFacts)},
{"lnuv error factors",6,0,1,1,0,0.,0.,-1,N vam(RealLb,lognormalUncErrFacts)},
{"lnuv std deviations",6,0,1,1,0,0.,0.,1,N vam(RealLb,lognormalUncStdDevs)},
{"std deviations",14,0,1,1,0,0.,0.,0,N vam(RealLb,lognormalUncStdDevs)}
}

275

276

CHAPTER 12. NAMESPACE DOCUMENTATION

KeyWord kw 332[11] [static]


Initial value:
= {
{"descriptors",15,0,5,0,0,0.,0.,0,N vae(caulbl,CAUVar lognormal)},
{"initial point",14,0,4,0,0,0.,0.,0,N vam(RealLb,lognormalUncVars)},
{"lambdas",14,2,1,1,kw 330,0.,0.,0,N vam(rvec,lognormalUncLambdas)},
{"lnuv descriptors",7,0,5,0,0,0.,0.,-3,N vae(caulbl,CAUVar lognormal)},
{"lnuv lambdas",6,2,1,1,kw 330,0.,0.,-2,N vam(rvec,lognormalUncLambdas)},
{"lnuv lower bounds",6,0,2,0,0,0.,0.,3,N vam(RealLb,lognormalUncLowerBnds)},
{"lnuv means",6,4,1,1,kw 331,0.,0.,3,N vam(RealLb,lognormalUncMeans)},
{"lnuv upper bounds",6,0,3,0,0,0.,0.,3,N vam(RealUb,lognormalUncUpperBnds)},
{"lower bounds",14,0,2,0,0,0.,0.,0,N vam(RealLb,lognormalUncLowerBnds)},
{"means",14,4,1,1,kw 331,0.,0.,0,N vam(RealLb,lognormalUncMeans)},
{"upper bounds",14,0,3,0,0,0.,0.,0,N vam(RealUb,lognormalUncUpperBnds)}
}

KeyWord kw 333[7] [static]


Initial value:
= {
{"descriptors",15,0,4,0,0,0.,0.,0,N vae(caulbl,CAUVar loguniform)},
{"initial point",14,0,3,0,0,0.,0.,0,N vam(RealLb,loguniformUncVars)},
{"lower bounds",14,0,1,1,0,0.,0.,0,N vam(RealLb,loguniformUncLowerBnds)},
{"luuv descriptors",7,0,4,0,0,0.,0.,-3,N vae(caulbl,CAUVar loguniform)},
{"luuv lower bounds",6,0,1,1,0,0.,0.,-2,N vam(RealLb,loguniformUncLowerBnds)},
{"luuv upper bounds",6,0,2,2,0,0.,0.,1,N vam(RealUb,loguniformUncUpperBnds)},
{"upper bounds",14,0,2,2,0,0.,0.,0,N vam(RealUb,loguniformUncUpperBnds)}
}

KeyWord kw 334[5] [static]


Initial value:
= {
{"descriptors",15,0,4,0,0,0.,0.,0,N vae(dauilbl,DAUIVar negative binomial)},
{"initial point",13,0,3,0,0,0.,0.,0,N vam(IntLb,negBinomialUncVars)},
{"num trials",13,0,2,2,0,0.,0.,0,N vam(IntLb,negBinomialUncNumTrials)},
{"prob per trial",6,0,1,1,0,0.,0.,1,N vam(rvec,negBinomialUncProbPerTrial)},
{"probability per trial",14,0,1,1,0,0.,0.,0,N vam(rvec,negBinomialUncProbPerTrial)}
}

KeyWord kw 335[11] [static]


Initial value:
= {
{"descriptors",15,0,6,0,0,0.,0.,0,N vae(caulbl,CAUVar normal)},
{"initial point",14,0,5,0,0,0.,0.,0,N vam(rvec,normalUncVars)},
{"lower bounds",14,0,3,0,0,0.,0.,0,N vam(rvec,normalUncLowerBnds)},
{"means",14,0,1,1,0,0.,0.,0,N vam(rvec,normalUncMeans)},
{"nuv descriptors",7,0,6,0,0,0.,0.,-4,N vae(caulbl,CAUVar normal)},
{"nuv lower bounds",6,0,3,0,0,0.,0.,-3,N vam(rvec,normalUncLowerBnds)},
{"nuv means",6,0,1,1,0,0.,0.,-3,N vam(rvec,normalUncMeans)},
{"nuv std deviations",6,0,2,2,0,0.,0.,2,N vam(RealLb,normalUncStdDevs)},
{"nuv upper bounds",6,0,4,0,0,0.,0.,2,N vam(rvec,normalUncUpperBnds)},
{"std deviations",14,0,2,2,0,0.,0.,0,N vam(RealLb,normalUncStdDevs)},
{"upper bounds",14,0,4,0,0,0.,0.,0,N vam(rvec,normalUncUpperBnds)}
}

12.1. DAKOTA NAMESPACE REFERENCE


KeyWord kw 336[3] [static]
Initial value:
= {
{"descriptors",15,0,3,0,0,0.,0.,0,N vae(dauilbl,DAUIVar poisson)},
{"initial point",13,0,2,0,0,0.,0.,0,N vam(IntLb,poissonUncVars)},
{"lambdas",14,0,1,1,0,0.,0.,0,N vam(RealLb,poissonUncLambdas)}
}

KeyWord kw 337[9] [static]


Initial value:
= {
{"descriptors",15,0,5,0,0,0.,0.,0,N vae(caulbl,CAUVar triangular)},
{"initial point",14,0,4,0,0,0.,0.,0,N vam(rvec,triangularUncVars)},
{"lower bounds",14,0,2,2,0,0.,0.,0,N vam(RealLb,triangularUncLowerBnds)},
{"modes",14,0,1,1,0,0.,0.,0,N vam(rvec,triangularUncModes)},
{"tuv descriptors",7,0,5,0,0,0.,0.,-4,N vae(caulbl,CAUVar triangular)},
{"tuv lower bounds",6,0,2,2,0,0.,0.,-3,N vam(RealLb,triangularUncLowerBnds)},
{"tuv modes",6,0,1,1,0,0.,0.,-3,N vam(rvec,triangularUncModes)},
{"tuv upper bounds",6,0,3,3,0,0.,0.,1,N vam(RealUb,triangularUncUpperBnds)},
{"upper bounds",14,0,3,3,0,0.,0.,0,N vam(RealUb,triangularUncUpperBnds)}
}

KeyWord kw 338[7] [static]


Initial value:
= {
{"descriptors",15,0,4,0,0,0.,0.,0,N vae(caulbl,CAUVar uniform)},
{"initial point",14,0,3,0,0,0.,0.,0,N vam(rvec,uniformUncVars)},
{"lower bounds",14,0,1,1,0,0.,0.,0,N vam(RealLb,uniformUncLowerBnds)},
{"upper bounds",14,0,2,2,0,0.,0.,0,N vam(RealUb,uniformUncUpperBnds)},
{"uuv descriptors",7,0,4,0,0,0.,0.,-4,N vae(caulbl,CAUVar uniform)},
{"uuv lower bounds",6,0,1,1,0,0.,0.,-3,N vam(RealLb,uniformUncLowerBnds)},
{"uuv upper bounds",6,0,2,2,0,0.,0.,-3,N vam(RealUb,uniformUncUpperBnds)}
}

KeyWord kw 339[7] [static]


Initial value:
= {
{"alphas",14,0,1,1,0,0.,0.,0,N vam(RealLb,weibullUncAlphas)},
{"betas",14,0,2,2,0,0.,0.,0,N vam(RealLb,weibullUncBetas)},
{"descriptors",15,0,4,0,0,0.,0.,0,N vae(caulbl,CAUVar weibull)},
{"initial point",14,0,3,0,0,0.,0.,0,N vam(RealLb,weibullUncVars)},
{"wuv alphas",6,0,1,1,0,0.,0.,-4,N vam(RealLb,weibullUncAlphas)},
{"wuv betas",6,0,2,2,0,0.,0.,-4,N vam(RealLb,weibullUncBetas)},
{"wuv descriptors",7,0,4,0,0,0.,0.,-4,N vae(caulbl,CAUVar weibull)}
}

KeyWord kw 341[6] [static]


Initial value:
= {
{"environment",0x108,6,1,1,kw 3,0.,0.,0,NIDRProblemDescDB::env start},
{"interface",0x308,9,5,5,kw 18,0.,0.,0,N ifm3(start,0,stop)},
{"method",0x308,90,2,2,kw 257,0.,0.,0,N mdm3(start,0,stop)},
{"model",8,7,3,3,kw 288,0.,0.,0,N mom3(start,0,stop)},
{"responses",0x308,19,6,6,kw 306,0.,0.,0,N rem3(start,0,stop)},
{"variables",0x308,37,4,4,kw 340,0.,0.,0,N vam3(start,0,stop)}
}

277

278
Var uinfo CAUVLbl[CAUVar Nkinds] [static]
Initial value:
= {
VarLabelInfo(nuv , NormalUnc),
VarLabelInfo(lnuv , LognormalUnc),
VarLabelInfo(uuv , UniformUnc),
VarLabelInfo(luuv , LoguniformUnc),
VarLabelInfo(tuv , TriangularUnc),
VarLabelInfo(euv , ExponentialUnc),
VarLabelInfo(beuv , BetaUnc),
VarLabelInfo(gauv , GammaUnc),
VarLabelInfo(guuv , GumbelUnc),
VarLabelInfo(fuv , FrechetUnc),
VarLabelInfo(wuv , WeibullUnc),
VarLabelInfo(hbuv , HistogramBinUnc)
}

Var uinfo DAUIVLbl[DAUIVar Nkinds] [static]


Initial value:
= {
VarLabelInfo(puv , PoissonUnc),
VarLabelInfo(biuv , BinomialUnc),
VarLabelInfo(nbuv , NegBinomialUnc),
VarLabelInfo(geuv , GeometricUnc),
VarLabelInfo(hguv , HyperGeomUnc)
}

Var uinfo DAURVLbl[DAURVar Nkinds] [static]


Initial value:
= {
VarLabelInfo(hpuv , HistogramPtUnc)
}

Var uinfo CEUVLbl[CEUVar Nkinds] [static]


Initial value:
= {
VarLabelInfo(ciuv , ContinuousIntervalUnc)
}

Var uinfo DEUIVLbl[DEUIVar Nkinds] [static]


Initial value:
= {
VarLabelInfo(diuv , DiscreteIntervalUnc),
VarLabelInfo(dusiv , DiscreteUncSetInt)
}

CHAPTER 12. NAMESPACE DOCUMENTATION

12.1. DAKOTA NAMESPACE REFERENCE


Var uinfo DEURVLbl[DEURVar Nkinds] [static]
Initial value:
= {
VarLabelInfo(dusrv , DiscreteUncSetReal)
}

Var uinfo DiscSetLbl[DiscSetVar Nkinds] [static]


Initial value:
= {
VarLabelInfo(ddsiv
VarLabelInfo(ddsrv
VarLabelInfo(dssiv
VarLabelInfo(dssrv
}

,
,
,
,

DiscreteDesSetInt),
DiscreteDesSetReal),
DiscreteStateSetInt),
DiscreteStateSetReal)

VarLabelChk Vlch[ ] [static]


Initial value:
= {
{
{
{
{
{
{
{
{
{
}

AVI
AVI
AVI
AVI
AVI
AVI
AVI
AVI
AVI

numContinuousDesVars, AVI continuousDesignLabels, "cdv ", "cdv descriptors" },


numDiscreteDesRangeVars, AVI discreteDesignRangeLabels, "ddriv ", "ddriv descriptors" },
numDiscreteDesSetIntVars, AVI discreteDesignSetIntLabels, "ddsiv ", "ddsiv descriptors" },
numDiscreteDesSetRealVars, AVI discreteDesignSetRealLabels, "ddsrv ", "ddsrv descriptors" },
numContinuousStateVars, AVI continuousStateLabels, "csv ", "csv descriptors" },
numDiscreteStateRangeVars, AVI discreteStateRangeLabels, "dsriv ", "dsriv descriptors" },
numDiscreteStateSetIntVars, AVI discreteStateSetIntLabels, "dssiv ", "dssiv descriptors" },
numDiscreteStateSetRealVars, AVI discreteStateSetRealLabels, "dssrv ", "dssrv descriptors" },
numContinuousDesVars, AVI continuousDesignScaleTypes, 0, "cdv scale types" }

VLreal VLR[N VLR] [static]


Initial value:
= {
{CAUVar Nkinds, AVI CAUv, CAUVLbl,
DVR continuousAleatoryUncLabels,
DVR continuousAleatoryUncLowerBnds,
DVR continuousAleatoryUncUpperBnds,
DVR continuousAleatoryUncVars},
{CEUVar Nkinds, AVI CEUv, CEUVLbl,
DVR continuousEpistemicUncLabels,
DVR continuousEpistemicUncLowerBnds,
DVR continuousEpistemicUncUpperBnds,
DVR continuousEpistemicUncVars},
{DAURVar Nkinds, AVI DAURv, DAURVLbl,
DVR discreteRealAleatoryUncLabels,
DVR discreteRealAleatoryUncLowerBnds,
DVR discreteRealAleatoryUncUpperBnds,
DVR discreteRealAleatoryUncVars},
{DEURVar Nkinds, AVI DEURv, DEURVLbl,
DVR discreteRealEpistemicUncLabels,
DVR discreteRealEpistemicUncLowerBnds,
DVR discreteRealEpistemicUncUpperBnds,
DVR discreteRealEpistemicUncVars}}

279

280

CHAPTER 12. NAMESPACE DOCUMENTATION

VLint VLI[N VLI] [static]


Initial value:
= {
{DAUIVar Nkinds, AVI DAUIv, DAUIVLbl,
DVR discreteIntAleatoryUncLabels,
DVR discreteIntAleatoryUncLowerBnds,
DVR discreteIntAleatoryUncUpperBnds,
DVR discreteIntAleatoryUncVars},
{DEUIVar Nkinds, AVI DEUIv, DEUIVLbl,
DVR discreteIntEpistemicUncLabels,
DVR discreteIntEpistemicUncLowerBnds,
DVR discreteIntEpistemicUncUpperBnds,
DVR discreteIntEpistemicUncVars}}

Var check var mp check cv[ ] [static]


Initial value:
= {
Vchk 3(continuous design,ContinuousDes),
Vchk 3(continuous state,ContinuousState) }

Var check var mp check dset[ ] [static]


Initial value:
= {
Vchk
Vchk
Vchk
Vchk

3(discrete
3(discrete
3(discrete
3(discrete

design set integer,DiscreteDesSetInt),


design set real,DiscreteDesSetReal),
state set integer,DiscreteStateSetInt),
state set real,DiscreteStateSetReal) }

Var check var mp check cau[ ] [static]


Initial value:
= {
Vchk
Vchk
Vchk
Vchk
Vchk
Vchk
Vchk
Vchk
Vchk
Vchk
Vchk
Vchk

3(normal uncertain,NormalUnc),
3(lognormal uncertain,LognormalUnc),
3(uniform uncertain,UniformUnc),
3(loguniform uncertain,LoguniformUnc),
3(triangular uncertain,TriangularUnc),
3(exponential uncertain,ExponentialUnc),
3(beta uncertain,BetaUnc),
3(gamma uncertain,GammaUnc),
3(gumbel uncertain,GumbelUnc),
3(frechet uncertain,FrechetUnc),
3(weibull uncertain,WeibullUnc),
3(histogram bin uncertain,HistogramBinUnc) }

Var check var mp check daui[ ] [static]


Initial value:
= {
Vchk
Vchk
Vchk
Vchk
Vchk

3(poisson uncertain,PoissonUnc),
3(binomial uncertain,BinomialUnc),
3(negative binomial uncertain,NegBinomialUnc),
3(geometric uncertain,GeometricUnc),
3(hypergeometric uncertain,HyperGeomUnc) }

12.1. DAKOTA NAMESPACE REFERENCE


Var check var mp check daur[ ] [static]
Initial value:
= {
Vchk 3(histogram point uncertain,HistogramPtUnc) }

Var check var mp check ceu[ ] [static]


Initial value:
= {
Vchk 3(continuous interval uncertain,ContinuousIntervalUnc) }

Var check var mp check deui[ ] [static]


Initial value:
= {
Vchk 3(discrete interval uncertain,DiscreteIntervalUnc),
Vchk 3(discrete uncertain set integer,DiscreteUncSetInt) }

Var check var mp check deur[ ] [static]


Initial value:
= {
Vchk 3(discrete uncertain set real,DiscreteUncSetReal) }

Var rcheck var mp cbound[ ] [static]


Initial value:
= {
Vchk
Vchk
Vchk
Vchk
Vchk
Vchk
Vchk
Vchk

7(continuous design,ContinuousDes,continuousDesign),
7(continuous state,ContinuousState,continuousState),
5(normal uncertain,NormalUnc,normalUnc),
5(lognormal uncertain,LognormalUnc,lognormalUnc),
5(uniform uncertain,UniformUnc,uniformUnc),
5(loguniform uncertain,LoguniformUnc,loguniformUnc),
5(triangular uncertain,TriangularUnc,triangularUnc),
5(beta uncertain,BetaUnc,betaUnc) }

Var icheck var mp drange[ ] [static]


Initial value:
= {
Vchk 7(discrete design range,DiscreteDesRange,discreteDesignRange),
Vchk 7(discrete state range,DiscreteStateRange,discreteStateRange) }

281

282

CHAPTER 12. NAMESPACE DOCUMENTATION

const char SCI FIELD NAMES[ ]


Initial value:
= { "dakota type", "numFns", "numVars", "numACV", "numADIV",
"numADRV", "numDerivVars", "xC", "xDI",
"xDR", "xCLabels", "xDILabels",
"xDRLabels", "directFnASV", "directFnASM",
"directFnDVV", "directFnDVV bool",
"fnFlag", "gradFlag", "hessFlag",
"fnVals", "fnGrads", "fnHessians",
"fnLabels", "failure", "currEvalId" }

fields to pass to Scilab in Dakota structure


Referenced by ScilabInterface::scilab engine run().
const int SCI NUMBER OF FIELDS = 26
number of fields in above structure
Referenced by ScilabInterface::scilab engine run().

12.2

SIM Namespace Reference

A sample namespace for derived classes that use assign rep() to plug facilities into DAKOTA.

Classes
class ParallelDirectApplicInterface
Sample derived interface class for testing parallel simulator plug-ins using assign rep().

class SerialDirectApplicInterface
Sample derived interface class for testing serial simulator plug-ins using assign rep().

12.2.1

Detailed Description

A sample namespace for derived classes that use assign rep() to plug facilities into DAKOTA. A typical use of
plug-ins with assign rep() is to publish a simulation interface for use in library mode See Interfacing with Dakota
as a Library for more information.

Chapter 13

Class Documentation
13.1

ActiveSet Class Reference

Container class for active set tracking information. Contains the active set request vector and the derivative
variables vector.

Public Member Functions


ActiveSet ()
default constructor

ActiveSet (size t num fns, size t num deriv vars)


standard constructor

ActiveSet (size t num fns)


partial constructor

ActiveSet (const ActiveSet &set)


copy constructor

ActiveSet ()
destructor

ActiveSet & operator= (const ActiveSet &set)


assignment operator

void reshape (size t num fns, size t num deriv vars)


reshape requestVector and derivVarsVector

void reshape (size t num fns)


reshape requestVector

const ShortArray & request vector () const


return the request vector

void request vector (const ShortArray &rv)


set the request vector

void request values (const short rv val)


set all request vector values

short request value (const size t index) const


get the value of an entry in the request vector

283

284

CHAPTER 13. CLASS DOCUMENTATION


void request value (const short rv val, const size t index)
set the value of an entry in the request vector

const SizetArray & derivative vector () const


return the derivative variables vector

void derivative vector (const SizetArray &dvv)


set the derivative variables vector from a SizetArray

void derivative vector (SizetMultiArrayConstView dvv)


set the derivative variables vector from a SizetMultiArrayConstView

void derivative start value (size t dvv start val)


set the derivative variables vector values

void read (std::istream &s)


read an active set object from an std::istream

void write (std::ostream &s) const


write an active set object to an std::ostream

void write annotated (std::ostream &s) const


write an active set object to an std::ostream in annotated format

void read (MPIUnpackBuffer &s)


read an active set object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write an active set object to a packed MPI buffer

Private Member Functions


template<class Archive >
void serialize (Archive &ar, const unsigned int version)
implementation of Boost serialize for ActiveSet

Private Attributes
ShortArray requestVector
the vector of response requests

SizetArray derivVarsVector
the vector of variable ids used for computing derivatives

Friends
class boost::serialization::access
bool operator== (const ActiveSet &set1, const ActiveSet &set2)
equality operator

bool operator!= (const ActiveSet &set1, const ActiveSet &set2)


inequality operator

13.2. ANALYZER CLASS REFERENCE

13.1.1

285

Detailed Description

Container class for active set tracking information. Contains the active set request vector and the derivative
variables vector.
The ActiveSet class is a small class whose initial design function is to avoid having to pass the ASV and DVV separately. It is not part of a class hierarchy and does not employ reference-counting/ representation-sharing
idioms (e.g., handle-body).

13.1.2

Member Data Documentation

ShortArray requestVector [private]


the vector of response requests
It uses a 0 value for inactive functions and sums 1 (value), 2 (gradient), and 4 (Hessian) for active functions.
Referenced by ActiveSet::ActiveSet(), ActiveSet::operator=(), ActiveSet::read(), ActiveSet::request value(),
ActiveSet::request values(), ActiveSet::request vector(), ActiveSet::reshape(), ActiveSet::write(), and ActiveSet::write annotated().

SizetArray derivVarsVector [private]


the vector of variable ids used for computing derivatives
These ids will generally identify either the active continuous variables or the inactive continuous variables.
Referenced by ActiveSet::ActiveSet(), ActiveSet::derivative start value(), ActiveSet::derivative vector(), ActiveSet::operator=(), ActiveSet::read(), ActiveSet::reshape(), ActiveSet::write(), and ActiveSet::write annotated().
The documentation for this class was generated from the following file:

DakotaActiveSet.hpp

13.2

Analyzer Class Reference

Base class for NonD, DACE, and ParamStudy branches of the iterator hierarchy.
Inheritance diagram for Analyzer:

286

CHAPTER 13. CLASS DOCUMENTATION


Iterator
Analyzer
NonD

PStudyDACE

Verification

EfficientSubspaceMethod

DDACEDesignCompExp

NonDCalibration

FSUDesignCompExp

NonDExpansion

ParamStudy

NonDIntegration

PSUADEDesignCompExp

RichExtrapVerification

NonDInterval
NonDPOFDarts
NonDReliability
NonDSampling

Public Member Functions


const VariablesArray & all variables ()
return the complete set of evaluated variables

const RealMatrix & all samples ()


return the complete set of evaluated samples

const IntResponseMap & all responses () const


return the complete set of computed responses

int num samples () const


virtual void vary pattern (bool pattern flag)
sets varyPattern in derived classes that support it

Protected Member Functions


Analyzer ()
default constructor

Analyzer (ProblemDescDB &problem db, Model &model)


standard constructor

Analyzer (unsigned short method name, Model &model)


alternate constructor for instantiations on the fly with a Model

Analyzer (unsigned short method name)


alternate constructor for instantiations on the fly without a Model

Analyzer ()
destructor

virtual void get parameter sets (Model &model)


Returns one block of samples (ndim num samples)

virtual void update model from sample (Model &model, const Real sample vars)

13.2. ANALYZER CLASS REFERENCE

287

update models current variables with data from sample

virtual void update model from variables (Model &model, const Variables &vars)
update models current variables with data from vars

void update from model (const Model &model)


set inherited data attributes based on extractions from incoming model

void initialize run ()


utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance
pointers

void post run (std::ostream &s)


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way

void pre output ()


void print results (std::ostream &s)
print the final iterator results

const Model & algorithm space model () const


const Variables & variables results () const
return a single final iterator solution (variables)

const Response & response results () const


return a single final iterator solution (response)

const VariablesArray & variables array results ()


return multiple final iterator solutions (variables). This should only be used if returns multiple points() returns
true.

const ResponseArray & response array results ()


return multiple final iterator solutions (response). This should only be used if returns multiple points() returns true.

void response results active set (const ActiveSet &set)


set the requested data for the final iterator response results

bool compact mode () const


returns Analyzer::compactMode

bool returns multiple points () const


indicates if this iterator returns multiple final points. Default return is false. Override to return true if appropriate.

void evaluate parameter sets (Model &model, bool log resp flag, bool log best flag)
perform function evaluations to map parameter sets (allVariables) into response sets (allResponses)

void variance based decomp (int ncont, int ndiscint, int ndiscreal, int num samples)
void read variables responses (int num evals, size t num vars)
convenience function for reading variables/responses (used in derived classes post input)

void print sobol indices (std::ostream &s) const


Printing of VBD results.

void sample to variables (const Real sample c vars, Variables &vars)


convert samples array to variables array; e.g., allSamples to allVariables

void samples to variables array (const RealMatrix &sample matrix, VariablesArray &vars array)
convert samples array to variables array; e.g., allSamples to allVariables

void variables array to samples (const VariablesArray &vars array, RealMatrix &sample matrix)
convert variables array to samples array; e.g., allVariables to allSamples

288

CHAPTER 13. CLASS DOCUMENTATION

Protected Attributes
size t numFunctions
number of response functions

size t numContinuousVars
number of active continuous vars

size t numDiscreteIntVars
number of active discrete integer vars

size t numDiscreteRealVars
number of active discrete real vars

bool compactMode
switch for allSamples (compact mode) instead of allVariables (normal mode)

VariablesArray allVariables
array of all variables to be evaluated in evaluate parameter sets()

RealMatrix allSamples
compact alternative to allVariables

IntResponseMap allResponses
array of all responses to be computed in evaluate parameter sets()

StringArray allHeaders
array of headers to insert into output while evaluating allVariables

size t numObjFns
number of objective functions

size t numLSqTerms
number of least squares terms

RealPairPRPMultiMap bestVarsRespMap
map which stores best set of solutions

Private Member Functions


void compute best metrics (const Response &response, std::pair< Real, Real > &metrics)
compares current evaluation to best evaluation and updates best

void update best (const Variables &vars, int eval id, const Response &response)
compares current evaluation to best evaluation and updates best

void update best (const Real sample c vars, int eval id, const Response &response)
compares current evaluation to best evaluation and updates best

Private Attributes
int writePrecision
write precision as specified by the user

Real vbdDropTol
tolerance for omitting output of small VBD indices

RealVectorArray S4
VBD main effect indices.

RealVectorArray T4
VBD total effect indices.

13.2. ANALYZER CLASS REFERENCE

13.2.1

289

Detailed Description

Base class for NonD, DACE, and ParamStudy branches of the iterator hierarchy.
The Analyzer class provides common data and functionality for various types of systems analysis, including
nondeterministic analysis, design of experiments, and parameter studies.

13.2.2

Member Function Documentation

int num samples (

) const [inline], [virtual]

Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Iterator.
Reimplemented in NonDQuadrature, NonDSparseGrid, NonDSampling, NonDCubature, DDACEDesignCompExp, FSUDesignCompExp, and PSUADEDesignCompExp.
References Model::derivative concurrency(), Iterator::iteratedModel, and Iterator::maxEvalConcurrency.
Referenced by NonDGlobalReliability::get best sample(), Analyzer::samples to variables array(), Analyzer::variables array to samples(), and Analyzer::variance based decomp().
void initialize run (

) [protected], [virtual]

utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance pointers
Perform initialization phases of run sequence, like allocating memory and setting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call
its nearest parents initialize run(), typically before performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in NonD.
References Model::is null(), Iterator::iteratedModel, Iterator::maxEvalConcurrency, Model::set communicators(),
Model::set evaluation reference(), and Iterator::summaryOutputFlag.
Referenced by NonD::initialize run().
void post run ( std::ostream & s ) [protected], [virtual]
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in NonDLHSSampling, DDACEDesignCompExp, ParamStudy, FSUDesignCompExp, and
PSUADEDesignCompExp.
References Model::is null(), Iterator::iteratedModel, Model::print evaluation summary(), Analyzer::print results(), Iterator::resultsDB, Iterator::summaryOutputFlag, and ResultsManager::write databases().
Referenced by PSUADEDesignCompExp::post run(), FSUDesignCompExp::post run(), ParamStudy::post run(), DDACEDesignCompExp::post run(), and NonDLHSSampling::post run().
void pre output (

) [protected], [virtual]

Generate tabular output with active variables (compactMode) or all variables with their labels and response labels,
with no data. Variables are sequenced {cv, div, drv}

290

CHAPTER 13. CLASS DOCUMENTATION

Reimplemented from Iterator.


References Analyzer::allSamples, Analyzer::allVariables, ParallelLibrary::command line pre run output(), ParallelLibrary::command line user modes(), Analyzer::compactMode, Model::current response(), Model::current variables(),
Iterator::iteratedModel, Iterator::outputLevel, Model::parallel library(), Dakota::write precision, and Analyzer::writePrecision.
void print results ( std::ostream & s ) [protected], [virtual]
print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation
summary printed in finalize run().
Reimplemented from Iterator.
Reimplemented in NonDLHSSampling, NonDPOFDarts, NonDLocalReliability, NonDAdaptiveSampling,
NonDGPImpSampling, NonDAdaptImpSampling, NonDIncremLHSSampling, NonDGlobalReliability, NonDInterval, NonDExpansion, PStudyDACE, RichExtrapVerification, and Verification.
References Analyzer::bestVarsRespMap, ParamResponsePair::eval id(), Response::function values(), Analyzer::numLSqTerms, Analyzer::numObjFns, ParamResponsePair::prp parameters(), and ParamResponsePair::prp response().
Referenced by Analyzer::post run(), Verification::print results(), PStudyDACE::print results(), and NonDLHSSampling::print results().
const Model & algorithm space model (

) const [inline], [protected], [virtual]

default definition that gets redefined in selected derived Minimizers


Reimplemented from Iterator.
Reimplemented in NonDExpansion, NonDGlobalInterval, NonDBayesCalibration, and NonDReliability.
References Iterator::iteratedModel.
void evaluate parameter sets ( Model & model, bool log resp flag, bool log best flag ) [protected]
perform function evaluations to map parameter sets (allVariables) into response sets (allResponses)
Convenience function for derived classes with sets of function evaluations to perform (e.g., NonDSampling,
DDACEDesignCompExp, FSUDesignCompExp, ParamStudy).
References Iterator::activeSet, Analyzer::allHeaders, Analyzer::allResponses, Analyzer::allSamples, Analyzer::allVariables, Model::asynch compute response(), Model::asynch flag(), Analyzer::compactMode, Model::computeresponse(), Response::copy(), Model::current response(), Model::current variables(), Model::evaluation id(), Model::synchronize(), Analyzer::update best(), Analyzer::update model from sample(), and Analyzer::update model from variables().
Referenced by NonDSparseGrid::evaluate grid increment(), NonDSparseGrid::evaluate set(), PSUADEDesignCompExp::extract trends(), FSUDesignCompExp::extract trends(), ParamStudy::extract trends(), DDACEDesignCompExp::extract trends(), NonDIncremLHSSampling::quantify uncertainty(), NonDAdaptImpSampling::quantifyuncertainty(), NonDLHSSampling::quantify uncertainty(), NonDIntegration::quantify uncertainty(), and Analyzer::variance based decomp().
void variance based decomp ( int ncont, int ndiscint, int ndiscreal, int num samples ) [protected]
Calculation of sensitivity indices obtained by variance based decomposition. These indices are obtained by the
Saltelli version of the Sobol VBD which uses (K+2)N function evaluations, where K is the number of dimensions
(uncertain vars) and N is the number of samples.

13.3. APPLICATIONINTERFACE CLASS REFERENCE

291

References Dakota::abort handler(), Analyzer::allResponses, Analyzer::allSamples, Analyzer::allVariables,


Analyzer::compactMode, Variables::continuous variables(), Dakota::copy data(), Variables::discrete int variables(),
Variables::discrete real variables(), Analyzer::evaluate parameter sets(), Analyzer::get parameter sets(), Iterator::iteratedModel, Analyzer::num samples(), Analyzer::numFunctions, Analyzer::S4, Analyzer::T4, and Analyzer::vary pattern().
Referenced by FSUDesignCompExp::extract trends(), DDACEDesignCompExp::extract trends(), and NonDLHSSampling::quantify uncertainty().

void read variables responses ( int num evals, size t num vars ) [protected]
convenience function for reading variables/responses (used in derived classes post input)
read num evals variables/responses from file
References Dakota::abort handler(), Analyzer::allResponses, Analyzer::allSamples, Analyzer::allVariables,
ParallelLibrary::command line post run input(), ParallelLibrary::command line user modes(), Analyzer::compactMode, Variables::copy(), Response::copy(), Model::current response(), Model::current variables(), Iterator::iteratedModel, Iterator::outputLevel, Model::parallel library(), and Analyzer::update best().
Referenced by PSUADEDesignCompExp::post input(), FSUDesignCompExp::post input(), ParamStudy::postinput(), DDACEDesignCompExp::post input(), and NonDLHSSampling::post input().

void print sobol indices ( std::ostream & s ) const [protected]


Printing of VBD results.
printing of variance based decomposition indices.
References Model::continuous variable labels(), Model::discrete int variable labels(), Model::discrete real variable labels(), Iterator::iteratedModel, Analyzer::numContinuousVars, Analyzer::numDiscreteIntVars, Analyzer::numDiscreteRealVars, Analyzer::numFunctions, Model::response labels(), Analyzer::S4, Analyzer::T4, Analyzer::vbdDropTol, and Dakota::write precision.
Referenced by PStudyDACE::print results(), and NonDLHSSampling::print results().
The documentation for this class was generated from the following files:
DakotaAnalyzer.hpp
DakotaAnalyzer.cpp

13.3

ApplicationInterface Class Reference

Derived class within the interface class hierarchy for supporting interfaces to simulation codes.
Inheritance diagram for ApplicationInterface:

292

CHAPTER 13. CLASS DOCUMENTATION


Interface
ApplicationInterface
DirectApplicInterface

ProcessApplicInterface
MatlabInterface

ProcessHandleApplicInterface

PythonInterface

SysCallApplicInterface

ScilabInterface
TestDriverInterface
ParallelDirectApplicInterface
SerialDirectApplicInterface

Public Member Functions


ApplicationInterface (const ProblemDescDB &problem db)
constructor

ApplicationInterface ()
destructor

Protected Member Functions


void init communicators (const IntArray &message lengths, int max eval concurrency)
allocate communicator partitions for concurrent evaluations within an iterator and concurrent multiprocessor analyses within an evaluation.

void set communicators (const IntArray &message lengths, int max eval concurrency)
set the local parallel partition data for an interface (the partitions are already allocated in ParallelLibrary).

void free communicators ()


deallocate communicator partitions for concurrent evaluations within an iterator and concurrent multiprocessor
analyses within an evaluation.

void init serial ()


int asynch local evaluation concurrency () const
return asynchLocalEvalConcurrency

String interface synchronization () const


return interfaceSynchronization

bool evaluation cache () const


return evalCacheFlag

void map (const Variables &vars, const ActiveSet &set, Response &response, bool asynch flag=false)
Provides a mapping of variables to responses using a simulation. Protected due to Interface letter-envelope
idiom.

void manage failure (const Variables &vars, const ActiveSet &set, Response &response, int failed eval id)
manages a simulation failure using abort/retry/recover/continuation

13.3. APPLICATIONINTERFACE CLASS REFERENCE

293

const IntResponseMap & synch ()


executes a blocking schedule for asynchronous evaluations in the beforeSynchCorePRPQueue and returns all jobs

const IntResponseMap & synch nowait ()


executes a nonblocking schedule for asynchronous evaluations in the beforeSynchCorePRPQueue and returns a
partial set of completed jobs

void serve evaluations ()


run on evaluation servers to serve the iterator master

void stop evaluation servers ()


used by the iterator master to terminate evaluation servers

bool check multiprocessor analysis (bool warn)


checks on multiprocessor analysis configuration

bool check asynchronous (bool warn, int max eval concurrency)


checks on asynchronous configuration (for direct interfaces)

bool check multiprocessor asynchronous (bool warn, int max eval concurrency)
checks on asynchronous settings for multiprocessor partitions

virtual void derived map (const Variables &vars, const ActiveSet &set, Response &response, int fn eval id)
Called by map() and other functions to execute the simulation in synchronous mode. The portion of performing an
evaluation that is specific to a derived class.

virtual void derived map asynch (const ParamResponsePair &pair)


Called by map() and other functions to execute the simulation in asynchronous mode. The portion of performing
an asynchronous evaluation that is specific to a derived class.

virtual void wait local evaluations (PRPQueue &prp queue)


For asynchronous function evaluations, this method is used to detect completion of jobs and process their results.
It provides the processing code that is specific to derived classes. This version waits for at least one completion.

virtual void test local evaluations (PRPQueue &prp queue)


For asynchronous function evaluations, this method is used to detect completion of jobs and process their results. It
provides the processing code that is specific to derived classes. This version is nonblocking and will return without
any completions if none are immediately available.

virtual void init communicators checks (int max eval concurrency)


perform construct-time error checks on the parallel configuration

virtual void set communicators checks (int max eval concurrency)


perform run-time error checks on the parallel configuration

void master dynamic schedule analyses ()


blocking dynamic schedule of all analyses within a function evaluation using message passing

void serve analyses synch ()


serve the master analysis scheduler and manage one synchronous analysis job at a time

virtual int synchronous local analysis (int analysis id)


Execute a particular analysis (identified by analysis id) synchronously on the local processor. Used for the derived
class specifics within ApplicationInterface::serve analyses synch().

294

CHAPTER 13. CLASS DOCUMENTATION

Protected Attributes
ParallelLibrary & parallelLib
reference to the ParallelLibrary object used to manage MPI partitions for the concurrent evaluations and concurrent analyses parallelism levels

bool suppressOutput
flag for suppressing output on slave processors

int evalCommSize
size of evalComm

int evalCommRank
processor rank within evalComm

int evalServerId
evaluation server identifier

bool eaDedMasterFlag
flag for dedicated master partitioning at ea level

int analysisCommSize
size of analysisComm

int analysisCommRank
processor rank within analysisComm

int analysisServerId
analysis server identifier

int numAnalysisServers
current number of analysis servers

bool multiProcAnalysisFlag
flag for multiprocessor analysis partitions

bool asynchLocalAnalysisFlag
flag for asynchronous local parallelism of analyses

int asynchLocalAnalysisConcurrency
limits the number of concurrent analyses in asynchronous local scheduling and specifies hybrid concurrency when
message passing

int numAnalysisDrivers
the number of analysis drivers used for each function evaluation (from the analysis drivers interface specification)

IntSet completionSet
the set of completed fn eval ids populated by wait local evaluations() and test local evaluations()

Private Member Functions


bool duplication detect (const Variables &vars, Response &response, bool asynch flag)
checks data pairs and beforeSynchCorePRPQueue to see if the current evaluation request has already been performed or queued

void master dynamic schedule evaluations ()


blocking dynamic schedule of all evaluations in beforeSynchCorePRPQueue using message passing on a dedicated
master partition; executes on iteratorComm master

void peer static schedule evaluations ()

13.3. APPLICATIONINTERFACE CLASS REFERENCE

295

blocking static schedule of all evaluations in beforeSynchCorePRPQueue using message passing on a peer partition; executes on iteratorComm master

void peer dynamic schedule evaluations ()


blocking dynamic schedule of all evaluations in beforeSynchCorePRPQueue using message passing on a peer
partition; executes on iteratorComm master

void asynchronous local evaluations (PRPQueue &prp queue)


perform all jobs in prp queue using asynchronous approaches on the local processor

void synchronous local evaluations (PRPQueue &prp queue)


perform all jobs in prp queue using synchronous approaches on the local processor

void master dynamic schedule evaluations nowait ()


execute a nonblocking dynamic schedule in a master-slave partition

void peer dynamic schedule evaluations nowait ()


execute a nonblocking static/dynamic schedule in a peer partition

void asynchronous local evaluations nowait (PRPQueue &prp queue)


launch new jobs in prp queue asynchronously (if capacity is available), perform nonblocking query of all running
jobs, and process any completed jobs (handles both local master- and local peer-scheduling cases)

void broadcast evaluation (const ParamResponsePair &pair)


convenience function for broadcasting an evaluation over an evalComm

void broadcast evaluation (int fn eval id, const Variables &vars, const ActiveSet &set)
convenience function for broadcasting an evaluation over an evalComm

void send evaluation (PRPQueueIter &prp it, size t buff index, int server id, bool peer flag)
helper function for sending sendBuffers[buff index] to server

void receive evaluation (PRPQueueIter &prp it, size t buff index, int server id, bool peer flag)
helper function for processing recvBuffers[buff index] within scheduler

void launch asynch local (PRPQueueIter &prp it)


launch an asynchronous local evaluation

void process asynch local (int fn eval id)


process a completed asynchronous local evaluation

void process synch local (PRPQueueIter &prp it)


process a completed synchronous local evaluation

void assign asynch local queue (PRPQueue &local prp queue, PRPQueueIter &local prp iter)
helper function for creating an initial active local queue by launching asynch local jobs from local prp queue, as
limited by server capacity

void assign asynch local queue nowait (PRPQueue &local prp queue, PRPQueueIter &local prp iter)
helper function for updating an active local queue by backfilling asynch local jobs from local prp queue, as limited
by server capacity

size t test local backfill (PRPQueue &assign queue, PRPQueueIter &assign iter)
helper function for testing active asynch local jobs and then backfilling

size t test receives backfill (PRPQueueIter &assign iter, bool peer flag)
helper function for testing receive requests and then backfilling jobs

void serve evaluations synch ()


serve the evaluation message passing schedulers and perform one synchronous evaluation at a time

void serve evaluations synch peer ()

296

CHAPTER 13. CLASS DOCUMENTATION


serve the evaluation message passing schedulers and perform one synchronous evaluation at a time as part of the
1st peer

void serve evaluations asynch ()


serve the evaluation message passing schedulers and manage multiple asynchronous evaluations

void serve evaluations asynch peer ()


serve the evaluation message passing schedulers and perform multiple asynchronous evaluations as part of the 1st
peer

void set evaluation communicators (const IntArray &message lengths)


convenience function for updating the local evaluation partition data following ParallelLibrary::init evaluation communicators().

void set analysis communicators ()


convenience function for updating the local analysis partition data following ParallelLibrary::init analysis communicators().

void init serial evaluations ()


set concurrent evaluation configuration for serial operations

void init serial analyses ()


set concurrent analysis configuration for serial operations (e.g., for local executions on a dedicated master)

const ParamResponsePair & get source pair (const Variables &target vars)
convenience function for the continuation approach in manage failure() for finding the nearest successful source
evaluation to the failed target

void continuation (const Variables &target vars, const ActiveSet &set, Response &response, const ParamResponsePair &source pair, int failed eval id)
performs a 0th order continuation method to step from a successful source evaluation to the failed target.
Invoked by manage failure() for failAction == continuation.

void common input filtering (const Variables &vars)


common input filtering operations, e.g. mesh movement

void common output filtering (Response &response)


common output filtering operations, e.g. data filtering

Private Attributes
int worldSize
size of MPI COMM WORLD

int worldRank
processor rank within MPI COMM WORLD

int iteratorCommSize
size of iteratorComm

int iteratorCommRank
processor rank within iteratorComm

bool ieMessagePass
flag for message passing at ie scheduling level

int numEvalServers
current number of evaluation servers

int numEvalServersSpec
user specification for number of evaluation servers

int procsPerEvalSpec

13.3. APPLICATIONINTERFACE CLASS REFERENCE

297

user specification for processors per analysis servers

bool eaMessagePass
flag for message passing at ea scheduling level

int numAnalysisServersSpec
user spec for number of analysis servers

int procsPerAnalysisSpec
user specification for processors per analysis servers

int lenVarsMessage
length of a MPIPackBuffer containing a Variables object; computed in Model::init communicators()

int lenVarsActSetMessage
length of a MPIPackBuffer containing a Variables object and an ActiveSet object; computed in Model::init communicators()

int lenResponseMessage
length of a MPIPackBuffer containing a Response object; computed in Model::init communicators()

int lenPRPairMessage
length of a MPIPackBuffer containing a ParamResponsePair object; computed in Model::init communicators()

short evalScheduling
user specification of evaluation scheduling algorithm: {DEFAULT,MASTER,PEER DYNAMIC,PEER STATIC} SCHEDULING. Used for manual overrides of auto-configure logic in ParallelLibrary::resolve inputs().

short analysisScheduling
user specification of analysis scheduling algorithm: {DEFAULT,MASTER,PEER} SCHEDULING. Used for manual overrides of the auto-configure logic in ParallelLibrary::resolve inputs().

int asynchLocalEvalConcSpec
user specification for asynchronous local evaluation concurrency

int asynchLocalAnalysisConcSpec
user specification for asynchronous local analysis concurrency

int asynchLocalEvalConcurrency
limits the number of concurrent evaluations in asynchronous local scheduling and specifies hybrid concurrency
when message passing

bool asynchLocalEvalStatic
whether the asynchronous local evaluations are to be performed with a static schedule (default false)

BitArray localServerAssigned
array with one bit per logical server indicating whether a job is currently running on the server (used for asynch
local static schedules)

String interfaceSynchronization
interface synchronization specification: synchronous (default) or asynchronous

bool asvControlFlag
used to manage a user request to deactivate the active set vector control. true = modify the ASV each evaluation as
appropriate (default); false = ASV values are static so that the user need not check them on each evaluation.

bool evalCacheFlag
used to manage a user request to deactivate the function evaluation cache (i.e., queries and insertions using the
data pairs cache).

bool nearbyDuplicateDetect
flag indicating optional usage of tolerance-based duplication detection (less efficient, but helpful when experiencing
restart cache misses)

298

CHAPTER 13. CLASS DOCUMENTATION


Real nearbyTolerance
tolerance value for tolerance-based duplication detection

bool restartFileFlag
used to manage a user request to deactivate the restart file (i.e., insertions into write restart).

ShortArray defaultASV
the static ASV values used when the user has selected asvControl = off

String failAction
mitigation action for captured simulation failures: abort, retry, recover, or continuation

int failRetryLimit
limit on the number of retries for the retry failAction

RealVector failRecoveryFnVals
the dummy function values used for the recover failAction

IntResponseMap historyDuplicateMap
used to bookkeep asynchronous evaluations which duplicate data pairs evaluations. Map key is evalIdCntr, map
value is corresponding response.

std::map< int, std::pair


< PRPQueueHIter, Response > > beforeSynchDuplicateMap
used to bookkeep evalIdCntr, beforeSynchCorePRPQueue iterator, and response of asynchronous evaluations which
duplicate queued beforeSynchCorePRPQueue evaluations

PRPQueue beforeSynchCorePRPQueue
used to bookkeep vars/set/response of nonduplicate asynchronous core evaluations. This is the queue of jobs populated by asynchronous map() that is later scheduled in synch() or synch nowait().

PRPQueue beforeSynchAlgPRPQueue
used to bookkeep vars/set/response of asynchronous algebraic evaluations. This is the queue of algebraic jobs
populated by asynchronous map() that is later evaluated in synch() or synch nowait().

PRPQueue asynchLocalActivePRPQueue
used by nonblocking asynchronous local schedulers to bookkeep active local jobs

std::map< int, IntIntPair > msgPassRunningMap


used by nonblocking message passing schedulers to bookkeep which jobs are running remotely

MPIPackBuffer sendBuffers
array of pack buffers for evaluation jobs queued to a server

MPIUnpackBuffer recvBuffers
array of unpack buffers for evaluation jobs returned by a server

MPI Request recvRequests


array of requests for nonblocking evaluation receives

13.3.1

Detailed Description

Derived class within the interface class hierarchy for supporting interfaces to simulation codes.
ApplicationInterface provides an interface class for performing parameter to response mappings using simulation code(s). It provides common functionality for a number of derived classes and contains the majority of all of
the scheduling algorithms in DAKOTA. The derived classes provide the specifics for managing code invocations
using system calls, forks, direct procedure calls, or distributed resource facilities.

13.3. APPLICATIONINTERFACE CLASS REFERENCE

13.3.2

299

Member Function Documentation

void init serial (

) [inline], [protected], [virtual]

DataInterface.cpp defaults of 0 servers are needed to distinguish an explicit user request for 1 server (serialization of a parallelism level) from no user request (use parallel auto-config). This default causes problems when
init communicators() is not called for an interface object (e.g., static scheduling fails in DirectApplicInterface::derived map() for NestedModel::optionalInterface). This is the reason for this function: to reset certain defaults
for interface objects that are used serially.
Reimplemented from Interface.
References ApplicationInterface::init serial analyses(), and ApplicationInterface::init serial evaluations().
void map ( const Variables & vars, const ActiveSet & set, Response & response, bool asynch flag =
false ) [protected], [virtual]
Provides a mapping of variables to responses using a simulation. Protected due to Interface letter-envelope
idiom.
The function evaluator for application interfaces. Called from derived compute response() and derived asynch compute response() in derived Model classes. If asynch flag is not set, perform a blocking evaluation
(using derived map()). If asynch flag is set, add the job to the beforeSynchCorePRPQueue queue for execution
by one of the scheduler routines in synch() or synch nowait(). Duplicate function evaluations are detected with
duplication detect().
Reimplemented from Interface.
References Response::active set(), Interface::algebraic mappings(), Interface::algebraicMappings, Interface::asv mapping(), ApplicationInterface::asvControlFlag, ApplicationInterface::beforeSynchAlgPRPQueue, ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::broadcast evaluation(), Response::copy(), Interface::coreMappings, Interface::currEvalId, Dakota::data pairs, ApplicationInterface::defaultASV, ApplicationInterface::derived map(), ApplicationInterface::duplication detect(), ApplicationInterface::evalCacheFlag, Interface::evalIdCntr, Interface::fineGrainEvalCounters, Interface::fnGradCounter, Interface::fnHessCounter, Interface::fnLabels,
Interface::fnValCounter, Response::function labels(), Interface::init algebraic mappings(), Interface::interfaceId,
ApplicationInterface::manage failure(), Interface::multiProcEvalFlag, Interface::newEvalIdCntr, Interface::newFnGradCounter, Interface::newFnHessCounter, Interface::newFnValCounter, Interface::outputLevel, ApplicationInterface::parallelLib, ActiveSet::request vector(), Interface::response mapping(), ApplicationInterface::restartFileFlag, and ParallelLibrary::write restart().
const IntResponseMap & synch (

) [protected], [virtual]

executes a blocking schedule for asynchronous evaluations in the beforeSynchCorePRPQueue and returns all jobs
This function provides blocking synchronization for all cases of asynchronous evaluations, including the local
asynchronous case (background system call, nonblocking fork, & multithreads), the message passing case, and
the hybrid case. Called from derived synchronize() in derived Model classes.
Reimplemented from Interface.
References Interface::algebraic mappings(), Interface::algebraicMappings, Interface::asv mapping(), ApplicationInterface::asynchLocalEvalStatic, ApplicationInterface::asynchronous local evaluations(), ApplicationInterface::beforeSynchAlgPRPQueue, ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::beforeSynchDuplicateMap, Interface::coreMappings, ApplicationInterface::evalScheduling, ApplicationInterface::historyDuplicateMap, Interface::ieDedMasterFlag, ApplicationInterface::ieMessagePass, Interface::interfaceId, Interface::interfaceType, ApplicationInterface::master dynamic schedule evaluations(), Interface::multiProcEvalFlag, Interface::outputLevel, ApplicationInterface::peer dynamic schedule evaluations(), ApplicationInterface::peer static schedule evaluations(),
Interface::rawResponseMap, and Interface::response mapping().

300

CHAPTER 13. CLASS DOCUMENTATION

const IntResponseMap & synch nowait (

) [protected], [virtual]

executes a nonblocking schedule for asynchronous evaluations in the beforeSynchCorePRPQueue and returns a
partial set of completed jobs
This function provides nonblocking synchronization for the local asynchronous case and selected nonblocking
message passing schedulers. Called from derived synchronize nowait() in derived Model classes.
Reimplemented from Interface.
References Dakota::abort handler(), Interface::algebraic mappings(), Interface::algebraicMappings, Interface::asv mapping(), ApplicationInterface::asynchLocalEvalStatic, ApplicationInterface::asynchronous local evaluationsnowait(), ApplicationInterface::beforeSynchAlgPRPQueue, ApplicationInterface::beforeSynchCorePRPQueue,
ApplicationInterface::beforeSynchDuplicateMap, Interface::coreMappings, ParamResponsePair::eval id(), ApplicationInterface::evalScheduling, ApplicationInterface::historyDuplicateMap, Interface::ieDedMasterFlag, ApplicationInterface::ieMessagePass, Interface::interfaceId, Interface::interfaceType, Dakota::lookup by eval id(), ApplicationInterface::master dynamic schedule evaluations nowait(), Interface::multiProcEvalFlag, Interface::outputLevel,
ApplicationInterface::peer dynamic schedule evaluations nowait(), ParamResponsePair::prp response(), Interface::rawResponseMap, Interface::response mapping(), and Response::update().
void serve evaluations (

) [protected], [virtual]

run on evaluation servers to serve the iterator master


Invoked by the serve() function in derived Model classes. Passes control to serve evaluations synch(), serveevaluations asynch(), serve evaluations synch peer(), or serve evaluations asynch peer() according to specified
concurrency, partition, and scheduler configuration.
Reimplemented from Interface.
References ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::evalServerId, Interface::ieDedMasterFlag, ApplicationInterface::serve evaluations asynch(), ApplicationInterface::serve evaluations asynchpeer(), ApplicationInterface::serve evaluations synch(), and ApplicationInterface::serve evaluations synch peer().
void stop evaluation servers (

) [protected], [virtual]

used by the iterator master to terminate evaluation servers


This code is executed on the iteratorComm rank 0 processor when iteration on a particular model is complete.
It sends a termination signal (tag = 0 instead of a valid fn eval id) to each of the slave analysis servers. NOTE:
This function is called from the Strategy layer even when in serial mode. Therefore, use iteratorCommSize to
provide appropriate fall through behavior.
Reimplemented from Interface.
References ParallelLibrary::bcast e(), ParallelLibrary::free(), ParallelConfiguration::ie parallel level(), Interface::ieDedMasterFlag, ParallelLibrary::isend ie(), ApplicationInterface::iteratorCommSize, Interface::multiProcEvalFlag, ApplicationInterface::numEvalServers, Interface::outputLevel, ParallelLibrary::parallel configuration(), and
ApplicationInterface::parallelLib.
void init communicators checks ( int max eval concurrency ) [protected], [virtual]
perform construct-time error checks on the parallel configuration
Override DirectApplicInterface definition if plug-in to allow batch processing in Plugin{Serial,Parallel}DirectApplicInterface.cpp
Reimplemented in DirectApplicInterface, SysCallApplicInterface, and ProcessHandleApplicInterface.
Referenced by ApplicationInterface::init communicators().

13.3. APPLICATIONINTERFACE CLASS REFERENCE

301

void set communicators checks ( int max eval concurrency ) [protected], [virtual]
perform run-time error checks on the parallel configuration
Override DirectApplicInterface definition if plug-in to allow batch processing in Plugin{Serial,Parallel}DirectApplicInterface.cpp
Reimplemented in DirectApplicInterface, SerialDirectApplicInterface, ParallelDirectApplicInterface, SysCallApplicInterface, and ProcessHandleApplicInterface.
Referenced by ApplicationInterface::set communicators().
void master dynamic schedule analyses (

) [protected]

blocking dynamic schedule of all analyses within a function evaluation using message passing
This code is called from derived classes to provide the master portion of a master-slave algorithm for the
dynamic scheduling of analyses among slave servers. It is patterned after master dynamic schedule evaluations().
It performs no analyses locally and matches either serve analyses synch() or serve analyses asynch() on the slave
servers, depending on the value of asynchLocalAnalysisConcurrency. Dynamic scheduling assigns jobs in 2
passes. The 1st pass gives each server the same number of jobs (equal to asynchLocalAnalysisConcurrency).
The 2nd pass assigns the remaining jobs to slave servers as previous jobs are completed. Single- and multilevel
parallel use intra- and inter-communicators, respectively, for send/receive. Specific syntax is encapsulated within
ParallelLibrary.
References ApplicationInterface::asynchLocalAnalysisConcurrency, ParallelLibrary::free(), ParallelLibrary::irecv ea(), ParallelLibrary::isend ea(), ApplicationInterface::numAnalysisDrivers, ApplicationInterface::numAnalysisServers, ApplicationInterface::parallelLib, ParallelLibrary::waitall(), and ParallelLibrary::waitsome().
Referenced by ProcessHandleApplicInterface::create evaluation process(), SysCallApplicInterface::create evaluation process(), and DirectApplicInterface::derived map().
void serve analyses synch (

) [protected]

serve the master analysis scheduler and manage one synchronous analysis job at a time
This code is called from derived classes to run synchronous analyses on slave processors. The slaves receive requests (blocking receive), do local derived map acs, and return codes. This is done continuously until a
termination signal is received from the master. It is patterned after serve evaluations synch().
References ApplicationInterface::analysisCommRank, ParallelLibrary::bcast a(), ParallelLibrary::isend ea(),
ApplicationInterface::multiProcAnalysisFlag, ApplicationInterface::parallelLib, ParallelLibrary::recv ea(), ApplicationInterface::synchronous local analysis(), and ParallelLibrary::wait().
Referenced by ProcessHandleApplicInterface::create evaluation process(), SysCallApplicInterface::create evaluation process(), and DirectApplicInterface::derived map().
bool duplication detect ( const Variables & vars, Response & response, bool asynch flag ) [private]
checks data pairs and beforeSynchCorePRPQueue to see if the current evaluation request has already been performed or queued
Called from map() to check incoming evaluation request for duplication with content of data pairs and beforeSynchCorePRPQueue. If duplication is detected, return true, else return false. Manage bookkeeping with historyDuplicateMap and beforeSynchDuplicateMap. Note that the list searches can get very expensive if a long list is
searched on every new function evaluation (either from a large number of previous jobs, a large number of pending
jobs, or both). For this reason, a user request for deactivation of the evaluation cache results in a complete bypass
of duplication detect(), even though a beforeSynchCorePRPQueue search would still be meaningful. Since the
intent of this request is to streamline operations, both list searches are bypassed.

302

CHAPTER 13. CLASS DOCUMENTATION

References Response::active set(), ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::beforeSynchDuplicateMap, Response::copy(), Dakota::data pairs, ParamResponsePair::eval id(), Interface::evalIdCntr, ApplicationInterface::historyDuplicateMap, Interface::interfaceId, Dakota::lookup by val(), ApplicationInterface::nearbyDuplicateDetect, ApplicationInterface::nearbyTolerance, and Response::update().
Referenced by ApplicationInterface::map().
void master dynamic schedule evaluations (

) [private]

blocking dynamic schedule of all evaluations in beforeSynchCorePRPQueue using message passing on a dedicated master partition; executes on iteratorComm master
This code is called from synch() to provide the master portion of a master-slave algorithm for the dynamic
scheduling of evaluations among slave servers. It performs no evaluations locally and matches either serve evaluations synch() or serve evaluations asynch() on the slave servers, depending on the value of asynchLocalEvalConcurrency. Dynamic scheduling assigns jobs in 2 passes. The 1st pass gives each server the same number
of jobs (equal to asynchLocalEvalConcurrency). The 2nd pass assigns the remaining jobs to slave servers as
previous jobs are completed and returned. Single- and multilevel parallel use intra- and inter-communicators,
respectively, for send/receive. Specific syntax is encapsulated within ParallelLibrary. peer
References ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::beforeSynchCorePRPQueue, Dakota::lookup by eval id(), ApplicationInterface::numEvalServers, Interface::outputLevel, ApplicationInterface::parallelLib, ApplicationInterface::receive evaluation(), ApplicationInterface::recvBuffers, ApplicationInterface::recvRequests, ApplicationInterface::send evaluation(), ApplicationInterface::sendBuffers, ParallelLibrary::waitall(), and ParallelLibrary::waitsome().
Referenced by ApplicationInterface::synch().
void peer static schedule evaluations (

) [private]

blocking static schedule of all evaluations in beforeSynchCorePRPQueue using message passing on a peer partition; executes on iteratorComm master
This code runs on the iteratorCommRank 0 processor (the iterator) and is called from synch() in order to
manage a static schedule for cases where peer 1 must block when evaluating its local job allocation (e.g., single or
multiprocessor direct interface evaluations). It matches serve evaluations peer() for any other processors within
the first evaluation partition and serve evaluations {synch,asynch}() for all other evaluation partitions (depending
on asynchLocalEvalConcurrency). It performs function evaluations locally for its portion of the job allocation using either asynchronous local evaluations() or synchronous local evaluations(). Single-level and multilevel parallel use intra- and inter-communicators, respectively, for send/receive. Specific syntax is encapsulated within
ParallelLibrary. The iteratorCommRank 0 processor assigns the static schedule since it is the only processor with
access to beforeSynchCorePRPQueue (it runs the iterator and calls synchronize). The alternate design of each
peer selecting its own jobs using the modulus operator would be applicable if execution of this function (and
therefore the job list) were distributed.
References ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::asynchronous local evaluations(), ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::numEvalServers, Interface::outputLevel, ApplicationInterface::parallelLib, ApplicationInterface::receive evaluation(), ApplicationInterface::recvBuffers, ApplicationInterface::recvRequests, ApplicationInterface::send evaluation(), ApplicationInterface::sendBuffers, ApplicationInterface::synchronous local evaluations(), and ParallelLibrary::waitall().
Referenced by ApplicationInterface::synch().
void peer dynamic schedule evaluations (

) [private]

blocking dynamic schedule of all evaluations in beforeSynchCorePRPQueue using message passing on a peer
partition; executes on iteratorComm master

13.3. APPLICATIONINTERFACE CLASS REFERENCE

303

This code runs on the iteratorCommRank 0 processor (the iterator) and is called from synch() in order to
manage a dynamic schedule, as enabled by nonblocking management of local asynchronous jobs. It matches
serve evaluations {synch,asynch}() for other evaluation partitions, depending on asynchLocalEvalConcurrency;
it does not match serve evaluations peer() since, for local asynchronous jobs, the first evaluation partition cannot
be multiprocessor. It performs function evaluations locally for its portion of the job allocation using asynchronouslocal evaluations nowait(). Single-level and multilevel parallel use intra- and inter-communicators, respectively,
for send/receive. Specific syntax is encapsulated within ParallelLibrary.
References ApplicationInterface::assign asynch local queue(), ApplicationInterface::asynchLocalEvalConcurrency,
ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::msgPassRunningMap, ApplicationInterface::numEvalServers, Interface::outputLevel, ApplicationInterface::recvBuffers, ApplicationInterface::recvRequests,
ApplicationInterface::send evaluation(), ApplicationInterface::sendBuffers, ApplicationInterface::test local backfill(),
and ApplicationInterface::test receives backfill().
Referenced by ApplicationInterface::synch().
void asynchronous local evaluations ( PRPQueue & local prp queue ) [private]
perform all jobs in prp queue using asynchronous approaches on the local processor
This function provides blocking synchronization for the local asynch case (background system call, nonblocking fork, or threads). It can be called from synch() for a complete local scheduling of all asynchronous jobs or
from peer {static,dynamic} schedule evaluations() to perform a local portion of the total job set. It uses derivedmap asynch() to initiate asynchronous evaluations and wait local evaluations() to capture completed jobs, and
mirrors the master dynamic schedule evaluations() message passing scheduler as much as possible (wait local evaluations() is modeled after MPI Waitsome()).
References ApplicationInterface::assign asynch local queue(), ApplicationInterface::asynchLocalActivePRPQueue, ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::asynchLocalEvalStatic, ApplicationInterface::completionSet, ApplicationInterface::launch asynch local(), ApplicationInterface::localServerAssigned,
Dakota::lookup by eval id(), ApplicationInterface::numEvalServers, Interface::outputLevel, ApplicationInterface::process asynch local(), Interface::rawResponseMap, and ApplicationInterface::wait local evaluations().
Referenced by ApplicationInterface::peer static schedule evaluations(), and ApplicationInterface::synch().
void synchronous local evaluations ( PRPQueue & local prp queue ) [private]
perform all jobs in prp queue using synchronous approaches on the local processor
This function provides blocking synchronization for the local synchronous case (foreground system call,
blocking fork, or procedure call from derived map()). It is called from peer static schedule evaluations() to perform a local portion of the total job set.
References ApplicationInterface::broadcast evaluation(), Interface::currEvalId, ApplicationInterface::derivedmap(), ApplicationInterface::manage failure(), Interface::multiProcEvalFlag, and ApplicationInterface::processsynch local().
Referenced by ApplicationInterface::peer static schedule evaluations().
void master dynamic schedule evaluations nowait (

) [private]

execute a nonblocking dynamic schedule in a master-slave partition


This code is called from synch nowait() to provide the master portion of a nonblocking master-slave algorithm
for the dynamic scheduling of evaluations among slave servers. It performs no evaluations locally and matches
either serve evaluations synch() or serve evaluations asynch() on the slave servers, depending on the value of
asynchLocalEvalConcurrency. Dynamic scheduling assigns jobs in 2 passes. The 1st pass gives each server
the same number of jobs (equal to asynchLocalEvalConcurrency). The 2nd pass assigns the remaining jobs to

304

CHAPTER 13. CLASS DOCUMENTATION

slave servers as previous jobs are completed. Single- and multilevel parallel use intra- and inter-communicators,
respectively, for send/receive. Specific syntax is encapsulated within ParallelLibrary.
References Dakota::abort handler(), ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::msgPassRunningMap, ApplicationInterface::numEvalServers,
ApplicationInterface::recvBuffers, ApplicationInterface::recvRequests, ApplicationInterface::send evaluation(),
ApplicationInterface::sendBuffers, and ApplicationInterface::test receives backfill().
Referenced by ApplicationInterface::synch nowait().
void peer dynamic schedule evaluations nowait (

) [private]

execute a nonblocking static/dynamic schedule in a peer partition


This code runs on the iteratorCommRank 0 processor (the iterator) and is called from synch nowait() in order
to manage a nonblocking static schedule. It matches serve evaluations {synch,asynch}() for other evaluation
partitions (depending on asynchLocalEvalConcurrency). It performs nonblocking local function evaluations for
its portion of the static schedule using asynchronous local evaluations(). Single-level and multilevel parallel use
intra- and inter-communicators, respectively, for send/receive. Specific syntax is encapsulated within ParallelLibrary. The iteratorCommRank 0 processor assigns the static schedule since it is the only processor with access
to beforeSynchCorePRPQueue (it runs the iterator and calls synchronize). The alternate design of each peer
selecting its own jobs using the modulus operator would be applicable if execution of this function (and therefore
the job list) were distributed.
References Dakota::abort handler(), ApplicationInterface::assign asynch local queue(), ApplicationInterface::assign asynch local queue nowait(), ApplicationInterface::asynchLocalActivePRPQueue, ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::beforeSynchCorePRPQueue, Dakota::lookup by eval id(),
ApplicationInterface::msgPassRunningMap, ApplicationInterface::numEvalServers, ApplicationInterface::recvBuffers, ApplicationInterface::recvRequests, ApplicationInterface::send evaluation(), ApplicationInterface::sendBuffers, ApplicationInterface::test local backfill(), and ApplicationInterface::test receives backfill().
Referenced by ApplicationInterface::synch nowait().
void asynchronous local evaluations nowait ( PRPQueue & local prp queue ) [private]
launch new jobs in prp queue asynchronously (if capacity is available), perform nonblocking query of all running
jobs, and process any completed jobs (handles both local master- and local peer-scheduling cases)
This function provides nonblocking synchronization for the local asynch case (background system call, nonblocking fork, or threads). It is called from synch nowait() and passed the complete set of all asynchronous jobs
(beforeSynchCorePRPQueue). It uses derived map asynch() to initiate asynchronous evaluations and test local evaluations() to capture completed jobs in nonblocking mode. It mirrors a nonblocking message passing scheduler
as much as possible (test local evaluations() modeled after MPI Testsome()). The result of this function is rawResponseMap, which uses eval id as a key. It is assumed that the incoming local prp queue contains only active
and new jobs - i.e., all completed jobs are cleared by synch nowait().
Also supports asynchronous local evaluations with static scheduling. This scheduling policy specifically ensures that a completed asynchronous evaluation eval id is replaced with an equivalent one, modulo asynchLocalEvalConcurrency. In the nowait case, this could render some servers idle if evaluations dont come in eval id
order or some evaluations are cancelled by the caller in between calls. If this function is called with unlimited
local eval concurrency, the static scheduling request is ignored.
References ApplicationInterface::assign asynch local queue nowait(), ApplicationInterface::asynchLocalActivePRPQueue, ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::asynchLocalEvalStatic, and
ApplicationInterface::test local backfill().
Referenced by ApplicationInterface::synch nowait().

13.3. APPLICATIONINTERFACE CLASS REFERENCE


void serve evaluations synch (

305

) [private]

serve the evaluation message passing schedulers and perform one synchronous evaluation at a time
This code is invoked by serve evaluations() to perform one synchronous job at a time on each slave/peer
server. The servers receive requests (blocking receive), do local synchronous maps, and return results. This is
done continuously until a termination signal is received from the master (sent via stop evaluation servers()).
References ParallelLibrary::bcast e(), Interface::currEvalId, ApplicationInterface::derived map(), ApplicationInterface::evalCommRank, ParallelLibrary::isend ie(), ApplicationInterface::lenResponseMessage, ApplicationInterface::lenVarsActSetMessage, ApplicationInterface::manage failure(), Interface::multiProcEvalFlag, ApplicationInterface::parallelLib, ParallelLibrary::recv ie(), MPIPackBuffer::reset(), and ParallelLibrary::wait().
Referenced by ApplicationInterface::serve evaluations().
void serve evaluations synch peer (

) [private]

serve the evaluation message passing schedulers and perform one synchronous evaluation at a time as part of the
1st peer
This code is invoked by serve evaluations() to perform a synchronous evaluation in coordination with the
iteratorCommRank 0 processor (the iterator) for static schedules. The bcast() matches either the bcast() in
synchronous local evaluations(), which is invoked by peer static schedule evaluations(), or the bcast() in map().
References ParallelLibrary::bcast e(), Interface::currEvalId, ApplicationInterface::derived map(), ApplicationInterface::lenVarsActSetMessage, ApplicationInterface::manage failure(), and ApplicationInterface::parallelLib.
Referenced by ApplicationInterface::serve evaluations().
void serve evaluations asynch (

) [private]

serve the evaluation message passing schedulers and manage multiple asynchronous evaluations
This code is invoked by serve evaluations() to perform multiple asynchronous jobs on each slave/peer server.
The servers test for any incoming jobs, launch any new jobs, process any completed jobs, and return any results.
Each of these components is nonblocking, although the server loop continues until a termination signal is received
from the master (sent via stop evaluation servers()). In the master-slave case, the master maintains the correct
number of jobs on each slave. In the static scheduling case, each server is responsible for limiting concurrency
(since the entire static schedule is sent to the peers at start up).
References Dakota::abort handler(), ApplicationInterface::asynchLocalActivePRPQueue, ApplicationInterface::asynchLocalEvalConcurrency, ParallelLibrary::bcast e(), ApplicationInterface::completionSet, ApplicationInterface::derived map asynch(), ApplicationInterface::evalCommRank, Interface::interfaceId, ParallelLibrary::irecv ie(),
ApplicationInterface::lenResponseMessage, ApplicationInterface::lenVarsActSetMessage, Dakota::lookup by evalid(), Interface::multiProcEvalFlag, ApplicationInterface::parallelLib, ParallelLibrary::recv ie(), MPIUnpackBuffer::reset(), ParallelLibrary::send ie(), ParallelLibrary::test(), and ApplicationInterface::test local evaluations().
Referenced by ApplicationInterface::serve evaluations().
void serve evaluations asynch peer (

) [private]

serve the evaluation message passing schedulers and perform multiple asynchronous evaluations as part of the 1st
peer
This code is invoked by serve evaluations() to perform multiple asynchronous jobs on multiprocessor slave/peer
servers. It matches the multiProcEvalFlag bcasts in ApplicationInterface::asynchronous local evaluations().
References Dakota::abort handler(), ApplicationInterface::asynchLocalActivePRPQueue, ApplicationInterface::asynchLocalEvalConcurrency, ParallelLibrary::bcast e(), ApplicationInterface::completionSet, ApplicationInterface::derived map asynch(), Interface::interfaceId, ApplicationInterface::lenVarsActSetMessage, Dakota::lookup byeval id(), ApplicationInterface::parallelLib, MPIUnpackBuffer::reset(), and ApplicationInterface::test local evaluations().
Referenced by ApplicationInterface::serve evaluations().

306

CHAPTER 13. CLASS DOCUMENTATION


The documentation for this class was generated from the following files:
ApplicationInterface.hpp
ApplicationInterface.cpp

13.4

Approximation Class Reference

Base class for the approximation class hierarchy.


Inheritance diagram for Approximation:
Approximation
GaussProcApproximation

PecosApproximation

SurfpackApproximation

TANA3Approximation

TaylorApproximation

Public Member Functions


Approximation ()
default constructor

Approximation (ProblemDescDB &problem db, const SharedApproxData &shared data)


standard constructor for envelope

Approximation (const SharedApproxData &shared data)


alternate constructor

Approximation (const Approximation &approx)


copy constructor

virtual Approximation ()
destructor

Approximation operator= (const Approximation &approx)


assignment operator

virtual void build ()


builds the approximation from scratch

virtual void rebuild ()


rebuilds the approximation incrementally

virtual void pop (bool save data)


removes entries from end of SurrogateData::{vars,resp}Data (last points appended, or as specified in args)

virtual void restore ()


restores state prior to previous append()

virtual void finalize ()


finalize approximation by applying all remaining trial sets

virtual void store ()


store current approximation for later combination

virtual void combine (short corr type)


combine current approximation with previously stored approximation

virtual Real value (const Variables &vars)


retrieve the approximate function value for a given parameter vector

13.4. APPROXIMATION CLASS REFERENCE

307

virtual const RealVector & gradient (const Variables &vars)


retrieve the approximate function gradient for a given parameter vector

virtual const RealSymMatrix & hessian (const Variables &vars)


retrieve the approximate function Hessian for a given parameter vector

virtual Real prediction variance (const Variables &vars)


retrieve the variance of the predicted value for a given parameter vector

virtual bool diagnostics available ()


check if diagnostics are available for this approximation type

virtual Real diagnostic (const String &metric type)


retrieve a single diagnostic metric for the diagnostic type specified

virtual void primary diagnostics (int fn index)


compute and print all requested diagnostics and cross-validation

virtual void challenge diagnostics (const RealMatrix &challenge points, int fn index)
compute and print all requested diagnostics for user provided challenge pts

virtual const RealVector & approximation coefficients () const


return the coefficient array computed by build()/rebuild()

virtual void approximation coefficients (const RealVector &approx coeffs)


set the coefficient array from external sources, rather than computing with build()/rebuild()

virtual void coefficient labels (std::vector< std::string > &coeff labels) const
print the coefficient array computed in build()/rebuild()

virtual void print coefficients (std::ostream &s, bool normalized=false)


print the coefficient array computed in build()/rebuild()

virtual int min coefficients () const


return the minimum number of samples (unknowns) required to build the derived class approximation type in numVars dimensions

virtual int recommended coefficients () const


return the recommended number of samples (unknowns) required to build the derived class approximation type in
numVars dimensions

virtual int num constraints () const


return the number of constraints to be enforced via an anchor point

virtual void clear current ()


clear current build data in preparation for next build

int min points (bool constraint flag) const


return the minimum number of points required to build the approximation type in numVars dimensions. Uses coefficients() and num constraints().

int recommended points (bool constraint flag) const


return the recommended number of samples to build the approximation type in numVars dimensions (default same
as min points)

const Pecos::SurrogateData & approximation data () const


return approxData

void add (const Pecos::SurrogateDataVars &sdv, bool anchor flag)


append to SurrogateData::varsData or assign to SurrogateData::anchorVars

void add (const Variables &vars, bool anchor flag, bool deep copy)
extract the relevant vectors from Variables and invoke add(RealVector&, IntVector&, RealVector&)

308

CHAPTER 13. CLASS DOCUMENTATION


void add (const Real sample c vars, bool anchor flag, bool deep copy)
create a RealVector view and invoke add(RealVector&, empty, empty)

void add (const RealVector &c vars, const IntVector &di vars, const RealVector &dr vars, bool anchor flag,
bool deep copy)
shared code among add(Variables&) and add(Real); adds a new data point by either appending to SurrogateData::varsData or assigning to SurrogateData::anchorVars, as dictated by anchor flag. Uses add point() and
add anchor().

void add (const Pecos::SurrogateDataResp &sdr, bool anchor flag)


append to SurrogateData::respData or assign to SurrogateData::anchorResp

void add (const Response &response, int fn index, bool anchor flag, bool deep copy)
adds a new data point by either appending to SurrogateData::respData or assigning to SurrogateData::anchorResp, as dictated by anchor flag. Uses add point() and add anchor().

void pop count (size t count)


appends to popCountStack (number of entries to pop from end of SurrogateData::{vars,resp}Data, based on size
of last data set appended)

void clear all ()


clear all build data (current and history) to restore original state

void clear anchor ()


clear SurrogateData::anchor{Vars,Resp}

void clear data ()


clear SurrogateData::{vars,resp}Data

void clear saved ()


clear popCountStack and SurrogateData::saved{Vars,Resp}Trials

void set bounds (const RealVector &c l bnds, const RealVector &c u bnds, const IntVector &di l bnds,
const IntVector &di u bnds, const RealVector &dr l bnds, const RealVector &dr u bnds)
set approximation lower and upper bounds (currently only used by graphics)

Approximation approx rep () const


returns approxRep for access to derived class member functions that are not mapped to the top Approximation level

Protected Member Functions


Approximation (BaseConstructor, const ProblemDescDB &problem db, const SharedApproxData &shareddata)
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

Approximation (NoDBBaseConstructor, const SharedApproxData &shared data)


constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

Protected Attributes
RealVector approxGradient
gradient of the approximation returned by gradient()

RealSymMatrix approxHessian
Hessian of the approximation returned by hessian()

Pecos::SurrogateData approxData

13.4. APPROXIMATION CLASS REFERENCE

309

contains the variables/response data for constructing a single approximation model (one response function)

SharedApproxData sharedDataRep
contains the approximation data that is shared among the response set

Private Member Functions


Approximation get approx (ProblemDescDB &problem db, const SharedApproxData &shared data)
Used only by the standard envelope constructor to initialize approxRep to the appropriate derived type.

Approximation get approx (const SharedApproxData &shared data)


Used only by the alternate envelope constructor to initialize approxRep to the appropriate derived type.

Private Attributes
SizetArray popCountStack
a stack managing the number of points previously added by calls to append() that can be removed by calls to pop()

Approximation approxRep
pointer to the letter (initialized only for the envelope)

int referenceCount
number of objects sharing approxRep

13.4.1

Detailed Description

Base class for the approximation class hierarchy.


The Approximation class is the base class for the response data fit approximation class hierarchy in DAKOTA. One instance of an Approximation must be created for each function to be approximated (a vector of Approximations is contained in ApproximationInterface). For memory efficiency and enhanced polymorphism, the
approximation hierarchy employs the letter/envelope idiom (see Coplien Advanced C++, p. 133), for which
the base class (Approximation) serves as the envelope and one of the derived classes (selected in Approximation::get approx()) serves as the letter.

13.4.2

Constructor & Destructor Documentation

Approximation (

default constructor
The default constructor is used in Array<Approximation> instantiations and by the alternate envelope constructor. approxRep is NULL in this case (problem db is needed to build a meaningful Approximation object).
This makes it necessary to check for NULL in the copy constructor, assignment operator, and destructor.
Approximation ( ProblemDescDB & problem db, const SharedApproxData & shared data )
standard constructor for envelope
Envelope constructor only needs to extract enough data to properly execute get approx, since Approximation(BaseConstructor, problem db) builds the actual base class data for the derived approximations.
References Dakota::abort handler(), Approximation::approxRep, and Approximation::get approx().

310

CHAPTER 13. CLASS DOCUMENTATION

Approximation ( const SharedApproxData & shared data )


alternate constructor
This is the alternate envelope constructor for instantiations on the fly. Since it does not have access to problemdb, it utilizes the NoDBBaseConstructor constructor chain.
References Dakota::abort handler(), Approximation::approxRep, and Approximation::get approx().
Approximation ( const Approximation & approx )
copy constructor
Copy constructor manages sharing of approxRep and incrementing of referenceCount.
References Approximation::approxRep, and Approximation::referenceCount.
Approximation (

) [virtual]

destructor
Destructor decrements referenceCount and only deletes approxRep when referenceCount reaches zero.
References Approximation::approxRep, and Approximation::referenceCount.
Approximation ( BaseConstructor , const ProblemDescDB & problem db, const SharedApproxData &
shared data ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get approx() instantiates
a derived class letter and the derived constructor selects this base class constructor in its initialization list (to avoid
recursion in the base class constructor calling get approx() again). Since the letter IS the representation, its rep
pointer is set to NULL (an uninitialized pointer causes problems in Approximation).
Approximation ( NoDBBaseConstructor , const SharedApproxData & shared data ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get approx() instantiates
a derived class letter and the derived constructor selects this base class constructor in its initialization list (to avoid
recursion in the base class constructor calling get approx() again). Since the letter IS the representation, its rep
pointer is set to NULL (an uninitialized pointer causes problems in Approximation).

13.4.3

Member Function Documentation

Approximation operator= ( const Approximation & approx )


assignment operator
Assignment operator decrements referenceCount for old approxRep, assigns new approxRep, and increments
referenceCount for new approxRep.
References Approximation::approxRep, and Approximation::referenceCount.

13.4. APPROXIMATION CLASS REFERENCE


void build (

311

) [virtual]

builds the approximation from scratch


This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented in PecosApproximation, GaussProcApproximation, SurfpackApproximation, TaylorApproximation,
and TANA3Approximation.
References Dakota::abort handler(), Approximation::approxData, Approximation::approxRep, Approximation::build(), Approximation::min points(), SharedApproxData::numVars, and Approximation::sharedDataRep.
Referenced by TANA3Approximation::build(), TaylorApproximation::build(), Approximation::build(), SurfpackApproximation::build(), GaussProcApproximation::build(), PecosApproximation::build(), and Approximation::rebuild().
void rebuild (

) [virtual]

rebuilds the approximation incrementally


This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented in PecosApproximation.
References Approximation::approxRep, Approximation::build(), and Approximation::rebuild().
Referenced by Approximation::rebuild().
void pop ( bool save data ) [virtual]
removes entries from end of SurrogateData::{vars,resp}Data (last points appended, or as specified in args)
This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented in PecosApproximation.
References Dakota::abort handler(), Approximation::approxData, Approximation::approxRep, Approximation::pop(), and Approximation::popCountStack.
Referenced by Approximation::pop(), and PecosApproximation::pop().
void restore (

) [virtual]

restores state prior to previous append()


This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented in PecosApproximation.
References Approximation::approxData, Approximation::approxRep, Approximation::popCountStack, SharedApproxData::restoration index(), Approximation::restore(), and Approximation::sharedDataRep.
Referenced by Approximation::restore(), and PecosApproximation::restore().
void finalize (

) [virtual]

finalize approximation by applying all remaining trial sets


This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented in PecosApproximation.
References Approximation::approxData, Approximation::approxRep, Approximation::clear saved(), SharedApproxData::finalization index(), Approximation::finalize(), and Approximation::sharedDataRep.
Referenced by Approximation::finalize(), and PecosApproximation::finalize().

312

CHAPTER 13. CLASS DOCUMENTATION

void clear current (

) [inline], [virtual]

clear current build data in preparation for next build


Redefined by TANA3Approximation to clear current data but preserve history.
Reimplemented in TANA3Approximation.
References Approximation::approxRep, Approximation::clear all(), and Approximation::clear current().
Referenced by Approximation::clear current().
void clear all (

) [inline]

clear all build data (current and history) to restore original state
Clears out any history (e.g., TANA3Approximation use for a different response function in NonDReliability).
References Approximation::approxData, Approximation::approxRep, and Approximation::clear all().
Referenced by Approximation::clear all(), and Approximation::clear current().
Approximation get approx ( ProblemDescDB & problem db, const SharedApproxData & shared data )
[private]
Used only by the standard envelope constructor to initialize approxRep to the appropriate derived type.
Used only by the envelope constructor to initialize approxRep to the appropriate derived type.
References SharedApproxData::approxType, SharedApproxData::data rep(), and Dakota::strends().
Referenced by Approximation::Approximation().
Approximation get approx ( const SharedApproxData & shared data ) [private]
Used only by the alternate envelope constructor to initialize approxRep to the appropriate derived type.
Used only by the envelope constructor to initialize approxRep to the appropriate derived type.
References SharedApproxData::approxType, SharedApproxData::data rep(), and Dakota::strends().
The documentation for this class was generated from the following files:
DakotaApproximation.hpp
DakotaApproximation.cpp

13.5

ApproximationInterface Class Reference

Derived class within the interface class hierarchy for supporting approximations to simulation-based results.
Inheritance diagram for ApproximationInterface:

Interface
ApproximationInterface

Public Member Functions


ApproximationInterface (ProblemDescDB &problem db, const Variables &am vars, bool am cache, const
String &am interface id, size t num fns)
primary constructor

13.5. APPROXIMATIONINTERFACE CLASS REFERENCE

313

ApproximationInterface (const String &approx type, const UShortArray &approx order, const Variables
&am vars, bool am cache, const String &am interface id, size t num fns, short data order, short output level)
alternate constructor for instantiations on the fly

ApproximationInterface ()
destructor

Protected Member Functions


void map (const Variables &vars, const ActiveSet &set, Response &response, bool asynch flag=false)
the function evaluator: provides an approximate mapping from the variables to the responses using functionSurfaces

int minimum points (bool constraint flag) const


returns the minimum number of samples required to build the functionSurfaces

int recommended points (bool constraint flag) const


returns the recommended number of samples recommended to build the functionSurfaces

void approximation function indices (const IntSet &approx fn indices)


set the (currently active) approximation function index set

void update approximation (const Variables &vars, const IntResponsePair &response pr)
void update approximation (const RealMatrix &samples, const IntResponseMap &resp map)
void update approximation (const VariablesArray &vars array, const IntResponseMap &resp map)
void append approximation (const Variables &vars, const IntResponsePair &response pr)
void append approximation (const RealMatrix &samples, const IntResponseMap &resp map)
void append approximation (const VariablesArray &vars array, const IntResponseMap &resp map)
void build approximation (const RealVector &c l bnds, const RealVector &c u bnds, const IntVector &dil bnds, const IntVector &di u bnds, const RealVector &dr l bnds, const RealVector &dr u bnds)
void rebuild approximation (const BoolDeque &rebuild deque)
void pop approximation (bool save surr data)
void restore approximation ()
bool restore available ()
queries the approximation for the ability to restore a previous increment

void finalize approximation ()


finalizes the approximation by applying all trial increments

void store approximation ()


move the current approximation into storage for later combination

void combine approximation (short corr type)


combine the current approximation with one previously stored

void clear current ()


clears current data from an approximation interface

void clear all ()


clears all data from an approximation interface

void clear saved ()


clears saved data (from pop invocations) from an approximation interface

SharedApproxData & shared approximation ()


retrieve the SharedApproxData within an ApproximationInterface

314

CHAPTER 13. CLASS DOCUMENTATION


std::vector< Approximation > & approximations ()
retrieve the Approximations within an ApproximationInterface

const Pecos::SurrogateData & approximation data (size t index)


retrieve the approximation data from a particular Approximation within an ApproximationInterface

const RealVectorArray & approximation coefficients ()


retrieve the approximation coefficients from each Approximation within an ApproximationInterface

void approximation coefficients (const RealVectorArray &approx coeffs)


set the approximation coefficients within each Approximation within an ApproximationInterface

const RealVector & approximation variances (const Variables &vars)


retrieve the approximation variances from each Approximation within an ApproximationInterface

const IntResponseMap & synch ()


recovers data from a series of asynchronous evaluations (blocking)

const IntResponseMap & synch nowait ()


recovers data from a series of asynchronous evaluations (nonblocking)

Private Member Functions


void mixed add (const Variables &vars, const Response &response, bool anchor)
add variables/response data to functionSurfaces using a mixture of shallow and deep copies

void mixed add (const Real c vars, const Response &response, bool anchor)
add variables/response data to functionSurfaces using a mixture of shallow and deep copies

void shallow add (const Variables &vars, const Response &response, bool anchor)
add variables/response data to functionSurfaces using a shallow copy

void sample to variables (const Real sample c vars, size t num cv, Variables &vars)
populate continuous variables within vars from sample c vars

void update pop counts (const IntResponseMap &resp map)


append to the popCountStack within each of the functionSurfaces based on the active set definitions within resp map

void read challenge points ()


Load approximation test points from user challenge points file.

Private Attributes
IntSet approxFnIndices
for incomplete approximation sets, this array specifies the response function subset that is approximated

SharedApproxData sharedData
data that is shared among all functionSurfaces

std::vector< Approximation > functionSurfaces


list of approximations, one per response function

RealVectorArray functionSurfaceCoeffs
array of approximation coefficient vectors, one vector per response function

RealVector functionSurfaceVariances
vector of approximation variances, one value per response function

String challengeFile
data file for user-supplied challenge data (per interface, since may contain multiple responses)

13.5. APPROXIMATIONINTERFACE CLASS REFERENCE

315

bool challengeAnnotated
whether the points file is annotated

RealMatrix challengePoints
container for the challenge points data

Variables actualModelVars
copy of the actualModel variables object used to simplify conversion among differing variable views

bool actualModelCache
indicates usage of an evaluation cache by the actualModel

String actualModelInterfaceId
the interface id from the actualModel used for ordered PRPCache lookups

IntResponseMap beforeSynchResponseMap
bookkeeping map to catalogue responses generated in map() for use in synch() and synch nowait(). This supports
pseudo-asynchronous operations (approximate responses are always computed synchronously, but asynchronous
virtual functions are supported through bookkeeping).

Additional Inherited Members


13.5.1

Detailed Description

Derived class within the interface class hierarchy for supporting approximations to simulation-based results.
ApproximationInterface provides an interface class for building a set of global/local/multipoint approximations and performing approximate function evaluations using them. It contains a list of Approximation objects,
one for each response function.

13.5.2

Member Function Documentation

void update approximation ( const Variables & vars, const IntResponsePair & response pr )
[protected], [virtual]
This function populates/replaces each Approximation::anchorPoint with the incoming variables/response data
point.
Reimplemented from Interface.
References ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, Dakota::data pairs, Dakota::lookup by ids(), ApproximationInterface::mixed add(), and ApproximationInterface::shallowadd().
void update approximation ( const RealMatrix & samples, const IntResponseMap & resp map )
[protected], [virtual]
This function populates/replaces each Approximation::currentPoints with the incoming variables/response arrays.
Reimplemented from Interface.
References Dakota::abort handler(), ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, ApproximationInterface::actualModelVars, ApproximationInterface::approxFnIndices, Dakota::data pairs, ApproximationInterface::functionSurfaces, Dakota::lookup by ids(), ApproximationInterface::mixedadd(), ApproximationInterface::sample to variables(), and ApproximationInterface::shallow add().

316

CHAPTER 13. CLASS DOCUMENTATION

void update approximation ( const VariablesArray & vars array, const IntResponseMap & resp map )
[protected], [virtual]
This function populates/replaces each Approximation::currentPoints with the incoming variables/response arrays.
Reimplemented from Interface.
References Dakota::abort handler(), ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, ApproximationInterface::approxFnIndices, Dakota::data pairs, ApproximationInterface::functionSurfaces, Dakota::lookup by ids(), ApproximationInterface::mixed add(), and ApproximationInterface::shallowadd().
void append approximation ( const Variables & vars, const IntResponsePair & response pr )
[protected], [virtual]
This function appends to each Approximation::currentPoints with one incoming variables/response data point.
Reimplemented from Interface.
References ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, ApproximationInterface::approxFnIndices, Dakota::data pairs, ApproximationInterface::functionSurfaces, Dakota::lookup by ids(), ApproximationInterface::mixed add(), and ApproximationInterface::shallow add().
void append approximation ( const RealMatrix & samples, const IntResponseMap & resp map )
[protected], [virtual]
This function appends to each Approximation::currentPoints with multiple incoming variables/response data
points.
Reimplemented from Interface.
References Dakota::abort handler(), ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, ApproximationInterface::actualModelVars, Dakota::data pairs, Dakota::lookup by ids(), ApproximationInterface::mixed add(), ApproximationInterface::sample to variables(), ApproximationInterface::shallow add(),
and ApproximationInterface::update pop counts().
void append approximation ( const VariablesArray & vars array, const IntResponseMap & resp map )
[protected], [virtual]
This function appends to each Approximation::currentPoints with multiple incoming variables/response data
points.
Reimplemented from Interface.
References Dakota::abort handler(), ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, Dakota::data pairs, Dakota::lookup by ids(), ApproximationInterface::mixed add(), ApproximationInterface::shallow add(), and ApproximationInterface::update pop counts().
void build approximation ( const RealVector & c l bnds, const RealVector & c u bnds, const IntVector &
di l bnds, const IntVector & di u bnds, const RealVector & dr l bnds, const RealVector & dr u bnds )
[protected], [virtual]
This function finds the coefficients for each Approximation based on the data passed through update approximation()
calls. The bounds are used only for graphics visualization.
Reimplemented from Interface.
References ApproximationInterface::approxFnIndices, SharedApproxData::build(), ApproximationInterface::challengeFile, ApproximationInterface::challengePoints, ApproximationInterface::functionSurfaces, ApproximationInterface::read challenge points(), SharedApproxData::set bounds(), and ApproximationInterface::sharedData.

13.6. APPSEVALMGR CLASS REFERENCE

317

void rebuild approximation ( const BoolDeque & rebuild deque ) [protected], [virtual]
This function updates the coefficients for each Approximation based on data increments provided by {update,append}approximation().
Reimplemented from Interface.
References ApproximationInterface::approxFnIndices, ApproximationInterface::functionSurfaces, SharedApproxData::rebuild(), and ApproximationInterface::sharedData.
void pop approximation ( bool save surr data ) [inline], [protected], [virtual]
This function removes data provided by a previous append approximation() call, possibly different numbers for
each function, or as specified in pop count, which is assumed to be the same for all functions.
Reimplemented from Interface.
References ApproximationInterface::approxFnIndices, ApproximationInterface::functionSurfaces, SharedApproxData::pop(), and ApproximationInterface::sharedData.
void restore approximation (

) [inline], [protected], [virtual]

This function updates the coefficients for each Approximation based on data increments provided by {update,append}approximation().
Reimplemented from Interface.
References ApproximationInterface::approxFnIndices, ApproximationInterface::functionSurfaces, SharedApproxData::post restore(), SharedApproxData::pre restore(), and ApproximationInterface::sharedData.

13.5.3

Member Data Documentation

std::vector<Approximation> functionSurfaces [private]


list of approximations, one per response function
This formulation allows the use of mixed approximations (i.e., different approximations used for different
response functions), although the input specification is not currently general enough to support it.
Referenced by ApproximationInterface::append approximation(), ApproximationInterface::approximation coefficients(), ApproximationInterface::approximation data(), ApproximationInterface::approximation variances(),
ApproximationInterface::ApproximationInterface(), ApproximationInterface::approximations(), ApproximationInterface::build approximation(), ApproximationInterface::clear all(), ApproximationInterface::clear current(), ApproximationInterface::clear saved(), ApproximationInterface::combine approximation(), ApproximationInterface::finalize approximation(),
ApproximationInterface::map(), ApproximationInterface::minimum points(), ApproximationInterface::mixed add(),
ApproximationInterface::pop approximation(), ApproximationInterface::read challenge points(), ApproximationInterface::rebuild approximation(), ApproximationInterface::recommended points(), ApproximationInterface::restoreapproximation(), ApproximationInterface::shallow add(), ApproximationInterface::store approximation(), ApproximationInterface::update approximation(), and ApproximationInterface::update pop counts().
The documentation for this class was generated from the following files:
ApproximationInterface.hpp
ApproximationInterface.cpp

13.6

APPSEvalMgr Class Reference

Evaluation manager class for APPSPACK.


Inherits Executor.

318

CHAPTER 13. CLASS DOCUMENTATION

Public Member Functions


APPSEvalMgr (Model &model)
constructor

APPSEvalMgr ()
destructor

bool isReadyForWork () const


tells APPS whether or not there is a processor available to perform a function evaluation

bool submit (const int apps tag, const HOPSPACK::Vector &apps xtrial, const HOPSPACK::EvalRequestType apps request)
performs a function evaluation at APPS-provided x in

int recv (int &apps tag, HOPSPACK::Vector &apps f, HOPSPACK::Vector &apps cEqs, HOPSPACK::Vector &apps cIneqs, string &apps msg)
returns a function value to APPS

std::string getEvaluatorType (void) const


return the type of the Dakota linked evaluator

void printDebugInfo (void) const


empty implementation of debug info needed to complete the interface

void printTimingInfo (void) const


empty implementation of timing info needed to complete the interface

void set asynch flag (const bool dakotaAsynchFlag)


publishes whether or not to do asynchronous evaluations

void set blocking synch (const bool blockingSynchFlag)


publishes whether or not APPS is operating synchronously

void set total workers (const int numDakotaWorkers)


publishes the number of processors available for function evaluations

void set constraint map (std::vector< int > constraintMapIndices, std::vector< double > constraintMapMultipliers, std::vector< double > constraintMapOffsets)
publishes constraint transformation

Private Attributes
Model & iteratedModel
reference to the APPSOptimizers model passed in the constructor

bool modelAsynchFlag
flag for asynchronous function evaluations

bool blockingSynch
flag for APPS synchronous behavior

int numWorkersUsed
number of processors actively performing function evaluations

int numWorkersTotal
total number of processors available for performing function evaluations

std::vector< int > constrMapIndices


map from Dakota constraint number to APPS constraint number

13.6. APPSEVALMGR CLASS REFERENCE

319

std::vector< double > constrMapMultipliers


multipliers for constraint transformations

std::vector< double > constrMapOffsets


offsets for constraint transformations

RealVector xTrial
trial iterate

std::map< int, int > tagList


map of DAKOTA eval id to APPS eval id (for asynchronous evaluations)

std::map< int, RealVector > functionList


map of APPS eval id to responses (for synchronous evaluations)

IntResponseMap dakotaResponseMap
map of DAKOTA responses returned by synchronize nowait()

13.6.1

Detailed Description

Evaluation manager class for APPSPACK.


The APPSEvalMgr class is derived from APPSPACKs Executor class. It implements the methods of that
class in such away that allows DAKOTA to manage the computation of responses instead of APPS. Iterate and
response values are passed between Dakota and APPSPACK via this interface.

13.6.2

Constructor & Destructor Documentation

APPSEvalMgr ( Model & model )


constructor
Evaluation manager class for APPSPACK.
The APPSEvalMgr class is derived from APPSPACKs Executor class. It implements the methods of that
class in such away that allows DAKOTA to manage the computation of responses instead of APPS. Iterate and
response values are passed between Dakota and APPSPACK via this interface.

13.6.3

Member Function Documentation

bool isReadyForWork (

) const

tells APPS whether or not there is a processor available to perform a function evaluation
Check to see if all processors available for function evaluations are being used. If not, tell APPS that one is
available.
References APPSEvalMgr::numWorkersTotal, and APPSEvalMgr::numWorkersUsed.
bool submit ( const int apps tag, const HOPSPACK::Vector & apps xtrial, const
HOPSPACK::EvalRequestType apps request )
performs a function evaluation at APPS-provided x in
Convert APPSPACK vector of variables to DAKOTA vector of variables and perform function evaluation
asynchronously or not as specified in the DAKOTA input deck. If evaluation is asynchronous, map the dakota id
to the APPS tag. If evaluation is synchronous, map the responses to the APPS tag.
References Model::asynch compute response(), Model::compute response(), Model::continuous variables(),
Model::current response(), Model::evaluation id(), Response::function values(), APPSEvalMgr::functionList, APPSEvalMgr::iteratedModel, APPSEvalMgr::modelAsynchFlag, APPSEvalMgr::numWorkersTotal, APPSEvalMgr::numWorkersUsed, APPSEvalMgr::tagList, and APPSEvalMgr::xTrial.

320

CHAPTER 13. CLASS DOCUMENTATION

int recv ( int & apps tag, HOPSPACK::Vector & apps f, HOPSPACK::Vector & apps cEqs,
HOPSPACK::Vector & apps cIneqs, string & apps msg )
returns a function value to APPS
Retrieve a set of reponse values, convert to APPS data structures, and return them to APPS. APPS tags are
tied to corresponding responses using the appropriate (i.e., asynchronous or synchronous) map.
References APPSEvalMgr::blockingSynch, APPSEvalMgr::constrMapIndices, APPSEvalMgr::constrMapMultipliers,
APPSEvalMgr::constrMapOffsets, APPSEvalMgr::dakotaResponseMap, APPSEvalMgr::functionList, APPSEvalMgr::iteratedModel, APPSEvalMgr::modelAsynchFlag, Model::num nonlinear eq constraints(), APPSEvalMgr::numWorkersUsed, Model::primary response fn sense(), Model::synchronize(), Model::synchronize nowait(), and
APPSEvalMgr::tagList.
The documentation for this class was generated from the following files:
APPSEvalMgr.hpp
APPSEvalMgr.cpp

13.7

APPSOptimizer Class Reference

Wrapper class for HOPSPACK.


Inheritance diagram for APPSOptimizer:
Iterator
Minimizer
Optimizer
APPSOptimizer

Public Member Functions


APPSOptimizer (ProblemDescDB &problem db, Model &model)
constructor

APPSOptimizer (Model &model)


alternate constructor for on-the-fly instantiation without ProblemDescDB

APPSOptimizer ()
destructor

void find optimum ()


Performs the iterations to determine the optimal solution.

Protected Member Functions


void set apps parameters ()
sets options for specific methods based on user specifications

void initialize variables and constraints ()


initializes problem variables and constraints

13.7. APPSOPTIMIZER CLASS REFERENCE

321

Protected Attributes
HOPSPACK::ParameterList params
Pointer to APPS parameter list.

HOPSPACK::ParameterList problemParams
Pointer to APPS problem parameter sublist.

HOPSPACK::ParameterList linearParams
Pointer to APPS linear constraint parameter sublist.

HOPSPACK::ParameterList mediatorParams
Pointer to APPS mediator parameter sublist.

HOPSPACK::ParameterList citizenParams
Pointer to APPS citizen/algorithm parameter sublist.

APPSEvalMgr evalMgr
Pointer to the APPS evaluation manager object.

std::vector< int > constraintMapIndices


map from Dakota constraint number to APPS constraint number

std::vector< double > constraintMapMultipliers


multipliers for constraint transformations

std::vector< double > constraintMapOffsets


offsets for constraint transformations

Additional Inherited Members


13.7.1

Detailed Description

Wrapper class for HOPSPACK.


The APPSOptimizer class provides a wrapper for HOPSPACK, a Sandia-developed C++ library for generalized pattern search. HOPSPACK defaults to a coordinate pattern search but also allows for augmented search
patterns. It can solve problems with bounds, linear constraints, and general nonlinear constraints. APPSOptimizer
uses an APPSEvalMgr object to manage the function evaluations.
The user input mappings are as follows: output max function evaluations, constraint tol
initial delta, contraction factor, threshold delta, solution target, synchronization,
merit function, constraint penalty, and smoothing factor are mapped into HOPSs "Display",
Maximum Evaluations, Active Tolerance/Nonlinear Active Tolerance, Initial Step, Contraction Factor,
Step Tolerance, Objective Target, Synchronous Evaluations, Penalty Function, Penalty Parameter, and
Penalty Smoothing Value data attributes. Refer to the HOPS web site (https://software.sandia.gov/trac/hopspack) for additional information on HOPS objects and controls.

13.7.2

Member Function Documentation

void find optimum (

) [virtual]

Performs the iterations to determine the optimal solution.


find optimum redefines the Optimizer virtual function to perform the optimization using HOPS. It first sets up
the problem data, then executes minimize() on the HOPS optimizer, and finally catalogues the results.
Implements Optimizer.

322

CHAPTER 13. CLASS DOCUMENTATION

References Model::asynch flag(), Iterator::bestResponseArray, Iterator::bestVariablesArray, APPSOptimizer::constraintMapIndices, APPSOptimizer::constraintMapMultipliers, APPSOptimizer::constraintMapOffsets, APPSOptimizer::evalMgr, Model::evaluation capacity(), APPSOptimizer::initialize variables and constraints(), Iterator::iteratedModel, Optimizer::localObjectiveRecast, Minimizer::numContinuousVars, Minimizer::numFunctions, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, APPSOptimizer::params, Model::primaryresponse fn sense(), APPSEvalMgr::set asynch flag(), and APPSEvalMgr::set total workers().
void set apps parameters (

) [protected]

sets options for specific methods based on user specifications


Set all of the HOPS algorithmic parameters as specified in the DAKOTA input deck. This is called at construction time.
References APPSOptimizer::citizenParams, Minimizer::constraintTol, APPSOptimizer::evalMgr, ProblemDescDB::get real(), ProblemDescDB::get string(), ProblemDescDB::is null(), APPSOptimizer::linearParams, Iterator::maxEvalConcurrency, Iterator::maxFunctionEvals, APPSOptimizer::mediatorParams, Minimizer::numContinuousVars, Minimizer::numNonlinearConstraints, Iterator::outputLevel, APPSOptimizer::params, Iterator::probDescDB, APPSOptimizer::problemParams, and APPSEvalMgr::set blocking synch().
Referenced by APPSOptimizer::APPSOptimizer().
void initialize variables and constraints (

) [protected]

initializes problem variables and constraints


Set the variables and constraints as specified in the DAKOTA input deck. This is done at run time.
References Minimizer::bigRealBoundSize, APPSOptimizer::constraintMapIndices, APPSOptimizer::constraintMapMultipliers, APPSOptimizer::constraintMapOffsets, Model::continuous lower bounds(), Model::continuousupper bounds(), Model::continuous variables(), APPSOptimizer::evalMgr, Iterator::iteratedModel, Model::lineareq constraint coeffs(), Model::linear eq constraint targets(), Model::linear ineq constraint coeffs(), Model::linearineq constraint lower bounds(), Model::linear ineq constraint upper bounds(), APPSOptimizer::linearParams, Model::nonlinear eq constraint targets(), Model::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraintupper bounds(), Minimizer::numContinuousVars, Minimizer::numLinearEqConstraints, Minimizer::numLinearIneqConstraints, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, APPSOptimizer::problemParams, and APPSEvalMgr::set constraint map().
Referenced by APPSOptimizer::find optimum().
The documentation for this class was generated from the following files:
APPSOptimizer.hpp
APPSOptimizer.cpp

13.8

BaseConstructor Struct Reference

Dummy struct for overloading letter-envelope constructors.

Public Member Functions


BaseConstructor (int=0)
C++ structs can have constructors.

13.9. CALLBACK DATA STRUCT REFERENCE

13.8.1

323

Detailed Description

Dummy struct for overloading letter-envelope constructors.


BaseConstructor is used to overload the constructor for the base class portion of letter objects. It avoids infinite
recursion (Coplien p.139) in the letter-envelope idiom by preventing the letter from instantiating another envelope.
Putting this struct here avoids circular dependencies.
The documentation for this struct was generated from the following file:
dakota global defs.hpp

13.9

callback data Struct Reference

Public Attributes
double rosen cdv upper bd
upper bound value to pass through parser to callback function

13.9.1

Detailed Description

Data structure to pass application-specific values through Dakota back to the callback function, for example to
convey late updates to bounds, initial points, etc., to Dakota.
The documentation for this struct was generated from the following file:
library mode.cpp

13.10

COLINApplication Class Reference

Inherits Application< colin::MO MINLP2 problem >.

Public Member Functions


COLINApplication ()
Default constructor. Rrequired by COLINs ApplicationHandle creation.

COLINApplication (Model &model)


Constructor with Model (not presently used).

COLINApplication ()
Destructor.

void set problem (Model &model)


Helper function called after default construction to extract problem information from the Model and set it for
COLIN.

void set blocking synch (const bool blockingSynchFlag)


publishes whether or not COLIN is operating synchronously

virtual utilib::Any spawn evaluation impl (const utilib::Any &domain, const colin::AppRequest::request map t &requests, utilib::seed t &seed)
Schedule one or more requests at specified domain point, returning a DAKOTA-specific evaluation tracking ID.

virtual bool evaluation available ()


Check to see if there are any function values ready to be collected.

324

CHAPTER 13. CLASS DOCUMENTATION


virtual void perform evaluation impl (const utilib::Any &domain, const colin::AppRequest::request map t
&requests, utilib::seed t &seed, colin::AppResponse::response map t &colin responses)
Perform a function evaluation at t given point.

virtual utilib::Any collect evaluation impl (colin::AppResponse::response map t &responses, utilib::seed t


&seed)
Collect a completed evaluation from DAKOTA.

virtual void colin request to dakota request (const utilib::Any &domain, const colin::AppRequest::requestmap t &requests, utilib::seed t &seed)
Helper function to convert evaluation request data from COLIN structures to DAKOTA structures.

virtual void dakota response to colin response (const Response &dakota response, colin::AppResponse::response map t &colin responses)
Gelper function to convert evaluation response data from DAKOTA structures to COLIN structures.

virtual bool map domain (const utilib::Any &src, utilib::Any &native, bool forward=true) const
Map the domain point into data type desired by this application context.

Protected Attributes
Model iteratedModel
Shallow copy of the model on which COLIN will iterate.

bool blockingSynch
Flag for COLIN synchronous behavior (Pattern Search only).

ActiveSet activeSet
Local copy of models active set for convenience.

std::vector< int > requestedEvals


Evaluations queued for asynch evaluation.

IntResponseMap dakota responses


eval id to response mapping to cache completed jobs.

13.10.1

Detailed Description

COLINApplication is a DAKOTA class that is derived from COLINs Application hierarchy. It redefines a variety
of virtual COLIN functions to use the corresponding DAKOTA functions. This is a more flexible algorithm library
interfacing approach than can be obtained with the function pointer approaches used by NPSOLOptimizer and
SNLLOptimizer.

13.10.2

Member Function Documentation

void set problem ( Model & model )


Helper function called after default construction to extract problem information from the Model and set it for
COLIN.
Set variable bounds and linear and nonlinear constraints. This avoids using probDescDB, so it is called by
both the standard and the on-the-fly COLINOptimizer constructors.
References Response::active set(), COLINApplication::activeSet, Model::continuous lower bounds(), Model::continuous upper bounds(), Model::current response(), Model::cv(), Model::discrete int lower bounds(), Model::discrete int sets(), Model::discrete int upper bounds(), Model::discrete set int values(), Model::discrete set real values(), Model::div(), Model::drv(), COLINApplication::iteratedModel, Model::linear eq constraint coeffs(),

13.10. COLINAPPLICATION CLASS REFERENCE

325

Model::linear eq constraint targets(), Model::linear ineq constraint coeffs(), Model::linear ineq constraint lowerbounds(), Model::linear ineq constraint upper bounds(), Model::nonlinear eq constraint targets(), Model::nonlinearineq constraint lower bounds(), Model::nonlinear ineq constraint upper bounds(), Model::num functions(), Model::num linear eq constraints(), Model::num linear ineq constraints(), Model::num nonlinear eq constraints(), Model::num nonlinear ineq constraints(), and Model::primary response fn sense().
Referenced by COLINApplication::COLINApplication().
utilib::Any spawn evaluation impl ( const utilib::Any & domain, const colin::AppRequest::request map t
& requests, utilib::seed t & seed ) [virtual]
Schedule one or more requests at specified domain point, returning a DAKOTA-specific evaluation tracking ID.
Schedule one or more requests at specified domain point, returning a DAKOTA-specific evaluation tracking
ID. This is only called by COLINs concurrent evaluator, which is only instantiated when the Model supports
asynch evals. The domain point is guaranteed to be compatible with data type specified by map domain(...)
References Model::asynch compute response(), COLINApplication::colin request to dakota request(), Model::evaluation id(), and COLINApplication::iteratedModel.
bool evaluation available (

) [virtual]

Check to see if there are any function values ready to be collected.


Check to see if any asynchronous evaluations have finished. This is only called by COLINs concurrent
evaluator, which is only instantiated when the Model supports asynch evals.
References COLINApplication::blockingSynch, COLINApplication::dakota responses, COLINApplication::iteratedModel, Model::synchronize(), and Model::synchronize nowait().
void perform evaluation impl ( const utilib::Any & domain, const colin::AppRequest::request map t &
requests, utilib::seed t & seed, colin::AppResponse::response map t & colin responses ) [virtual]
Perform a function evaluation at t given point.
Perform an evaluation at a specified domain point. Wait for and return the response. This is only called by
COLINs serial evaluator, which is only instantiated when the Model does not support asynch evals. The domain
point is guaranteed to be compatible with data type specified by map domain(...)
References COLINApplication::colin request to dakota request(), Model::compute response(), Model::currentresponse(), COLINApplication::dakota response to colin response(), and COLINApplication::iteratedModel.
utilib::Any collect evaluation impl ( colin::AppResponse::response map t & colin responses,
utilib::seed t & seed ) [virtual]
Collect a completed evaluation from DAKOTA.
Collect the next completed evaluation from DAKOTA. Always returns the evalid of the response returned.
References COLINApplication::dakota response to colin response(), and COLINApplication::dakota responses.
void colin request to dakota request ( const utilib::Any & domain, const
colin::AppRequest::request map t & requests, utilib::seed t & seed ) [virtual]
Helper function to convert evaluation request data from COLIN structures to DAKOTA structures.
Map COLIN info requests to DAKOTA objectives and constraints.
References Model::continuous variables(), Model::discrete int sets(), Model::discrete int variable(), Model::discrete real variable(), Model::discrete set int values(), Model::discrete set real values(), Model::div(), Model::drv(), COLINApplication::iteratedModel, Model::num functions(), and Dakota::set index to value().

326

CHAPTER 13. CLASS DOCUMENTATION

Referenced by COLINApplication::perform evaluation impl(), and COLINApplication::spawn evaluation impl().


void dakota response to colin response ( const Response & dakota response,
colin::AppResponse::response map t & colin responses ) [virtual]
Gelper function to convert evaluation response data from DAKOTA structures to COLIN structures.
Map DAKOTA objective and constraint values to COLIN response.
References Response::active set request vector(), and Response::function value().
Referenced by COLINApplication::collect evaluation impl(), and COLINApplication::perform evaluation impl().
bool map domain ( const utilib::Any & src, utilib::Any & native, bool forward = true ) const
[virtual]
Map the domain point into data type desired by this application context.
Map the domain point into data type desired by this application context (utilib::MixedIntVars). This data type
can be exposed from the Any &domain presented to spawn and collect.
The documentation for this class was generated from the following files:
COLINApplication.hpp
COLINApplication.cpp

13.11

COLINOptimizer Class Reference

Wrapper class for optimizers defined using COLIN.


Inheritance diagram for COLINOptimizer:
Iterator
Minimizer
Optimizer
COLINOptimizer

Public Member Functions


COLINOptimizer (ProblemDescDB &problem db, Model &model)
standard constructor

COLINOptimizer (const String &method name, Model &model, int seed, int max iter, int max eval)
alternate constructor for on-the-fly instantiations

COLINOptimizer (const String &method name, Model &model)


alternate constructor for Iterator instantiations by name

COLINOptimizer ()

13.11. COLINOPTIMIZER CLASS REFERENCE

327

destructor

void reset ()
clears internal optimizer state

void find optimum ()


iterates the COLIN solver to determine the optimal solution

bool returns multiple points () const


some COLIN methods can return multiple points

Protected Member Functions


void solver setup (unsigned short method name)
convenience function for setting up the particular COLIN solver and appropriate Application

void set rng (int seed)


sets up the random number generator for stochastic methods

void set solver parameters ()


sets construct-time options for specific methods based on user specifications, including calling method-specific set
functions

void post run (std::ostream &s)


Get the final set of points from the solver Look up responses and sort, first according to constraint violation, then
according to function value.

std::pair< bool, bool > colin cache lookup (const colin::AppResponse &colinResponse, Response &tmpResponseHolder)
Retrieve response from Colin AppResponse, return pair indicating success for <objective, constraints>

double constraint violation (const Response &tmpResponseHolder)


Compute constraint violation, based on nonlinear constraints in iteratedModel and provided Response data.

Protected Attributes
short solverType
COLIN solver sub-type as enumerated in COLINOptimizer.cpp.

colin::SolverHandle colinSolver
handle to the COLIN solver

std::pair
< colin::ApplicationHandle,
COLINApplication > colinProblem
handle and pointer to the COLINApplication object

colin::EvaluationManager Base colinEvalMgr


pointer to the COLIN evalutaion manager object

utilib::RNG rng
random number generator pointer

bool blockingSynch
the synchronization setting: true if blocking, false if nonblocking

Real constraint penalty


Buffer to hold problem constraint penalty parameter.

bool constant penalty


Buffer to hold problem constant penalty parameter.

328

CHAPTER 13. CLASS DOCUMENTATION

Additional Inherited Members


13.11.1

Detailed Description

Wrapper class for optimizers defined using COLIN.


The COLINOptimizer class wraps COLIN, a Sandia-developed C++ optimization interface library. A variety
of COLIN optimizers are defined in COLIN and its associated libraries, including SCOLIB which contains the
optimization components from the old COLINY (formerly SGOPT) library. COLIN contains optimizers such as
genetic algorithms, pattern search methods, and other nongradient-based techniques. COLINOptimizer uses a
COLINApplication object to perform the function evaluations.
The user input mappings are as follows: max iterations, max function evaluations, convergencetolerance, and solution accuracy are mapped into COLINs max iterations, max function evaluations this trial, function value tolerance, sufficient objective value properties. An outputLevel is mapped to COLINs output level property and a setting of debug activates
output of method initialization and sets the COLIN debug attribute to 10000 for the DEBUG output level. Refer
to [Hart, W.E., 2006] for additional information on COLIN objects and controls.

13.11.2

Constructor & Destructor Documentation

COLINOptimizer ( ProblemDescDB & problem db, Model & model )


standard constructor
Standard constructor.
References ProblemDescDB::get int(), ProblemDescDB::get ushort(), Iterator::probDescDB, COLINOptimizer::set rng(), COLINOptimizer::set solver parameters(), and COLINOptimizer::solver setup().
COLINOptimizer ( const String & method name, Model & model, int seed, int max iter, int max eval )
alternate constructor for on-the-fly instantiations
Alternate constructor for on-the-fly instantiations.
References Iterator::maxFunctionEvals, Iterator::maxIterations, Iterator::method string to enum(), COLINOptimizer::set rng(), COLINOptimizer::set solver parameters(), and COLINOptimizer::solver setup().
COLINOptimizer ( const String & method name, Model & model )
alternate constructor for Iterator instantiations by name
Alternate constructor for Iterator instantiations by name.
References Iterator::method string to enum(), COLINOptimizer::set solver parameters(), and COLINOptimizer::solver setup().

13.11.3

Member Function Documentation

void find optimum (

) [virtual]

iterates the COLIN solver to determine the optimal solution


find optimum redefines the Optimizer virtual function to perform the optimization using COLIN. It first sets
up the problem data, then executes optimize() on the COLIN solver and finally catalogues the results.
Implements Optimizer.
References Dakota:: NPOS, Dakota::abort handler(), Model::asynch flag(), COLINOptimizer::blockingSynch,
COLINOptimizer::colinEvalMgr, COLINOptimizer::colinProblem, COLINOptimizer::colinSolver, COLINOptimizer::constant penalty, COLINOptimizer::constraint penalty, Model::continuous variables(), Model::discrete int sets(),

13.11. COLINOPTIMIZER CLASS REFERENCE

329

Model::discrete int variables(), Model::discrete real variables(), Model::discrete set int values(), Model::discreteset real values(), Model::evaluation capacity(), Iterator::iteratedModel, Minimizer::numDiscreteIntVars, Minimizer::numDiscreteRealVars, Iterator::outputLevel, Dakota::set value to index(), and COLINOptimizer::solverType.
bool returns multiple points (

) const [virtual]

some COLIN methods can return multiple points


Designate which solvers can return multiple final points.
Reimplemented from Iterator.
References COLINOptimizer::solverType.
void solver setup ( unsigned short method name ) [protected]
convenience function for setting up the particular COLIN solver and appropriate Application
This convenience function is called by the constructors in order to instantiate the solver.
References COLINOptimizer::colinProblem, COLINOptimizer::colinSolver, COLINOptimizer::constant penalty,
COLINOptimizer::constraint penalty, ProblemDescDB::get string(), Iterator::method enum to string(), Iterator::probDescDB, and COLINOptimizer::solverType.
Referenced by COLINOptimizer::COLINOptimizer().
void set rng ( int seed ) [protected]
sets up the random number generator for stochastic methods
Instantiate random number generator (RNG).
References COLINOptimizer::colinSolver, and COLINOptimizer::rng.
Referenced by COLINOptimizer::COLINOptimizer().
void set solver parameters (

) [protected]

sets construct-time options for specific methods based on user specifications, including calling method-specific
set functions
Sets solver properties based on user specifications. Called at construction time.
References Model::asynch flag(), COLINOptimizer::blockingSynch, COLINOptimizer::colinSolver, COLINOptimizer::constant penalty, COLINOptimizer::constraint penalty, Iterator::convergenceTol, ProblemDescDB::get bool(), ProblemDescDB::get int(), ProblemDescDB::get real(), ProblemDescDB::get sa(), ProblemDescDB::get string(), ProblemDescDB::is null(), Iterator::iteratedModel, Iterator::maxEvalConcurrency, Iterator::maxFunctionEvals, Iterator::maxIterations, Minimizer::numContinuousVars, Iterator::outputLevel, Iterator::probDescDB, and COLINOptimizer::solverType.
Referenced by COLINOptimizer::COLINOptimizer().
void post run ( std::ostream & s ) [protected], [virtual]
Get the final set of points from the solver Look up responses and sort, first according to constraint violation, then
according to function value.
Supplement Optimizer::post run to first retrieve points from the Colin cache (or possibly the Dakota DB)
and rank them. When complete, this function will populate bestVariablesArray and bestResponsesArray with
iterator-space data, that is, in the context of the solver, leaving any further untransformation to Optimizer.
Reimplemented from Iterator.
References Iterator::bestResponseArray, Iterator::bestVariablesArray, COLINOptimizer::colin cache lookup(),
COLINOptimizer::colinProblem, COLINOptimizer::colinSolver, COLINOptimizer::constraint violation(), Variables::continuous variables(), Variables::copy(), Response::copy(), Model::current response(), Model::current variables(),

330

CHAPTER 13. CLASS DOCUMENTATION

Model::discrete int sets(), Variables::discrete int variable(), Variables::discrete real variable(), Model::discrete set int values(), Model::discrete set real values(), Response::function values(), Iterator::iteratedModel, Optimizer::localObjectiveRecast, Minimizer::numDiscreteIntVars, Minimizer::numDiscreteRealVars, Iterator::numFinalSolutions,
Optimizer::numObjectiveFns, Minimizer::objective(), Optimizer::post run(), Model::primary response fn sense(),
Model::primary response fn weights(), Minimizer::resize best resp array(), Minimizer::resize best vars array(),
Dakota::set index to value(), and Model::subordinate model().
std::pair< bool, bool > colin cache lookup ( const colin::AppResponse & colinResponse, Response &
tmpResponseHolder ) [protected]
Retrieve response from Colin AppResponse, return pair indicating success for <objective, constraints>
Encapsulated Colin Cache response extraction, which will ultimately become the default lookup. Might want
to return separate vectors of function values and constraints for use in the sort, but not for now (least change).
Return true if not needed or successful lookup.
References Response::function value(), Minimizer::numNonlinearConstraints, and Optimizer::numObjectiveFns.
Referenced by COLINOptimizer::post run().
double constraint violation ( const Response & tmpResponseHolder ) [protected]
Compute constraint violation, based on nonlinear constraints in iteratedModel and provided Response data.
BMA TODO: incorporate constraint tolerance, possibly via elevating SurrBasedMinimizer::constraint violation().
Always use iteratedModel to get the constraints; they are in the right space.
References Response::function values(), Iterator::iteratedModel, Model::nonlinear eq constraint targets(), Model::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraint upper bounds(), Model::num nonlineareq constraints(), Model::num nonlinear ineq constraints(), and Minimizer::numIterPrimaryFns.
Referenced by COLINOptimizer::post run().
The documentation for this class was generated from the following files:
COLINOptimizer.hpp
COLINOptimizer.cpp

13.12

CollabHybridMetaIterator Class Reference

Meta-iterator for hybrid iteration using multiple collaborating optimization and nonlinear least squares methods.
Inheritance diagram for CollabHybridMetaIterator:

Iterator
MetaIterator
CollabHybridMetaIterator

Public Member Functions


CollabHybridMetaIterator (ProblemDescDB &problem db)

13.12. COLLABHYBRIDMETAITERATOR CLASS REFERENCE

331

standard constructor

CollabHybridMetaIterator (ProblemDescDB &problem db, Model &model)


alternate constructor

CollabHybridMetaIterator ()
destructor

Protected Member Functions


void core run ()
Performs the collaborative hybrid iteration.

const Variables & variables results () const


return the final solution from the collaborative iteration (variables)

const Response & response results () const


return the final solution from the collaborative iteration (response)

Private Attributes
String hybridCollabType
abo or hops

StringArray methodList
the list of method name identifiers

bool lightwtCtor
indicates use of lightweight Iterator ctors

IteratorArray selectedIterators
the set of iterators, one for each entry in methodList

ModelArray selectedModels
the set of models, one for each iterator

Variables bestVariables
best variables found in collaborative iteration

Response bestResponse
best response found in collaborative iteration

Additional Inherited Members


13.12.1

Detailed Description

Meta-iterator for hybrid iteration using multiple collaborating optimization and nonlinear least squares methods.
This meta-iterator has two approaches to hybrid iteration: (1) agent-based using the ABO framework; (2)
nonagent-based using the HOPSPACK framework.
The documentation for this class was generated from the following files:
CollabHybridMetaIterator.hpp
CollabHybridMetaIterator.cpp

332

CHAPTER 13. CLASS DOCUMENTATION

13.13

CommandLineHandler Class Reference

Utility class for managing command line inputs to DAKOTA.


Inheritance diagram for CommandLineHandler:

GetLongOpt
CommandLineHandler

Public Member Functions


CommandLineHandler ()
default constructor, requires check usage() call for parsing

CommandLineHandler (int argc, char argv, int world rank)


constructor with parsing

CommandLineHandler ()
destructor

void check usage (int argc, char argv)


Verifies that DAKOTA is called with the correct command usage. Prints a descriptive message and exits the program
if incorrect.

int read restart evals () const


Returns the number of evaluations to be read from the restart file (as specified on the DAKOTA command line) as
an integer instead of a const char.

void usage (std::ostream &outfile=Cout) const


Print usage information to outfile, conditionally on rank.

Private Member Functions


void initialize options ()
enrolls the supported command line inputs.

void output helper (const std::string &message, std::ostream &os) const


output only on Dakota worldRank 0 if possible

Private Attributes
int worldRank
Rank of this process within Dakotas allocation; manages conditional output.

Additional Inherited Members


13.13.1

Detailed Description

Utility class for managing command line inputs to DAKOTA.


CommandLineHandler provides additional functionality that is specific to DAKOTAs needs for the definition
and parsing of command line options. Inheritance is used to allow the class to have all the functionality of the
base class, GetLongOpt.

13.14. COMMANDSHELL CLASS REFERENCE

13.13.2

Member Function Documentation

void output helper ( const std::string & message, std::ostream & os ) const [private]
output only on Dakota worldRank 0 if possible
When there is a valid ParallelLibrary, output only on rank 0
References CommandLineHandler::worldRank.
Referenced by CommandLineHandler::check usage().
The documentation for this class was generated from the following files:
CommandLineHandler.hpp
CommandLineHandler.cpp

13.14

CommandShell Class Reference

Utility class which defines convenience operators for spawning processes with system calls.

Public Member Functions


CommandShell (const std::string &work dir)
constructor

CommandShell ()
destructor

CommandShell & operator<< (const char cmd)


appends cmd to sysCommand

CommandShell & operator<< (const std::string &cmd)


convenient operator: appends string to the commandString to be executed

CommandShell & operator<< (CommandShell &(f)(CommandShell &))


allows passing of the flush function to the shell using <<

CommandShell & flush ()


flushes the shell; i.e. executes the sysCommand

void asynch flag (const bool flag)


set the asynchFlag

bool asynch flag () const


get the asynchFlag

void suppress output flag (const bool flag)


set the suppressOutputFlag

bool suppress output flag () const


get the suppressOutputFlag

Private Attributes
const std::string & workDir
To convey working directory when useWorkdir is true:

std::string sysCommand
The command string that is constructed through one or more << insertions and then executed by flush.

333

334

CHAPTER 13. CLASS DOCUMENTATION


bool asynchFlag
flags nonblocking operation (background system calls)

bool suppressOutputFlag
flags suppression of shell output (no command echo)

13.14.1

Detailed Description

Utility class which defines convenience operators for spawning processes with system calls.
The CommandShell class wraps the C system() utility and defines convenience operators for building a command string and then passing it to the shell.

13.14.2

Member Function Documentation

CommandShell & operator<< ( const char cmd ) [inline]


appends cmd to sysCommand
convenient operator: appends string to the commandString to be executed
References CommandShell::sysCommand.
CommandShell & operator<< ( CommandShell &()(CommandShell &) f ) [inline]
allows passing of the flush function to the shell using <<
convenience operator: allows passing of the flush func to the shell via <<
CommandShell & flush (

flushes the shell; i.e. executes the sysCommand


Executes the sysCommand by passing it to system(). Appends an & if asynchFlag is set (background system
call) and echos the sysCommand to Cout if suppressOutputFlag is not set.
References Dakota::abort handler(), CommandShell::asynchFlag, CommandShell::suppressOutputFlag, CommandShell::sysCommand, and CommandShell::workDir.
Referenced by Dakota::flush().
The documentation for this class was generated from the following files:
CommandShell.hpp
CommandShell.cpp

13.15

ConcurrentMetaIterator Class Reference

Meta-iterator for multi-start iteration or pareto set optimization.


Inheritance diagram for ConcurrentMetaIterator:

Iterator
MetaIterator
ConcurrentMetaIterator

13.15. CONCURRENTMETAITERATOR CLASS REFERENCE

335

Public Member Functions


ConcurrentMetaIterator (ProblemDescDB &problem db)
standard constructor

ConcurrentMetaIterator (ProblemDescDB &problem db, Model &model)


alternate constructor

ConcurrentMetaIterator ()
destructor

Protected Member Functions


void core run ()
Performs the concurrent iteration by executing selectedIterator on iteratedModel multiple times in parallel for
different settings within the iterator or model.

void print results (std::ostream &s)


print the final iterator results

void initialize iterator (int job index)


used by IteratorScheduler to set the starting data for a run

void pack parameters buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack starting data for an iterator run

void unpack parameters buffer (MPIUnpackBuffer &recv buffer)


used by IteratorScheduler to unpack starting data for an iterator run

void pack results buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack results data from an iterator run

void unpack results buffer (MPIUnpackBuffer &recv buffer, int job index)
used by IteratorScheduler to unpack results data from an iterator run

void update local results (int job index)


used by IteratorScheduler to update local results arrays

const Model & algorithm space model () const


return the result of any recasting or surrogate model recursion layered on top of iteratedModel by the derived
Iterator ctor chain

Private Member Functions


void initialize (int param set len)
shared constructor code

void initialize iterator (const RealVector &param set)


called by unpack parameters buffer(MPIUnpackBuffer) and initialize iterator(int) to update iteratedModel and
selectedIterator

void initialize model (int &param set len)


initialize the iterated Model prior to Iterator instantiation and define param set len

336

CHAPTER 13. CLASS DOCUMENTATION

Private Attributes
Iterator selectedIterator
the iterator selected for concurrent iteration

bool lightwtCtor
indicates use of lightweight Iterator ctors

RealVector initialPt
the initial continuous variables for restoring the starting point in the Pareto set minimization

RealVectorArray parameterSets
an array of parameter set vectors (either multistart variable sets or pareto multi-objective/least squares weighting
sets) to be performed.

PRPArray prpResults
1-d array of ParamResponsePair results corresponding to numIteratorJobs

Additional Inherited Members


13.15.1

Detailed Description

Meta-iterator for multi-start iteration or pareto set optimization.


This meta-iterator maintains two concurrent iterator capabilities. First, a general capability for running an
iterator multiple times from different starting points is provided (often used for multi-start optimization, but not
restricted to optimization). Second, a simple capability for mapping the pareto frontier (the set of optimal
solutions in multiobjective formulations) is provided. This pareto set is mapped through running an optimizer
multiple times for different sets of multiobjective weightings.

13.15.2

Member Function Documentation

void print results ( std::ostream & s ) [protected], [virtual]


print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation
summary printed in finalize run().
Reimplemented from Iterator.
References Variables::continuous variables(), Variables::discrete int variables(), Variables::discrete real variables(),
ParamResponsePair::eval id(), Iterator::methodName, ConcurrentMetaIterator::parameterSets, ParamResponsePair::prp parameters(), ParamResponsePair::prp response(), ConcurrentMetaIterator::prpResults, and Response::write tabular().
The documentation for this class was generated from the following files:
ConcurrentMetaIterator.hpp
ConcurrentMetaIterator.cpp

13.16

CONMINOptimizer Class Reference

Wrapper class for the CONMIN optimization library.


Inheritance diagram for CONMINOptimizer:

13.16. CONMINOPTIMIZER CLASS REFERENCE

337

Iterator
Minimizer
Optimizer
CONMINOptimizer

Public Member Functions


CONMINOptimizer (ProblemDescDB &problem db, Model &model)
standard constructor

CONMINOptimizer (const String &method string, Model &model)


alternate constructor; construct without ProblemDescDB

CONMINOptimizer ()
destructor

void find optimum ()


Used within the optimizer branch for computing the optimal solution. Redefines the run virtual function for the
optimizer branch.

Protected Member Functions


void initialize run ()
performs run-time set up

Private Member Functions


void initialize ()
Shared constructor code.

void allocate workspace ()


Allocates workspace for the optimizer.

void deallocate workspace ()


Releases workspace memory.

void allocate constraints ()


Allocates constraint mappings.

Private Attributes
int conminInfo
INFO from CONMIN manual.

int printControl
IPRINT from CONMIN manual (controls output verbosity)

Real objFnValue

338

CHAPTER 13. CLASS DOCUMENTATION


value of the objective function passed to CONMIN

RealVector constraintValues
array of nonlinear constraint values passed to CONMIN

int numConminNlnConstr
total number of nonlinear constraints seen by CONMIN

int numConminLinConstr
total number of linear constraints seen by CONMIN

int numConminConstr
total number of linear and nonlinear constraints seen by CONMIN

SizetArray constraintMappingIndices
a container of indices for referencing the corresponding Response constraints used in computing the CONMIN
constraints.

RealArray constraintMappingMultipliers
a container of multipliers for mapping the Response constraints to the CONMIN constraints.

RealArray constraintMappingOffsets
a container of offsets for mapping the Response constraints to the CONMIN constraints.

int N1
Size variable for CONMIN arrays. See CONMIN manual.

int N2
Size variable for CONMIN arrays. See CONMIN manual.

int N3
Size variable for CONMIN arrays. See CONMIN manual.

int N4
Size variable for CONMIN arrays. See CONMIN manual.

int N5
Size variable for CONMIN arrays. See CONMIN manual.

int NFDG
Finite difference flag.

int IPRINT
Flag to control amount of output data.

int ITMAX
Flag to specify the maximum number of iterations.

double FDCH
Relative finite difference step size.

double FDCHM
Absolute finite difference step size.

double CT
Constraint thickness parameter.

double CTMIN
Minimum absolute value of CT used during optimization.

double CTL
Constraint thickness parameter for linear and side constraints.

double CTLMIN

13.16. CONMINOPTIMIZER CLASS REFERENCE

339

Minimum value of CTL used during optimization.

double DELFUN
Relative convergence criterion threshold.

double DABFUN
Absolute convergence criterion threshold.

double conminDesVars
Array of design variables used by CONMIN (length N1 = numdv+2)

double conminLowerBnds
Array of lower bounds used by CONMIN (length N1 = numdv+2)

double conminUpperBnds
Array of upper bounds used by CONMIN (length N1 = numdv+2)

double S
Internal CONMIN array.

double G1
Internal CONMIN array.

double G2
Internal CONMIN array.

double B
Internal CONMIN array.

double C
Internal CONMIN array.

int MS1
Internal CONMIN array.

double SCAL
Internal CONMIN array.

double DF
Internal CONMIN array.

double A
Internal CONMIN array.

int ISC
Internal CONMIN array.

int IC
Internal CONMIN array.

Additional Inherited Members


13.16.1

Detailed Description

Wrapper class for the CONMIN optimization library.


The CONMINOptimizer class provides a wrapper for CONMIN, a Public-domain Fortran 77 optimization
library written by Gary Vanderplaats under contract to NASA Ames Research Center. The CONMIN Users
Manual is contained in NASA Technical Memorandum X-62282, 1978. CONMIN uses a reverse communication
mode, which avoids the static member function issues that arise with function pointer designs (see NPSOLOptimizer and SNLLOptimizer).

340

CHAPTER 13. CLASS DOCUMENTATION

The user input mappings are as follows: max iterations is mapped into CONMINs ITMAX parameter,
max function evaluations is implemented directly in the find optimum() loop since there is no CONMIN parameter equivalent, convergence tolerance is mapped into CONMINs DELFUN and DABFUN
parameters, output verbosity is mapped into CONMINs IPRINT parameter (verbose: IPRINT = 4; quiet: IPRINT = 2), gradient mode is mapped into CONMINs NFDG parameter, and finite difference step size is
mapped into CONMINs FDCH and FDCHM parameters. Refer to [Vanderplaats, 1978] for additional information
on CONMIN parameters.

13.16.2

Member Data Documentation

int conminInfo [private]


INFO from CONMIN manual.
Information requested by CONMIN: 1 = evaluate objective and constraints, 2 = evaluate gradients of objective
and constraints.
Referenced by CONMINOptimizer::find optimum(), and CONMINOptimizer::initialize().
int printControl [private]
IPRINT from CONMIN manual (controls output verbosity)
Values range from 0 (nothing) to 4 (most output). 0 = nothing, 1 = initial and final function information, 2 =
all of #1 plus function value and design vars at each iteration, 3 = all of #2 plus constraint values and direction
vectors, 4 = all of #3 plus gradients of the objective function and constraints, 5 = all of #4 plus proposed design
vector, plus objective and constraint functions from the 1-D search
Referenced by CONMINOptimizer::initialize().
RealVector constraintValues [private]
array of nonlinear constraint values passed to CONMIN
This array must be of nonzero length and must contain only one-sided inequality constraints which are <= 0
(which requires a transformation from 2-sided inequalities and equalities).
Referenced by CONMINOptimizer::allocate workspace(), and CONMINOptimizer::find optimum().
SizetArray constraintMappingIndices [private]
a container of indices for referencing the corresponding Response constraints used in computing the CONMIN
constraints.
The length of the container corresponds to the number of CONMIN constraints, and each entry in the container
points to the corresponding DAKOTA constraint.
Referenced by CONMINOptimizer::allocate constraints(), and CONMINOptimizer::find optimum().
RealArray constraintMappingMultipliers [private]
a container of multipliers for mapping the Response constraints to the CONMIN constraints.
The length of the container corresponds to the number of CONMIN constraints, and each entry in the container
stores a multiplier for the DAKOTA constraint identified with constraintMappingIndices. These multipliers are
currently +1 or -1.
Referenced by CONMINOptimizer::allocate constraints(), and CONMINOptimizer::find optimum().

13.16. CONMINOPTIMIZER CLASS REFERENCE

341

RealArray constraintMappingOffsets [private]


a container of offsets for mapping the Response constraints to the CONMIN constraints.
The length of the container corresponds to the number of CONMIN constraints, and each entry in the container
stores an offset for the DAKOTA constraint identified with constraintMappingIndices. These offsets involve
inequality bounds or equality targets, since CONMIN assumes constraint allowables = 0.
Referenced by CONMINOptimizer::allocate constraints(), and CONMINOptimizer::find optimum().
int N1 [private]
Size variable for CONMIN arrays. See CONMIN manual.
N1 = number of variables + 2
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::find optimum(), and CONMINOptimizer::initialize run().
int N2 [private]
Size variable for CONMIN arrays. See CONMIN manual.
N2 = number of constraints + 2(number of variables)
Referenced by CONMINOptimizer::allocate workspace(), and CONMINOptimizer::find optimum().
int N3 [private]
Size variable for CONMIN arrays. See CONMIN manual.
N3 = Maximum possible number of active constraints.
Referenced by CONMINOptimizer::allocate workspace(), and CONMINOptimizer::find optimum().
int N4 [private]
Size variable for CONMIN arrays. See CONMIN manual.
N4 = Maximum(N3,number of variables)
Referenced by CONMINOptimizer::allocate workspace(), and CONMINOptimizer::find optimum().
int N5 [private]
Size variable for CONMIN arrays. See CONMIN manual.
N5 = 2(N4)
Referenced by CONMINOptimizer::allocate workspace(), and CONMINOptimizer::find optimum().
double CT [private]
Constraint thickness parameter.
The value of CT decreases in magnitude during optimization.
Referenced by CONMINOptimizer::find optimum(), and CONMINOptimizer::initialize().
double S [private]
Internal CONMIN array.
Move direction in N-dimensional space.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().

342

CHAPTER 13. CLASS DOCUMENTATION

double G1 [private]
Internal CONMIN array.
Temporary storage of constraint values.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
double G2 [private]
Internal CONMIN array.
Temporary storage of constraint values.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
double B [private]
Internal CONMIN array.
Temporary storage for computations involving array S.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
double C [private]
Internal CONMIN array.
Temporary storage for use with arrays B and S.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
int MS1 [private]
Internal CONMIN array.
Temporary storage for use with arrays B and S.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
double SCAL [private]
Internal CONMIN array.
Vector of scaling parameters for design parameter values.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
double DF [private]
Internal CONMIN array.
Temporary storage for analytic gradient data.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().

13.17. CONSTRAINTS CLASS REFERENCE

343

double A [private]
Internal CONMIN array.
Temporary 2-D array for storage of constraint gradients.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
int ISC [private]
Internal CONMIN array.
Array of flags to identify linear constraints. (not used in this implementation of CONMIN)
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), CONMINOptimizer::find optimum(), and CONMINOptimizer::initialize run().
int IC [private]
Internal CONMIN array.
Array of flags to identify active and violated constraints
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), CONMINOptimizer::find optimum(), and CONMINOptimizer::initialize run().
The documentation for this class was generated from the following files:
CONMINOptimizer.hpp
CONMINOptimizer.cpp

13.17

Constraints Class Reference

Base class for the variable constraints class hierarchy.


Inheritance diagram for Constraints:

Constraints
MixedVarConstraints

RelaxedVarConstraints

Public Member Functions


Constraints ()
default constructor

Constraints (const ProblemDescDB &prob db, const SharedVariablesData &svd)


standard constructor

Constraints (const SharedVariablesData &svd)


alternate constructor for instantiations on the fly

Constraints (const Constraints &con)


copy constructor

virtual Constraints ()
destructor

344

CHAPTER 13. CLASS DOCUMENTATION


Constraints operator= (const Constraints &con)
assignment operator

virtual void write (std::ostream &s) const


write a variable constraints object to an std::ostream

virtual void read (std::istream &s)


read a variable constraints object from an std::istream

virtual void reshape (const SizetArray &vc totals)


reshape the lower/upper bound arrays within the Constraints hierarchy

const RealVector & continuous lower bounds () const


return the active continuous variable lower bounds

void continuous lower bounds (const RealVector &cl bnds)


set the active continuous variable lower bounds

void continuous lower bound (Real cl bnd, size t i)


set an active continuous variable lower bound

const RealVector & continuous upper bounds () const


return the active continuous variable upper bounds

void continuous upper bounds (const RealVector &cu bnds)


set the active continuous variable upper bounds

void continuous upper bound (Real cu bnd, size t i)


set an active continuous variable upper bound

const IntVector & discrete int lower bounds () const


return the active discrete variable lower bounds

void discrete int lower bounds (const IntVector &dil bnds)


set the active discrete variable lower bounds

void discrete int lower bound (int dil bnd, size t i)


set an active discrete variable lower bound

const IntVector & discrete int upper bounds () const


return the active discrete variable upper bounds

void discrete int upper bounds (const IntVector &diu bnds)


set the active discrete variable upper bounds

void discrete int upper bound (int diu bnd, size t i)


set an active discrete variable upper bound

const RealVector & discrete real lower bounds () const


return the active discrete variable lower bounds

void discrete real lower bounds (const RealVector &drl bnds)


set the active discrete variable lower bounds

void discrete real lower bound (Real drl bnd, size t i)


set an active discrete variable lower bound

const RealVector & discrete real upper bounds () const


return the active discrete variable upper bounds

void discrete real upper bounds (const RealVector &dru bnds)


set the active discrete variable upper bounds

void discrete real upper bound (Real dru bnd, size t i)

13.17. CONSTRAINTS CLASS REFERENCE


set an active discrete variable upper bound

const RealVector & inactive continuous lower bounds () const


return the inactive continuous lower bounds

void inactive continuous lower bounds (const RealVector &icl bnds)


set the inactive continuous lower bounds

const RealVector & inactive continuous upper bounds () const


return the inactive continuous upper bounds

void inactive continuous upper bounds (const RealVector &icu bnds)


set the inactive continuous upper bounds

const IntVector & inactive discrete int lower bounds () const


return the inactive discrete lower bounds

void inactive discrete int lower bounds (const IntVector &idil bnds)
set the inactive discrete lower bounds

const IntVector & inactive discrete int upper bounds () const


return the inactive discrete upper bounds

void inactive discrete int upper bounds (const IntVector &idiu bnds)
set the inactive discrete upper bounds

const RealVector & inactive discrete real lower bounds () const


return the inactive discrete lower bounds

void inactive discrete real lower bounds (const RealVector &idrl bnds)
set the inactive discrete lower bounds

const RealVector & inactive discrete real upper bounds () const


return the inactive discrete upper bounds

void inactive discrete real upper bounds (const RealVector &idru bnds)
set the inactive discrete upper bounds

const RealVector & all continuous lower bounds () const


returns a single array with all continuous lower bounds

void all continuous lower bounds (const RealVector &acl bnds)


sets all continuous lower bounds using a single array

void all continuous lower bound (Real acl bnd, size t i)


set a lower bound within the all continuous lower bounds array

const RealVector & all continuous upper bounds () const


returns a single array with all continuous upper bounds

void all continuous upper bounds (const RealVector &acu bnds)


sets all continuous upper bounds using a single array

void all continuous upper bound (Real acu bnd, size t i)


set an upper bound within the all continuous upper bounds array

const IntVector & all discrete int lower bounds () const


returns a single array with all discrete lower bounds

void all discrete int lower bounds (const IntVector &adil bnds)
sets all discrete lower bounds using a single array

void all discrete int lower bound (int adil bnd, size t i)
set a lower bound within the all discrete lower bounds array

345

346

CHAPTER 13. CLASS DOCUMENTATION


const IntVector & all discrete int upper bounds () const
returns a single array with all discrete upper bounds

void all discrete int upper bounds (const IntVector &adiu bnds)
sets all discrete upper bounds using a single array

void all discrete int upper bound (int adiu bnd, size t i)
set an upper bound within the all discrete upper bounds array

const RealVector & all discrete real lower bounds () const


returns a single array with all discrete lower bounds

void all discrete real lower bounds (const RealVector &adrl bnds)
sets all discrete lower bounds using a single array

void all discrete real lower bound (Real adrl bnd, size t i)
set a lower bound within the all discrete lower bounds array

const RealVector & all discrete real upper bounds () const


returns a single array with all discrete upper bounds

void all discrete real upper bounds (const RealVector &adru bnds)
sets all discrete upper bounds using a single array

void all discrete real upper bound (Real adru bnd, size t i)
set an upper bound within the all discrete upper bounds array

size t num linear ineq constraints () const


return the number of linear inequality constraints

size t num linear eq constraints () const


return the number of linear equality constraints

const RealMatrix & linear ineq constraint coeffs () const


return the linear inequality constraint coefficients

void linear ineq constraint coeffs (const RealMatrix &lin ineq coeffs)
set the linear inequality constraint coefficients

const RealVector & linear ineq constraint lower bounds () const


return the linear inequality constraint lower bounds

void linear ineq constraint lower bounds (const RealVector &lin ineq l bnds)
set the linear inequality constraint lower bounds

const RealVector & linear ineq constraint upper bounds () const


return the linear inequality constraint upper bounds

void linear ineq constraint upper bounds (const RealVector &lin ineq u bnds)
set the linear inequality constraint upper bounds

const RealMatrix & linear eq constraint coeffs () const


return the linear equality constraint coefficients

void linear eq constraint coeffs (const RealMatrix &lin eq coeffs)


set the linear equality constraint coefficients

const RealVector & linear eq constraint targets () const


return the linear equality constraint targets

void linear eq constraint targets (const RealVector &lin eq targets)


set the linear equality constraint targets

size t num nonlinear ineq constraints () const

13.17. CONSTRAINTS CLASS REFERENCE

347

return the number of nonlinear inequality constraints

size t num nonlinear eq constraints () const


return the number of nonlinear equality constraints

const RealVector & nonlinear ineq constraint lower bounds () const


return the nonlinear inequality constraint lower bounds

void nonlinear ineq constraint lower bounds (const RealVector &nln ineq l bnds)
set the nonlinear inequality constraint lower bounds

const RealVector & nonlinear ineq constraint upper bounds () const


return the nonlinear inequality constraint upper bounds

void nonlinear ineq constraint upper bounds (const RealVector &nln ineq u bnds)
set the nonlinear inequality constraint upper bounds

const RealVector & nonlinear eq constraint targets () const


return the nonlinear equality constraint targets

void nonlinear eq constraint targets (const RealVector &nln eq targets)


set the nonlinear equality constraint targets

Constraints copy () const


for use when a deep copy is needed (the representation is not shared)

void reshape (size t num nln ineq cons, size t num nln eq cons, size t num lin ineq cons, size t num lineq cons, const SizetArray &vc totals)
reshape the linear/nonlinear/bound constraint arrays arrays within the Constraints hierarchy

void reshape (size t num nln ineq cons, size t num nln eq cons, size t num lin ineq cons, size t num lineq cons)
reshape the linear/nonlinear constraint arrays within the Constraints hierarchy

void inactive view (short view2)


sets the inactive view based on higher level (nested) context

bool is null () const


function to check constraintsRep (does this envelope contain a letter)

Protected Member Functions


Constraints (BaseConstructor, const ProblemDescDB &problem db, const SharedVariablesData &svd)
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

Constraints (BaseConstructor, const SharedVariablesData &svd)


constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

virtual void build active views ()


construct active views of all variables bounds arrays

virtual void build inactive views ()


construct inactive views of all variables bounds arrays

void build views ()


construct active/inactive views of all variables arrays

void manage linear constraints (const ProblemDescDB &problem db)


perform checks on user input, convert linear constraint coefficient input to matrices, and assign defaults

348

CHAPTER 13. CLASS DOCUMENTATION

Protected Attributes
SharedVariablesData sharedVarsData
configuration data shared from a Variables instance

RealVector allContinuousLowerBnds
a continuous lower bounds array combining continuous design, uncertain, and continuous state variable types (all
view).

RealVector allContinuousUpperBnds
a continuous upper bounds array combining continuous design, uncertain, and continuous state variable types (all
view).

IntVector allDiscreteIntLowerBnds
a discrete lower bounds array combining discrete design and discrete state variable types (all view).

IntVector allDiscreteIntUpperBnds
a discrete upper bounds array combining discrete design and discrete state variable types (all view).

RealVector allDiscreteRealLowerBnds
a discrete lower bounds array combining discrete design and discrete state variable types (all view).

RealVector allDiscreteRealUpperBnds
a discrete upper bounds array combining discrete design and discrete state variable types (all view).

size t numNonlinearIneqCons
number of nonlinear inequality constraints

size t numNonlinearEqCons
number of nonlinear equality constraints

RealVector nonlinearIneqConLowerBnds
nonlinear inequality constraint lower bounds

RealVector nonlinearIneqConUpperBnds
nonlinear inequality constraint upper bounds

RealVector nonlinearEqConTargets
nonlinear equality constraint targets

size t numLinearIneqCons
number of linear inequality constraints

size t numLinearEqCons
number of linear equality constraints

RealMatrix linearIneqConCoeffs
linear inequality constraint coefficients

RealMatrix linearEqConCoeffs
linear equality constraint coefficients

RealVector linearIneqConLowerBnds
linear inequality constraint lower bounds

RealVector linearIneqConUpperBnds
linear inequality constraint upper bounds

RealVector linearEqConTargets
linear equality constraint targets

RealVector continuousLowerBnds
the active continuous lower bounds array view

13.17. CONSTRAINTS CLASS REFERENCE

349

RealVector continuousUpperBnds
the active continuous upper bounds array view

IntVector discreteIntLowerBnds
the active discrete lower bounds array view

IntVector discreteIntUpperBnds
the active discrete upper bounds array view

RealVector discreteRealLowerBnds
the active discrete lower bounds array view

RealVector discreteRealUpperBnds
the active discrete upper bounds array view

RealVector inactiveContinuousLowerBnds
the inactive continuous lower bounds array view

RealVector inactiveContinuousUpperBnds
the inactive continuous upper bounds array view

IntVector inactiveDiscreteIntLowerBnds
the inactive discrete lower bounds array view

IntVector inactiveDiscreteIntUpperBnds
the inactive discrete upper bounds array view

RealVector inactiveDiscreteRealLowerBnds
the inactive discrete lower bounds array view

RealVector inactiveDiscreteRealUpperBnds
the inactive discrete upper bounds array view

Private Member Functions


Constraints get constraints (const ProblemDescDB &problem db, const SharedVariablesData &svd)
Used only by the constructor to initialize constraintsRep to the appropriate derived type.

Constraints get constraints (const SharedVariablesData &svd) const


Used by copy() to initialize constraintsRep to the appropriate derived type.

Private Attributes
Constraints constraintsRep
pointer to the letter (initialized only for the envelope)

int referenceCount
number of objects sharing constraintsRep

13.17.1

Detailed Description

Base class for the variable constraints class hierarchy.


The Constraints class is the base class for the class hierarchy managing bound, linear, and nonlinear constraints. Using the variable lower and upper bounds arrays from the input specification, different derived classes
define different views of this data. The linear and nonlinear constraint data is consistent in all views and is
managed at the base class level. For memory efficiency and enhanced polymorphism, the variable constraints
hierarchy employs the letter/envelope idiom (see Coplien Advanced C++, p. 133), for which the base class
(Constraints) serves as the envelope and one of the derived classes (selected in Constraints::get constraints())
serves as the letter.

350

13.17.2

CHAPTER 13. CLASS DOCUMENTATION

Constructor & Destructor Documentation

Constraints (

default constructor
The default constructor: constraintsRep is NULL in this case (a populated problem db is needed to build a
meaningful Constraints object). This makes it necessary to check for NULL in the copy constructor, assignment
operator, and destructor.
Constraints ( const ProblemDescDB & problem db, const SharedVariablesData & svd )
standard constructor
The envelope constructor only needs to extract enough data to properly execute get constraints, since the
constructor overloaded with BaseConstructor builds the actual base class data inherited by the derived classes.
References Dakota::abort handler(), Constraints::constraintsRep, and Constraints::get constraints().
Constraints ( const SharedVariablesData & svd )
alternate constructor for instantiations on the fly
Envelope constructor for instantiations on the fly. This constructor executes get constraints(view), which
invokes the default derived/base constructors, followed by a reshape() based on vars comps.
References Dakota::abort handler(), Constraints::constraintsRep, and Constraints::get constraints().
Constraints ( const Constraints & con )
copy constructor
Copy constructor manages sharing of constraintsRep and incrementing of referenceCount.
References Constraints::constraintsRep, and Constraints::referenceCount.
Constraints (

) [virtual]

destructor
Destructor decrements referenceCount and only deletes constraintsRep when referenceCount reaches zero.
References Constraints::constraintsRep, and Constraints::referenceCount.
Constraints ( BaseConstructor , const ProblemDescDB & problem db, const SharedVariablesData & svd
) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get constraints() instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization list (to
avoid recursion in the base class constructor calling get constraints() again). Since the letter IS the representation,
its rep pointer is set to NULL (an uninitialized pointer causes problems in Constraints).
Constraints ( BaseConstructor , const SharedVariablesData & svd ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get constraints() instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization list (to

13.17. CONSTRAINTS CLASS REFERENCE

351

avoid recursion in the base class constructor calling get constraints() again). Since the letter IS the representation,
its rep pointer is set to NULL (an uninitialized pointer causes problems in Constraints).

13.17.3

Member Function Documentation

Constraints operator= ( const Constraints & con )


assignment operator
Assignment operator decrements referenceCount for old constraintsRep, assigns new constraintsRep, and
increments referenceCount for new constraintsRep.
References Constraints::constraintsRep, and Constraints::referenceCount.
void reshape ( const SizetArray & vc totals ) [virtual]
reshape the lower/upper bound arrays within the Constraints hierarchy
Resizes the derived bounds arrays.
Reimplemented in RelaxedVarConstraints, and MixedVarConstraints.
References Constraints::constraintsRep, Constraints::continuousLowerBnds, Constraints::discreteIntLowerBnds, Constraints::discreteRealLowerBnds, Constraints::linearEqConCoeffs, Constraints::linearIneqConCoeffs,
Constraints::numLinearEqCons, Constraints::numLinearIneqCons, and Constraints::reshape().
Referenced by DataFitSurrModel::DataFitSurrModel(), RecastModel::RecastModel(), MixedVarConstraints::reshape(), RelaxedVarConstraints::reshape(), and Constraints::reshape().
Constraints copy (

) const

for use when a deep copy is needed (the representation is not shared)
Deep copies are used for history mechanisms that catalogue permanent copies (should not change as the
representation within userDefinedConstraints changes).
References Constraints::allContinuousLowerBnds, Constraints::allContinuousUpperBnds, Constraints::allDiscreteIntLowerBnds, Constraints::allDiscreteIntUpperBnds, Constraints::allDiscreteRealLowerBnds, Constraints::allDiscreteRealUpperBnds, Constraints::build views(), Constraints::constraintsRep, Constraints::get constraints(),
Constraints::linearEqConCoeffs, Constraints::linearEqConTargets, Constraints::linearIneqConCoeffs, Constraints::linearIneqConLowerBnds, Constraints::linearIneqConUpperBnds, Constraints::nonlinearEqConTargets, Constraints::nonlinearIneqConLowerBnds, Constraints::nonlinearIneqConUpperBnds, Constraints::numLinearEqCons, Constraints::numLinearIneqCons, Constraints::numNonlinearEqCons, Constraints::numNonlinearIneqCons, and Constraints::sharedVarsData.
Referenced by SurrogateModel::force rebuild(), and RecastModel::RecastModel().
void reshape ( size t num nln ineq cons, size t num nln eq cons, size t num lin ineq cons, size t
num lin eq cons )
reshape the linear/nonlinear constraint arrays within the Constraints hierarchy
Resizes the linear and nonlinear constraint arrays at the base class. Does NOT currently resize the derived
bounds arrays.
References Constraints::constraintsRep, Constraints::linearEqConTargets, Constraints::linearIneqConLowerBnds, Constraints::linearIneqConUpperBnds, Constraints::nonlinearEqConTargets, Constraints::nonlinearIneqConLowerBnds, Constraints::nonlinearIneqConUpperBnds, Constraints::numLinearEqCons, Constraints::numLinearIneqCons, Constraints::numNonlinearEqCons, Constraints::numNonlinearIneqCons, and Constraints::reshape().

352

CHAPTER 13. CLASS DOCUMENTATION

void build views (

) [inline], [protected]

construct active/inactive views of all variables arrays


= EMPTY)
= EMPTY)
References Constraints::build active views(), Constraints::build inactive views(), Constraints::sharedVarsData,
and SharedVariablesData::view().
Referenced by Constraints::copy(), MixedVarConstraints::MixedVarConstraints(), RelaxedVarConstraints::RelaxedVarConstraints(), MixedVarConstraints::reshape(), and RelaxedVarConstraints::reshape().
void manage linear constraints ( const ProblemDescDB & problem db ) [protected]
perform checks on user input, convert linear constraint coefficient input to matrices, and assign defaults
Convenience function called from derived class constructors. The number of variables active for applying
linear constraints is currently defined to be the number of active continuous variables plus the number of active
discrete variables (the most general case), even though very few optimizers can currently support mixed variable
linear constraints.
References Dakota::abort handler(), Constraints::continuousLowerBnds, Dakota::copy data(), Constraints::discreteIntLowerBnds, Constraints::discreteRealLowerBnds, ProblemDescDB::get rv(), Constraints::linearEqConCoeffs, Constraints::linearEqConTargets, Constraints::linearIneqConCoeffs, Constraints::linearIneqConLowerBnds, Constraints::linearIneqConUpperBnds, Constraints::numLinearEqCons, and Constraints::numLinearIneqCons.
Referenced by MixedVarConstraints::MixedVarConstraints(), and RelaxedVarConstraints::RelaxedVarConstraints().
Constraints get constraints ( const ProblemDescDB & problem db, const SharedVariablesData & svd )
[private]
Used only by the constructor to initialize constraintsRep to the appropriate derived type.
Initializes constraintsRep to the appropriate derived type, as given by the variables view.
References SharedVariablesData::view().
Referenced by Constraints::Constraints(), and Constraints::copy().
Constraints get constraints ( const SharedVariablesData & svd ) const [private]
Used by copy() to initialize constraintsRep to the appropriate derived type.
Initializes constraintsRep to the appropriate derived type, as given by the variables view. The default derived
class constructors are invoked.
References SharedVariablesData::view().
The documentation for this class was generated from the following files:
DakotaConstraints.hpp
DakotaConstraints.cpp

13.18

DataEnvironment Class Reference

Handle class for environment specification data.

13.19. DATAENVIRONMENTREP CLASS REFERENCE

353

Public Member Functions


DataEnvironment ()
constructor

DataEnvironment (const DataEnvironment &)


copy constructor

DataEnvironment ()
destructor

DataEnvironment & operator= (const DataEnvironment &)


assignment operator

void write (std::ostream &s) const


write a DataEnvironment object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataEnvironment object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataEnvironment object to a packed MPI buffer

DataEnvironmentRep data rep ()


return dataEnvRep

Private Attributes
DataEnvironmentRep dataEnvRep
pointer to the body (handle-body idiom)

Friends
class ProblemDescDB
class NIDRProblemDescDB

13.18.1

Detailed Description

Handle class for environment specification data.


The DataEnvironment class is used to provide a memory management handle for the data in DataEnvironmentRep. It is populated by IDRProblemDescDB::environment kwhandler() and is queried by the ProblemDescDB::get <datatype>() functions. A single DataEnvironment object is maintained in ProblemDescDB::environmentSpec.
The documentation for this class was generated from the following files:
DataEnvironment.hpp
DataEnvironment.cpp

13.19

DataEnvironmentRep Class Reference

Body class for environment specification data.

354

CHAPTER 13. CLASS DOCUMENTATION

Public Attributes
bool graphicsFlag
flags use of graphics by the environment (from the graphics specification in EnvIndControl)

bool tabularDataFlag
flags tabular data collection by the environment (from the tabular graphics data specification in EnvIndControl)

String tabularDataFile
the filename used for tabular data collection by the environment (from the tabular graphics file specification in
EnvIndControl)

int outputPrecision
output precision for tabular and screen output

bool resultsOutputFlag
flags use of results output to default file

String resultsOutputFile
named file for results output

String topMethodPointer
method identifier for the environment (from the top method pointer specification

Private Member Functions


DataEnvironmentRep ()
constructor

DataEnvironmentRep ()
destructor

void write (std::ostream &s) const


write a DataEnvironmentRep object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataEnvironmentRep object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataEnvironmentRep object to a packed MPI buffer

Private Attributes
int referenceCount
number of handle objects sharing this dataEnvironmentRep

Friends
class DataEnvironment
the handle class can access attributes of the body class directly

13.20. DATAFITSURRMODEL CLASS REFERENCE

13.19.1

355

Detailed Description

Body class for environment specification data.


The DataEnvironmentRep class is used to contain the data from the environment keyword specification. Default values are managed in the DataEnvironmentRep constructor. Data is public to avoid maintaining set/get
functions, but is still encapsulated within ProblemDescDB since ProblemDescDB::environmentSpec is private.
The documentation for this class was generated from the following files:
DataEnvironment.hpp
DataEnvironment.cpp

13.20

DataFitSurrModel Class Reference

Derived model class within the surrogate model branch for managing data fit surrogates (global and local)
Inheritance diagram for DataFitSurrModel:

Model
SurrogateModel
DataFitSurrModel

Public Member Functions


DataFitSurrModel (ProblemDescDB &problem db)
constructor

DataFitSurrModel (Iterator &dace iterator, Model &actual model, const String &approx type, const UShortArray &approx order, short corr type, short corr order, short data order, short output level, const
String &point reuse, const String &export points file=String(), bool export annotated=true, const String
&import points file=String(), bool import annotated=true)
alternate constructor for instantiations on the fly

DataFitSurrModel ()
destructor

void total points (int points)


set pointsTotal and pointsManagement mode

Protected Member Functions


void derived compute response (const ActiveSet &set)
portion of compute response() specific to DataFitSurrModel

void derived asynch compute response (const ActiveSet &set)


portion of asynch compute response() specific to DataFitSurrModel

const IntResponseMap & derived synchronize ()


portion of synchronize() specific to DataFitSurrModel

356

CHAPTER 13. CLASS DOCUMENTATION


const IntResponseMap & derived synchronize nowait ()
portion of synchronize nowait() specific to DataFitSurrModel

Iterator & subordinate iterator ()


return daceIterator

Model & surrogate model ()


return this model instance

Model & truth model ()


return actualModel

void derived subordinate models (ModelList &ml, bool recurse flag)


return actualModel (and optionally its sub-models)

void update from subordinate model (bool recurse flag=true)


pass request to actualModel if recursing and then update from it

Interface & derived interface ()


return approxInterface

void primary response fn weights (const RealVector &wts, bool recurse flag=true)
set the relative weightings for multiple objective functions or least squares terms and optionally recurses into
actualModel

void surrogate response mode (short mode)


set responseMode and pass any bypass request on to actualModel for any lower-level surrogates.

void surrogate function indices (const IntSet &surr fn indices)


(re)set the surrogate index set in SurrogateModel::surrogateFnIndices and ApproximationInterface::approxFnIndices

void build approximation ()


Builds the local/multipoint/global approximation using daceIterator/actualModel to generate new data points.

bool build approximation (const Variables &vars, const IntResponsePair &response pr)
Builds the local/multipoint/global approximation using daceIterator/actualModel to generate new data points that
augment the vars/response anchor point.

void update approximation (bool rebuild flag)


replaces the approximation data with daceIterator results and rebuilds the approximation if requested

void update approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuild flag)
replaces the anchor point, and rebuilds the approximation if requested

void update approximation (const VariablesArray &vars array, const IntResponseMap &resp map, bool
rebuild flag)
replaces the current points array and rebuilds the approximation if requested

void append approximation (bool rebuild flag)


appends daceIterator results to a global approximation and rebuilds it if requested

void append approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuild flag)
appends a point to a global approximation and rebuilds it if requested

void append approximation (const VariablesArray &vars array, const IntResponseMap &resp map, bool
rebuild flag)
appends an array of points to a global approximation and rebuilds it if requested

void pop approximation (bool save surr data, bool rebuild flag=false)
remove approximation data added on previous append approximation() call or a specified number of points

void restore approximation ()

13.20. DATAFITSURRMODEL CLASS REFERENCE

357

restore a previous approximation data state

bool restore available ()


query for whether a trial increment is restorable

void finalize approximation ()


finalize data fit by applying all previous trial increments

void store approximation ()


store the current data fit approximation for later combination

void combine approximation (short corr type)


combine the current data fit approximation with one previously stored

SharedApproxData & shared approximation ()


retrieve the SharedApproxData from approxInterface

std::vector< Approximation > & approximations ()


retrieve the set of Approximations from approxInterface

const RealVectorArray & approximation coefficients ()


return the approximation coefficients from each Approximation (request forwarded to approxInterface)

void approximation coefficients (const RealVectorArray &approx coeffs)


set the approximation coefficients within each Approximation (request forwarded to approxInterface)

const RealVector & approximation variances (const Variables &vars)


return the approximation variance from each Approximation (request forwarded to approxInterface)

const Pecos::SurrogateData & approximation data (size t index)


return the approximation data from a particular Approximation (request forwarded to approxInterface)

void component parallel mode (short mode)


update component parallel mode for supporting parallelism in actualModel

void derived init communicators (int max eval concurrency, bool recurse flag=true)
set up actualModel for parallel operations

void derived init serial ()


set up actualModel for serial operations.

void derived set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration within actualModel

void derived free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for the DataFitSurrModel (request forwarded to actualModel)

void serve (int max eval concurrency)


Service actualModel job requests received from the master. Completes when a termination message is received
from stop servers().

void stop servers ()


Executed by the master to terminate actualModel server operations when DataFitSurrModel iteration is complete.

void inactive view (short view, bool recurse flag=true)


update the Models inactive view based on higher level (nested) context and optionally recurse into actualModel

const String & interface id () const


return the approxInterface identifier

int evaluation id () const


return the current evaluation id for the DataFitSurrModel

void set evaluation reference ()

358

CHAPTER 13. CLASS DOCUMENTATION


set the evaluation counter reference points for the DataFitSurrModel (request forwarded to approxInterface and
actualModel)

void fine grained evaluation counters ()


request fine-grained evaluation reporting within approxInterface and actualModel

void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true) const
print the evaluation summary for the DataFitSurrModel (request forwarded to approxInterface and actualModel)

virtual void eval tag prefix (const String &eval id str)


set the hierarchical eval ID tag prefix

Private Member Functions


void import points (bool annotated)
optionally read surrogate data points from provided file

void initialize export ()


initialize file stream for exporting surrogate evaluations

void manage data recastings ()


initialize manageRecasting and recastFlags for data import/export

void export point (int eval id, const Variables &vars, const Response &resp)
initialize file stream for exporting surrogate evaluations

void derived synchronize approx (const IntResponseMap &approx resp map, IntResponseMap &approx resp map rekey)
Common code for processing of approximate response maps shared by derived synchronize() and derived synchronizenowait()

void update global ()


Updates fit arrays for global approximations.

void update local multipoint ()


Updates fit arrays for local or multipoint approximations.

void build global ()


Builds a global approximation using daceIterator.

void build local multipoint ()


Builds a local or multipoint approximation using actualModel.

void update actual model ()


update actualModel with data from current variables/labels/bounds/targets

void update from actual model ()


update current variables/labels/bounds/targets with data from actualModel

bool inside (const RealVector &c vars, const IntVector &di vars, const RealVector &dr vars)
test if c vars and d vars are within [c l bnds,c u bnds] and [d l bnds,d u bnds]

13.20. DATAFITSURRMODEL CLASS REFERENCE

359

Private Attributes
int surrModelEvalCntr
number of calls to derived compute response()/ derived asynch compute response()

int pointsTotal
total points the user specified to construct the surrogate

short pointsManagement
configuration for points management in build global()

String pointReuse
type of point reuse for approximation builds: all, region (default if points file), or none (default if no points
file)

bool manageRecasting
flag indicating need to manage data recastings when importing build data or exporting approximate evaluations

BoolDeque recastFlags
a key indicating which models within a model recursion involve recasting

String importPointsFile
file name from import points file specification

String exportPointsFile
file name from export points file specification

bool exportAnnotated
annotation setting for file export of variables and approximate responses

std::ofstream exportFileStream
file name for export points file specification

VariablesList reuseFileVars
array of variables sets read from the import points file

ResponseList reuseFileResponses
array of response sets read from the import points file

Interface approxInterface
manages the building and subsequent evaluation of the approximations (required for both global and local)

Model actualModel
the truth model which provides evaluations for building the surrogate (optional for global, required for local)

Iterator daceIterator
selects parameter sets on which to evaluate actualModel in order to generate the necessary data for building global
approximations (optional for global since restart data may also be used)

String evalTagPrefix
cached evalTag Prefix from parents to use at compute response time

Additional Inherited Members


13.20.1

Detailed Description

Derived model class within the surrogate model branch for managing data fit surrogates (global and local)
The DataFitSurrModel class manages global or local approximations (surrogates that involve data fits) that are
used in place of an expensive model. The class contains an approxInterface (required for both global and local)
which manages the approximate function evaluations, an actualModel (optional for global, required for local)
which provides truth evaluations for building the surrogate, and a daceIterator (optional for global, not used for
local) which selects parameter sets on which to evaluate actualModel in order to generate the necessary data for
building global approximations.

360

13.20.2

CHAPTER 13. CLASS DOCUMENTATION

Constructor & Destructor Documentation

DataFitSurrModel (

) [inline]

destructor
Virtual destructor handles referenceCount at Strategy level.
References DataFitSurrModel::exportFileStream, and DataFitSurrModel::exportPointsFile.

13.20.3

Member Function Documentation

void derived compute response ( const ActiveSet & set ) [protected], [virtual]
portion of compute response() specific to DataFitSurrModel
Compute the response synchronously using actualModel, approxInterface, or both (mixed case). For the
approxInterface portion, build the approximation if needed, evaluate the approximate response, and apply correction (if active) to the results.
Reimplemented from Model.
References DiscrepancyCorrection::active(), Response::active set(), DataFitSurrModel::actualModel, DiscrepancyCorrection::apply(), SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface, SurrogateModel::asv mapping(), DataFitSurrModel::build approximation(), DataFitSurrModel::component parallel mode(), DiscrepancyCorrection::compute(), Model::compute response(), Response::copy(), Model::current response(), Model::currentResponse, Model::currentVariables, SurrogateModel::deltaCorr, Model::eval tag prefix(), DataFitSurrModel::evalTagPrefix, DataFitSurrModel::export point(), SurrogateModel::force rebuild(), Model::hierarchicalTagging, Interface::map(), Model::outputLevel, ActiveSet::request vector(), SurrogateModel::response mapping(), SurrogateModel::responseMode, DataFitSurrModel::surrModelEvalCntr, Response::update(), and DataFitSurrModel::update actualmodel().
void derived asynch compute response ( const ActiveSet & set ) [protected], [virtual]
portion of asynch compute response() specific to DataFitSurrModel
Compute the response asynchronously using actualModel, approxInterface, or both (mixed case). For the
approxInterface portion, build the approximation if needed and evaluate the approximate response in a quasiasynchronous approach (ApproximationInterface::map() performs the map synchronously and bookkeeps the results for return in derived synchronize() below).
Reimplemented from Model.
References DataFitSurrModel::actualModel, SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface,
SurrogateModel::asv mapping(), Model::asynch compute response(), DataFitSurrModel::build approximation(),
Variables::copy(), Model::currentResponse, Model::currentVariables, Model::eval tag prefix(), DataFitSurrModel::evalTagPrefix, Interface::evaluation id(), Model::evaluation id(), DataFitSurrModel::exportPointsFile, SurrogateModel::force rebuild(), Model::hierarchicalTagging, Interface::map(), SurrogateModel::rawVarsMap, ActiveSet::request vector(), SurrogateModel::responseMode, SurrogateModel::surrIdMap, DataFitSurrModel::surrModelEvalCntr, SurrogateModel::truthIdMap, and DataFitSurrModel::update actual model().
const IntResponseMap & derived synchronize (

) [protected], [virtual]

portion of synchronize() specific to DataFitSurrModel


Blocking retrieval of asynchronous evaluations from actualModel, approxInterface, or both (mixed case). For
the approxInterface portion, apply correction (if active) to each response in the array. derived synchronize() is
designed for the general case where derived asynch compute response() may be inconsistent in its use of actual
evaluations, approximate evaluations, or both.
Reimplemented from Model.

13.20. DATAFITSURRMODEL CLASS REFERENCE

361

References DataFitSurrModel::actualModel, DataFitSurrModel::approxInterface, DataFitSurrModel::componentparallel mode(), DiscrepancyCorrection::compute(), SurrogateModel::deltaCorr, DataFitSurrModel::derived synchronizeapprox(), Model::outputLevel, SurrogateModel::response mapping(), SurrogateModel::responseMode, SurrogateModel::surrIdMap, SurrogateModel::surrResponseMap, Interface::synch(), Model::synchronize(), and SurrogateModel::truthIdMap.
const IntResponseMap & derived synchronize nowait (

) [protected], [virtual]

portion of synchronize nowait() specific to DataFitSurrModel


Nonblocking retrieval of asynchronous evaluations from actualModel, approxInterface, or both (mixed case).
For the approxInterface portion, apply correction (if active) to each response in the map. derived synchronize nowait() is designed for the general case where derived asynch compute response() may be inconsistent in its use
of actual evals, approx evals, or both.
Reimplemented from Model.
References Dakota::abort handler(), DataFitSurrModel::actualModel, DataFitSurrModel::approxInterface, SurrogateModel::cachedApproxRespMap, DataFitSurrModel::component parallel mode(), DiscrepancyCorrection::compute(),
SurrogateModel::deltaCorr, DataFitSurrModel::derived synchronize approx(), Model::outputLevel, SurrogateModel::response mapping(), SurrogateModel::responseMode, SurrogateModel::surrIdMap, SurrogateModel::surrResponseMap, Interface::synch nowait(), Model::synchronize nowait(), and SurrogateModel::truthIdMap.
void build approximation (

) [protected], [virtual]

Builds the local/multipoint/global approximation using daceIterator/actualModel to generate new data points.
This function constructs a new approximation, discarding any previous data. It constructs any required data
for SurrogateData::{vars,resp}Data and does not define an anchor point for SurrogateData::anchor{Vars,Resp}.
Reimplemented from Model.
References DataFitSurrModel::actualModel, SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface,
Interface::build approximation(), DataFitSurrModel::build global(), DataFitSurrModel::build local multipoint(),
Interface::clear current(), Constraints::continuous lower bounds(), Model::continuous lower bounds(), Constraints::continuous upper bounds(), Model::continuous upper bounds(), Constraints::discrete int lower bounds(), Model::discrete int lower bounds(), Constraints::discrete int upper bounds(), Model::discrete int upper bounds(), Constraints::discrete real lower bounds(), Model::discrete real lower bounds(), Constraints::discrete real upper bounds(), Model::discrete real upper bounds(), Model::is null(), Dakota::strbegins(), Model::surrogateType, DataFitSurrModel::update actual model(), DataFitSurrModel::update global(), DataFitSurrModel::update local multipoint(), and
Model::userDefinedConstraints.
Referenced by DataFitSurrModel::derived asynch compute response(), and DataFitSurrModel::derived computeresponse().
bool build approximation ( const Variables & vars, const IntResponsePair & response pr )
[protected], [virtual]
Builds the local/multipoint/global approximation using daceIterator/actualModel to generate new data points that
augment the vars/response anchor point.
This function constructs a new approximation, discarding any previous data. It uses the passed data to populate
SurrogateData::anchor{Vars,Resp} and constructs any required data points for SurrogateData::{vars,resp}Data.
Reimplemented from Model.
References DataFitSurrModel::actualModel, SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface,
Interface::build approximation(), DataFitSurrModel::build global(), Interface::clear current(), Constraints::continuouslower bounds(), Model::continuous lower bounds(), Constraints::continuous upper bounds(), Model::continuousupper bounds(), Constraints::discrete int lower bounds(), Model::discrete int lower bounds(), Constraints::discrete-

362

CHAPTER 13. CLASS DOCUMENTATION

int upper bounds(), Model::discrete int upper bounds(), Constraints::discrete real lower bounds(), Model::discretereal lower bounds(), Constraints::discrete real upper bounds(), Model::discrete real upper bounds(), Model::isnull(), Dakota::strbegins(), Model::surrogateType, DataFitSurrModel::update actual model(), Interface::updateapproximation(), DataFitSurrModel::update global(), DataFitSurrModel::update local multipoint(), and Model::userDefinedConstraints.
void update approximation ( bool rebuild flag ) [protected], [virtual]
replaces the approximation data with daceIterator results and rebuilds the approximation if requested
This function populates/replaces SurrogateData::anchor{Vars,Resp} and rebuilds the approximation, if requested. It does not clear other data (i.e., SurrogateData::{vars,resp}Data) and does not update the actualModel
with revised bounds, labels, etc. Thus, it updates data from a previous call to build approximation(), and is not
intended to be used in isolation.
Reimplemented from Model.
References Iterator::all responses(), Iterator::all samples(), Iterator::all variables(), SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface, Iterator::compact mode(), DataFitSurrModel::daceIterator, Model::numFns, Interface::rebuild approximation(), Model::surrogateType, and Interface::update approximation().
void update approximation ( const Variables & vars, const IntResponsePair & response pr, bool
rebuild flag ) [protected], [virtual]
replaces the anchor point, and rebuilds the approximation if requested
This function populates/replaces SurrogateData::anchor{Vars,Resp} and rebuilds the approximation, if requested. It does not clear other data (i.e., SurrogateData::{vars,resp}Data) and does not update the actualModel
with revised bounds, labels, etc. Thus, it updates data from a previous call to build approximation(), and is not
intended to be used in isolation.
Reimplemented from Model.
References SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface, Model::numFns, Interface::rebuild approximation(), Model::surrogateType, and Interface::update approximation().
void update approximation ( const VariablesArray & vars array, const IntResponseMap & resp map,
bool rebuild flag ) [protected], [virtual]
replaces the current points array and rebuilds the approximation if requested
This function populates/replaces SurrogateData::{vars,resp}Data and rebuilds the approximation, if requested.
It does not clear other data (i.e., SurrogateData::anchor{Vars,Resp}) and does not update the actualModel with
revised bounds, labels, etc. Thus, it updates data from a previous call to build approximation(), and is not intended
to be used in isolation.
Reimplemented from Model.
References SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface, Model::numFns, Interface::rebuild approximation(), Model::surrogateType, and Interface::update approximation().
void append approximation ( bool rebuild flag ) [protected], [virtual]
appends daceIterator results to a global approximation and rebuilds it if requested
This function appends one point to SurrogateData::{vars,resp}Data and rebuilds the approximation, if requested. It does not modify other data (i.e., SurrogateData::anchor{Vars,Resp}) and does not update the actualModel with revised bounds, labels, etc. Thus, it appends to data from a previous call to build approximation(),
and is not intended to be used in isolation.
Reimplemented from Model.

13.20. DATAFITSURRMODEL CLASS REFERENCE

363

References Iterator::all responses(), Iterator::all samples(), Iterator::all variables(), Interface::append approximation(),


SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface, Iterator::compact mode(), DataFitSurrModel::daceIterator, Model::numFns, Interface::rebuild approximation(), and Model::surrogateType.
void append approximation ( const Variables & vars, const IntResponsePair & response pr, bool
rebuild flag ) [protected], [virtual]
appends a point to a global approximation and rebuilds it if requested
This function appends one point to SurrogateData::{vars,resp}Data and rebuilds the approximation, if requested. It does not modify other data (i.e., SurrogateData::anchor{Vars,Resp}) and does not update the actualModel with revised bounds, labels, etc. Thus, it appends to data from a previous call to build approximation(),
and is not intended to be used in isolation.
Reimplemented from Model.
References Interface::append approximation(), SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface,
Model::numFns, Interface::rebuild approximation(), and Model::surrogateType.
void append approximation ( const VariablesArray & vars array, const IntResponseMap & resp map,
bool rebuild flag ) [protected], [virtual]
appends an array of points to a global approximation and rebuilds it if requested
This function appends multiple points to SurrogateData::{vars,resp}Data and rebuilds the approximation, if
requested. It does not modify other data (i.e., SurrogateData::anchor{Vars,Resp}) and does not update the actualModel with revised bounds, labels, etc. Thus, it appends to data from a previous call to build approximation(),
and is not intended to be used in isolation.
Reimplemented from Model.
References Interface::append approximation(), SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface,
Model::numFns, Interface::rebuild approximation(), and Model::surrogateType.
void derived init communicators ( int max eval concurrency, bool recurse flag = true ) [inline],
[protected], [virtual]
set up actualModel for parallel operations
asynchronous flags need to be initialized for the sub-models. In addition, max eval concurrency is the outer
level iterator concurrency, not the DACE concurrency that actualModel will see, and recomputing the messagelengths on the sub-model is probably not a bad idea either. Therefore, recompute everything on actualModel
using init communicators.
Reimplemented from Model.
References DataFitSurrModel::actualModel, DataFitSurrModel::approxInterface, DataFitSurrModel::daceIterator,
Model::derivative concurrency(), Iterator::init communicators(), Iterator::is null(), Model::is null(), Iterator::iteratedmodel(), Iterator::maximum evaluation concurrency(), and Interface::minimum points().
int evaluation id (

) const [inline], [protected], [virtual]

return the current evaluation id for the DataFitSurrModel


return the DataFitSurrModel evaluation count. Due to possibly intermittent use of surrogate bypass, this is
not the same as either the approxInterface or actualModel model evaluation counts. It also does not distinguish
duplicate evals.
Reimplemented from Model.
References DataFitSurrModel::surrModelEvalCntr.

364

CHAPTER 13. CLASS DOCUMENTATION

void import points ( bool annotated ) [private]


optionally read surrogate data points from provided file
Constructor helper to read the points file once, if provided, and then reuse its data as appropriate within
build global()
References SharedVariablesData::cv(), and ActiveSet::derivative vector().
Referenced by DataFitSurrModel::DataFitSurrModel().
void initialize export (

) [private]

initialize file stream for exporting surrogate evaluations


Constructor helper to export approximation-based evaluations to a file.
Referenced by DataFitSurrModel::DataFitSurrModel().
void manage data recastings (

) [private]

initialize manageRecasting and recastFlags for data import/export


Constructor helper to manage model recastings for data import/export.
Referenced by DataFitSurrModel::DataFitSurrModel().
void export point ( int eval id, const Variables & vars, const Response & resp ) [private]
initialize file stream for exporting surrogate evaluations
Constructor helper to export approximation-based evaluations to a file.
References Dakota:: NPOS, RecastModel::inverse transform response(), Model::model rep(), and RecastModel::transform variables().
Referenced by DataFitSurrModel::derived compute response().
void build global (

) [private]

Builds a global approximation using daceIterator.


Determine points to use in building the approximation and then evaluate them on actualModel using daceIterator. Any changes to the bounds should be performed by setting them at a higher level (e.g., SurrBasedOptStrategy).
References Dakota::abort handler(), Iterator::active set(), DataFitSurrModel::actualModel, Iterator::all responses(),
Iterator::all samples(), Iterator::all variables(), Interface::append approximation(), Interface::approximation data(),
DataFitSurrModel::approxInterface, SurrogateModel::asv mapping(), Iterator::compact mode(), DataFitSurrModel::component parallel mode(), Variables::continuous variables(), Model::currentVariables, Variables::cv(), Model::cv(), DataFitSurrModel::daceIterator, Dakota::data pairs, Variables::discrete int variables(), Variables::discretereal variables(), Variables::div(), Model::div(), Variables::drv(), Model::drv(), Iterator::eval tag prefix(), DataFitSurrModel::evalTagPrefix, Model::hierarchicalTagging, DataFitSurrModel::importPointsFile, DataFitSurrModel::inside(), Model::interface id(), RecastModel::inverse transform variables(), Iterator::is null(), Model::is null(),
DataFitSurrModel::manageRecasting, Interface::minimum points(), Model::model rep(), Model::modelList, Iterator::num samples(), Model::outputLevel, DataFitSurrModel::pointReuse, DataFitSurrModel::pointsManagement, DataFitSurrModel::pointsTotal, DataFitSurrModel::recastFlags, Interface::recommended points(), ActiveSet::requestvector(), DataFitSurrModel::reuseFileResponses, DataFitSurrModel::reuseFileVars, Iterator::run(), Iterator::samplingreset(), DataFitSurrModel::surrModelEvalCntr, and SurrogateModel::surrogateFnIndices.
Referenced by DataFitSurrModel::build approximation().

13.20. DATAFITSURRMODEL CLASS REFERENCE


void build local multipoint (

365

) [private]

Builds a local or multipoint approximation using actualModel.


Evaluate the value, gradient, and possibly Hessian needed for a local or multipoint approximation using actualModel.
References Response::active set(), DataFitSurrModel::actualModel, DataFitSurrModel::approxInterface, SurrogateModel::asv mapping(), DataFitSurrModel::component parallel mode(), Model::compute response(), Model::continuousvariable ids(), Model::current response(), Model::current variables(), ActiveSet::derivative vector(), Model::evaluationid(), Model::hessian type(), Model::numFns, ActiveSet::request vector(), Dakota::strbegins(), Model::surrogateType, and Interface::update approximation().
Referenced by DataFitSurrModel::build approximation().
void update actual model (

) [private]

update actualModel with data from current variables/labels/bounds/targets


Update variables and constraints data within actualModel using values and labels from currentVariables and
bound/linear/nonlinear constraints from userDefinedConstraints.
References Dakota::abort handler().
Referenced by DataFitSurrModel::build approximation(), DataFitSurrModel::derived asynch compute response(),
and DataFitSurrModel::derived compute response().
void update from actual model (

) [private]

update current variables/labels/bounds/targets with data from actualModel


Update values and labels in currentVariables and bound/linear/nonlinear constraints in userDefinedConstraints
from variables and constraints data within actualModel.
References Dakota::abort handler().
Referenced by DataFitSurrModel::DataFitSurrModel(), and DataFitSurrModel::update from subordinate model().

13.20.4

Member Data Documentation

Model actualModel [private]


the truth model which provides evaluations for building the surrogate (optional for global, required for local)
actualModel is unrestricted in type; arbitrary nestings are possible.
Referenced by DataFitSurrModel::build approximation(), DataFitSurrModel::build global(), DataFitSurrModel::build local multipoint(), DataFitSurrModel::DataFitSurrModel(), DataFitSurrModel::derived asynch computeresponse(), DataFitSurrModel::derived compute response(), DataFitSurrModel::derived free communicators(),
DataFitSurrModel::derived init communicators(), DataFitSurrModel::derived init serial(), DataFitSurrModel::derivedset communicators(), DataFitSurrModel::derived subordinate models(), DataFitSurrModel::derived synchronize(),
DataFitSurrModel::derived synchronize nowait(), DataFitSurrModel::fine grained evaluation counters(), DataFitSurrModel::inactive view(), DataFitSurrModel::inside(), DataFitSurrModel::primary response fn weights(), DataFitSurrModel::print evaluation summary(), DataFitSurrModel::serve(), DataFitSurrModel::stop servers(), DataFitSurrModel::surrogate response mode(), DataFitSurrModel::truth model(), DataFitSurrModel::update from subordinatemodel(), DataFitSurrModel::update global(), and DataFitSurrModel::update local multipoint().
The documentation for this class was generated from the following files:
DataFitSurrModel.hpp
DataFitSurrModel.cpp

366

CHAPTER 13. CLASS DOCUMENTATION

13.21

DataInterface Class Reference

Handle class for interface specification data.

Public Member Functions


DataInterface ()
constructor

DataInterface (const DataInterface &)


copy constructor

DataInterface ()
destructor

DataInterface & operator= (const DataInterface &)


assignment operator

void write (std::ostream &s) const


write a DataInterface object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataInterface object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataInterface object to a packed MPI buffer

DataInterfaceRep data rep ()


return dataIfaceRep

Static Public Member Functions


static bool id compare (const DataInterface &di, const std::string &id)
compares the idInterface attribute of DataInterface objects

Private Attributes
DataInterfaceRep dataIfaceRep
pointer to the body (handle-body idiom)

Friends
class ProblemDescDB
class NIDRProblemDescDB

13.21.1

Detailed Description

Handle class for interface specification data.


The DataInterface class is used to provide a memory management handle for the data in DataInterfaceRep. It is populated by IDRProblemDescDB::interface kwhandler() and is queried by the ProblemDescDB::get <datatype>() functions. A list of DataInterface objects is maintained in ProblemDescDB::dataInterfaceList, one
for each interface specification in an input file.
The documentation for this class was generated from the following files:
DataInterface.hpp
DataInterface.cpp

13.22. DATAMETHOD CLASS REFERENCE

13.22

367

DataMethod Class Reference

Handle class for method specification data.

Public Member Functions


DataMethod ()
constructor

DataMethod (const DataMethod &)


copy constructor

DataMethod ()
destructor

DataMethod & operator= (const DataMethod &)


assignment operator

void write (std::ostream &s) const


write a DataMethod object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataMethod object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataMethod object to a packed MPI buffer

DataMethodRep data rep ()


return dataMethodRep

Static Public Member Functions


static bool id compare (const DataMethod &dm, const std::string &id)
compares the idMethod attribute of DataMethod objects

Private Attributes
DataMethodRep dataMethodRep
pointer to the body (handle-body idiom)

Friends
class ProblemDescDB
class NIDRProblemDescDB

13.22.1

Detailed Description

Handle class for method specification data.


The DataMethod class is used to provide a memory management handle for the data in DataMethodRep. It is
populated by IDRProblemDescDB::method kwhandler() and is queried by the ProblemDescDB::get <datatype>()
functions. A list of DataMethod objects is maintained in ProblemDescDB::dataMethodList, one for each method
specification in an input file.
The documentation for this class was generated from the following files:
DataMethod.hpp
DataMethod.cpp

368

CHAPTER 13. CLASS DOCUMENTATION

13.23

DataMethodRep Class Reference

Body class for method specification data.

Public Attributes
String idMethod
string identifier for the method specification data set (from the id method specification in MethodIndControl)

String modelPointer
string pointer to the model specification to be used by this method (from the model pointer specification in
MethodIndControl)

short methodOutput
method verbosity control: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG} OUTPUT (from the output specification in MethodIndControl)

int maxIterations
maximum number of iterations allowed for the method (from the max iterations specification in MethodIndControl)

int maxFunctionEvaluations
maximum number of function evaluations allowed for the method (from the max function evaluations specification in MethodIndControl)

bool speculativeFlag
flag for use of speculative gradient approaches for maintaining parallel load balance during the line search portion
of optimization algorithms (from the speculative specification in MethodIndControl)

bool methodUseDerivsFlag
flag for usage of derivative data to enhance the computation of surrogate models (PCE/SC expansions, GP models
for EGO/EGRA/EGIE) based on the use derivatives specification

Real convergenceTolerance
iteration convergence tolerance for the method (from the convergence tolerance specification in MethodIndControl)

Real constraintTolerance
tolerance for controlling the amount of infeasibility that is allowed before an active constraint is considered to be
violated (from the constraint tolerance specification in MethodIndControl)

bool methodScaling
flag indicating scaling status (from the scaling specification in MethodIndControl)

size t numFinalSolutions
number of final solutions returned from the iterator

RealVector linearIneqConstraintCoeffs
coefficient matrix for the linear inequality constraints (from the linear inequality constraint matrix
specification in MethodIndControl)

RealVector linearIneqLowerBnds
lower bounds for the linear inequality constraints (from the linear inequality lower bounds specification in MethodIndControl)

RealVector linearIneqUpperBnds
upper bounds for the linear inequality constraints (from the linear inequality upper bounds specification in MethodIndControl)

StringArray linearIneqScaleTypes

13.23. DATAMETHODREP CLASS REFERENCE

369

scaling types for the linear inequality constraints (from the linear inequality scale types specification
in MethodIndControl)

RealVector linearIneqScales
scaling factors for the linear inequality constraints (from the linear inequality scales specification in
MethodIndControl)

RealVector linearEqConstraintCoeffs
coefficient matrix for the linear equality constraints (from the linear equality constraint matrix specification in MethodIndControl)

RealVector linearEqTargets
targets for the linear equality constraints (from the linear equality targets specification in MethodIndControl)

StringArray linearEqScaleTypes
scaling types for the linear equality constraints (from the linear equality scale types specification in
MethodIndControl)

RealVector linearEqScales
scaling factors for the linear equality constraints (from the linear equality scales specification in MethodIndControl)

unsigned short methodName


the method selection: one of the optimizer, least squares, nond, dace, or parameter study methods

unsigned short subMethod


enum value for a sub-method type

String subMethodName
string identifier for a sub-method name within a multi-option method specification (e.g., from meta-iterators)

String subModelPointer
string pointer for a sub-model specification used by a meta-iterator

String subMethodPointer
string pointer for a sub-method specification used by a meta-iterator

int iteratorServers
number of servers for concurrent iterator parallelism (from the iterator servers specification)

int procsPerIterator
number of processors for each concurrent iterator partition (from the processors per iterator specification)

short iteratorScheduling
type of scheduling ({DEFAULT,MASTER,PEER} SCHEDULING) used in concurrent iterator parallelism (from
the iterator scheduling specification)

StringArray hybridMethodNames
array of methods for the sequential and collaborative hybrid meta-iterators (from the method name list specification)

StringArray hybridModelPointers
array of models for the sequential and collaborative hybrid meta-iterators (from the model pointer list
specification)

StringArray hybridMethodPointers
array of methods for the sequential and collaborative hybrid meta-iterators (from the method pointer list
specification)

String hybridGlobalMethodName

370

CHAPTER 13. CLASS DOCUMENTATION


global method name for embedded hybrids (from the global method name specification)

String hybridGlobalModelPointer
global model pointer for embedded hybrids (from the global model pointer specification)

String hybridGlobalMethodPointer
global method pointer for embedded hybrids (from the global method pointer specification)

String hybridLocalMethodName
local method name for embedded hybrids (from the local method name specification)

String hybridLocalModelPointer
local model pointer for embedded hybrids (from the local model pointer specification)

String hybridLocalMethodPointer
local method pointer for embedded hybrids (from the local method pointer specification)

Real hybridLSProb
local search probability for embedded hybrids (from the local search probability specification)

int concurrentRandomJobs
number of random jobs to perform in the pareto set and multi start meta-iterators (from the random starts and
random weight sets specifications)

RealVector concurrentParameterSets
user-specified (i.e., nonrandom) parameter sets to evaluate in the pareto set and multi start meta-iterators (from
the starting points and weight sets specifications)

int surrBasedLocalSoftConvLimit
number of consecutive iterations with change less than convergenceTolerance required to trigger convergence
within the surrogate-based local method (from the soft convergence limit specification in MethodSBL)

bool surrBasedLocalLayerBypass
flag to indicate user-specification of a bypass of any/all layerings in evaluating truth response values in SBL.

Real surrBasedLocalTRInitSize
initial trust region size in the surrogate-based local method (from the initial size specification in MethodSBL) note: this is a relative value, e.g., 0.1 = 10% of global bounds distance (upper bound - lower bound) for each
variable

Real surrBasedLocalTRMinSize
minimum trust region size in the surrogate-based local method (from the minimum size specification in MethodSBL), if the trust region size falls below this threshold the SBL iterations are terminated (note: if kriging is used
with SBL, the min trust region size is set to 1.0e-3 in attempt to avoid ill-conditioned matrixes that arise in kriging
over small trust regions)

Real surrBasedLocalTRContractTrigger
trust region minimum improvement level (ratio of actual to predicted decrease in objective fcn) in the surrogatebased local method (from the contract threshold specification in MethodSBL), the trust region shrinks or is
rejected if the ratio is below this value (eta 1 in the Conn-Gould-Toint trust region book)

Real surrBasedLocalTRExpandTrigger
trust region sufficient improvement level (ratio of actual to predicted decrease in objective fn) in the surrogate-based
local method (from the expand threshold specification in MethodSBL), the trust region expands if the ratio is
above this value (eta 2 in the Conn-Gould-Toint trust region book)

Real surrBasedLocalTRContract
trust region contraction factor in the surrogate-based local method (from the contraction factor specification in MethodSBL)

Real surrBasedLocalTRExpand

13.23. DATAMETHODREP CLASS REFERENCE

371

trust region expansion factor in the surrogate-based local method (from the expansion factor specification in
MethodSBL)

short surrBasedLocalSubProbObj
SBL approximate subproblem objective: ORIGINAL PRIMARY, SINGLE OBJECTIVE, LAGRANGIAN OBJECTIVE, or AUGMENTED LAGRANGIAN OBJECTIVE.

short surrBasedLocalSubProbCon
SBL approximate subproblem constraints: NO CONSTRAINTS, LINEARIZED CONSTRAINTS, or ORIGINAL CONSTRAINTS.

short surrBasedLocalMeritFn
SBL merit function type: BASIC PENALTY, ADAPTIVE PENALTY, BASIC LAGRANGIAN, or AUGMENTED LAGRANGIAN.

short surrBasedLocalAcceptLogic
SBL iterate acceptance logic: TR RATIO or FILTER.

short surrBasedLocalConstrRelax
SBL constraint relaxation method: NO RELAX or HOMOTOPY.

bool surrBasedGlobalReplacePts
user-specified method for adding points to the set upon which the next surrogate is based in the surrogate based global method.

String dlDetails
string of options for a dynamically linked solver

void dlLib
handle to dynamically loaded library

int verifyLevel
the verify level specification in MethodNPSOLDC

Real functionPrecision
the function precision specification in MethodNPSOLDC and the EPSILON specification in NOMAD

Real lineSearchTolerance
the linesearch tolerance specification in MethodNPSOLDC

Real absConvTol
absolute function convergence tolerance

Real xConvTol
x-convergence tolerance

Real singConvTol
singular convergence tolerance

Real singRadius
radius for singular convergence test

Real falseConvTol
false-convergence tolerance

Real initTRRadius
initial trust radius

int covarianceType
kind of covariance required

bool regressDiag
whether to print the regression diagnostic vector

372

CHAPTER 13. CLASS DOCUMENTATION


String searchMethod
the search method specification for Newton and nonlinear interior-point methods in MethodOPTPPDC

Real gradientTolerance
the gradient tolerance specification in MethodOPTPPDC

Real maxStep
the max step specification in MethodOPTPPDC

short meritFn
the merit function specification for nonlinear interior-point methods in MethodOPTPPDC

Real stepLenToBoundary
the steplength to boundary specification for nonlinear interior-point methods in MethodOPTPPDC

Real centeringParam
the centering parameter specification for nonlinear interior-point methods in MethodOPTPPDC

int searchSchemeSize
the search scheme size specification for PDS methods in MethodOPTPPDC

Real initStepLength
the initStepLength choice for nonlinearly constrained APPS in MethodAPPSDC

Real contractStepLength
the contractStepLength choice for nonlinearly constrained APPS in MethodAPPSDC

Real threshStepLength
the threshStepLength choice for nonlinearly constrained APPS in MethodAPPSDC

String meritFunction
the meritFunction choice for nonlinearly constrained APPS in MethodAPPSDC

Real constrPenalty
the constrPenalty choice for nonlinearly constrained APPS in MethodAPPSDC

Real smoothFactor
the initial smoothFactor value for nonlinearly constrained APPS in MethodAPPSDC

Real constraintPenalty
the initial constraint penalty for COLINY methods in MethodAPPS, MethodSCOLIBDIR, MethodSCOLIBPS, MethodSCOLIBSW and MethodSCOLIBEA

bool constantPenalty
the constant penalty flag for COLINY methods in MethodSCOLIBPS and MethodSCOLIBSW

Real globalBalanceParam
the global balance parameter for the DIRECT method in MethodSCOLIBDIR

Real localBalanceParam
the local balance parameter for the DIRECT method in MethodSCOLIBDIR

Real maxBoxSize
the max boxsize limit for the DIRECT method in MethodSCOLIBDIR

Real minBoxSize
the min boxsize limit for the DIRECT method in MethodSCOLIBDIR and MethodNCSUDC

String boxDivision
the division setting (major dimension or all dimensions) for the DIRECT method in MethodSCOLIBDIR

bool mutationAdaptive

13.23. DATAMETHODREP CLASS REFERENCE

373

the non adaptive specification for the coliny ea method in MethodSCOLIBEA

bool showMiscOptions
the show misc options specification in MethodSCOLIBDC

StringArray miscOptions
the misc options specification in MethodSCOLIBDC

Real solnTarget
the solution target specification in MethodSCOLIBDC

Real crossoverRate
the crossover rate specification for EA methods in MethodSCOLIBEA

Real mutationRate
the mutation rate specification for EA methods in MethodSCOLIBEA

Real mutationScale
the mutation scale specification for EA methods in MethodSCOLIBEA

Real mutationMinScale
the min scale specification for mutation in EA methods in MethodSCOLIBEA

Real initDelta
the initial delta specification for APPS/COBYLA/PS/SW methods in MethodAPPS, MethodSCOLIBCOB,
MethodSCOLIBPS, and MethodSCOLIBSW

Real threshDelta
the threshold delta specification for APPS/COBYLA/PS/SW methods in MethodAPPS, MethodSCOLIBCOB,
MethodSCOLIBPS, and MethodSCOLIBSW

Real contractFactor
the contraction factor specification for APPS/PS/SW methods in MethodAPPS, MethodSCOLIBPS, and
MethodSCOLIBSW

int newSolnsGenerated
the new solutions generated specification for GA/EPSA methods in MethodSCOLIBEA

int numberRetained
the integer assignment to random, chc, or elitist in the replacement type specification for GA/EPSA methods
in MethodSCOLIBEA

bool expansionFlag
the no expansion specification for APPS/PS/SW methods in MethodAPPS, MethodSCOLIBPS, and MethodSCOLIBSW

int expandAfterSuccess
the expand after success specification for PS/SW methods in MethodSCOLIBPS and MethodSCOLIBSW

int contractAfterFail
the contract after failure specification for the SW method in MethodSCOLIBSW

int mutationRange
the mutation range specification for the pga int method in MethodSCOLIBEA

int totalPatternSize
the total pattern size specification for PS methods in MethodSCOLIBPS

bool randomizeOrderFlag
the stochastic specification for the PS method in MethodSCOLIBPS

String selectionPressure
the fitness type specification for EA methods in MethodSCOLIBEA

374

CHAPTER 13. CLASS DOCUMENTATION


String replacementType
the replacement type specification for EA methods in MethodSCOLIBEA

String crossoverType
the crossover type specification for EA methods in MethodSCOLIBEA

String mutationType
the mutation type specification for EA methods in MethodSCOLIBEA

String exploratoryMoves
the exploratory moves specification for the PS method in MethodSCOLIBPS

String patternBasis
the pattern basis specification for APPS/PS methods in MethodAPPS and MethodSCOLIBPS

String betaSolverName
beta solvers dont need documentation

String evalSynchronize
the synchronization setting for parallel pattern search methods in MethodSCOLIBPS and MethodAPPS

size t numCrossPoints
The number of crossover points or multi-point schemes.

size t numParents
The number of parents to use in a crossover operation.

size t numOffspring
The number of children to produce in a crossover operation.

String fitnessType
the fitness assessment operator to use.

String convergenceType
The means by which this JEGA should converge.

Real percentChange
The minimum percent change before convergence for a fitness tracker converger.

size t numGenerations
The number of generations over which a fitness tracker converger should track.

Real fitnessLimit
The cutoff value for survival in fitness limiting selectors (e.g., below limit selector).

Real shrinkagePercent
The minimum percentage of the requested number of selections that must take place on each call to the selector (0,
1).

String nichingType
The niching type.

RealVector nicheVector
The discretization percentage along each objective.

size t numDesigns
The maximum number of designs to keep when using the max designs nicher.

String postProcessorType
The post processor type.

RealVector distanceVector
The discretization percentage along each objective.

13.23. DATAMETHODREP CLASS REFERENCE

375

String initializationType
The means by which the JEGA should initialize the population.

String flatFile
The filename to use for initialization.

String logFile
The filename to use for logging.

int populationSize
the population size specification for GA methods in MethodSCOLIBEA

bool printPopFlag
The print each pop flag to set the printing of the population at each generation.

Real volBoxSize
the volume boxsize limit for the DIRECT method in MethodNCSUDC

int numSymbols
the symbols specification for DACE methods

bool mainEffectsFlag
the main effects specification for sampling methods in MethodDDACE)

bool latinizeFlag
the latinize specification for FSU QMC and CVT methods in MethodFSUDACE

bool volQualityFlag
the quality metrics specification for sampling methods (FSU QMC and CVT methods in MethodFSUDACE)

IntVector sequenceStart
the sequenceStart specification in MethodFSUDACE

IntVector sequenceLeap
the sequenceLeap specification in MethodFSUDACE

IntVector primeBase
the primeBase specification in MethodFSUDACE

int numTrials
the numTrials specification in MethodFSUDACE

String trialType
the trial type specification in MethodFSUDACE

int randomSeed
the seed specification for COLINY, NonD, & DACE methods

String historyFile
the HISTORY FILE specification for NOMAD

String displayFormat
the DISPLAY STATS specification for NOMAD

Real vns
the VNS specification for NOMAD

bool showAllEval
the DISPLAY ALL EVAL specification for NOMAD

int numSamples
the samples specification for NonD & DACE methods

bool fixedSeedFlag

376

CHAPTER 13. CLASS DOCUMENTATION


flag for fixing the value of the seed among different NonD/DACE sample sets. This results in the use of the same
sampling stencil/pattern throughout an execution with repeated sampling.

bool fixedSequenceFlag
flag for fixing the sequence for Halton or Hammersley QMC sample sets. This results in the use of the same
sampling stencil/pattern throughout an execution with repeated sampling.

int previousSamples
the number of previous samples when augmenting a LHS sample

bool vbdFlag
the var based decomp specification for a variety of sampling methods

Real vbdDropTolerance
the var based decomp tolerance for omitting index output

unsigned short vbdOrder


a sub-specification of vbdFlag: interaction order limit for calculation/output of component VBD indices

short covarianceControl
restrict the calculation of a full response covariance matrix for high dimensional outputs: {DEFAULT,DIAGONAL,FULL} COVARIANCE

String rngName
the basic random-number generator for NonD

short refinementType
refinement type for stochastic expansions from dimension refinement keyword group

short refinementControl
refinement control for stochastic expansions from dimension refinement keyword group

short nestingOverride
override for default point nesting policy: NO NESTING OVERRIDE, NESTED, or NON NESTED

short growthOverride
override for default point growth restriction policy: NO GROWTH OVERRIDE, RESTRICTED, or UNRESTRICTED

short expansionType
enumeration for u-space type that defines u-space variable targets for probability space transformations: EXTENDED U (default), ASKEY U, STD NORMAL U, or STD UNIFORM U

bool piecewiseBasis
boolean indicating presence of piecewise keyword

short expansionBasisType
enumeration for type of basis in sparse grid interpolation (Pecos::{NODAL,HIERARCHICAL} INTERPOLANT)
or regression (Pecos::{TENSOR PRODUCT,TOTAL ORDER,ADAPTED} BASIS).

UShortArray expansionOrder
the expansion order specification in MethodNonDPCE

SizetArray expansionSamples
the expansion samples specification in MethodNonDPCE

String expansionSampleType
allows for incremental PCE construction using the incremental lhs specification in MethodNonDPCE

UShortArray quadratureOrder
the quadrature order specification in MethodNonDPCE and MethodNonDSC

UShortArray sparseGridLevel

13.23. DATAMETHODREP CLASS REFERENCE

377

the sparse grid level specification in MethodNonDPCE, MethodNonDSC, and other stochastic expansionenabled methods

RealVector anisoDimPref
the dimension preference specification for tensor and sparse grids and expansion orders in MethodNonDPCE and MethodNonDSC

unsigned short cubIntOrder


the cubature integrand specification in MethodNonDPCE

SizetArray collocationPoints
the collocation points specification in MethodNonDPCE

Real collocationRatio
the collocation ratio specification in MethodNonDPCE

Real collocRatioTermsOrder
order applied to the number of expansion terms when applying or computing the collocation ratio within regression
PCE; based on the ratio order specification in MethodNonDPCE

short regressionType
type of regression: LS, OMP, BP, BPDN, LARS, or LASSO

short lsRegressionType
type of least squares regression: SVD or EQ CON QR

RealVector regressionNoiseTol
noise tolerance(s) for OMP, BPDN, LARS, and LASSO

Real regressionL2Penalty
L2 regression penalty for a variant of LASSO known as the elastic net method (default of 0 gives standard LASSO)

bool crossValidation
flag indicating the use of cross-validation across expansion orders (given a prescribed maximum order) and, for
some methods, noise tolerances

bool normalizedCoeffs
flag indicating the output of PCE coefficients corresponding to normalized basis polynomials

String pointReuse
allows PCE construction to reuse points from previous sample sets or data import using the reuse points
specification in MethodNonDPCE

bool tensorGridFlag
flag for usage of a sub-sampled set of tensor-product grid points within regression PCE; based on the tensor grid specification in MethodNonDPCE

UShortArray tensorGridOrder
order of tensor-product grid points that are sub-sampled within orthogonal least interpolation PCE; based on the
tensor grid specification in MethodNonDPCE

String expansionImportFile
the import expansion file specification in MethodNonDPCE

String expansionExportFile
the export expansion file specification in MethodNonDPCE

unsigned short sampleType


the sample type specification in MethodNonDMC, MethodNonDPCE, and MethodNonDSC

unsigned short reliabilitySearchType

378

CHAPTER 13. CLASS DOCUMENTATION


the type of limit state search in MethodNonDLocalRel (x taylor mean, x taylor mpp, x two point, u taylor mean, u taylor mpp, u two point, or no approx) or MethodNonDGlobalRel (x gaussian process or u gaussian process)

String reliabilityIntegration
the first order or second order integration selection in MethodNonDLocalRel

unsigned short integrationRefine


the import, adapt import, or mm adapt import integration refinement selection in MethodNonDLocalRel,
MethodNonDPCE, and MethodNonDSC

int refineSamples
the refinement samples selection in MethodNonDLocalRel, MethodNonDPCE, and MethodNonDSC

short distributionType
the distribution cumulative or complementary specification in MethodNonD

short responseLevelTarget
the compute probabilities, reliabilities, or gen reliabilities specification in MethodNonD

short responseLevelTargetReduce
the system series or parallel specification in MethodNonD

RealVectorArray responseLevels
the response levels specification in MethodNonD

RealVectorArray probabilityLevels
the probability levels specification in MethodNonD

RealVectorArray reliabilityLevels
the reliability levels specification in MethodNonD

RealVectorArray genReliabilityLevels
the gen reliability levels specification in MethodNonD

int emulatorSamples
the number of samples to construct a GP emulator for Bayesian calibration methods (MethodNonDBayesCalib)

short emulatorType
the emulator specification in MethodNonDBayesCalib

String mcmcType
the mcmc type specification in MethodNonDBayesCalib

String rejectionType
the rejection type specification in MethodNonDBayesCalib

String metropolisType
the metropolis type specification in MethodNonDBayesCalib

RealVector proposalCovScale
the proposal covariance scale factor in MethodNonDBayesCalib

Real likelihoodScale
the likelihood scale factor in MethodNonDBayesCalib

String fitnessMetricType
the fitness metric type specification in MethodNonDAdaptive

String batchSelectionType
the batch selection type specification in MethodNonDAdaptive

int batchSize

13.23. DATAMETHODREP CLASS REFERENCE

379

The size of the batch (e.g. number of supplemental points added) to be added to be added to the build points for an
emulator at each iteration.

bool calibrateSigmaFlag
flag to indicate if the sigma terms should be calibrated in MethodNonDBayesCalib

int numChains
number of concurrent chains

int numCR
number of CR-factors

int crossoverChainPairs
number of crossover chain pairs

Real grThreshold
threshold for the Gelmin-Rubin statistic

int jumpStep
how often to perform a long jump in generations

RealVector finalPoint
the final point specification in MethodPSVPS

RealVector stepVector
the step vector specification in MethodPSVPS and MethodPSCPS

int numSteps
the num steps specification in MethodPSVPS

IntVector stepsPerVariable
the deltas per variable specification in MethodPSCPS

RealVector listOfPoints
the list of points specification in MethodPSLPS

String pstudyFilename
the import points file spec for a file-based parameter study

bool pstudyFileAnnotated
whether the parameter study points file is annotated

UShortArray varPartitions
the partitions specification for PStudy method in MethodPSMPS

Real refinementRate
rate of mesh refinement in Richardson extrapolation

String approxImportFile
the file name for point import in surrogate-based methods

bool approxImportAnnotated
whether the point import file is annotated (default true)

String approxExportFile
the file name for point export in surrogate-based methods

bool approxExportAnnotated
whether the point export file is annotated (default true)

380

CHAPTER 13. CLASS DOCUMENTATION

Private Member Functions


DataMethodRep ()
constructor

DataMethodRep ()
destructor

void write (std::ostream &s) const


write a DataInterfaceRep object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataInterfaceRep object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataInterfaceRep object to a packed MPI buffer

Private Attributes
int referenceCount
number of handle objects sharing this dataMethodRep

Friends
class DataMethod
the handle class can access attributes of the body class directly

13.23.1

Detailed Description

Body class for method specification data.


The DataMethodRep class is used to contain the data from a method keyword specification. Default values
are managed in the DataMethodRep constructor. Data is public to avoid maintaining set/get functions, but is still
encapsulated within ProblemDescDB since ProblemDescDB::dataMethodList is private.
The documentation for this class was generated from the following files:
DataMethod.hpp
DataMethod.cpp

13.24

DataModel Class Reference

Handle class for model specification data.

Public Member Functions


DataModel ()
constructor

DataModel (const DataModel &)


copy constructor

DataModel ()
destructor

DataModel & operator= (const DataModel &)

13.25. DATAMODELREP CLASS REFERENCE

381

assignment operator

void write (std::ostream &s) const


write a DataModel object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataModel object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataModel object to a packed MPI buffer

DataModelRep data rep ()


return dataModelRep

Static Public Member Functions


static bool id compare (const DataModel &dm, const std::string &id)
compares the idModel attribute of DataModel objects

Private Attributes
DataModelRep dataModelRep
pointer to the body (handle-body idiom)

Friends
class ProblemDescDB
class NIDRProblemDescDB

13.24.1

Detailed Description

Handle class for model specification data.


The DataModel class is used to provide a memory management handle for the data in DataModelRep. It is
populated by IDRProblemDescDB::model kwhandler() and is queried by the ProblemDescDB::get <datatype>()
functions. A list of DataModel objects is maintained in ProblemDescDB::dataModelList, one for each model
specification in an input file.
The documentation for this class was generated from the following files:
DataModel.hpp
DataModel.cpp

13.25

DataModelRep Class Reference

Body class for model specification data.

Public Attributes
String idModel
string identifier for the model specification data set (from the id model specification in ModelIndControl)

String modelType
model type selection: single, surrogate, or nested (from the model type specification in ModelIndControl)

382

CHAPTER 13. CLASS DOCUMENTATION


String variablesPointer
string pointer to the variables specification to be used by this model (from the variables pointer specification
in ModelIndControl)

String interfacePointer
string pointer to the interface specification to be used by this model (from the interface pointer specification
in ModelSingle and the optional interface pointer specification in ModelNested)

String responsesPointer
string pointer to the responses specification to be used by this model (from the responses pointer specification in ModelIndControl)

bool hierarchicalTags
whether this model and its children will add hierarchy-based tags to eval ids

String subMethodPointer
pointer to a sub-iterator used for global approximations (from the dace method pointer specification in
ModelSurrG) or by nested models (from the sub method pointer specification in ModelNested)

IntSet surrogateFnIndices
array specifying the response function set that is approximated

String surrogateType
the selected surrogate type: local taylor, multipoint tana, global (neural network,mars,orthogonal polynomial,gaussian,
polynomial,kriging), or hierarchical

String truthModelPointer
pointer to the model specification for constructing the truth model used in building local, multipoint, and hierarchical approximations (from the actual model pointer specification in ModelSurrL and ModelSurrMP and
the high fidelity model pointer specification in ModelSurrH)

String lowFidelityModelPointer
pointer to the low fidelity model specification used in hierarchical approximations (from the low fidelity model pointer specification in ModelSurrH)

int pointsTotal
user-specified lower bound on total points with which to build the model (if reuse points < pointsTotal, new samples
will make up the difference)

short pointsManagement
points management configuration for DataFitSurrModel: DEFAULT POINTS, MINIMUM POINTS, or RECOMMENDED POINTS

String approxPointReuse
sample reuse selection for building global approximations: none, all, region, or file (from the reuse samples
specification in ModelSurrG)

String approxImportFile
the file name from the import points file specification in ModelSurrG

bool approxImportAnnotated
whether the point import file is annotated (default true)

String approxExportFile
the file name from the export points file specification in ModelSurrG

bool approxExportAnnotated
whether the point export file is annotated (default true)

String approxExportModelFile
the file name from the export model file specification in ModelSurrG

13.25. DATAMODELREP CLASS REFERENCE

383

short approxCorrectionType
correction type for global and hierarchical approximations: NO CORRECTION, ADDITIVE CORRECTION, MULTIPLICATIVE CORRECTION, or COMBINED CORRECTION (from the correction specification in ModelSurrG and ModelSurrH)

short approxCorrectionOrder
correction order for global and hierarchical approximations: 0, 1, or 2 (from the correction specification in
ModelSurrG and ModelSurrH)

bool modelUseDerivsFlag
flags the use of derivatives in building global approximations (from the use derivatives specification in
ModelSurrG)

short polynomialOrder
scalar integer indicating the order of the polynomial approximation (1=linear, 2=quadratic, 3=cubic; from the
polynomial specification in ModelSurrG)

RealVector krigingCorrelations
vector of correlations used in building a kriging approximation (from the correlations specification in ModelSurrG)

String krigingOptMethod
optimization method to use in finding optimal correlation parameters: none, sampling, local, global

short krigingMaxTrials
maximum number of trials in optimization of kriging correlations

RealVector krigingMaxCorrelations
upper bound on kriging correlation vector

RealVector krigingMinCorrelations
lower bound on kriging correlation vector

Real krigingNugget
nugget value for kriging

short krigingFindNugget
option to have Kriging find the best nugget value to use

short mlsPolyOrder
polynomial order for moving least squares approximation

short mlsWeightFunction
weight function for moving least squares approximation

short rbfBases
bases for radial basis function approximation

short rbfMaxPts
maximum number of points for radial basis function approximation

short rbfMaxSubsets
maximum number of subsets for radial basis function approximation

short rbfMinPartition
minimum partition for radial basis function approximation

short marsMaxBases
maximum number of bases for MARS approximation

String marsInterpolation
interpolation type for MARS approximation

384

CHAPTER 13. CLASS DOCUMENTATION


short annRandomWeight
random weight for artificial neural network approximation

short annNodes
number of nodes for artificial neural network approximation

Real annRange
range for artificial neural network approximation

String trendOrder
scalar integer indicating the order of the Gaussian process mean (0= constant, 1=linear, 2=quadratic, 3=cubic);
from the gaussian process specification in ModelSurrG)

bool pointSelection
flag indicating the use of point selection in the Gaussian process

StringArray diagMetrics
List of diagnostic metrics the user requests to assess the goodness of fit for a surrogate model.

bool crossValidateFlag
flag indicating the use of cross validation on the metrics specified

int numFolds
number of folds to perform in cross validation

Real percentFold
percentage of data to withhold for cross validation process

bool pressFlag
flag indicating the use of PRESS on the metrics specified

String approxChallengeFile
the file name from the challenge points file specification in ModelSurrG

bool approxChallengeAnnotated
whether the challenge data file is annotated (default true)

String optionalInterfRespPointer
string pointer to the responses specification used by the optional interface in nested models (from the optionalinterface responses pointer specification in ModelNested)

StringArray primaryVarMaps
the primary variable mappings used in nested models for identifying the lower level variable targets for inserting
top level variable values (from the primary variable mapping specification in ModelNested)

StringArray secondaryVarMaps
the secondary variable mappings used in nested models for identifying the (distribution) parameter targets within
the lower level variables for inserting top level variable values (from the secondary variable mapping
specification in ModelNested)

RealVector primaryRespCoeffs
the primary response mapping matrix used in nested models for weighting contributions from the sub-iterator
responses in the top level (objective) functions (from the primary response mapping specification in ModelNested)

RealVector secondaryRespCoeffs
the secondary response mapping matrix used in nested models for weighting contributions from the sub-iterator
responses in the top level (constraint) functions (from the secondary response mapping specification in
ModelNested)

int subMethodServers
number of servers for concurrent sub-iterator parallelism

13.26. DATARESPONSES CLASS REFERENCE

385

int subMethodProcs
number of processors for each concurrent sub-iterator partition

short subMethodScheduling
scheduling approach for concurrent sub-iterator parallelism: {DEFAULT,MASTER,PEER} SCHEDULING

Private Member Functions


DataModelRep ()
constructor

DataModelRep ()
destructor

void write (std::ostream &s) const


write a DataModelRep object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataModelRep object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataModelRep object to a packed MPI buffer

Private Attributes
int referenceCount
number of handle objects sharing this dataModelRep

Friends
class DataModel
the handle class can access attributes of the body class directly

13.25.1

Detailed Description

Body class for model specification data.


The DataModelRep class is used to contain the data from a model keyword specification. Default values
are managed in the DataModelRep constructor. Data is public to avoid maintaining set/get functions, but is still
encapsulated within ProblemDescDB since ProblemDescDB::dataModelList is private.
The documentation for this class was generated from the following files:
DataModel.hpp
DataModel.cpp

13.26

DataResponses Class Reference

Handle class for responses specification data.

386

CHAPTER 13. CLASS DOCUMENTATION

Public Member Functions


DataResponses ()
constructor

DataResponses (const DataResponses &)


copy constructor

DataResponses ()
destructor

DataResponses & operator= (const DataResponses &)


assignment operator

void write (std::ostream &s) const


write a DataResponses object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataResponses object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataResponses object to a packed MPI buffer

DataResponsesRep data rep ()


return dataRespRep

Static Public Member Functions


static bool id compare (const DataResponses &dr, const std::string &id)
compares the idResponses attribute of DataResponses objects

Private Attributes
DataResponsesRep dataRespRep
pointer to the body (handle-body idiom)

Friends
class ProblemDescDB
class NIDRProblemDescDB

13.26.1

Detailed Description

Handle class for responses specification data.


The DataResponses class is used to provide a memory management handle for the data in DataResponsesRep. It is populated by IDRProblemDescDB::responses kwhandler() and is queried by the ProblemDescDB::get<datatype>() functions. A list of DataResponses objects is maintained in ProblemDescDB::dataResponsesList,
one for each responses specification in an input file.
The documentation for this class was generated from the following files:
DataResponses.hpp
DataResponses.cpp

13.27. DATARESPONSESREP CLASS REFERENCE

13.27

387

DataResponsesRep Class Reference

Body class for responses specification data.

Public Attributes
String idResponses
string identifier for the responses specification data set (from the id responses specification in RespSetId)

StringArray responseLabels
the response labels array (from the response descriptors specification in RespLabels)

size t numObjectiveFunctions
number of objective functions (from the num objective functions specification in RespFnOpt)

size t numNonlinearIneqConstraints
number of nonlinear inequality constraints (from the num nonlinear inequality constraints specification in RespFnOpt)

size t numNonlinearEqConstraints
number of nonlinear equality constraints (from the num nonlinear equality constraints specification
in RespFnOpt)

size t numLeastSqTerms
number of least squares terms (from the num least squares terms specification in RespFnLS)

size t numResponseFunctions
number of generic response functions (from the num response functions specification in RespFnGen)

StringArray primaryRespFnSense
optimization sense for each objective function: minimize or maximize

RealVector primaryRespFnWeights
vector of weightings for multiobjective optimization or weighted nonlinear least squares (from the multi objective weights specification in RespFnOpt and the least squares weights specification in RespFnLS)

RealVector nonlinearIneqLowerBnds
vector of nonlinear inequality constraint lower bounds (from the nonlinear inequality lower bounds
specification in RespFnOpt)

RealVector nonlinearIneqUpperBnds
vector of nonlinear inequality constraint upper bounds (from the nonlinear inequality upper bounds
specification in RespFnOpt)

RealVector nonlinearEqTargets
vector of nonlinear equality constraint targets (from the nonlinear equality targets specification in
RespFnOpt)

StringArray primaryRespFnScaleTypes
vector of primary response function scaling types (from the objective function scale types specification in RespFnOpt and the least squares term scale types specification in RespFnLS)

RealVector primaryRespFnScales
vector of primary response function scaling factors (from the objective function scales specification in
RespFnOpt and the least squares term scales specification in RespFnLS)

StringArray nonlinearIneqScaleTypes
vector of nonlinear inequality constraint scaling types (from the nonlinear inequality scale types
specification in RespFnOpt)

388

CHAPTER 13. CLASS DOCUMENTATION


RealVector nonlinearIneqScales
vector of nonlinear inequality constraint scaling factors (from the nonlinear inequality scales specification in RespFnOpt)

StringArray nonlinearEqScaleTypes
vector of nonlinear equality constraint scaling types (from the nonlinear equality scale types specification in RespFnOpt)

RealVector nonlinearEqScales
vector of nonlinear equality constraint scaling factors (from the nonlinear equality scales specification
in RespFnOpt)

size t numExperiments
number of distinct experiments in experimental data

IntVector numReplicates
number of replicates in experimental data (e.g. one experiment run many times at the same configuration gives
replicates)

size t numExpConfigVars
number of experimental configuration vars (state variables) in each row of data

size t numExpStdDeviations
whether to read num responses standard deviations from each row of data file

RealVector expConfigVars
list of num experiments x num config vars configuration variable values

RealVector expObservations
list of num calibration terms observation data

RealVector expStdDeviations
list of 1 or num calibration terms observation standard deviations

String expDataFileName
name of experimental data file containing response data (with optional state variable and sigma data) to read

bool expDataFileAnnotated
whether the experimental data is in annotated format

String gradientType
gradient type: none, numerical, analytic, or mixed (from the no gradients, numerical gradients, analyticgradients, and mixed gradients specifications in RespGrad)

String hessianType
Hessian type: none, numerical, quasi, analytic, or mixed (from the no hessians, numerical hessians,
quasi hessians, analytic hessians, and mixed hessians specifications in RespHess)

bool ignoreBounds
option to ignore bounds when doing finite differences (default is to honor bounds)

bool centralHess
Temporary(?) option to use old 2nd-order diffs when computing finite-difference Hessians; default is forward
differences.

String quasiHessianType
quasi-Hessian type: bfgs, damped bfgs, or sr1 (from the bfgs and sr1 specifications in RespHess)

String methodSource
numerical gradient method source: dakota or vendor (from the method source specification in RespGradNum
and RespGradMixed)

String intervalType

13.27. DATARESPONSESREP CLASS REFERENCE

389

numerical gradient interval type: forward or central (from the interval type specification in RespGradNum
and RespGradMixed)

RealVector fdGradStepSize
vector of finite difference step sizes for numerical gradients, one step size per active continuous variable, used in
computing 1st-order forward or central differences (from the fd gradient step size specification in RespGradNum and RespGradMixed)

String fdGradStepType
type of finite difference step to use for numerical gradient: relative - step length is relative to x absolute - step length
is what is specified bounds - step length is relative to range of x

RealVector fdHessStepSize
vector of finite difference step sizes for numerical Hessians, one step size per active continuous variable, used in
computing 1st-order gradient-based differences and 2nd-order function-based differences (from the fd hessianstep size specification in RespHessNum and RespHessMixed)

String fdHessStepType
type of finite difference step to use for numerical Hessian: relative - step length is relative to x absolute - step length
is what is specified bounds - step length is relative to range of x

IntSet idNumericalGrads
mixed gradient numerical identifiers (from the id numerical gradients specification in RespGradMixed)

IntSet idAnalyticGrads
mixed gradient analytic identifiers (from the id analytic gradients specification in RespGradMixed)

IntSet idNumericalHessians
mixed Hessian numerical identifiers (from the id numerical hessians specification in RespHessMixed)

IntSet idQuasiHessians
mixed Hessian quasi identifiers (from the id quasi hessians specification in RespHessMixed)

IntSet idAnalyticHessians
mixed Hessian analytic identifiers (from the id analytic hessians specification in RespHessMixed)

Private Member Functions


DataResponsesRep ()
constructor

DataResponsesRep ()
destructor

void write (std::ostream &s) const


write a DataResponsesRep object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataResponsesRep object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataResponsesRep object to a packed MPI buffer

Private Attributes
int referenceCount
number of handle objects sharing this dataResponsesRep

390

CHAPTER 13. CLASS DOCUMENTATION

Friends
class DataResponses
the handle class can access attributes of the body class directly

13.27.1

Detailed Description

Body class for responses specification data.


The DataResponsesRep class is used to contain the data from a responses keyword specification. Default
values are managed in the DataResponsesRep constructor. Data is public to avoid maintaining set/get functions,
but is still encapsulated within ProblemDescDB since ProblemDescDB::dataResponsesList is private.
The documentation for this class was generated from the following files:
DataResponses.hpp
DataResponses.cpp

13.28

DataVariables Class Reference

Handle class for variables specification data.

Public Member Functions


DataVariables ()
constructor

DataVariables (const DataVariables &)


copy constructor

DataVariables ()
destructor

DataVariables operator= (const DataVariables &)


assignment operator

bool operator== (const DataVariables &)


equality operator

void write (std::ostream &s) const


write a DataVariables object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataVariables object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataVariables object to a packed MPI buffer

DataVariablesRep data rep ()


return dataVarsRep

size t design ()
return total number of design variables

size t aleatory uncertain ()


return total number of aleatory uncertain variables

size t epistemic uncertain ()


return total number of epistemic uncertain variables

13.29. DATAVARIABLESREP CLASS REFERENCE

391

size t uncertain ()
return total number of uncertain variables

size t state ()
return total number of state variables

size t continuous variables ()


return total number of continuous variables

size t discrete variables ()


return total number of discrete variables

size t total variables ()


return total number of variables

Static Public Member Functions


static bool id compare (const DataVariables &dv, const std::string &id)
compares the idVariables attribute of DataVariables objects

Private Attributes
DataVariablesRep dataVarsRep
pointer to the body (handle-body idiom)

Friends
class ProblemDescDB
class NIDRProblemDescDB

13.28.1

Detailed Description

Handle class for variables specification data.


The DataVariables class is used to provide a memory management handle for the data in DataVariablesRep. It is populated by IDRProblemDescDB::variables kwhandler() and is queried by the ProblemDescDB::get <datatype>() functions. A list of DataVariables objects is maintained in ProblemDescDB::dataVariablesList, one
for each variables specification in an input file.
The documentation for this class was generated from the following files:
DataVariables.hpp
DataVariables.cpp

13.29

DataVariablesRep Class Reference

Body class for variables specification data.

392

CHAPTER 13. CLASS DOCUMENTATION

Public Attributes
String idVariables
string identifier for the variables specification data set (from the id variables specification in VarSetId)

short varsView
user selection/override of variables view: {DEFAULT,ALL,DESIGN, UNCERTAIN,ALEATORY UNCERTAIN,EPISTEMIC UNCERTAIN,STATE} VIEW

short varsDomain
user selection/override of variables domain: {DEFAULT,MIXED,RELAXED} DOMAIN

bool uncertainVarsInitPt
flag indicating user specification of initial points (for local optimization-based UQ methods) for at least one uncertain variable type

size t numContinuousDesVars
number of continuous design variables (from the continuous design specification in VarDV)

size t numDiscreteDesRangeVars
number of discrete design variables defined by an integer range (from the discrete design range specification in VarDV)

size t numDiscreteDesSetIntVars
number of discrete design variables defined by a set of integers (from the discrete design set integer
specification in VarDV)

size t numDiscreteDesSetRealVars
number of discrete design variables defined by a set of reals (from the discrete design set real specification in VarDV)

size t numNormalUncVars
number of normal uncertain variables (from the normal uncertain specification in VarAUV)

size t numLognormalUncVars
number of lognormal uncertain variables (from the lognormal uncertain specification in VarAUV)

size t numUniformUncVars
number of uniform uncertain variables (from the uniform uncertain specification in VarAUV)

size t numLoguniformUncVars
number of loguniform uncertain variables (from the loguniform uncertain specification in VarAUV)

size t numTriangularUncVars
number of triangular uncertain variables (from the triangular uncertain specification in VarAUV)

size t numExponentialUncVars
number of exponential uncertain variables (from the exponential uncertain specification in VarAUV)

size t numBetaUncVars
number of beta uncertain variables (from the beta uncertain specification in VarAUV)

size t numGammaUncVars
number of gamma uncertain variables (from the gamma uncertain specification in VarAUV)

size t numGumbelUncVars
number of gumbel uncertain variables (from the gumbel uncertain specification in VarAUV)

size t numFrechetUncVars
number of frechet uncertain variables (from the frechet uncertain specification in VarAUV)

size t numWeibullUncVars

13.29. DATAVARIABLESREP CLASS REFERENCE

393

number of weibull uncertain variables (from the weibull uncertain specification in VarAUV)

size t numHistogramBinUncVars
number of histogram bin uncertain variables (from the histogram bin uncertain specification in VarAUV)

size t numPoissonUncVars
number of Poisson uncertain variables (from the poisson uncertain specification in VarAUV)

size t numBinomialUncVars
number of binomial uncertain variables (from the binomial uncertain specification in VarAUV)

size t numNegBinomialUncVars
number of negative binomial uncertain variables (from the negative binomial uncertain specification in
VarAUV)

size t numGeometricUncVars
number of geometric uncertain variables (from the geometric uncertain specification in VarAUV

size t numHyperGeomUncVars
number of hypergeometric uncertain variables (from the hypergeometric uncertain specification in VarAUV))

size t numHistogramPtUncVars
number of histogram point uncertain variables (from the histogram point uncertain specification in VarAUV)

size t numContinuousIntervalUncVars
number of continuous epistemic interval uncertain variables (from the continuous interval uncertain
specification in VarEUV)

size t numDiscreteIntervalUncVars
number of discrete epistemic interval uncertain variables (from the discrete interval uncertain specification in VarEUV)

size t numDiscreteUncSetIntVars
number of discrete epistemic uncertain integer set variables (from the discrete uncertain set integer
specification in VarEUV)

size t numDiscreteUncSetRealVars
number of discrete epistemic uncertain real set variables (from the discrete uncertain set real specification in VarEUV)

size t numContinuousStateVars
number of continuous state variables (from the continuous state specification in VarSV)

size t numDiscreteStateRangeVars
number of discrete state variables defined by an integer range (from the discrete state range specification
in VarDV)

size t numDiscreteStateSetIntVars
number of discrete state variables defined by a set of integers (from the discrete state set integer specification in VarDV)

size t numDiscreteStateSetRealVars
number of discrete state variables defined by a set of reals (from the discrete state set real specification
in VarDV)

RealVector continuousDesignVars
initial values for the continuous design variables array (from the continuous design initial point specification in VarDV)

RealVector continuousDesignLowerBnds

394

CHAPTER 13. CLASS DOCUMENTATION


lower bounds array for the continuous design variables (from the continuous design lower bounds specification in VarDV)

RealVector continuousDesignUpperBnds
upper bounds array for the continuous design variables (from the continuous design upper bounds specification in VarDV)

StringArray continuousDesignScaleTypes
scale types array for the continuous design variables (from the continuous design scale types specification in VarDV)

RealVector continuousDesignScales
scales array for the continuous design variables (from the continuous design scales specification in VarDV)

IntVector discreteDesignRangeVars
initial values for the discrete design variables defined by an integer range (from the discrete design range
initial point specification in VarDV)

IntVector discreteDesignRangeLowerBnds
lower bounds array for the discrete design variables defined by an integer range (from the discrete designrange lower bounds specification in VarDV)

IntVector discreteDesignRangeUpperBnds
upper bounds array for the discrete design variables defined by an integer range(from the discrete design range upper bounds specification in VarDV)

IntVector discreteDesignSetIntVars
initial values for the discrete design variables defined by an integer set (from the discrete design set integer initial point specification in VarDV)

RealVector discreteDesignSetRealVars
initial values for the discrete design variables defined by a real set (from the discrete design set real
initial point specification in VarDV)

IntSetArray discreteDesignSetInt
complete set of admissible values for each of the discrete design variables defined by an integer set (from the
discrete design set integer set values specification in VarDV)

RealSetArray discreteDesignSetReal
complete set of admissible values for each of the discrete design variables defined by a real set (from the discretedesign set real set values specification in VarDV)

StringArray continuousDesignLabels
labels array for the continuous design variables (from the continuous design descriptors specification
in VarDV)

StringArray discreteDesignRangeLabels
labels array for the discrete design variables defined by an integer range (from the discrete design range
descriptors specification in VarDV)

StringArray discreteDesignSetIntLabels
labels array for the discrete design variables defined by an integer set (from the discrete design range
descriptors specification in VarDV)

StringArray discreteDesignSetRealLabels
labels array for the discrete design variables defined by a real set (from the discrete design range descriptors
specification in VarDV)

RealVector normalUncMeans
means of the normal uncertain variables (from the means specification in VarCAUV Normal)

13.29. DATAVARIABLESREP CLASS REFERENCE

395

RealVector normalUncStdDevs
standard deviations of the normal uncertain variables (from the std deviations specification in VarCAUV Normal)

RealVector normalUncLowerBnds
distribution lower bounds for the normal uncertain variables (from the lower bounds specification in VarCAUV Normal)

RealVector normalUncUpperBnds
distribution upper bounds for the normal uncertain variables (from the upper bounds specification in VarCAUV Normal)

RealVector normalUncVars
initial values of the normal uncertain variables (from the initial point specification in VarCAUV Normal)

RealVector lognormalUncLambdas
lambdas (means of the corresponding normals) of the lognormal uncertain variables (from the lambdas specification in VarCAUV Lognormal)

RealVector lognormalUncZetas
zetas (standard deviations of the corresponding normals) of the lognormal uncertain variables (from the zetas
specification in VarCAUV Lognormal)

RealVector lognormalUncMeans
means of the lognormal uncertain variables (from the means specification in VarCAUV Lognormal)

RealVector lognormalUncStdDevs
standard deviations of the lognormal uncertain variables (from the std deviations specification in VarCAUV Lognormal)

RealVector lognormalUncErrFacts
error factors for the lognormal uncertain variables (from the error factors specification in VarCAUV Lognormal)

RealVector lognormalUncLowerBnds
distribution lower bounds for the lognormal uncertain variables (from the lower bounds specification in VarCAUV Lognormal)

RealVector lognormalUncUpperBnds
distribution upper bounds for the lognormal uncertain variables (from the upper bounds specification in VarCAUV Lognormal)

RealVector lognormalUncVars
initial values of the lognormal uncertain variables (from the initial point specification in VarCAUV Lognormal)

RealVector uniformUncLowerBnds
distribution lower bounds for the uniform uncertain variables (from the lower bounds specification in VarCAUV Uniform)

RealVector uniformUncUpperBnds
distribution upper bounds for the uniform uncertain variables (from the upper bounds specification in VarCAUV Uniform)

RealVector uniformUncVars
initial values of the uniform uncertain variables (from the initial point specification in VarCAUV Uniform)

RealVector loguniformUncLowerBnds
distribution lower bounds for the loguniform uncertain variables (from the lower bounds specification in VarCAUV Loguniform)

RealVector loguniformUncUpperBnds
distribution upper bounds for the loguniform uncertain variables (from the upper bounds specification in VarCAUV Loguniform)

396

CHAPTER 13. CLASS DOCUMENTATION


RealVector loguniformUncVars
initial values of the loguniform uncertain variables (from the initial point specification in VarCAUV Loguniform)

RealVector triangularUncModes
modes of the triangular uncertain variables (from the modes specification in VarCAUV Triangular)

RealVector triangularUncLowerBnds
distribution lower bounds for the triangular uncertain variables (from the lower bounds specification in VarCAUV Triangular)

RealVector triangularUncUpperBnds
distribution upper bounds for the triangular uncertain variables (from the upper bounds specification in VarCAUV Triangular)

RealVector triangularUncVars
initial values of the triangular uncertain variables (from the initial point specification in VarCAUV Triangular)

RealVector exponentialUncBetas
beta factors for the exponential uncertain variables (from the betas specification in VarCAUV Exponential)

RealVector exponentialUncVars
initial values of the exponential uncertain variables (from the initial point specification in VarCAUV Exponential)

RealVector betaUncAlphas
alpha factors for the beta uncertain variables (from the means specification in VarCAUV Beta)

RealVector betaUncBetas
beta factors for the beta uncertain variables (from the std deviations specification in VarCAUV Beta)

RealVector betaUncLowerBnds
distribution lower bounds for the beta uncertain variables (from the lower bounds specification in VarCAUV Beta)

RealVector betaUncUpperBnds
distribution upper bounds for the beta uncertain variables (from the upper bounds specification in VarCAUV Beta)

RealVector betaUncVars
initial values of the beta uncertain variables (from the initial point specification in VarCAUV Beta)

RealVector gammaUncAlphas
alpha factors for the gamma uncertain variables (from the alphas specification in VarCAUV Gamma)

RealVector gammaUncBetas
beta factors for the gamma uncertain variables (from the betas specification in VarCAUV Gamma)

RealVector gammaUncVars
initial values of the gamma uncertain variables (from the initial point specification in VarCAUV Gamma)

RealVector gumbelUncAlphas
alpha factors for the gumbel uncertain variables (from the alphas specification in VarCAUV Gumbel)

RealVector gumbelUncBetas
beta factors for of the gumbel uncertain variables (from the betas specification in VarCAUV Gumbel)

RealVector gumbelUncVars
initial values of the gumbel uncertain variables (from the initial point specification in VarCAUV Gumbel)

RealVector frechetUncAlphas
alpha factors for the frechet uncertain variables (from the alphas specification in VarCAUV Frechet)

RealVector frechetUncBetas

13.29. DATAVARIABLESREP CLASS REFERENCE

397

beta factors for the frechet uncertain variables (from the betas specification in VarCAUV Frechet)

RealVector frechetUncVars
initial values of the frechet uncertain variables (from the initial point specification in VarCAUV Frechet)

RealVector weibullUncAlphas
alpha factors for the weibull uncertain variables (from the alphas specification in VarCAUV Weibull)

RealVector weibullUncBetas
beta factors for the weibull uncertain variables (from the betas specification in VarCAUV Weibull)

RealVector weibullUncVars
initial values of the weibull uncertain variables (from the initial point specification in VarCAUV Weibull)

RealVectorArray histogramUncBinPairs
an array containing a vector of (x,c) pairs for each bin-based histogram uncertain variable (see continuous linear
histogram in LHS manual; from the histogram bin uncertain specification in VarCAUV Bin Histogram).
(x,y) ordinate specifications are converted to (x,c) counts within NIDR.

RealVector histogramBinUncVars
initial values of the histogram bin uncertain variables (from the initial point specification in VarCAUV BinHistogram)

RealVector poissonUncLambdas
lambdas (rate parameter) for the poisson uncertain variables (from the lambdas specification in VarDAUV Poisson)

IntVector poissonUncVars
initial values of the poisson uncertain variables (from the initial point specification in VarDAUV Poisson)

RealVector binomialUncProbPerTrial
probabilities per each trial (p) for the binomial uncertain variables from the prob per trial specification in
VarDAUV Binomial)

IntVector binomialUncNumTrials
Number of trials (N) for the binomial uncertain variables from the num trials specification in VarDAUV Binomial)

IntVector binomialUncVars
initial values of the binomial uncertain variables (from the initial point specification in VarDAUV Binomial)

RealVector negBinomialUncProbPerTrial
probabilities per each trial (p) for the negative binomial uncertain variables from the prob per trial specification in VarDAUV Negative Binomial)

IntVector negBinomialUncNumTrials
Number of trials (N) for the negative binomial uncertain variables from the num trials specification in VarDAUV Negative Binomial)

IntVector negBinomialUncVars
initial values of the negative binomial uncertain variables (from the initial point specification in VarDAUVNegative Binomial)

RealVector geometricUncProbPerTrial
probabilities per each trial (p) for the geometric uncertain variables from the prob per trial specification in
VarDAUV Geometric)

IntVector geometricUncVars
initial values of the geometric uncertain variables (from the initial point specification in VarDAUV Geometric)

IntVector hyperGeomUncTotalPop

398

CHAPTER 13. CLASS DOCUMENTATION


Size of total populations (N) for the hypergeometric uncertain variables from the total population specification in VarDAUV Hypergeometric)

IntVector hyperGeomUncSelectedPop
Size of selected populations for the hypergeometric uncertain variables from the selected population specification in VarDAUV Hypergeometric)

IntVector hyperGeomUncNumDrawn
Number failed in the selected populations for the hypergeometric variables from the num drawn specification in
VarDAUV Hypergeometric)

IntVector hyperGeomUncVars
initial values of the hypergeometric uncertain variables (from the initial point specification in VarDAUV Hypergeometric)

RealVectorArray histogramUncPointPairs
an array containing a vector of (x,c) pairs for each point-based histogram uncertain variable (see discrete histogram in LHS manual; from the histogram point uncertain specification in VarDAUV Point Histogram)

RealVector histogramPointUncVars
initial values of the histogram point uncertain variables (from the initial point specification in VarDAUV Point Histogram)

RealSymMatrix uncertainCorrelations
correlation matrix for all uncertain variables (from the uncertain correlation matrix specification in
VarAUV Correlations). This matrix specifies rank correlations for LHS sampling and correlation coefficients (rhoij = normalized covariance matrix) for other methods.

RealVectorArray continuousIntervalUncBasicProbs
Probability values per interval cell per epistemic interval uncertain variable (from the continuous intervaluncertain interval probs specification in VarCEUV Interval)

RealVectorArray continuousIntervalUncLowerBounds
lower bounds defining cells for each epistemic interval uncertain variable (from the continuous interval uncertain lower bounds specification in VarCEUV Interval)

RealVectorArray continuousIntervalUncUpperBounds
upper bounds defining cells for each epistemic interval uncertain variable (from the continuous interval uncertain upper bounds specification in VarCEUV Interval)

RealVector continuousIntervalUncVars
initial values of the continuous interval uncertain variables (from the initial point specification in VarCEUV Interval)

RealVectorArray discreteIntervalUncBasicProbs
Probability values per interval cell per epistemic interval uncertain variable (from the discrete interval uncertain interval probs specification in VarDIUV)

IntVectorArray discreteIntervalUncLowerBounds
lower bounds defining cells for each epistemic interval uncertain variable (from the discrete interval uncertain lower bounds specification in VarDIUV)

IntVectorArray discreteIntervalUncUpperBounds
upper bounds defining cells for each epistemic interval uncertain variable (from the discrete interval uncertain upper bounds specification in VarDIUV)

IntVector discreteIntervalUncVars
initial values of the discrete interval uncertain variables (from the initial point specification in VarDIUV)

IntRealMapArray discreteUncSetIntValuesProbs

13.29. DATAVARIABLESREP CLASS REFERENCE

399

complete set of admissible values with associated basic probability assignments for each of the discrete epistemic
uncertain variables defined by an integer set (from the discrete uncertain set integer set values
specification in VarDUSIV)

IntVector discreteUncSetIntVars
initial values of the discrete uncertain set integer variables (from the initial point specification in VarDUSIV)

RealRealMapArray discreteUncSetRealValuesProbs
complete set of admissible values with associated basic probability assignments for each of the discrete epistemic
uncertain variables defined by a real set (from the discrete uncertain set real set values specification in VarDUSRV)

RealVector discreteUncSetRealVars
initial values of the discrete uncertain set real variables (from the initial point specification in VarDUSRV)

RealVector continuousStateVars
initial values for the continuous state variables array (from the continuous state initial point specification in VarSV)

RealVector continuousStateLowerBnds
lower bounds array for the continuous state variables (from the continuous state lower bounds specification in VarSV)

RealVector continuousStateUpperBnds
upper bounds array for the continuous state variables (from the continuous state upper bounds specification in VarSV)

IntVector discreteStateRangeVars
initial values for the discrete state variables defined by an integer range (from the discrete state range
initial point specification in VarSV)

IntVector discreteStateRangeLowerBnds
lower bounds array for the discrete state variables defined by an integer range (from the discrete state range lower bounds specification in VarSV)

IntVector discreteStateRangeUpperBnds
upper bounds array for the discrete state variables defined by an integer range(from the discrete state range upper bounds specification in VarSV)

IntVector discreteStateSetIntVars
initial values for the discrete state variables defined by an integer set (from the discrete state set integer
initial point specification in VarSV)

RealVector discreteStateSetRealVars
initial values for the discrete state variables defined by a real set (from the discrete state set real initialpoint specification in VarSV)

IntSetArray discreteStateSetInt
complete set of admissible values for each of the discrete state variables defined by an integer set (from the
discrete state set integer set values specification in VarSV)

RealSetArray discreteStateSetReal
complete set of admissible values for each of the discrete state variables defined by a real set (from the discretestate set real set values specification in VarSV)

StringArray continuousStateLabels
labels array for the continuous state variables (from the continuous state descriptors specification in
VarSV)

StringArray discreteStateRangeLabels

400

CHAPTER 13. CLASS DOCUMENTATION


labels array for the discrete state variables defined by an integer range (from the discrete state range
descriptors specification in VarSV)

StringArray discreteStateSetIntLabels
labels array for the discrete state variables defined by an integer set (from the discrete state range descriptors
specification in VarSV)

StringArray discreteStateSetRealLabels
labels array for the discrete state variables defined by a real set (from the discrete state range descriptors
specification in VarSV)

IntVector discreteDesignSetIntLowerBnds
discrete design integer set lower bounds inferred from set values

IntVector discreteDesignSetIntUpperBnds
discrete design integer set upper bounds inferred from set values

RealVector discreteDesignSetRealLowerBnds
discrete design real set lower bounds inferred from set values

RealVector discreteDesignSetRealUpperBnds
discrete design real set upper bounds inferred from set values

RealVector continuousAleatoryUncVars
array of values for all continuous aleatory uncertain variables

RealVector continuousAleatoryUncLowerBnds
distribution lower bounds for all continuous aleatory uncertain variables (collected from nuv lower bounds,
lnuv lower bounds, uuv lower bounds, luuv lower bounds, tuv lower bounds, and buv lowerbounds specifications in VarAUV, and derived for gamma, gumbel, frechet, weibull and histogram bin specifications)

RealVector continuousAleatoryUncUpperBnds
distribution upper bounds for all continuous aleatory uncertain variables (collected from nuv upper bounds,
lnuv upper bounds, uuv upper bounds, luuv upper bounds, tuv lower bounds, and buv upperbounds specifications in VarAUV, and derived for gamma, gumbel, frechet, weibull and histogram bin specifications)

StringArray continuousAleatoryUncLabels
labels for all continuous aleatory uncertain variables (collected from nuv descriptors, lnuv descriptors,
uuv descriptors, luuv descriptors, tuv descriptors, buv descriptors, gauv descriptors,
guuv descriptors, fuv descriptors, wuv descriptors, and hbuv descriptors specifications
in VarAUV)

IntVector discreteIntAleatoryUncVars
array of values for all discrete integer aleatory uncertain variables

IntVector discreteIntAleatoryUncLowerBnds
distribution lower bounds for all discrete integer aleatory uncertain variables

IntVector discreteIntAleatoryUncUpperBnds
distribution upper bounds for all discrete integer aleatory uncertain variables

StringArray discreteIntAleatoryUncLabels
labels for all discrete integer aleatory uncertain variables

RealVector discreteRealAleatoryUncVars
array of values for all discrete real aleatory uncertain variables

RealVector discreteRealAleatoryUncLowerBnds
distribution lower bounds for all discrete real aleatory uncertain variables

13.29. DATAVARIABLESREP CLASS REFERENCE


RealVector discreteRealAleatoryUncUpperBnds
distribution upper bounds for all discrete real aleatory uncertain variables

StringArray discreteRealAleatoryUncLabels
labels for all discrete real aleatory uncertain variables

RealVector continuousEpistemicUncVars
array of values for all continuous epistemic uncertain variables

RealVector continuousEpistemicUncLowerBnds
distribution lower bounds for all continuous epistemic uncertain variables

RealVector continuousEpistemicUncUpperBnds
distribution upper bounds for all continuous epistemic uncertain variables

StringArray continuousEpistemicUncLabels
labels for all continuous epistemic uncertain variables

IntVector discreteIntEpistemicUncVars
array of values for all discrete integer epistemic uncertain variables

IntVector discreteIntEpistemicUncLowerBnds
distribution lower bounds for all discrete integer epistemic uncertain variables

IntVector discreteIntEpistemicUncUpperBnds
distribution upper bounds for all discrete integer epistemic uncertain variables

StringArray discreteIntEpistemicUncLabels
labels for all discrete integer epistemic uncertain variables

RealVector discreteRealEpistemicUncVars
array of values for all discrete real epistemic uncertain variables

RealVector discreteRealEpistemicUncLowerBnds
distribution lower bounds for all discrete real epistemic uncertain variables

RealVector discreteRealEpistemicUncUpperBnds
distribution upper bounds for all discrete real epistemic uncertain variables

StringArray discreteRealEpistemicUncLabels
labels for all discrete real epistemic uncertain variables

IntVector discreteStateSetIntLowerBnds
discrete state integer set lower bounds inferred from set values

IntVector discreteStateSetIntUpperBnds
discrete state integer set upper bounds inferred from set values

RealVector discreteStateSetRealLowerBnds
discrete state real set lower bounds inferred from set values

RealVector discreteStateSetRealUpperBnds
discrete state real set upper bounds inferred from set values

401

402

CHAPTER 13. CLASS DOCUMENTATION

Private Member Functions


DataVariablesRep ()
default constructor

DataVariablesRep ()
destructor

void write (std::ostream &s) const


write a DataVariablesRep object to an std::ostream

void read (MPIUnpackBuffer &s)


read a DataVariablesRep object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a DataVariablesRep object to a packed MPI buffer

Private Attributes
int referenceCount
number of handle objects sharing dataVarsRep

Friends
class DataVariables
the handle class can access attributes of the body class directly

13.29.1

Detailed Description

Body class for variables specification data.


The DataVariablesRep class is used to contain the data from a variables keyword specification. Default values
are managed in the DataVariablesRep constructor. Data is public to avoid maintaining set/get functions, but is still
encapsulated within ProblemDescDB since ProblemDescDB::dataVariablesList is private.
The documentation for this class was generated from the following files:
DataVariables.hpp
DataVariables.cpp

13.30

DDACEDesignCompExp Class Reference

Wrapper class for the DDACE design of experiments library.


Inheritance diagram for DDACEDesignCompExp:
Iterator
Analyzer
PStudyDACE
DDACEDesignCompExp

13.30. DDACEDESIGNCOMPEXP CLASS REFERENCE

403

Public Member Functions


DDACEDesignCompExp (ProblemDescDB &problem db, Model &model)
primary constructor for building a standard DACE iterator

DDACEDesignCompExp (Model &model, int samples, int symbols, int seed, unsigned short sampling method)
alternate constructor used for building approximations

DDACEDesignCompExp ()
destructor

void pre run ()


pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori

void extract trends ()


Mapping of the core run() virtual function for the PStudy/DACE branch.

void post input ()


read tabular data for post-run mode

void post run (std::ostream &s)


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way

int num samples () const


void sampling reset (int min samples, bool all data flag, bool stats flag)
reset sampling iterator to use at least min samples

unsigned short sampling scheme () const


return sampling name

void vary pattern (bool pattern flag)


sets varyPattern in derived classes that support it

void get parameter sets (Model &model)


Returns one block of samples (ndim num samples)

Private Member Functions


void compute main effects ()
builds a DDaceMainEffects::OneWayANOVA if mainEffectsFlag is set

void resolve samples symbols ()


convenience function for resolving number of samples and number of symbols from input.

Static Private Member Functions


static void copy data (const std::vector< DDaceSamplePoint > &dspa, Real ptr, const int ptr len)
copy DDACE point to RealVector

404

CHAPTER 13. CLASS DOCUMENTATION

Private Attributes
unsigned short daceMethod
oas, lhs, oa lhs, random, box behnken, central composite, or grid

int samplesSpec
initial specification of number of samples

int symbolsSpec
initial specification of number of symbols

int numSamples
current number of samples to be evaluated

int numSymbols
current number of symbols to be used in generating the sample set (inversely related to number of replications)

const int seedSpec


the user seed specification for the random number generator (allows repeatable results)

int randomSeed
current seed for the random number generator

bool allDataFlag
flag which triggers the update of allVars/allResponses for use by Iterator::all variables() and Iterator::all responses()

size t numDACERuns
counter for number of executions for this object

bool varyPattern
flag for continuing the random number sequence from a previous execution (e.g., for surrogate-based optimization)
so that multiple executions are repeatable but not correlated.

bool mainEffectsFlag
flag which specifies main effects

std::vector< std::vector< int > > symbolMapping


mapping of symbols for main effects calculations

Additional Inherited Members


13.30.1

Detailed Description

Wrapper class for the DDACE design of experiments library.


The DDACEDesignCompExp class provides a wrapper for DDACE, a C++ design of experiments library
from the Computational Sciences and Mathematics Research (CSMR) department at Sandias Livermore CA site.
This class uses design and analysis of computer experiments (DACE) methods to sample the design space spanned
by the bounds of a Model. It returns all generated samples and their corresponding responses as well as the best
sample found.

13.30.2

Constructor & Destructor Documentation

DDACEDesignCompExp ( ProblemDescDB & problem db, Model & model )


primary constructor for building a standard DACE iterator
This constructor is called for a standard iterator built with data from probDescDB.
References Dakota::abort handler(), DDACEDesignCompExp::daceMethod, DDACEDesignCompExp::mainEffectsFlag, Iterator::maxEvalConcurrency, Analyzer::numContinuousVars, and DDACEDesignCompExp::numSamples.

13.30. DDACEDESIGNCOMPEXP CLASS REFERENCE

405

DDACEDesignCompExp ( Model & model, int samples, int symbols, int seed, unsigned short
sampling method )
alternate constructor used for building approximations
This alternate constructor is used for instantiations on-the-fly, using only the incoming data. No problem
description database queries are used.
References Iterator::maxEvalConcurrency, DDACEDesignCompExp::numSamples, and DDACEDesignCompExp::resolve samples symbols().

13.30.3

Member Function Documentation

void pre run (

) [virtual]

pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori
pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call
its nearest parents pre run(), if implemented, typically before performing its own implementation steps.
Reimplemented from Iterator.
References DDACEDesignCompExp::get parameter sets(), Iterator::iteratedModel, and PStudyDACE::varBasedDecompFlag.
void post run ( std::ostream & s ) [virtual]
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Analyzer.
References Analyzer::allResponses, Analyzer::allSamples, SensAnalysisGlobal::compute correlations(), DDACEDesignCompExp::compute main effects(), DDACEDesignCompExp::mainEffectsFlag, Analyzer::post run(),
PStudyDACE::pStudyDACESensGlobal, Iterator::subIteratorFlag, and PStudyDACE::varBasedDecompFlag.
int num samples (

) const [inline], [virtual]

Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References DDACEDesignCompExp::numSamples.
void resolve samples symbols (

) [private]

convenience function for resolving number of samples and number of symbols from input.
This function must define a combination of samples and symbols that is acceptable for a particular sampling
algorithm. Users provide requests for these quantities, but this function must enforce any restrictions imposed by
the sampling algorithms.
References Dakota::abort handler(), DDACEDesignCompExp::daceMethod, Analyzer::numContinuousVars,
DDACEDesignCompExp::numSamples, and DDACEDesignCompExp::numSymbols.
Referenced by DDACEDesignCompExp::DDACEDesignCompExp(), and DDACEDesignCompExp::get parameter sets().

406

CHAPTER 13. CLASS DOCUMENTATION

void copy data ( const std::vector< DDaceSamplePoint > & dspa, Real ptr, const int ptr len )
[static], [private]
copy DDACE point to RealVector
copy DDACE point array to RealVectorArray copy DDACE point array to Real
References Dakota::abort handler().
Referenced by DDACEDesignCompExp::get parameter sets().
The documentation for this class was generated from the following files:
DDACEDesignCompExp.hpp
DDACEDesignCompExp.cpp

13.31

DirectApplicInterface Class Reference

Derived application interface class which spawns simulation codes and testers using direct procedure calls.
Inheritance diagram for DirectApplicInterface:
Interface
ApplicationInterface
DirectApplicInterface
MatlabInterface

PythonInterface

ScilabInterface

TestDriverInterface

ParallelDirectApplicInterface

SerialDirectApplicInterface

Public Member Functions


DirectApplicInterface (const ProblemDescDB &problem db)
constructor

DirectApplicInterface ()
destructor

void derived map (const Variables &vars, const ActiveSet &set, Response &response, int fn eval id)
Called by map() and other functions to execute the simulation in synchronous mode. The portion of performing an
evaluation that is specific to a derived class.

void derived map asynch (const ParamResponsePair &pair)


Called by map() and other functions to execute the simulation in asynchronous mode. The portion of performing
an asynchronous evaluation that is specific to a derived class.

void wait local evaluations (PRPQueue &prp queue)


For asynchronous function evaluations, this method is used to detect completion of jobs and process their results.
It provides the processing code that is specific to derived classes. This version waits for at least one completion.

void test local evaluations (PRPQueue &prp queue)


For asynchronous function evaluations, this method is used to detect completion of jobs and process their results. It
provides the processing code that is specific to derived classes. This version is nonblocking and will return without
any completions if none are immediately available.

int synchronous local analysis (int analysis id)


const StringArray & analysis drivers () const
retrieve the analysis drivers specification for application interfaces

void init communicators checks (int max eval concurrency)


void set communicators checks (int max eval concurrency)

13.31. DIRECTAPPLICINTERFACE CLASS REFERENCE

407

Protected Member Functions


virtual int derived map if (const Dakota::String &if name)
execute the input filter portion of a direct evaluation invocation

virtual int derived map ac (const Dakota::String &ac name)


execute an analysis code portion of a direct evaluation invocation

virtual int derived map of (const Dakota::String &of name)


execute the output filter portion of a direct evaluation invocation

void set local data (const Variables &vars, const ActiveSet &set)
convenience function for local test simulators which sets per-evaluation variable and active set attributes

void set local data (const Response &response)


convenience function for local test simulators which sets per-evaluation response attributes

void set local data (const Variables &vars, const ActiveSet &set, const Response &response)
convenience function for local test simulators which sets per-evaluation variable, active set, and response attributes

void overlay response (Response &response)


convenience function for local test simulators which overlays response contributions from multiple analyses using
MPI Reduce

Protected Attributes
String iFilterName
name of the direct function input filter

String oFilterName
name of the direct function output filter

driver t iFilterType
enum type of the direct function input filter

driver t oFilterType
enum type of the direct function output filter

bool gradFlag
signals use of fnGrads in direct simulator functions

bool hessFlag
signals use of fnHessians in direct simulator functions

size t numFns
number of functions in fnVals

size t numVars
total number of continuous and discrete variables

size t numACV
total number of continuous variables

size t numADIV
total number of discete integer variables

size t numADRV
total number of discete real variables

size t numDerivVars
number of active derivative variables

408

CHAPTER 13. CLASS DOCUMENTATION


unsigned short localDataView
bit-wise record of which local data views are active; see enum local data t

RealVector xC
continuous variables used within direct simulator fns

IntVector xDI
discrete int variables used within direct simulator fns

RealVector xDR
discrete real variables used within direct simulator fns

StringMultiArray xCLabels
continuous variable labels

StringMultiArray xDILabels
discrete integer variable labels

StringMultiArray xDRLabels
discrete real variable labels

std::map< String, var t > varTypeMap


map from variable label to enum

std::map< String, driver t > driverTypeMap


map from driver name to enum

std::map< var t, Real > xCM


map from var t enum to continuous value

std::map< var t, int > xDIM


map from var t enum to discrete int value

std::map< var t, Real > xDRM


map from var t enum to discrete real value

std::vector< var t > varTypeDVV


var t enumerations corresponding to DVV components

std::vector< var t > xCMLabels


var t enumerations corresponding to continuous variable labels

std::vector< var t > xDIMLabels


var t enumerations corresponding to discrete integer variable labels

std::vector< var t > xDRMLabels


var t enumerations corresponding to discrete real variable labels

ShortArray directFnASV
class scope active set vector

SizetArray directFnDVV
class scope derivative variables vector

RealVector fnVals
response fn values within direct simulator fns

RealMatrix fnGrads
response fn gradients w/i direct simulator fns

RealSymMatrixArray fnHessians
response fn Hessians within direct fns

StringArray analysisDrivers

13.31. DIRECTAPPLICINTERFACE CLASS REFERENCE

409

the set of analyses within each function evaluation (from the analysis drivers interface specification)

std::vector< driver t > analysisDriverTypes


conversion of analysisDrivers to driver t

size t analysisDriverIndex
the index of the active analysis driver within analysisDrivers

String2DArray analysisComponents
the set of optional analysis components used by the analysis drivers (from the analysis components interface specification)

13.31.1

Detailed Description

Derived application interface class which spawns simulation codes and testers using direct procedure calls.
DirectApplicInterface uses a few linkable simulation codes and several internal member functions to perform
parameter to response mappings.

13.31.2

Member Function Documentation

int synchronous local analysis ( int analysis id ) [inline], [virtual]


This code provides the derived function used by ApplicationInterface::serve analyses synch().
Reimplemented from ApplicationInterface.
References DirectApplicInterface::analysisDriverIndex, DirectApplicInterface::analysisDrivers, and DirectApplicInterface::derived map ac().
void init communicators checks ( int max eval concurrency ) [inline], [virtual]
Process init issues as warnings since some contexts (e.g., HierarchSurrModel) initialize more configurations than
will be used and DirectApplicInterface allows override by derived plug-ins.
Reimplemented from ApplicationInterface.
References ApplicationInterface::check asynchronous(), and ApplicationInterface::check multiprocessor asynchronous().
void set communicators checks ( int max eval concurrency ) [inline], [virtual]
Process run-time issues as hard errors.
Reimplemented from ApplicationInterface.
Reimplemented in SerialDirectApplicInterface, and ParallelDirectApplicInterface.
References Dakota::abort handler(), ApplicationInterface::check asynchronous(), and ApplicationInterface::check multiprocessor asynchronous().
int derived map ac ( const Dakota::String & ac name ) [protected], [virtual]
execute an analysis code portion of a direct evaluation invocation
When a direct analysis/filter is a member function, the (vars,set,response) data does not need to be passed
through the API. If, however, non-member analysis/filter functions are added, then pass (vars,set,response) through
to the non-member fns:
// API declaration
int sim(const Variables& vars, const ActiveSet& set, Response& response);
// use of API within derived map ac()
if (ac name == "sim")
fail code = sim(directFnVars, directFnActSet, directFnResponse);

410

CHAPTER 13. CLASS DOCUMENTATION

Reimplemented in SerialDirectApplicInterface, ParallelDirectApplicInterface, MatlabInterface, PythonInterface,


TestDriverInterface, and ScilabInterface.
References Dakota::abort handler(), and ApplicationInterface::analysisServerId.
Referenced by DirectApplicInterface::derived map(), and DirectApplicInterface::synchronous local analysis().
The documentation for this class was generated from the following files:
DirectApplicInterface.hpp
DirectApplicInterface.cpp

13.32

DiscrepancyCorrection Class Reference

Base class for discrepancy corrections.

Public Member Functions


DiscrepancyCorrection ()
default constructor

DiscrepancyCorrection (Model &surr model, const IntSet &surr fn indices, short corr type, short corr order)
standard constructor

DiscrepancyCorrection (const IntSet &surr fn indices, size t num fns, size t num vars, short corr type,
short corr order)
alternate constructor

DiscrepancyCorrection ()
destructor

void initialize (Model &surr model, const IntSet &surr fn indices, short corr type, short corr order)
initialize the DiscrepancyCorrection data

void initialize (const IntSet &surr fn indices, size t num fns, size t num vars, short corr type, short corr order)
initialize the DiscrepancyCorrection data

void compute (const Variables &vars, const Response &truth response, const Response &approx response,
bool quiet flag=false)
compute the correction required to bring approx response into agreement with truth response and store in {add,mult}Corrections

void compute (const Response &truth response, const Response &approx response, Response &discrepancyresponse, bool quiet flag=false)
compute the correction required to bring approx response into agreement with truth response and store in discrepancyresponse

void apply (const Variables &vars, Response &approx response, bool quiet flag=false)
apply the correction computed in compute() to approx response

bool active () const


indicates an active correction via non-empty correctionType

short correction type () const


return correctionType

short correction order () const


return correctionOrder

short data order () const

13.32. DISCREPANCYCORRECTION CLASS REFERENCE

411

return dataOrder

bool computed () const


return correctionComputed

Protected Attributes
IntSet surrogateFnIndices
for mixed response sets, this array specifies the response function subset that is approximated

short correctionType
approximation correction approach to be used: NO CORRECTION, ADDITIVE CORRECTION, MULTIPLICATIVE CORRECTION, or COMBINED CORRECTION.

short correctionOrder
approximation correction order to be used: 0, 1, or 2

short dataOrder
order of correction data in 3-bit format: overlay of 1 (value), 2 (gradient), and 4 (Hessian)

bool correctionComputed
flag indicating whether or not a correction has been computed and is available for application

size t numFns
total number of response functions (of which surrogateFnIndices may define a subset)

size t numVars
number of continuous variables active in the correction

Private Member Functions


void initialize corrections ()
internal convenience function shared by overloaded initialize() variants

bool check scaling (const RealVector &truth fns, const RealVector &approx fns)
define badScalingFlag

void compute additive (const Response &truth response, const Response &approx response, int index,
Real &discrep fn, RealVector &discrep grad, RealSymMatrix &discrep hess)
internal convenience function for computing additive corrections between truth and approximate responses

void compute multiplicative (const Response &truth response, const Response &approx response, int index, Real &discrep fn, RealVector &discrep grad, RealSymMatrix &discrep hess)
internal convenience function for computing multiplicative corrections between truth and approximate responses

void apply additive (const Variables &vars, Response &approx response)


internal convenience function for applying additive corrections to an approximate response

void apply multiplicative (const Variables &vars, Response &approx response)


internal convenience function for applying multiplicative corrections to an approximate response

void apply additive (const Variables &vars, RealVector &approx fns)


internal convenience function for applying additive corrections to a set of response functions

void apply multiplicative (const Variables &vars, RealVector &approx fns)


internal convenience function for applying multiplicative corrections to a set of response functions

const Response & search db (const Variables &search vars, const ShortArray &search asv)
search data pairs for missing approximation data

412

CHAPTER 13. CLASS DOCUMENTATION

Private Attributes
bool badScalingFlag
flag used to indicate function values near zero for multiplicative corrections; triggers an automatic switch to additive corrections

bool computeAdditive
flag indicating the need for additive correction calculations

bool computeMultiplicative
flag indicating the need for multiplicative correction calculations

SharedApproxData sharedData
data that is shared among all correction Approximations

std::vector< Approximation > addCorrections


array of additive corrections; surrogate models of a model discrepancy function (formed from model differences)

std::vector< Approximation > multCorrections


array of multiplicative corrections; surrogate models of a model discrepancy function (formed from model ratios)

Model surrModel
shallow copy of the surrogate model instance as returned by Model::surrogate model() (the DataFitSurrModel or
HierarchSurrModel::lowFidelityModel instance)

RealVector combineFactors
factors for combining additive and multiplicative corrections. Each factor is the weighting applied to the additive
correction and 1.-factor is the weighting applied to the multiplicative correction. The factor value is determined by
an additional requirement to match the high fidelity function value at the previous correction point (e.g., previous
trust region center). This results in a multipoint correction instead of a strictly local correction.

Variables correctionPrevCenterPt
copy of center point from the previous correction cycle

RealVector truthFnsCenter
truth function values at the current correction point

RealVector approxFnsCenter
Surrogate function values at the current correction point.

RealMatrix approxGradsCenter
Surrogate gradient values at the current correction point.

RealVector truthFnsPrevCenter
copy of truth function values at center of previous correction cycle

RealVector approxFnsPrevCenter
copy of approximate function values at center of previous correction cycle

13.32.1

Detailed Description

Base class for discrepancy corrections.


The DiscrepancyCorrection class provides common functions for computing and applying corrections to approximations.

13.33. DOTOPTIMIZER CLASS REFERENCE

13.32.2

413

Member Function Documentation

void compute ( const Variables & vars, const Response & truth response, const Response &
approx response, bool quiet flag = false )
compute the correction required to bring approx response into agreement with truth response and store in {add,mult}Corrections
Compute an additive or multiplicative correction that corrects the approx response to have 0th-order consistency (matches values), 1st-order consistency (matches values and gradients), or 2nd-order consistency (matches
values, gradients, and Hessians) with the truth response at a single point (e.g., the center of a trust region). The
0th-order, 1st-order, and 2nd-order corrections use scalar values, linear scaling functions, and quadratic scaling
functions, respectively, for each response function.
References Response::active set(), DiscrepancyCorrection::addCorrections, DiscrepancyCorrection::apply(),
DiscrepancyCorrection::apply additive(), DiscrepancyCorrection::apply multiplicative(), DiscrepancyCorrection::approxFnsCenter, DiscrepancyCorrection::approxFnsPrevCenter, DiscrepancyCorrection::approxGradsCenter,
DiscrepancyCorrection::badScalingFlag, DiscrepancyCorrection::check scaling(), DiscrepancyCorrection::combineFactors, DiscrepancyCorrection::compute additive(), DiscrepancyCorrection::compute multiplicative(), DiscrepancyCorrection::computeAdditive, DiscrepancyCorrection::computeMultiplicative, Variables::continuous variables(),
Response::copy(), DiscrepancyCorrection::correctionComputed, DiscrepancyCorrection::correctionOrder, DiscrepancyCorrection::correctionPrevCenterPt, DiscrepancyCorrection::correctionType, DiscrepancyCorrection::dataOrder,
Variables::discrete int variables(), Variables::discrete real variables(), Response::function gradients(), Response::function values(), Model::is null(), DiscrepancyCorrection::multCorrections, DiscrepancyCorrection::numFns,
DiscrepancyCorrection::numVars, ActiveSet::request values(), DiscrepancyCorrection::sharedData, DiscrepancyCorrection::surrModel, DiscrepancyCorrection::surrogateFnIndices, DiscrepancyCorrection::truthFnsCenter, and
DiscrepancyCorrection::truthFnsPrevCenter.
Referenced by HierarchSurrModel::derived asynch compute response(), HierarchSurrModel::derived computeresponse(), DataFitSurrModel::derived compute response(), HierarchSurrModel::derived synchronize(), DataFitSurrModel::derived synchronize(), HierarchSurrModel::derived synchronize nowait(), DataFitSurrModel::derivedsynchronize nowait(), and SurrBasedLocalMinimizer::minimize surrogates().
The documentation for this class was generated from the following files:
DiscrepancyCorrection.hpp
DiscrepancyCorrection.cpp

13.33

DOTOptimizer Class Reference

Wrapper class for the DOT optimization library.


Inheritance diagram for DOTOptimizer:
Iterator
Minimizer
Optimizer
DOTOptimizer

414

CHAPTER 13. CLASS DOCUMENTATION

Public Member Functions


DOTOptimizer (ProblemDescDB &problem db, Model &model)
standard constructor

DOTOptimizer (const String &method string, Model &model)


alternate constructor; construct without ProblemDescDB

DOTOptimizer ()
destructor

void find optimum ()


Used within the optimizer branch for computing the optimal solution. Redefines the run virtual function for the
optimizer branch.

Protected Member Functions


void initialize run ()
performs run-time set up

Private Member Functions


void initialize ()
Shared constructor code.

void allocate workspace ()


Allocates workspace for the optimizer.

void allocate constraints ()


Allocates constraint mappings.

Private Attributes
int dotInfo
INFO from DOT manual.

int dotFDSinfo
internal DOT parameter NGOTOZ

int dotMethod
METHOD from DOT manual.

int printControl
IPRINT from DOT manual (controls output verbosity)

RealArray realCntlParmArray
RPRM from DOT manual.

IntArray intCntlParmArray
IPRM from DOT manual.

RealVector designVars
array of design variable values passed to DOT

Real objFnValue
value of the objective function passed to DOT

RealVector constraintValues

13.33. DOTOPTIMIZER CLASS REFERENCE

415

array of nonlinear constraint values passed to DOT

int realWorkSpaceSize
size of realWorkSpace

int intWorkSpaceSize
size of intWorkSpace

RealArray realWorkSpace
real work space for DOT

IntArray intWorkSpace
int work space for DOT

int numDotNlnConstr
total number of nonlinear constraints seen by DOT

int numDotLinConstr
total number of linear constraints seen by DOT

int numDotConstr
total number of linear and nonlinear constraints seen by DOT

SizetArray constraintMappingIndices
a container of indices for referencing the corresponding Response constraints used in computing the DOT constraints.

RealArray constraintMappingMultipliers
a container of multipliers for mapping the Response constraints to the DOT constraints.

RealArray constraintMappingOffsets
a container of offsets for mapping the Response constraints to the DOT constraints.

Additional Inherited Members


13.33.1

Detailed Description

Wrapper class for the DOT optimization library.


The DOTOptimizer class provides a wrapper for DOT, a commercial Fortran 77 optimization library from
Vanderplaats Research and Development. It uses a reverse communication mode, which avoids the static member
function issues that arise with function pointer designs (see NPSOLOptimizer and SNLLOptimizer).
The user input mappings are as follows: max iterations is mapped into DOTs ITMAX parameter within
its IPRM array, max function evaluations is implemented directly in the find optimum() loop since there
is no DOT parameter equivalent, convergence tolerance is mapped into DOTs DELOBJ parameter (the
relative convergence tolerance) within its RPRM array, output verbosity is mapped into DOTs IPRINT parameter within its function call parameter list (verbose: IPRINT = 7; quiet: IPRINT = 3), and optimizationtype is mapped into DOTs MINMAX parameter within its function call parameter list. Refer to [Vanderplaats
Research and Development, 1995] for information on IPRM, RPRM, and the DOT function call parameter list.

13.33.2

Member Data Documentation

int dotInfo [private]


INFO from DOT manual.
Information requested by DOT: 0=optimization complete, 1=get values, 2=get gradients
Referenced by DOTOptimizer::find optimum(), and DOTOptimizer::initialize run().

416

CHAPTER 13. CLASS DOCUMENTATION

int dotFDSinfo [private]


internal DOT parameter NGOTOZ
the DOT parameter list has been modified to pass NGOTOZ, which signals whether DOT is finite-differencing
(nonzero value) or performing the line search (zero value).
Referenced by DOTOptimizer::find optimum().
int dotMethod [private]
METHOD from DOT manual.
For nonlinear constraints: 0/1 = dot mmfd, 2 = dot slp, 3 = dot sqp. For unconstrained: 0/1 = dot bfgs, 2 =
dot frcg.
Referenced by DOTOptimizer::allocate constraints(), DOTOptimizer::allocate workspace(), DOTOptimizer::DOTOptimizer(), and DOTOptimizer::find optimum().
int printControl [private]
IPRINT from DOT manual (controls output verbosity)
Values range from 0 (least output) to 7 (most output).
Referenced by DOTOptimizer::DOTOptimizer(), and DOTOptimizer::find optimum().
RealArray realCntlParmArray [private]
RPRM from DOT manual.
Array of real control parameters.
Referenced by DOTOptimizer::find optimum(), and DOTOptimizer::initialize().
IntArray intCntlParmArray [private]
IPRM from DOT manual.
Array of integer control parameters.
Referenced by DOTOptimizer::find optimum(), and DOTOptimizer::initialize().
RealVector constraintValues [private]
array of nonlinear constraint values passed to DOT
This array must be of nonzero length and must contain only one-sided inequality constraints which are <= 0
(which requires a transformation from 2-sided inequalities and equalities).
Referenced by DOTOptimizer::allocate constraints(), and DOTOptimizer::find optimum().
SizetArray constraintMappingIndices [private]
a container of indices for referencing the corresponding Response constraints used in computing the DOT constraints.
The length of the container corresponds to the number of DOT constraints, and each entry in the container
points to the corresponding DAKOTA constraint.
Referenced by DOTOptimizer::allocate constraints(), and DOTOptimizer::find optimum().

13.34. JEGAOPTIMIZER::DRIVER CLASS REFERENCE

417

RealArray constraintMappingMultipliers [private]


a container of multipliers for mapping the Response constraints to the DOT constraints.
The length of the container corresponds to the number of DOT constraints, and each entry in the container
stores a multiplier for the DAKOTA constraint identified with constraintMappingIndices. These multipliers are
currently +1 or -1.
Referenced by DOTOptimizer::allocate constraints(), and DOTOptimizer::find optimum().
RealArray constraintMappingOffsets [private]
a container of offsets for mapping the Response constraints to the DOT constraints.
The length of the container corresponds to the number of DOT constraints, and each entry in the container
stores an offset for the DAKOTA constraint identified with constraintMappingIndices. These offsets involve
inequality bounds or equality targets, since DOT assumes constraint allowables = 0.
Referenced by DOTOptimizer::allocate constraints(), and DOTOptimizer::find optimum().
The documentation for this class was generated from the following files:
DOTOptimizer.hpp
DOTOptimizer.cpp

13.34

JEGAOptimizer::Driver Class Reference

A subclass of the JEGA front end driver that exposes the individual protected methods to execute the algorithm.
Inherits Driver.

Public Member Functions


GeneticAlgorithm ExtractAllData (const AlgorithmConfig &algConfig)
Reads all required data from the problem description database stored in the supplied algorithm config.

DesignOFSortSet PerformIterations (GeneticAlgorithm theGA)


Performs the required iterations on the supplied GA.

void DestroyAlgorithm (GeneticAlgorithm theGA)


Deletes the supplied GA.

Driver (const ProblemConfig &probConfig)


Default constructs a Driver.

13.34.1

Detailed Description

A subclass of the JEGA front end driver that exposes the individual protected methods to execute the algorithm.
This is necessary because DAKOTA requires that all problem information be extracted from the problem
description DB at the time of Optimizer construction and the front end does it all in the execute algorithm method
which must be called in find optimum.

13.34.2

Constructor & Destructor Documentation

Driver ( const ProblemConfig & probConfig ) [inline]


Default constructs a Driver.

418

CHAPTER 13. CLASS DOCUMENTATION

Parameters
The definition of the problem to be solved by this Driver whenever ExecuteAlgorithm is
called.
The problem can be solved in multiple ways by multiple algorithms even using multiple different evaluators by
probConfig

issuing multiple calls to ExecuteAlgorithm with different AlgorithmConfigs.

13.34.3

Member Function Documentation

GeneticAlgorithm ExtractAllData ( const AlgorithmConfig & algConfig ) [inline]


Reads all required data from the problem description database stored in the supplied algorithm config.
The returned GA is fully configured and ready to be run. It must also be destroyed at some later time. You
MUST call DestroyAlgorithm for this purpose. Failure to do so could result in a memory leak and an eventual
segmentation fault! Be sure to call DestroyAlgorithm prior to destroying the algorithm config that was used to
create it!
This is just here to expose the base class method to users.
Parameters
algConfig

The fully loaded configuration object containing the database of parameters for the algorithm to be run on the known problem.

Returns
The fully configured and loaded GA ready to be run using the PerformIterations method.
Referenced by JEGAOptimizer::find optimum().
DesignOFSortSet PerformIterations ( GeneticAlgorithm theGA ) [inline]
Performs the required iterations on the supplied GA.
This includes the calls to AlgorithmInitialize and AlgorithmFinalize and logs some information if appropriate.
This is just here to expose the base class method to users.
Parameters
theGA

The GA on which to perform iterations. This parameter must be non-null.

Returns
The final solutions reported by the supplied GA after all iterations and call to AlgorithmFinalize.
Referenced by JEGAOptimizer::find optimum().
void DestroyAlgorithm ( GeneticAlgorithm theGA ) [inline]
Deletes the supplied GA.
Use this method to destroy a GA after all iterations have been run. This method knows if the log associated
with the GA was created here and needs to be destroyed as well or not.
This is just here to expose the base class method to users.
Be sure to use this prior to destoying the algorithm config object which contains the target. The GA destructor
needs the target to be in tact.

13.35. EFFGLOBALMINIMIZER CLASS REFERENCE

419

Parameters
theGA

The algorithm that is no longer needed and thus must be destroyed.

Referenced by JEGAOptimizer::find optimum().


The documentation for this class was generated from the following file:
JEGAOptimizer.cpp

13.35

EffGlobalMinimizer Class Reference

Implementation of Efficient Global Optimization/Least Squares algorithms.


Inheritance diagram for EffGlobalMinimizer:
Iterator
Minimizer
SurrBasedMinimizer
EffGlobalMinimizer

Public Member Functions


EffGlobalMinimizer (ProblemDescDB &problem db, Model &model)
standard constructor

EffGlobalMinimizer ()
alternate constructor for instantiations on the fly

void init communicators ()


initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void minimize surrogates ()


Used for computing the optimal solution using a surrogate-based approach. Redefines the Iterator::core run()
virtual function.

const Model & algorithm space model () const

Private Member Functions


void minimize surrogates on model ()
called by minimize surrogates for setUpType == model

void get best sample ()


called by minimize surrogates for setUpType == user functions

420

CHAPTER 13. CLASS DOCUMENTATION


Real expected improvement (const RealVector &means, const RealVector &variances)
expected improvement function for the GP

RealVector expected violation (const RealVector &means, const RealVector &variances)


expected violation function for the constraint functions

void update penalty ()


initialize and update the penaltyParameter

Static Private Member Functions


static void EIF objective eval (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the objective function in the Expected Improvement (EIF) problem formulation for PMA

Private Attributes
String setUpType
controls iteration mode: model (normal usage) or user functions (user-supplied functions mode for on the
fly instantiations).

Model fHatModel
GP model of response, one approximation per response function.

Model eifModel
recast model which assimilates mean and variance to solve the max(EIF) sub-problem

Real meritFnStar
minimum penalized response from among true function evaluations

RealVector truthFnStar
true function values corresponding to the minimum penalized response

RealVector varStar
point that corresponds to the optimal value meritFnStar

short dataOrder
order of the data used for surrogate construction, in ActiveSet request vector 3-bit format; user may override
responses spec

Static Private Attributes


static EffGlobalMinimizer effGlobalInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

Additional Inherited Members


13.35.1

Detailed Description

Implementation of Efficient Global Optimization/Least Squares algorithms.


The EffGlobalMinimizer class provides an implementation of the Efficient Global Optimization algorithm
developed by Jones, Schonlau, & Welch as well as adaptation of the concept to nonlinear least squares.

13.36. EFFICIENTSUBSPACEMETHOD CLASS REFERENCE

13.35.2

421

Constructor & Destructor Documentation

EffGlobalMinimizer (

alternate constructor for instantiations on the fly


destructor
This is an alternate constructor for instantiations on the fly using a Model but no ProblemDescDB.

13.35.3

Member Function Documentation

const Model & algorithm space model (

) const [inline], [virtual]

default definition that gets redefined in selected derived Minimizers


Reimplemented from Minimizer.
References EffGlobalMinimizer::fHatModel.
void get best sample (

) [private]

called by minimize surrogates for setUpType == user functions


determine best solution from among sample data for expected imporovement function
References Model::approximation data(), SurrBasedMinimizer::augmented lagrangian merit(), Model::computeresponse(), Model::continuous variables(), Dakota::copy data(), Model::current response(), EffGlobalMinimizer::fHatModel, Response::function values(), Iterator::iteratedModel, EffGlobalMinimizer::meritFnStar, Minimizer::numFunctions, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, Model::primary response fn sense(), Model::primary response fnweights(), EffGlobalMinimizer::truthFnStar, and EffGlobalMinimizer::varStar.
Referenced by EffGlobalMinimizer::minimize surrogates on model().
The documentation for this class was generated from the following files:
EffGlobalMinimizer.hpp
EffGlobalMinimizer.cpp

13.36

EfficientSubspaceMethod Class Reference

Efficient Subspace Method (ESM), as proposed by Hany S. Abdel-Khalik.


Inheritance diagram for EfficientSubspaceMethod:
Iterator
Analyzer
NonD
EfficientSubspaceMethod

422

CHAPTER 13. CLASS DOCUMENTATION

Public Member Functions


EfficientSubspaceMethod (ProblemDescDB &problem db, Model &model)
Standard, model-based constructor.

EfficientSubspaceMethod ()
Destructor.

void init communicators ()


specialization of init comms due to varied use of the original model

void free communicators ()


specialization of free comms due to varied use of the original model

void quantify uncertainty ()


ESM re-implementation of the virtual UQ iterator function.

Private Member Functions


void validate inputs ()
validate user-supplied input values, setting defaults, aborting on error

void init fullspace sampler ()


initialize the native problem space Monte Carlo sampler

void expand basis (bool &mach svtol met, bool &user svtol met)
generate fullspace samples, append to matrix, and factor, returning whether tolerance met

unsigned int calculate fullspace samples ()


determine the number of full space samples for next iteration, based on batchSize, limiting by remaining function
evaluation budget

void generate fullspace samples (unsigned int diff samples)


sample the derivative at diff samples points and leave temporary in dace iterator

void append sample matrices (unsigned int diff samples)


append the fullSpaceSampler samples to the derivative and vars matrices

void compute svd (bool &mach svtol met, bool &user svtol met)
factor the derivative matrix and analyze singular values, assessing convergence and rank, returning whether tolerance met

void print svd stats ()


print inner iteration stats after SVD

void assess reconstruction (bool &recon tol met)


determine if the reduced basis yields acceptable reconstruction error, based on sampling in the orthogonal complement of the reduced basis

void reduced space uq ()


experimental method to demonstrate creating a RecastModel and perform sampling-based UQ in the reduced space

void uncertain vars to subspace (Model &native model, Model &vars transform model)
translate the characterization of uncertain variables in the native model to the reduced space of the transformed
model

Static Private Member Functions


static void map xi to x (const Variables &recast xi vars, Variables &sub model x vars)
map the active continuous recast variables to the active submodel variables (linear transformation)

13.36. EFFICIENTSUBSPACEMETHOD CLASS REFERENCE

423

Private Attributes
int seedSpec
seed controlling all samplers

int initialSamples
initial number of samples at which to query the truth model

int batchSize
number of points to add at each iteration

int subspaceSamples
number of UQ samples to perform in the reduced space

unsigned int currIter


current iteration

unsigned int totalSamples


total construction samples evaluated so far

unsigned int totalEvals


total evaluations of model (accounting for UQ phase)

double userSVTol
user-specified tolerance on singular value ratio

double nullspaceTol
user-specified tolerance on nullspace

double svRatio
current singular value ratio (sigma k/sigma 0)

unsigned int reducedRank


current approximation of system rank

RealMatrix reducedBasis
basis for the reduced subspace

RealMatrix derivativeMatrix
matrix of derivative data with numFunctions columns per fullspace sample; each column contains the gradient of
one function at one sample point, so total matrix size is numContinuousVars (numFunctions numSamples) [ D1
| D2 | ... | Dnum samples] [ dy1/dx(k=1) | dy2/dx(k=1) | ... | dyM/dx(k=1) | k=2 | ... | k=n s ]

RealMatrix varsMatrix
matrix of fullspace variable points samples size numContinuousVars (numSamples)

Iterator fullSpaceSampler
Monte Carlo sampler for the full parameter space.

Static Private Attributes


static EfficientSubspaceMethod esmInstance
instance of this class for use in static member functions

Additional Inherited Members


13.36.1

Detailed Description

Efficient Subspace Method (ESM), as proposed by Hany S. Abdel-Khalik.


ESM uses random sampling to construct a low-dimensional subspace of the full dimensional parameter space,
then performs UQ in the reduced space

424

13.36.2

CHAPTER 13. CLASS DOCUMENTATION

Member Function Documentation

void init communicators (

) [virtual]

specialization of init comms due to varied use of the original model


This specialization is because the model is used in multiple contexts in this iterator, depending on build phase.
Note that this overrides the default behavior at Iterator which recurses into any submodels.
Reimplemented from Iterator.
References EfficientSubspaceMethod::batchSize, Model::init communicators(), EfficientSubspaceMethod::initialSamples, and Iterator::iteratedModel.
void assess reconstruction ( bool & recon tol met ) [private]
determine if the reduced basis yields acceptable reconstruction error, based on sampling in the orthogonal complement of the reduced basis
This function is experimental and needs to be carefully reviewed and cleaned up
References Iterator::activeSet, Model::aleatory distribution parameters(), Model::compute response(), Model::continuous variables(), Model::current response(), Response::function values(), Iterator::iteratedModel, Iterator::maxFunctionEvals, EfficientSubspaceMethod::nullspaceTol, Analyzer::numContinuousVars, Analyzer::numFunctions,
Iterator::outputLevel, EfficientSubspaceMethod::reducedBasis, EfficientSubspaceMethod::reducedRank, ActiveSet::request values(), EfficientSubspaceMethod::totalEvals, EfficientSubspaceMethod::totalSamples, and EfficientSubspaceMethod::varsMatrix.
Referenced by EfficientSubspaceMethod::quantify uncertainty().
void reduced space uq (

) [private]

experimental method to demonstrate creating a RecastModel and perform sampling-based UQ in the reduced
space
This function is experimental and needs to be reviewed and cleaned up. In particular the translation of the
correlations from full to reduced space is likely wrong. Transformation may be correct for covariance, but likely
not correlations.
References Model::assign rep(), NonD::construct lhs(), Model::free communicators(), NonD::generate systemseed(), Model::init communicators(), Iterator::iteratedModel, EfficientSubspaceMethod::map xi to x(), Analyzer::numContinuousVars, Analyzer::numFunctions, Iterator::print results(), EfficientSubspaceMethod::reducedRank,
Iterator::run(), Iterator::sampling reset(), EfficientSubspaceMethod::seedSpec, Iterator::sub iterator flag(), EfficientSubspaceMethod::subspaceSamples, EfficientSubspaceMethod::uncertain vars to subspace(), and Analyzer::varypattern().
Referenced by EfficientSubspaceMethod::quantify uncertainty().
void uncertain vars to subspace ( Model & native model, Model & vars transform model ) [private]
translate the characterization of uncertain variables in the native model to the reduced space of the transformed
model
transform and set the distribution parameters in the reduced model
Convert the user-specified normal random variables to the appropriate reduced space variables, based on the
orthogonal transformation.
TODO: Generalize to convert other random variable types
References Dakota::abort handler(), Model::aleatory distribution parameters(), Analyzer::numContinuousVars,
Iterator::outputLevel, EfficientSubspaceMethod::reducedBasis, and EfficientSubspaceMethod::reducedRank.
Referenced by EfficientSubspaceMethod::reduced space uq().

13.37. EMBEDHYBRIDMETAITERATOR CLASS REFERENCE

425

void map xi to x ( const Variables & recast xi vars, Variables & sub model x vars ) [static],
[private]
map the active continuous recast variables to the active submodel variables (linear transformation)
Perform the variables mapping from recast reduced dimension variables xi to original model x variables via
linear transformation. Maps only continuous variables.
References Variables::continuous variables(), Dakota::copy data(), EfficientSubspaceMethod::esmInstance,
Iterator::outputLevel, and EfficientSubspaceMethod::reducedBasis.
Referenced by EfficientSubspaceMethod::reduced space uq().
The documentation for this class was generated from the following files:
EfficientSubspaceMethod.hpp
EfficientSubspaceMethod.cpp

13.37

EmbedHybridMetaIterator Class Reference

Meta-iterator for closely-coupled hybrid iteration, typically involving the embedding of local search methods
within global search methods.
Inheritance diagram for EmbedHybridMetaIterator:

Iterator
MetaIterator
EmbedHybridMetaIterator

Public Member Functions


EmbedHybridMetaIterator (ProblemDescDB &problem db)
standard constructor

EmbedHybridMetaIterator (ProblemDescDB &problem db, Model &model)


alternate constructor

EmbedHybridMetaIterator ()
destructor

Protected Member Functions


void core run ()
Performs the hybrid iteration by executing global and local iterators, using a set of models that may vary in fidelity.

const Variables & variables results () const


return the final solution from the embedded hybrid (variables)

const Response & response results () const


return the final solution from the embedded hybrid (response)

426

CHAPTER 13. CLASS DOCUMENTATION

Private Attributes
Iterator globalIterator
the top-level outer iterator (e.g., global minimizer)

Model globalModel
the model employed by the top-level outer iterator

Iterator localIterator
the inner iterator (e.g., local minimizer)

Model localModel
the model employed by the inner iterator

Real localSearchProb
the probability of running a local search refinement within phases of the global minimization for tightly-coupled
hybrids

Additional Inherited Members


13.37.1

Detailed Description

Meta-iterator for closely-coupled hybrid iteration, typically involving the embedding of local search methods
within global search methods.
This meta-iterator uses multiple methods in close coordination, generally using a local search minimizer
repeatedly within a global minimizer (the local search minimizer refines candidate minima which are fed back to
the global minimizer).
The documentation for this class was generated from the following files:
EmbedHybridMetaIterator.hpp
EmbedHybridMetaIterator.cpp

13.38

Environment Class Reference

Base class for the environment class hierarchy.


Inheritance diagram for Environment:
Environment
ExecutableEnvironment

LibraryEnvironment

Public Member Functions


Environment ()
default constructor: empty envelope

Environment (int argc, char argv[ ])


envelope constructor for ExecutableEnvironment letter

Environment (ProgramOptions prog opts)


Environment (MPI Comm dakota mpi comm, ProgramOptions prog opts=ProgramOptions())

13.38. ENVIRONMENT CLASS REFERENCE

427

Environment (const String &env type)


envelope constructor for letter type identifed by String

Environment (const Environment &env)


copy constructor

virtual Environment ()
destructor

Environment operator= (const Environment &env)


assignment operator

virtual void execute ()


the run function for the environment: invoke the iterator(s) on the model(s). Called from main.cpp.

bool check () const


Print status of check and return true if in a check mode, including version and help. Return false if proceeding
to a run mode.

MPIManager & mpi manager ()


return mpiManager

ProgramOptions & program options ()


return programOptions

OutputManager & output manager ()


return outputManager

ParallelLibrary & parallel library ()


return parallelLib

ProblemDescDB & problem description db ()


return probDescDB

const Variables & variables results () const


return the final environment solution (variables)

const Response & response results () const


return the final environment solution (response)

Protected Member Functions


Environment (BaseConstructor)
constructor initializes the base class part of default-constructed letters

Environment (BaseConstructor, int argc, char argv[ ])


constructor initializes the base class part of executable letter classes

Environment (BaseConstructor, ProgramOptions prog opts, MPI Comm dakota mpi comm=MPI COMM WORLD)
constructor initializes the base class part of library letter classes

void parse (bool check bcast database=true, DbCallbackFunctionPtr callback=NULL, void callback data=NULL)
parse inputs, callbacks, and optionally check and broadcast

void construct ()
Instantiate topLevelIterator.

void destruct ()
Deallocate parallel partitioning for topLevelIterator.

428

CHAPTER 13. CLASS DOCUMENTATION

Protected Attributes
MPIManager mpiManager
the MPI manager instance

ProgramOptions programOptions
the command line options manager

OutputManager outputManager
(tagged) output stream manager

ParallelLibrary parallelLib
the parallel library instance

ProblemDescDB probDescDB
the parser database instance

Iterator topLevelIterator
the top level (meta-)iterator

Private Member Functions


Environment get environment (const String &env type)
Used by the envelope to instantiate the correct letter class.

Private Attributes
Environment environmentRep
pointer to the letter (initialized only for the envelope)

int referenceCount
number of objects sharing environmentRep

13.38.1

Detailed Description

Base class for the environment class hierarchy.


The Environment class is the base class for the class hierarchy providing the top level control in DAKOTA. The environment is responsible for creating and managing iterators and models. For memory efficiency and
enhanced polymorphism, the environment hierarchy employs the letter/envelope idiom (see Coplien Advanced
C++, p. 133), for which the base class (Environment) serves as the envelope and one of the derived classes
(selected in Environment::get environment()) serves as the letter.

13.38.2

Constructor & Destructor Documentation

Environment (

default constructor: empty envelope


Default envelope constructor. environmentRep is NULL in this case, which makes it necessary to check for
NULL in the copy constructor, assignment operator, and destructor.

13.38. ENVIRONMENT CLASS REFERENCE

429

Environment ( int argc, char argv[ ] )


envelope constructor for ExecutableEnvironment letter
Envelope constructor for ExecutableEnvironment. Selection of derived type by get environment() is not necessary in this case.
References Dakota::abort handler(), and Environment::environmentRep.
Environment ( ProgramOptions prog opts )
Envelope constructor for LibraryEnvironment. Selection of derived type by get environment() is not necessary in
this case.
References Dakota::abort handler(), and Environment::environmentRep.
Environment ( MPI Comm dakota mpi comm, ProgramOptions prog opts = ProgramOptions() )
Envelope constructor for LibraryEnvironment. Selection of derived type by get environment() is not necessary in
this case.
References Dakota::abort handler(), and Environment::environmentRep.
Environment ( const String & env type )
envelope constructor for letter type identifed by String
Alternate construction by String. Envelope constructor invokes get environment() which instantiates a derived
class letter; the derived constructor selects a BaseConstructor constructor in its initialization list to avoid the
recursion of a base class constructor calling get environment() again.
References Dakota::abort handler(), Environment::environmentRep, and Environment::get environment().
Environment ( const Environment & env )
copy constructor
Copy constructor manages sharing of environmentRep and incrementing of referenceCount.
References Environment::environmentRep, and Environment::referenceCount.
Environment (

) [virtual]

destructor
Destructor decrements referenceCount and only deletes environmentRep when referenceCount reaches zero.
References Environment::destruct(), Environment::environmentRep, and Environment::referenceCount.
Environment ( BaseConstructor ) [protected]
constructor initializes the base class part of default-constructed letters
This letter constructor initializes base class data for inherited environments that are default constructed. Since
the letter IS the representation, its representation pointer is set to NULL (an uninitialized pointer causes problems
in Environment).
Use cases: library with no options, no MPI comm

430

CHAPTER 13. CLASS DOCUMENTATION

Environment ( BaseConstructor , int argc, char argv[ ] ) [protected]


constructor initializes the base class part of executable letter classes
This letter constructor initializes base class data for inherited environments: instantiate/initialize the environment, options, parallel library, and problem description database objects. Since the letter IS the representation, its
representation pointer is set to NULL (an uninitialized pointer causes problems in Environment).
Use cases: executable with command-line args
References nidr save exedir().
Environment ( BaseConstructor , ProgramOptions prog opts, MPI Comm dakota mpi comm =
MPI COMM WORLD ) [protected]
constructor initializes the base class part of library letter classes
This letter constructor initializes base class data for inherited environments. Since the letter IS the representation, its representation pointer is set to NULL (an uninitialized pointer causes problems in Environment).
Use cases: library with program options library with program options and MPI comm

13.38.3

Member Function Documentation

Environment operator= ( const Environment & env )


assignment operator
Assignment operator decrements referenceCount for old environmentRep, assigns new environmentRep, and
increments referenceCount for new environmentRep.
References Environment::environmentRep, and Environment::referenceCount.
void parse ( bool check bcast database = true, DbCallbackFunctionPtr callback = NULL, void
callback data = NULL ) [protected]
parse inputs, callbacks, and optionally check and broadcast
Parse input file and invoked any callbacks, then optionally check and sync database if check bcast database =
true
References ProblemDescDB::check and broadcast(), ProgramOptions::input file(), ProgramOptions::input string(), ProblemDescDB::parse inputs(), Environment::probDescDB, and Environment::programOptions.
Referenced by ExecutableEnvironment::ExecutableEnvironment(), and LibraryEnvironment::LibraryEnvironment().
Environment get environment ( const String & env type ) [private]
Used by the envelope to instantiate the correct letter class.
Used only by the envelope constructor to initialize environmentRep to the appropriate derived type, as given
by the environmentName attribute.
Referenced by Environment::Environment().
The documentation for this class was generated from the following files:
DakotaEnvironment.hpp
DakotaEnvironment.cpp

13.39

NomadOptimizer::Evaluator Class Reference

NOMAD-based Evaluator class.


Inherits Evaluator.

13.39. NOMADOPTIMIZER::EVALUATOR CLASS REFERENCE

431

Public Member Functions


Evaluator (const NOMAD::Parameters &p, Model &model)
Constructor.

Evaluator (void)
Destructor.

bool eval x (NOMAD::Eval Point &x, const NOMAD::Double &h max, bool &count eval) const
Main Evaluation Method.

void set constraint map (int numNomadNonlinearIneqConstraints, int numNomadNonlinearEqConstraints,


std::vector< int > constraintMapIndices, std::vector< double > constraintMapMultipliers, std::vector<
double > constraintMapOffsets)
publishes constraint transformation

Private Attributes

Model & model


int n cont
int n disc int
int n disc real
int numNomadNonlinearIneqConstr
Number of nonlinear constraints after put into Nomad format.

int numNomadNonlinearEqConstr
std::vector< int > constrMapIndices
map from Dakota constraint number to Nomad constraint number

std::vector< double > constrMapMultipliers


multipliers for constraint transformations

std::vector< double > constrMapOffsets


offsets for constraint transformations

13.39.1

Detailed Description

NOMAD-based Evaluator class.


The NOMAD process requires an evaluation step, which calls the Simulation program. In the simplest version
of this call, NOMAD executes the black box executable, which proceeds to write a file in a NOMAD-compatible
format, which NOMAD reads to continue the process.
Because DAKOTA files are different form NOMAD files, and the simulations processed by DAKOTA already
produce DAKOTA-compatible files, we cannot use this method for NOMAD. Instead, we implement the NomadEvaluator class, which takes the NOMAD inputs and passes them to DAKOTAs Interface for processing. The
evaluator then passes the evaluation Responses into the NOMAD objects for further analysis.

13.39.2

Constructor & Destructor Documentation

Evaluator ( const NOMAD::Parameters & p, Model & model )


Constructor.
NOMAD Evaluator Constructor

432

CHAPTER 13. CLASS DOCUMENTATION

Parameters
p
model

13.39.3

NOMAD Parameters object


DAKOTA Model object

Member Function Documentation

bool eval x ( NOMAD::Eval Point & x, const NOMAD::Double & h max, bool & count eval ) const
Main Evaluation Method.
Method that handles the communication between

the NOMAD search process and the Black Box Evaluation managed by DAKOTAs Interface.
Parameters
x
h max
count eval

Object that contains the points that need to evaluated. Once the evaluation is completed,
this object also stores the output back to be read by NOMAD.
Current value of the barrier parameter. Not used in this implementation.
Flag that indicates whether this evaluation counts towards the max number of evaluations,
often set to false when the evaluation does not meet certain costs during expensive evaluations. Not used in this implementation.

Returns
true if the evaluation was successful; false otherwise.
References Dakota::set index to value().
The documentation for this class was generated from the following files:
NomadOptimizer.hpp
NomadOptimizer.cpp

13.40

JEGAOptimizer::Evaluator Class Reference

An evaluator specialization that knows how to interact with Dakota.


Inherits GeneticAlgorithmEvaluator.

Public Member Functions


virtual bool Evaluate (DesignGroup &group)
Does evaluation of each design in group.

virtual bool Evaluate (Design &des)


This method cannot be used!!

virtual std::string GetName () const


Returns the proper name of this operator.

virtual std::string GetDescription () const


Returns a full description of what this operator does and how.

virtual GeneticAlgorithmOperator Clone (GeneticAlgorithm &algorithm) const

13.40. JEGAOPTIMIZER::EVALUATOR CLASS REFERENCE

433

Creates and returns a pointer to an exact duplicate of this operator.

Evaluator (GeneticAlgorithm &algorithm, Model &model)


Constructs a Evaluator for use by algorithm.

Evaluator (const Evaluator &copy)


Copy constructs a Evaluator.

Evaluator (const Evaluator &copy, GeneticAlgorithm &algorithm, Model &model)


Copy constructs a Evaluator for use by algorithm.

Static Public Member Functions


static const std::string & Name ()
Returns the proper name of this operator.

static const std::string & Description ()


Returns a full description of what this operator does and how.

Protected Member Functions


void SeparateVariables (const Design &from, RealVector &intoCont, IntVector &intoDiscInt, RealVector
&intoDiscReal) const
This method fills intoCont, intoDiscInt and intoDiscReal appropriately using the values of from.

void RecordResponses (const RealVector &from, Design &into) const


Records the computed objective and constraint function values into into.

std::size t GetNumberNonLinearConstraints () const


Returns the number of non-linear constraints for the problem.

std::size t GetNumberLinearConstraints () const


Returns the number of linear constraints for the problem.

Private Member Functions


Evaluator (GeneticAlgorithm &algorithm)
This constructor has no implementation and cannot be used.

Private Attributes
Model & model
The Model known by this evaluator.

13.40.1

Detailed Description

An evaluator specialization that knows how to interact with Dakota.


This evaluator knows how to use the model to do evaluations both in synchronous and asynchronous modes.

13.40.2

Constructor & Destructor Documentation

Evaluator ( GeneticAlgorithm & algorithm, Model & model ) [inline]


Constructs a Evaluator for use by algorithm.
The optimizer is needed for purposes of variable scaling.

434

CHAPTER 13. CLASS DOCUMENTATION

Parameters
algorithm
model

The GA for which the new evaluator is to be used.


The model through which evaluations will be done.

Evaluator ( const Evaluator & copy ) [inline]


Copy constructs a Evaluator.
Parameters
copy

The evaluator from which properties are to be duplicated into this.

Evaluator ( const Evaluator & copy, GeneticAlgorithm & algorithm, Model & model ) [inline]
Copy constructs a Evaluator for use by algorithm.
The optimizer is needed for purposes of variable scaling.
Parameters
copy
algorithm
model

The existing Evaluator from which to retrieve properties.


The GA for which the new evaluator is to be used.
The model through which evaluations will be done.

Evaluator ( GeneticAlgorithm & algorithm ) [private]


This constructor has no implementation and cannot be used.
This constructor can never be used. It is provided so that this operator can still be registered in an operator
registry even though it can never be instantiated from there.
Parameters
algorithm

13.40.3

The GA for which the new evaluator is to be used.

Member Function Documentation

static const std::string& Name (

) [inline], [static]

Returns the proper name of this operator.


Returns
The string DAKOTA JEGA Evaluator.

static const std::string& Description (

) [inline], [static]

Returns a full description of what this operator does and how.


The returned text is:
This evaluator uses Sandias DAKOTA optimization
software to evaluate the passed in Designs. This
makes it possible to take advantage of the fact that
DAKOTA is designed to run on massively parallel machines.

13.40. JEGAOPTIMIZER::EVALUATOR CLASS REFERENCE

435

Returns
A description of the operation of this operator.

void SeparateVariables ( const Design & from, RealVector & intoCont, IntVector & intoDiscInt,
RealVector & intoDiscReal ) const [protected]
This method fills intoCont, intoDiscInt and intoDiscReal appropriately using the values of from.
The discrete integer design variable values are placed in intoDiscInt, the discrete real design variable values
are placed in intoDiscReal, and the continuum are placed into intoCont. The values are written into the vectors
from the beginning so any previous contents of the vectors will be overwritten.
Parameters
from
intoDiscInt
intoDiscReal
intoCont

The Design class object from which to extract the discrete design variable values.
The vector into which to place the extracted discrete integer values.
The vector into which to place the extracted discrete real values.
The vector into which to place the extracted continuous values.

References JEGAOptimizer::Evaluator:: model, Model::cv(), Model::discrete int sets(), Model::div(), and


Model::drv().
void RecordResponses ( const RealVector & from, Design & into ) const [protected]
Records the computed objective and constraint function values into into.
This method takes the response values stored in from and properly transfers them into the into design.
The response vector from is expected to contain values for each objective function followed by values for each
non-linear constraint in the order in which the info objects were loaded into the target by the optimizer class.
Parameters
from
into

The vector of responses to install into into.


The Design to which the responses belong and into which they must be written.

std::size t GetNumberNonLinearConstraints (

) const [inline], [protected]

Returns the number of non-linear constraints for the problem.


This is computed by adding the number of non-linear equality constraints to the number of non-linear inequality constraints. These values are obtained from the model.
Returns
The total number of non-linear constraints.

std::size t GetNumberLinearConstraints (

) const [inline], [protected]

Returns the number of linear constraints for the problem.


This is computed by adding the number of linear equality constraints to the number of linear inequality constraints. These values are obtained from the model.
Returns
The total number of linear constraints.

436

CHAPTER 13. CLASS DOCUMENTATION

bool Evaluate ( DesignGroup & group ) [virtual]


Does evaluation of each design in group.
This method uses the Model known by this class to get Designs evaluated. It properly formats the Design class
information in a way that Dakota will understand and then interprets the Dakota results and puts them back into
the Design class object. It respects the asynchronous flag in the Model so evaluations may occur synchronously
or asynchronously.
Prior to evaluating a Design, this class checks to see if it is marked as already evaluated. If it is, then the
evaluation of that Design is not carried out. This is not strictly necessary because Dakota keeps track of evaluated
designs and does not re-evaluate. An exception is the case of a population read in from a file complete with
responses where Dakota is unaware of the evaluations.
Parameters
group

The group of Design class objects to be evaluated.

Returns
true if all evaluations completed and false otherwise.
virtual bool Evaluate ( Design & des ) [inline], [virtual]
This method cannot be used!!
This method does nothing and cannot be called. This is because in the case of asynchronous evaluation, this
method would be unable to conform. It would require that each evaluation be done in a synchronous fashion.
Parameters
des

A Design that would be evaluated if this method worked.

Returns
Would return true if the Design were evaluated and false otherwise. Never actually returns here. Issues a
fatal error. Otherwise, it would always return false.
virtual std::string GetName (

) const [inline], [virtual]

Returns the proper name of this operator.


Returns
See Name().
virtual std::string GetDescription (

) const [inline], [virtual]

Returns a full description of what this operator does and how.


Returns
See Description().
virtual GeneticAlgorithmOperator Clone ( GeneticAlgorithm & algorithm ) const [inline],
[virtual]
Creates and returns a pointer to an exact duplicate of this operator.

13.41. JEGAOPTIMIZER::EVALUATORCREATOR CLASS REFERENCE


Parameters
algorithm

The GA for which the clone is being created.

Returns
A clone of this operator.

13.40.4

Member Data Documentation

Model& model [private]


The Model known by this evaluator.
It is through this model that evaluations will take place.
Referenced by JEGAOptimizer::Evaluator::SeparateVariables().
The documentation for this class was generated from the following file:
JEGAOptimizer.cpp

13.41

JEGAOptimizer::EvaluatorCreator Class Reference

A specialization of the JEGA::FrontEnd::EvaluatorCreator that creates a new instance of a Evaluator.


Inherits EvaluatorCreator.

Public Member Functions


virtual GeneticAlgorithmEvaluator CreateEvaluator (GeneticAlgorithm &alg)
Overriden to return a newly created Evaluator.

EvaluatorCreator (Model &theModel)


Constructs an EvaluatorCreator using the supplied model.

Private Attributes
Model & theModel
The user defined model to be passed to the constructor of the Evaluator.

13.41.1

Detailed Description

A specialization of the JEGA::FrontEnd::EvaluatorCreator that creates a new instance of a Evaluator.

13.41.2

Constructor & Destructor Documentation

EvaluatorCreator ( Model & theModel ) [inline]


Constructs an EvaluatorCreator using the supplied model.

437

438

CHAPTER 13. CLASS DOCUMENTATION

Parameters
theModel

13.41.3

The Dakota::Model this creator will pass to the created evaluator.

Member Function Documentation

virtual GeneticAlgorithmEvaluator CreateEvaluator ( GeneticAlgorithm & alg ) [inline],


[virtual]
Overriden to return a newly created Evaluator.
The GA will assume ownership of the evaluator so we neednt worry about keeping track of it for destruction.
The additional parameters needed by the Evaluator are stored as members of this class at construction time.
Parameters
alg

The GA for which the evaluator is to be created.

Returns
A pointer to a newly created Evaluator.
The documentation for this class was generated from the following file:
JEGAOptimizer.cpp

13.42

ExecutableEnvironment Class Reference

Environment corresponding to execution as a stand-alone application.


Inheritance diagram for ExecutableEnvironment:

Environment
ExecutableEnvironment

Public Member Functions


ExecutableEnvironment ()
default constructor

ExecutableEnvironment (int argc, char argv[ ])


constructor

ExecutableEnvironment ()
destructor

void execute ()
the run function for the environment: invoke the iterator(s) on the model(s). Called from main.cpp.

13.43. EXPERIMENTDATA CLASS REFERENCE

439

Private Attributes
boost::shared ptr< TrackerHTTP > usageTracker
posts usage data to Web server; using shared ptr due to potentially incomplete type and requirements for checkeddelete in debug builds (scoped ptr would suffice)

Additional Inherited Members


13.42.1

Detailed Description

Environment corresponding to execution as a stand-alone application.


This environment corresponds to a stand-alone executable program, e.g., main.cpp. It sets up the ParallelLibrary, ProgramOptions, and ProblemDescDB objects based on access to command line arguments.
The documentation for this class was generated from the following files:
ExecutableEnvironment.hpp
ExecutableEnvironment.cpp

13.43

ExperimentData Class Reference

Public Member Functions


void load scalar (const std::string &expDataFilename, const std::string &context message, size t numExperiments, IntVector &numReplicates, size t numExpConfigVars, size t numFunctions, size t numExpStdDeviationsRead, bool expDataFileAnnotated, bool calc sigma from data, short verbosity)
constructor

const RealVector & config vars (size t response, size t experiment)


retrieve the vector of configuration variables for the given response and experiment number

Real scalar data (size t response, size t experiment, size t replicate)


retrieve the data value for the given response, for the given experiment and replicate

Real scalar sigma (size t response, size t experiment, size t replicate)


retrieve the standard deviation value for the given response, for the given experiment and replicate

Public Attributes
std::vector< ExpDataPerResponse > allExperiments
At the outer level, ExperimentData will just be a vector of ExpDataPerResponse;.

13.43.1

Detailed Description

The ExperimentData class is used to read and populate data (currently from user-specified files and/or the input
spec) relating to experimental (physical observations) data for the purposes of calibration. Such data may include
(for example): number of experiments, number of replicates, configuration variables, type of data (scalar vs.
functional), treatment of sigma (experimental uncertainties). This class also provides an interpolation capability to
interpolate between simulation or experimental data so that the differencing between simulation and experimental
data may be performed properly.

440

CHAPTER 13. CLASS DOCUMENTATION

13.43.2

Member Function Documentation

void load scalar ( const std::string & expDataFilename, const std::string & context message, size t
numExperiments, IntVector & numReplicates, size t numExpConfigVars, size t numFunctions, size t
numExpStdDeviationsRead, bool expDataFileAnnotated, bool calc sigma from data, short verbosity )
constructor
Constructor from legacy file format
References Dakota::read historical data().
Referenced by Minimizer::data transform model(), NonDQUESOBayesCalibration::quantify uncertainty(),
NonDDREAMBayesCalibration::quantify uncertainty(), and NonDGPMSABayesCalibration::quantify uncertainty().
The documentation for this class was generated from the following files:
ExperimentData.hpp
ExperimentData.cpp

13.44

ForkApplicInterface Class Reference

Derived application interface class which spawns simulation codes using fork/execvp/waitpid.
Inheritance diagram for ForkApplicInterface:
Interface
ApplicationInterface
ProcessApplicInterface
ProcessHandleApplicInterface
ForkApplicInterface

Public Member Functions


ForkApplicInterface (const ProblemDescDB &problem db)
constructor

ForkApplicInterface ()
destructor

Protected Member Functions


void wait local evaluations (PRPQueue &prp queue)
For asynchronous function evaluations, this method is used to detect completion of jobs and process their results.
It provides the processing code that is specific to derived classes. This version waits for at least one completion.

void test local evaluations (PRPQueue &prp queue)

13.44. FORKAPPLICINTERFACE CLASS REFERENCE

441

For asynchronous function evaluations, this method is used to detect completion of jobs and process their results. It
provides the processing code that is specific to derived classes. This version is nonblocking and will return without
any completions if none are immediately available.

pid t create analysis process (bool block flag, bool new group)
spawn a child process for an analysis component within an evaluation using fork()/vfork()/execvp() and wait for
completion using waitpid() if block flag is true

size t wait local analyses ()


wait for asynchronous analyses on the local processor, completing at least one job

size t test local analyses send (int analysis id)


test for asynchronous analysis completions on the local processor and return results for any completions by sending
messages

void join evaluation process group (bool new group)


create (if new group) and join the process group for asynch evaluations

void join analysis process group (bool new group)


create (if new group) and join the process group for asynch analyses

void evaluation process group id (pid t pgid)


set evalProcGroupId

pid t evaluation process group id () const


return evalProcGroupId

void analysis process group id (pid t pgid)


set analysisProcGroupId

pid t analysis process group id () const


return analysisProcGroupId

pid t wait evaluation (bool block flag)


process all available completions within the evaluation process group; if block flag = true, wait for at least one
completion

pid t wait analysis (bool block flag)


process all available completions within the analysis process group; if block flag = true, wait for at least one
completion

void check group (int err, pid t proc group id)


check the exit status of setpgid and abort if an error code was returned

Private Member Functions


pid t wait (pid t proc group id, std::map< pid t, int > &process id map, bool block flag)
core code used by wait {evaluation,analysis}()

void join process group (pid t &process group id, bool new group)
core code used by join {evaluation,analysis} process group()

Private Attributes
pid t evalProcGroupId
the process group id used to identify a set of child evaluation processes used by this interface instance (to distinguish
from other interface instances that could be running at the same time)

pid t analysisProcGroupId
the process group id used to identify a set of child analysis processes used by this interface instance (to distinguish
from other interface instances that could be running at the same time)

442

CHAPTER 13. CLASS DOCUMENTATION

Additional Inherited Members


13.44.1

Detailed Description

Derived application interface class which spawns simulation codes using fork/execvp/waitpid.
ForkApplicInterface is used on Unix systems and is a peer to SpawnApplicInterface for Windows systems.
The documentation for this class was generated from the following files:
ForkApplicInterface.hpp
ForkApplicInterface.cpp

13.45

FSUDesignCompExp Class Reference

Wrapper class for the FSUDace QMC/CVT library.


Inheritance diagram for FSUDesignCompExp:
Iterator
Analyzer
PStudyDACE
FSUDesignCompExp

Public Member Functions


FSUDesignCompExp (ProblemDescDB &problem db, Model &model)
primary constructor for building a standard DACE iterator

FSUDesignCompExp (Model &model, int samples, int seed, unsigned short sampling method)
alternate constructor for building a DACE iterator on-the-fly

FSUDesignCompExp ()
destructor

void pre run ()


pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori

void extract trends ()


Mapping of the core run() virtual function for the PStudy/DACE branch.

void post input ()


read tabular data for post-run mode

void post run (std::ostream &s)


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way

int num samples () const


void sampling reset (int min samples, bool all data flag, bool stats flag)

13.45. FSUDESIGNCOMPEXP CLASS REFERENCE

443

reset sampling iterator to use at least min samples

unsigned short sampling scheme () const


return sampling name

void vary pattern (bool pattern flag)


sets varyPattern in derived classes that support it

void get parameter sets (Model &model)


Returns one block of samples (ndim num samples)

Private Member Functions


void enforce input rules ()
enforce sanity checks/modifications for the user input specification

Private Attributes
int samplesSpec
initial specification of number of samples

int numSamples
current number of samples to be evaluated

bool allDataFlag
flag which triggers the update of allVars/allResponses for use by Iterator::all variables() and Iterator::all responses()

size t numDACERuns
counter for number of executions for this object

bool latinizeFlag
flag which specifies latinization of QMC or CVT sample sets

IntVector sequenceStart
Integer vector defining a starting index into the sequence for random variable sampled. Default is 0 0 0 (e.g. for
three random variables).

IntVector sequenceLeap
Integer vector defining the leap number for each sequence being generated. Default is 1 1 1 (e.g. for three random
vars.)

IntVector primeBase
Integer vector defining the prime base for each sequence being generated. Default is 2 3 5 (e.g., for three random
vars.)

int seedSpec
the user seed specification for the random number generator (allows repeatable results)

int randomSeed
current seed for the random number generator

bool varyPattern
flag for continuing the random number or QMC sequence from a previous execution (e.g., for surrogate-based
optimization) so that multiple executions are repeatable but not identical.

int numCVTTrials
specifies the number of sample points taken at internal CVT iteration

int trialType
Trial type in CVT. Specifies where the points are placed for consideration relative to the centroids. Choices are grid
(2), halton (1), uniform (0), or random (-1). Default is random.

444

CHAPTER 13. CLASS DOCUMENTATION

Additional Inherited Members


13.45.1

Detailed Description

Wrapper class for the FSUDace QMC/CVT library.


The FSUDesignCompExp class provides a wrapper for FSUDace, a C++ design of experiments library from
Florida State University. This class uses quasi Monte Carlo (QMC) and Centroidal Voronoi Tesselation (CVT)
methods to uniformly sample the parameter space spanned by the active bounds of the current Model. It returns
all generated samples and their corresponding responses as well as the best sample found.

13.45.2

Constructor & Destructor Documentation

FSUDesignCompExp ( ProblemDescDB & problem db, Model & model )


primary constructor for building a standard DACE iterator
This constructor is called for a standard iterator built with data from probDescDB.
References Dakota::abort handler(), ProblemDescDB::get bool(), ProblemDescDB::get int(), ProblemDescDB::get iv(), ProblemDescDB::get string(), Iterator::maxEvalConcurrency, Iterator::methodName, Analyzer::numContinuousVars, FSUDesignCompExp::numCVTTrials, FSUDesignCompExp::numSamples, FSUDesignCompExp::primeBase, Iterator::probDescDB, FSUDesignCompExp::randomSeed, FSUDesignCompExp::seedSpec, FSUDesignCompExp::sequenceLeap, FSUDesignCompExp::sequenceStart, FSUDesignCompExp::trialType, and
FSUDesignCompExp::varyPattern.
FSUDesignCompExp ( Model & model, int samples, int seed, unsigned short sampling method )
alternate constructor for building a DACE iterator on-the-fly
This alternate constructor is used for instantiations on-the-fly, using only the incoming data. No problem
description database queries are used.
References Dakota::abort handler(), Iterator::maxEvalConcurrency, Iterator::methodName, Analyzer::numContinuousVars, FSUDesignCompExp::numCVTTrials, FSUDesignCompExp::numSamples, FSUDesignCompExp::primeBase, FSUDesignCompExp::randomSeed, FSUDesignCompExp::seedSpec, FSUDesignCompExp::sequenceLeap, FSUDesignCompExp::sequenceStart, and FSUDesignCompExp::trialType.

13.45.3

Member Function Documentation

void pre run (

) [virtual]

pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori
pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call
its nearest parents pre run(), if implemented, typically before performing its own implementation steps.
Reimplemented from Iterator.
References FSUDesignCompExp::get parameter sets(), Iterator::iteratedModel, and PStudyDACE::varBasedDecompFlag.
void post run ( std::ostream & s ) [virtual]
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way

13.46. GAUSSPROCAPPROXIMATION CLASS REFERENCE

445

Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Analyzer.
References Analyzer::allResponses, Analyzer::allSamples, SensAnalysisGlobal::compute correlations(), Analyzer::post run(), PStudyDACE::pStudyDACESensGlobal, Iterator::subIteratorFlag, and PStudyDACE::varBasedDecompFlag.
int num samples (

) const [inline], [virtual]

Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References FSUDesignCompExp::numSamples.
void enforce input rules (

) [private]

enforce sanity checks/modifications for the user input specification


Users may input a variety of quantities, but this function must enforce any restrictions imposed by the sampling
algorithms.
References Dakota::abort handler(), Iterator::methodName, Analyzer::numContinuousVars, FSUDesignCompExp::numSamples, and FSUDesignCompExp::primeBase.
Referenced by FSUDesignCompExp::get parameter sets().
The documentation for this class was generated from the following files:
FSUDesignCompExp.hpp
FSUDesignCompExp.cpp

13.46

GaussProcApproximation Class Reference

Derived approximation class for Gaussian Process implementation.


Inheritance diagram for GaussProcApproximation:

Approximation
GaussProcApproximation

Public Member Functions


GaussProcApproximation ()
default constructor

GaussProcApproximation (const SharedApproxData &shared data)


alternate constructor

GaussProcApproximation (const ProblemDescDB &problem db, const SharedApproxData &shared data)


standard constructor

GaussProcApproximation ()
destructor

446

CHAPTER 13. CLASS DOCUMENTATION

Protected Member Functions


int min coefficients () const
return the minimum number of samples (unknowns) required to build the derived class approximation type in numVars dimensions

int num constraints () const


return the number of constraints to be enforced via an anchor point

void build ()
find the covariance parameters governing the Gaussian process response

Real value (const Variables &vars)


retrieve the function value for a given parameter set

const RealVector & gradient (const Variables &vars)


retrieve the function gradient at the predicted value for a given parameter set

Real prediction variance (const Variables &vars)


retrieve the variance of the predicted value for a given parameter set

Private Member Functions


void GPmodel build ()
Function to compute hyperparameters governing the GP.

void GPmodel apply (const RealVector &new x, bool variance flag, bool gradients flag)
Function returns a response value using the GP surface.

void normalize training data ()


Normalizes the initial inputs upon which the GP surface is based.

void get trend ()


Gets the trend (basis) functions for the calculation of the mean of the GP If the order = 0, the trend is a constant, if
the order = 1, trend is linear, if order = 2, trend is quadratic.

void get beta coefficients ()


Gets the beta coefficients for the calculation of the mean of the GP.

int get cholesky factor ()


Gets the Cholesky factorization of the covariance matrix, with error checking.

void get process variance ()


Gets the estimate of the process variance given the values of beta and the correlation lengthscales.

void get cov matrix ()


calculates the covariance matrix for a given set of input points

void get cov vector ()


calculates the covariance vector between a new point x and the set of inputs upon which the GP is based

void optimize theta global ()


sets up and performs the optimization of the negative log likelihood to determine the optimal values of the covariance parameters using NCSUDirect

void optimize theta multipoint ()


sets up and performs the optimization of the negative log likelihood to determine the optimal values of the covariance parameters using a gradient-based solver and multiple starting points

void predict (bool variance flag, bool gradients flag)


Calculates the predicted new response value for x in normalized space.

13.46. GAUSSPROCAPPROXIMATION CLASS REFERENCE

447

Real calc nll ()


calculates the negative log likelihood function (based on covariance matrix)

void calc grad nll ()


Gets the gradient of the negative log likelihood function with respect to the correlation lengthscales, theta.

void get grad cov vector ()


Calculate the derivatives of the covariance vector, with respect to each componeent of x.

void run point selection ()


Runs the point selection algorithm, which will choose a subset of the training set with which to construct the GP
model, and estimate the necessary parameters.

void initialize point selection ()


Initializes the point selection routine by choosing a small initial subset of the training points.

void pointsel get errors (RealArray &delta)


Uses the current GP model to compute predictions at all of the training points and find the errors.

int addpoint (int, IntArray &added index)


Adds a point to the effective training set. Returns 1 on success.

int pointsel add sel (const RealArray &delta)


Accepts a vector of unsorted prediction errors, determines which points should be added to the effective training
set, and adds them.

Real maxval (const RealArray &) const


Return the maximum value of the elements in a vector.

void pointsel write points ()


Writes out the training set before and after point selection.

void lhood 2d grid eval ()


For problems with 2D input, evaluates the negative log likelihood on a grid.

void writex (const char[ ])


Writes out the current training set (in original units) to a specified file.

void writeCovMat (char[ ])


Writes out the covariance matrix to a specified file.

Static Private Member Functions


static void negloglik (int mode, int n, const Teuchos::SerialDenseVector< int, double > &X, Real &fx,
Teuchos::SerialDenseVector< int, double > &grad x, int &result mode)
static function used by OPT++ as the objective function to optimize the hyperparameters in the covariance of the
GP by minimizing the negative log likelihood

static void constraint eval (int mode, int n, const Teuchos::SerialDenseVector< int, double > &X, Teuchos::SerialDenseVector< int, double > &g, Teuchos::SerialDenseMatrix< int, double > &gradC, int &resultmode)
static function used by OPT++ as the constraint function in the optimization of the negative log likelihood. Currently this function is empty: it is an unconstrained optimization.

static double negloglikNCSU (const RealVector &x)


function used by NCSUOptimizer to optimize negloglik objective

448

CHAPTER 13. CLASS DOCUMENTATION

Private Attributes
Real approxValue
value of the approximation returned by value()

Real approxVariance
value of the approximation returned by prediction variance()

RealMatrix trainPoints
A 2-D array (num sample sites = rows, num vars = columns) used to create the Gaussian process.

RealMatrix trainValues
An array of response values; one response value per sample site.

RealVector trainMeans
The mean of the input columns of trainPoints.

RealVector trainStdvs
The standard deviation of the input columns of trainPoints.

RealMatrix normTrainPoints
Current working set of normalized points upon which the GP is based.

RealMatrix trendFunction
matrix to hold the trend function

RealMatrix betaCoeffs
matrix to hold the beta coefficients for the trend function

RealSymMatrix covMatrix
The covariance matrix where each element (i,j) is the covariance between points Xi and Xj in the initial set of
samples.

RealMatrix covVector
The covariance vector where each element (j,0) is the covariance between a new point X and point Xj from the
initial set of samples.

RealMatrix approxPoint
Point at which a prediction is requested. This is currently a single point, but it could be generalized to be a vector
of points.

RealMatrix gradNegLogLikTheta
matrix to hold the gradient of the negative log likelihood with respect to the theta correlation terms

Teuchos::SerialSpdDenseSolver
< int, Real > covSlvr
The global solver for all computations involving the inverse of the covariance matrix.

RealMatrix gradCovVector
A matrix, where each column is the derivative of the covVector with respect to a particular componenet of X.

RealMatrix normTrainPointsAll
Set of all original samples available.

RealMatrix trainValuesAll
All original samples available.

RealMatrix trendFunctionAll
Trend function values corresponding to all original samples.

RealMatrix Rinv YFb


Matrix for storing inverse of correlation matrix Rinv(Y-FB)

13.46. GAUSSPROCAPPROXIMATION CLASS REFERENCE

449

size t numObs
The number of observations on which the GP surface is built.

size t numObsAll
The original number of observations.

short trendOrder
The number of variables in each X variable (number of dimensions of the problem).

RealVector thetaParams
Theta is the vector of covariance parameters for the GP. We determine the values of theta by optimization Currently,
the covariance function is theta[0]exp(-0.5sume)+deltapow(sige,2). sume is the sum squared of weighted distances; it involves a sum of theta[1](Xi(1)-Xj(1)) 2 + theta[2](Xi(2)-Xj(2)) 2 + ... where Xi(1) is the first dimension value of multi-dimensional variable Xi. deltapow(sige,2) is a jitter term used to improve matrix computations.
delta is zero for the covariance between different points and 1 for the covariance between the same point. sige is
the underlying process error.

Real procVar
The process variance, the multiplier of the correlation matrix.

IntArray pointsAddedIndex
Used by the point selection algorithm, this vector keeps track all points which have been added.

int cholFlag
A global indicator for success of the Cholesky factorization.

bool usePointSelection
a flag to indicate the use of point selection

Static Private Attributes


static GaussProcApproximation GPinstance
pointer to the active object instance used within the static evaluator

Additional Inherited Members


13.46.1

Detailed Description

Derived approximation class for Gaussian Process implementation.


The GaussProcApproximation class provides a global approximation (surrogate) based on a Gaussian process.
The Gaussian process is built after normalizing the function values, with zero mean. Opt++ is used to determine
the optimal values of the covariance parameters, those which minimize the negative log likelihood function.

13.46.2

Constructor & Destructor Documentation

GaussProcApproximation (

) [inline]

default constructor
alternate constructor used by EffGlobalOptimization and NonDGlobalReliability that does not use a problem
database defaults here are no point selectinn and quadratic trend function.

450

CHAPTER 13. CLASS DOCUMENTATION

13.46.3

Member Function Documentation

void GPmodel apply ( const RealVector & new x, bool variance flag, bool gradients flag ) [private]
Function returns a response value using the GP surface.
The response value is computed at the design point specified by the RealVector function argument.
References Dakota::abort handler(), GaussProcApproximation::approxPoint, GaussProcApproximation::getcov vector(), SharedApproxData::numVars, GaussProcApproximation::predict(), Approximation::sharedDataRep,
GaussProcApproximation::trainMeans, and GaussProcApproximation::trainStdvs.
Referenced by GaussProcApproximation::gradient(), GaussProcApproximation::pointsel get errors(), GaussProcApproximation::prediction variance(), and GaussProcApproximation::value().

13.46.4

Member Data Documentation

short trendOrder [private]


The number of variables in each X variable (number of dimensions of the problem).
The order of the basis function for the mean of the GP If the order = 0, the trend is a constant, if the order = 1,
trend is linear, if order = 2, trend is quadratic.
Referenced by GaussProcApproximation::GaussProcApproximation(), GaussProcApproximation::get betacoefficients(), GaussProcApproximation::get trend(), GaussProcApproximation::GPmodel build(), and GaussProcApproximation::predict().
The documentation for this class was generated from the following files:
GaussProcApproximation.hpp
GaussProcApproximation.cpp

13.47

GetLongOpt Class Reference

GetLongOpt is a general command line utility from S. Manoharan (Advanced Computer Research Institute, Lyon,
France).
Inheritance diagram for GetLongOpt:

GetLongOpt
CommandLineHandler

Public Types
enum OptType { Valueless, OptionalValue, MandatoryValue }
enum for different types of values associated with command line options.

Public Member Functions


GetLongOpt (const char optmark= -)
Constructor.

GetLongOpt ()

13.47. GETLONGOPT CLASS REFERENCE

451

Destructor.

int parse (int argc, char const argv)


parse the command line args (argc, argv).

int parse (char const str, char const p)


parse a string of options (typically given from the environment).

int enroll (const char const opt, const OptType t, const char const desc, const char const val)
Add an option to the list of valid command options.

const char retrieve (const char const opt) const


Retrieve value of option.

void usage (std::ostream &outfile=Cout) const


Print usage information to outfile.

void usage (const char str)


Change header of usage output to str.

void store (const char name, const char value)


Store a specified option value.

Private Member Functions


char basename (char const p) const
extract the base name from a string as delimited by /

int setcell (Cell c, char valtoken, char nexttoken, const char p)


internal convenience function for setting Cell::value

Private Attributes
Cell table
option table

const char ustring


usage message

char pname
program basename

char optmarker
option marker

int enroll done


finished enrolling

Cell last
last entry in option table

13.47.1

Detailed Description

GetLongOpt is a general command line utility from S. Manoharan (Advanced Computer Research Institute, Lyon,
France).
GetLongOpt manages the definition and parsing of long options. Command line options can be abbreviated
as long as there is no ambiguity. If an option requires a value, the value should be separated from the option either
by whitespace or an =.

452

CHAPTER 13. CLASS DOCUMENTATION

13.47.2

Member Enumeration Documentation

enum OptType
enum for different types of values associated with command line options.
Enumerator
Valueless option that may never have a value
OptionalValue option with optional value
MandatoryValue option with required value

13.47.3

Constructor & Destructor Documentation

GetLongOpt ( const char optmark = - )


Constructor.
Constructor for GetLongOpt takes an optional argument: the option marker. If unspecified, this defaults to -,
the standard (?) Unix option marker.
References GetLongOpt::enroll done, GetLongOpt::last, GetLongOpt::optmarker, GetLongOpt::table, and
GetLongOpt::ustring.

13.47.4

Member Function Documentation

int parse ( int argc, char const argv )


parse the command line args (argc, argv).
A return value < 1 represents a parse error. Appropriate error messages are printed when errors are seen.
parse returns the the optind (see getopt(3)) if parsing is successful.
References GetLongOpt::basename(), GetLongOpt::enroll done, GetLongOpt::optmarker, GetLongOpt::pname,
GetLongOpt::setcell(), and GetLongOpt::table.
Referenced by CommandLineHandler::check usage().
int parse ( char const str, char const p )
parse a string of options (typically given from the environment).
A return value < 1 represents a parse error. Appropriate error messages are printed when errors are seen.
parse takes two strings: the first one is the string to be parsed and the second one is a string to be prefixed to the
parse errors.
References GetLongOpt::enroll done, GetLongOpt::optmarker, GetLongOpt::setcell(), and GetLongOpt::table.
int enroll ( const char const opt, const OptType t, const char const desc, const char const val )
Add an option to the list of valid command options.
enroll adds option specifications to its internal database. The first argument is the option sting. The second is
an enum saying if the option is a flag (Valueless), if it requires a mandatory value (MandatoryValue) or if it takes
an optional value (OptionalValue). The third argument is a string giving a brief description of the option. This
description will be used by GetLongOpt::usage. GetLongOpt, for usage-printing, uses {$val} to represent values
needed by the options. {<$val>} is a mandatory value and {[$val]} is an optional value. The final argument to
enroll is the default string to be returned if the option is not specified. For flags (options with Valueless), use
(empty string, or in fact any arbitrary string) for specifying TRUE and 0 (null pointer) to specify FALSE.
References GetLongOpt::enroll done, GetLongOpt::last, and GetLongOpt::table.
Referenced by CommandLineHandler::initialize options().

13.48. GRAPHICS CLASS REFERENCE

453

const char retrieve ( const char const opt ) const


Retrieve value of option.
The values of the options that are enrolled in the database can be retrieved using retrieve. This returns a string
and this string should be converted to whatever type you want. See atoi, atof, atol, etc. If a parse is not done
before retrieving all you will get are the default values you gave while enrolling! Ambiguities while retrieving
(may happen when options are abbreviated) are resolved by taking the matching option that was enrolled last. For
example, -{v} will expand to {-verify}. If you try to retrieve something you didnt enroll, you will get a warning
message.
References GetLongOpt::optmarker, and GetLongOpt::table.
Referenced by CommandLineHandler::check usage(), ProgramOptions::manage run modes(), ProgramOptions::ProgramOptions(), and CommandLineHandler::read restart evals().
void usage ( const char str ) [inline]
Change header of usage output to str.
GetLongOpt::usage is overloaded. If passed a string str, it sets the internal usage string to str. Otherwise
it simply prints the command usage.
References GetLongOpt::ustring.
The documentation for this class was generated from the following files:
CommandLineHandler.hpp
CommandLineHandler.cpp

13.48

Graphics Class Reference

The Graphics class provides a single interface to 2D (motif) and 3D (PLPLOT) graphics as well as tabular cataloguing of data for post-processing with Matlab, Tecplot, etc.

Public Member Functions


Graphics ()
constructor

Graphics ()
destructor

void create plots 2d (const Variables &vars, const Response &response)


creates the 2d graphics window and initializes the plots

void create tabular datastream (const Variables &vars, const Response &response, const std::string &tabulardata file)
opens the tabular data file stream and prints the headings

void add datapoint (const Variables &vars, const Response &response)


adds data to each window in the 2d graphics and adds a row to the tabular data file based on the results of a model
evaluation

void add datapoint (int i, double x, double y)


adds data to a single window in the 2d graphics

void new dataset (int i)


creates a separate line graphic for subsequent data points for a single window in the 2d graphics

void close ()

454

CHAPTER 13. CLASS DOCUMENTATION


close graphics windows

void close tabular ()


close tabular datastream

void set x labels2d (const char x label)


set x label for each plot equal to x label

void set y labels2d (const char y label)


set y label for each plot equal to y label

void set x label2d (int i, const char x label)


set x label for ith plot equal to x label

void set y label2d (int i, const char y label)


set y label for ith plot equal to y label

void graphics counter (int cntr)


set graphicsCntr equal to cntr

int graphics counter () const


return graphicsCntr

void tabular counter label (const std::string &label)


set tabularCntrLabel equal to label

Private Attributes
Graphics2D graphics2D
pointer to the 2D graphics object

bool win2dOn
flag to indicate if 2D graphics window is active

bool tabularDataFlag
flag to indicate if tabular data stream is active

int graphicsCntr
used for x axis values in 2D graphics and for 1st column in tabular data

std::string tabularCntrLabel
label for counter used in first line comment w/i the tabular data file

std::ofstream tabularDataFStream
file stream for tabulation of graphics data within compute response

13.48.1

Detailed Description

The Graphics class provides a single interface to 2D (motif) and 3D (PLPLOT) graphics as well as tabular cataloguing of data for post-processing with Matlab, Tecplot, etc.
There is only one Graphics object (dakotaGraphics) and it is global (for convenient access from strategies,
models, and approximations).

13.48. GRAPHICS CLASS REFERENCE

13.48.2

455

Member Function Documentation

void create plots 2d ( const Variables & vars, const Response & response )
creates the 2d graphics window and initializes the plots
Sets up a single event loop for duration of the dakotaGraphics object, continuously adding data to a single
window. There is no reset. To start over with a new data set, you need a new object (delete old and instantiate
new).
References Variables::continuous variable labels(), Variables::cv(), Variables::discrete int variable labels(),
Variables::discrete real variable labels(), Variables::div(), Variables::drv(), Response::function labels(), Graphics::graphics2D, Response::num functions(), Dakota::re match(), and Graphics::win2dOn.
Referenced by SurrBasedMinimizer::initialize graphics(), NonDReliability::initialize graphics(), and Iterator::initialize graphics().
void create tabular datastream ( const Variables & vars, const Response & response, const std::string &
tabular data file )
opens the tabular data file stream and prints the headings
Opens the tabular data file stream and prints headings, one for each continuous and discrete variable and
one for each response function, using the variable and response function labels. This tabular data is used for
post-processing of DAKOTA results in Matlab, Tecplot, etc.
References Graphics::tabularCntrLabel, Graphics::tabularDataFlag, and Graphics::tabularDataFStream.
Referenced by SurrBasedMinimizer::initialize graphics(), and Iterator::initialize graphics().
void add datapoint ( const Variables & vars, const Response & response )
adds data to each window in the 2d graphics and adds a row to the tabular data file based on the results of a model
evaluation
Adds data to each 2d plot and each tabular data column (one for each active variable and for each response
function). graphicsCntr is used for the x axis in the graphics and the first column in the tabular data.
References Response::active set request vector(), Variables::continuous variables(), Variables::discrete intvariables(), Variables::discrete real variables(), Response::function values(), Graphics::graphics2D, Graphics::graphicsCntr, Graphics::tabularDataFlag, Graphics::tabularDataFStream, and Graphics::win2dOn.
Referenced by Model::compute response(), NonDLocalReliability::mean value(), SurrBasedLocalMinimizer::minimize surrogates(), Model::synchronize(), Model::synchronize nowait(), and NonDLocalReliability::updatelevel data().
void add datapoint ( int i, double x, double y )
adds data to a single window in the 2d graphics
Adds data to a single 2d plot. Allows complete flexibility in defining other kinds of x-y plotting in the 2D
graphics.
References Graphics::graphics2D, and Graphics::win2dOn.
void new dataset ( int i )
creates a separate line graphic for subsequent data points for a single window in the 2d graphics
Used for displaying multiple data sets within the same plot.
References Graphics::graphics2D, and Graphics::win2dOn.
Referenced by NonDLocalReliability::update level data().
The documentation for this class was generated from the following files:

456

CHAPTER 13. CLASS DOCUMENTATION


DakotaGraphics.hpp
DakotaGraphics.cpp

13.49

GridApplicInterface Class Reference

Derived application interface class which spawns simulation codes using grid services such as Condor or Globus.
Inheritance diagram for GridApplicInterface:
Interface
ApplicationInterface
ProcessApplicInterface
SysCallApplicInterface
GridApplicInterface

Public Member Functions


GridApplicInterface (const ProblemDescDB &problem db)
constructor

GridApplicInterface ()
destructor

void derived map (const Variables &vars, const ActiveSet &set, Response &response, int fn eval id)
Called by map() and other functions to execute the simulation in synchronous mode. The portion of performing an
evaluation that is specific to a derived class.

void derived map asynch (const ParamResponsePair &pair)


Called by map() and other functions to execute the simulation in asynchronous mode. The portion of performing
an asynchronous evaluation that is specific to a derived class.

void wait local evaluations (PRPQueue &prp queue)


For asynchronous function evaluations, this method is used to detect completion of jobs and process their results.
It provides the processing code that is specific to derived classes. This version waits for at least one completion.

void test local evaluations (PRPQueue &prp queue)


Convenience function for common code between wait and nowait case.

int synchronous local analysis (int analysis id)

Protected Member Functions


bool grid file test (const String &root file)
test file(s) for existence based on root file name

13.50. HIERARCHSURRMODEL CLASS REFERENCE

457

Protected Attributes
IntSet idSet
Set of function evaluation ids for active asynchronous system call evaluations.

IntShortMap failCountMap
map linking function evaluation ids to number of response read failures

start grid computing t start grid computing


handle to dynamically linked start grid computing function

perform analysis t perform analysis


handle to dynamically linked perform analysis grid function

get jobs completed t get jobs completed


handle to dynamically linked get jobs completed grid function

stop grid computing t stop grid computing


handle to dynamically linked stop grid computing function

13.49.1

Detailed Description

Derived application interface class which spawns simulation codes using grid services such as Condor or Globus.
This class is currently a modified copy of SysCallApplicInterface adapted for use with an external grid dervices
library which was dynamically linked using dlopen() services.

13.49.2

Member Function Documentation

int synchronous local analysis ( int analysis id ) [inline], [virtual]


This code provides the derived function used by ApplicationInterface::serve analyses synch(). TODO - allow
local analyses?????
Reimplemented from ApplicationInterface.
References SysCallApplicInterface::spawn analysis to shell().
The documentation for this class was generated from the following files:
GridApplicInterface.hpp
GridApplicInterface.cpp

13.50

HierarchSurrModel Class Reference

Derived model class within the surrogate model branch for managing hierarchical surrogates (models of varying
fidelity).
Inheritance diagram for HierarchSurrModel:

Model
SurrogateModel
HierarchSurrModel

458

CHAPTER 13. CLASS DOCUMENTATION

Public Member Functions


HierarchSurrModel (ProblemDescDB &problem db)
constructor

HierarchSurrModel ()
destructor

Protected Member Functions


void derived compute response (const ActiveSet &set)
portion of compute response() specific to HierarchSurrModel

void derived asynch compute response (const ActiveSet &set)


portion of asynch compute response() specific to HierarchSurrModel

const IntResponseMap & derived synchronize ()


portion of synchronize() specific to HierarchSurrModel

const IntResponseMap & derived synchronize nowait ()


portion of synchronize nowait() specific to HierarchSurrModel

Model & surrogate model ()


return lowFidelityModel

Model & truth model ()


return highFidelityModel

void derived subordinate models (ModelList &ml, bool recurse flag)


return lowFidelityModel and highFidelityModel

void primary response fn weights (const RealVector &wts, bool recurse flag=true)
set the relative weightings for multiple objective functions or least squares terms and optionally recurses into LF/HF
models

void surrogate response mode (short mode)


set responseMode and pass any bypass request on to highFidelityModel for any lower-level surrogate recursions.

void surrogate function indices (const IntSet &surr fn indices)


(re)set the surrogate index set in SurrogateModel::surrogateFnIndices

void build approximation ()


use highFidelityModel to compute the truth values needed for correction of lowFidelityModel results

void component parallel mode (short mode)


update component parallel mode for supporting parallelism in lowFidelityModel and highFidelityModel

void derived init communicators (int max eval concurrency, bool recurse flag=true)
set up lowFidelityModel and highFidelityModel for parallel operations

void derived init serial ()


set up lowFidelityModel and highFidelityModel for serial operations.

void derived set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration within lowFidelityModel and highFidelityModel

void derived free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for the HierarchSurrModel (request forwarded to lowFidelityModel and highFidelityModel)

void serve (int max eval concurrency)

13.50. HIERARCHSURRMODEL CLASS REFERENCE

459

Service lowFidelityModel and highFidelityModel job requests received from the master. Completes when a termination message is received from stop servers().

void stop servers ()


Executed by the master to terminate lowFidelityModel and highFidelityModel server operations when iteration on
the HierarchSurrModel is complete.

void inactive view (short view, bool recurse flag=true)


update the Models inactive view based on higher level (nested) context and optionally recurse into

int evaluation id () const


Return the current evaluation id for the HierarchSurrModel.

void set evaluation reference ()


set the evaluation counter reference points for the HierarchSurrModel (request forwarded to lowFidelityModel and
highFidelityModel)

void fine grained evaluation counters ()


request fine-grained evaluation reporting within lowFidelityModel and highFidelityModel

void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true) const
print the evaluation summary for the HierarchSurrModel (request forwarded to lowFidelityModel and highFidelityModel)

virtual void eval tag prefix (const String &eval id str)


set the hierarchical eval ID tag prefix

Private Member Functions


void update model (Model &model)
update the incoming model (lowFidelityModel or highFidelityModel) with current variable values/bounds/labels

Private Attributes
int hierModelEvalCntr
number of calls to derived compute response()/ derived asynch compute response()

IntResponseMap cachedTruthRespMap
map of high-fidelity responses retrieved in derived synchronize nowait() that could not be returned since corresponding low-fidelity response portions were still pending.

Model lowFidelityModel
provides approximate low fidelity function evaluations. Model is of arbitrary type and supports recursions (e.g.,
lowFidelityModel can be a data fit surrogate on a low fidelity model).

Model highFidelityModel
provides truth evaluations for computing corrections to the low fidelity results. Model is of arbitrary type and
supports recursions.

Response highFidRefResponse
the reference high fidelity response computed in build approximation() and used for calculating corrections.

String evalTagPrefix
cached evalTag Prefix from parents to use at compute response time

460

CHAPTER 13. CLASS DOCUMENTATION

Additional Inherited Members


13.50.1

Detailed Description

Derived model class within the surrogate model branch for managing hierarchical surrogates (models of varying
fidelity).
The HierarchSurrModel class manages hierarchical models of varying fidelity. In particular, it uses a low
fidelity model as a surrogate for a high fidelity model. The class contains a lowFidelityModel which performs
the approximate low fidelity function evaluations and a highFidelityModel which provides truth evaluations for
computing corrections to the low fidelity results.

13.50.2

Member Function Documentation

void derived compute response ( const ActiveSet & set ) [protected], [virtual]
portion of compute response() specific to HierarchSurrModel
Compute the response synchronously using lowFidelityModel, highFidelityModel, or both (mixed case). For
the lowFidelityModel portion, compute the high fidelity response if needed with build approximation(), and, if
correction is active, correct the low fidelity results.
Reimplemented from Model.
References Response::active set(), DiscrepancyCorrection::apply(), SurrogateModel::approxBuilds, SurrogateModel::asv mapping(), HierarchSurrModel::build approximation(), HierarchSurrModel::component parallel mode(),
DiscrepancyCorrection::compute(), Model::compute response(), DiscrepancyCorrection::computed(), Response::copy(), Model::current response(), Model::currentResponse, Model::currentVariables, SurrogateModel::deltaCorr, Model::eval tag prefix(), HierarchSurrModel::evalTagPrefix, SurrogateModel::force rebuild(), Model::hierarchicalTagging, HierarchSurrModel::hierModelEvalCntr, HierarchSurrModel::highFidelityModel, HierarchSurrModel::highFidRefResponse, HierarchSurrModel::lowFidelityModel, Model::outputLevel, ActiveSet::request vector(),
SurrogateModel::response mapping(), SurrogateModel::responseMode, Response::update(), and HierarchSurrModel::update model().
void derived asynch compute response ( const ActiveSet & set ) [protected], [virtual]
portion of asynch compute response() specific to HierarchSurrModel
Compute the response asynchronously using lowFidelityModel, highFidelityModel, or both (mixed case). For
the lowFidelityModel portion, compute the high fidelity response with build approximation() (for correcting the
low fidelity results in derived synchronize() and derived synchronize nowait()) if not performed previously.
Reimplemented from Model.
References DiscrepancyCorrection::apply(), SurrogateModel::approxBuilds, SurrogateModel::asv mapping(),
Model::asynch compute response(), Model::asynch flag(), HierarchSurrModel::build approximation(), SurrogateModel::cachedApproxRespMap, HierarchSurrModel::cachedTruthRespMap, HierarchSurrModel::component parallelmode(), DiscrepancyCorrection::compute(), Model::compute response(), DiscrepancyCorrection::computed(), Variables::copy(), Response::copy(), Model::current response(), Model::currentVariables, SurrogateModel::deltaCorr, ActiveSet::derivative vector(), Model::eval tag prefix(), HierarchSurrModel::evalTagPrefix, Model::evaluation id(), SurrogateModel::force rebuild(), Model::hierarchicalTagging, HierarchSurrModel::hierModelEvalCntr, HierarchSurrModel::highFidelityModel, HierarchSurrModel::highFidRefResponse, HierarchSurrModel::lowFidelityModel, Model::outputLevel, SurrogateModel::rawVarsMap, ActiveSet::request vector(), SurrogateModel::responseMode, SurrogateModel::surrIdMap, SurrogateModel::truthIdMap, and HierarchSurrModel::update model().
const IntResponseMap & derived synchronize (

) [protected], [virtual]

portion of synchronize() specific to HierarchSurrModel

13.51. INTERFACE CLASS REFERENCE

461

Blocking retrieval of asynchronous evaluations from lowFidelityModel, highFidelityModel, or both (mixed


case). For the lowFidelityModel portion, apply correction (if active) to each response in the array. derived synchronize() is designed for the general case where derived asynch compute response() may be inconsistent in
its use of low fidelity evaluations, high fidelity evaluations, or both.
Reimplemented from Model.
References DiscrepancyCorrection::apply(), SurrogateModel::cachedApproxRespMap, HierarchSurrModel::cachedTruthRespMap, HierarchSurrModel::component parallel mode(), DiscrepancyCorrection::compute(), DiscrepancyCorrection::computed(), SurrogateModel::deltaCorr, HierarchSurrModel::derived synchronize nowait(), HierarchSurrModel::highFidelityModel, HierarchSurrModel::highFidRefResponse, HierarchSurrModel::lowFidelityModel,
Model::outputLevel, SurrogateModel::rawVarsMap, SurrogateModel::response mapping(), SurrogateModel::responseMode, SurrogateModel::surrIdMap, SurrogateModel::surrResponseMap, Model::synchronize(), and SurrogateModel::truthIdMap.

const IntResponseMap & derived synchronize nowait (

) [protected], [virtual]

portion of synchronize nowait() specific to HierarchSurrModel


Nonblocking retrieval of asynchronous evaluations from lowFidelityModel, highFidelityModel, or both (mixed
case). For the lowFidelityModel portion, apply correction (if active) to each response in the map. derived synchronize nowait() is designed for the general case where derived asynch compute response() may be inconsistent in its use of actual evals, approx evals, or both.
Reimplemented from Model.
References DiscrepancyCorrection::apply(), SurrogateModel::cachedApproxRespMap, HierarchSurrModel::cachedTruthRespMap, HierarchSurrModel::component parallel mode(), DiscrepancyCorrection::compute(), DiscrepancyCorrection::computed(), SurrogateModel::deltaCorr, HierarchSurrModel::highFidelityModel, HierarchSurrModel::highFidRefResponse, HierarchSurrModel::lowFidelityModel, Model::outputLevel, SurrogateModel::rawVarsMap, SurrogateModel::response mapping(), SurrogateModel::responseMode, SurrogateModel::surrIdMap, SurrogateModel::surrResponseMap, Model::synchronize nowait(), and SurrogateModel::truthIdMap.
Referenced by HierarchSurrModel::derived synchronize().

int evaluation id (

) const [inline], [protected], [virtual]

Return the current evaluation id for the HierarchSurrModel.


return the hierarchical model evaluation count. Due to possibly intermittent use of surrogate bypass, this is
not the same as either the loFi or hiFi model evaluation counts. It also does not distinguish duplicate evals.
Reimplemented from Model.
References HierarchSurrModel::hierModelEvalCntr.
The documentation for this class was generated from the following files:
HierarchSurrModel.hpp
HierarchSurrModel.cpp

13.51

Interface Class Reference

Base class for the interface class hierarchy.


Inheritance diagram for Interface:

462

CHAPTER 13. CLASS DOCUMENTATION


Interface
ApplicationInterface
DirectApplicInterface

ApproximationInterface
ProcessApplicInterface

MatlabInterface

ProcessHandleApplicInterface

PythonInterface

SysCallApplicInterface

ScilabInterface
TestDriverInterface
ParallelDirectApplicInterface
SerialDirectApplicInterface

Public Member Functions


Interface ()
default constructor

Interface (ProblemDescDB &problem db)


standard constructor for envelope

Interface (const Interface &interface in)


copy constructor

virtual Interface ()
destructor

Interface operator= (const Interface &interface in)


assignment operator

virtual void map (const Variables &vars, const ActiveSet &set, Response &response, bool asynch flag=false)
the function evaluator: provides a mapping from the variables to the responses.

virtual const IntResponseMap & synch ()


recovers data from a series of asynchronous evaluations (blocking)

virtual const IntResponseMap & synch nowait ()


recovers data from a series of asynchronous evaluations (nonblocking)

virtual void serve evaluations ()


evaluation server function for multiprocessor executions

virtual void stop evaluation servers ()


send messages from iterator rank 0 to terminate evaluation servers

virtual void init communicators (const IntArray &message lengths, int max eval concurrency)
allocate communicator partitions for concurrent evaluations within an iterator and concurrent multiprocessor analyses within an evaluation.

virtual void set communicators (const IntArray &message lengths, int max eval concurrency)
set the local parallel partition data for an interface (the partitions are already allocated in ParallelLibrary).

virtual void free communicators ()

13.51. INTERFACE CLASS REFERENCE

463

deallocate communicator partitions for concurrent evaluations within an iterator and concurrent multiprocessor
analyses within an evaluation.

virtual void init serial ()


reset certain defaults for serial interface objects.

virtual int asynch local evaluation concurrency () const


return the user-specified concurrency for asynch local evaluations

virtual String interface synchronization () const


return the user-specified interface synchronization

virtual int minimum points (bool constraint flag) const


returns the minimum number of points required to build a particular ApproximationInterface (used by DataFitSurrModels).

virtual int recommended points (bool constraint flag) const


returns the recommended number of points required to build a particular ApproximationInterface (used by DataFitSurrModels).

virtual void approximation function indices (const IntSet &approx fn indices)


set the (currently active) approximation function index set

virtual void update approximation (const Variables &vars, const IntResponsePair &response pr)
updates the anchor point for an approximation

virtual void update approximation (const RealMatrix &samples, const IntResponseMap &resp map)
updates the current data points for an approximation

virtual void update approximation (const VariablesArray &vars array, const IntResponseMap &resp map)
updates the current data points for an approximation

virtual void append approximation (const Variables &vars, const IntResponsePair &response pr)
appends a single point to an existing approximation

virtual void append approximation (const RealMatrix &samples, const IntResponseMap &resp map)
appends multiple points to an existing approximation

virtual void append approximation (const VariablesArray &vars array, const IntResponseMap &resp map)
appends multiple points to an existing approximation

virtual void build approximation (const RealVector &c l bnds, const RealVector &c u bnds, const IntVector &di l bnds, const IntVector &di u bnds, const RealVector &dr l bnds, const RealVector &dr u bnds)
builds the approximation

virtual void rebuild approximation (const BoolDeque &rebuild deque)


rebuilds the approximation after a data update

virtual void pop approximation (bool save surr data)


removes data from last append from the approximation

virtual void restore approximation ()


restores the approximation to a selected previous state

virtual bool restore available ()


queries the approximation for the ability to restore a previous increment

virtual void finalize approximation ()


finalizes the approximation by applying all trial increments

virtual void store approximation ()


move the current approximation into storage for later combination

464

CHAPTER 13. CLASS DOCUMENTATION


virtual void combine approximation (short corr type)
combine the current approximation with one previously stored

virtual void clear current ()


clears current data from an approximation interface

virtual void clear all ()


clears all data from an approximation interface

virtual void clear saved ()


clears saved data (from pop invocations) from an approximation interface

virtual SharedApproxData & shared approximation ()


retrieve the SharedApproxData within an ApproximationInterface

virtual std::vector
< Approximation > & approximations ()
retrieve the Approximations within an ApproximationInterface

virtual const
Pecos::SurrogateData & approximation data (size t index)
retrieve the approximation data from a particular Approximation within an ApproximationInterface

virtual const RealVectorArray & approximation coefficients ()


retrieve the approximation coefficients from each Approximation within an ApproximationInterface

virtual void approximation coefficients (const RealVectorArray &approx coeffs)


set the approximation coefficients within each Approximation within an ApproximationInterface

virtual const RealVector & approximation variances (const Variables &vars)


retrieve the approximation variances from each Approximation within an ApproximationInterface

virtual const StringArray & analysis drivers () const


retrieve the analysis drivers specification for application interfaces

virtual bool evaluation cache () const


return flag indicating usage of the global evaluation cache

virtual void file cleanup () const


clean up any interface parameter/response files when aborting

void assign rep (Interface interface rep, bool ref count incr=true)
replaces existing letter with a new one

const String & interface type () const


returns the interface type

const String & interface id () const


returns the interface identifier

int evaluation id () const


returns the value of the (total) evaluation id counter for the interface

void fine grained evaluation counters (size t num fns)


set fineGrainEvalCounters to true and initialize counters if needed

void init evaluation counters (size t num fns)


initialize fine grained evaluation counters

void set evaluation reference ()


set evaluation count reference points for the interface

void print evaluation summary (std::ostream &s, bool minimal header, bool relative count) const

13.51. INTERFACE CLASS REFERENCE

465

print an evaluation summary for the interface

bool multi proc eval () const


returns a flag signaling the use of multiprocessor evaluation partitions

bool iterator eval dedicated master () const


returns a flag signaling the use of a dedicated master processor at the iterator-evaluation scheduling level

bool is null () const


function to check interfaceRep (does this envelope contain a letter?)

void eval tag prefix (const String &eval id str, bool append iface id=true)
set the evaluation tag prefix (does not recurse)

Protected Member Functions


Interface (BaseConstructor, const ProblemDescDB &problem db)
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

Interface (NoDBBaseConstructor, size t num fns, short output level)


constructor initializes the base class part of letter classes (NoDBBaseConstructor used for on the fly instantiations
without a DB)

void init algebraic mappings (const Variables &vars, const Response &response)
Define algebraicACVIndices, algebraicACVIds, and algebraicFnIndices.

void asv mapping (const ActiveSet &total set, ActiveSet &algebraic set, ActiveSet &core set)
define the evaluation requirements for algebraic mappings() (algebraic set) and the core Application/Approximation
mapping (core set) from the total Interface evaluation requirements (total set)

void asv mapping (const ActiveSet &algebraic set, ActiveSet &total set)
map an algebraic ASV back to original total ordering for asynch recovery

void algebraic mappings (const Variables &vars, const ActiveSet &algebraic set, Response &algebraic response)
evaluate the algebraic response using the AMPL solver library and the data extracted from the algebraic mappings
file

void response mapping (const Response &algebraic response, const Response &core response, Response
&total response)
combine the response from algebraic mappings() with the response from derived map() to create the total response

String final eval id tag (int fn eval id)


form and return the final evaluation ID tag, appending iface ID if needed

Protected Attributes
String interfaceType
the interface type: system, fork, direct, grid, or approximation

String interfaceId
the interface specification identifier string from the DAKOTA input file

bool algebraicMappings
flag for the presence of algebraic mappings that define the subset of an Interfaces parameter to response mapping
that is explicit and algebraic.

bool coreMappings

466

CHAPTER 13. CLASS DOCUMENTATION


flag for the presence of non-algebraic mappings that define the core of an Interfaces parameter to response mapping (using analysis drivers for ApplicationInterface or functionSurfaces for ApproximationInterface).

int currEvalId
identifier for the current evaluation, which may differ from the evaluation counters in the case of evaluation scheduling; used on iterator master as well as server processors. Currently, this is set prior to all invocations of derived map() for all processors.

bool fineGrainEvalCounters
controls use of fn val/grad/hess counters

int evalIdCntr
total interface evaluation counter

int newEvalIdCntr
new (non-duplicate) interface evaluation counter

int evalIdRefPt
iteration reference point for evalIdCntr

int newEvalIdRefPt
iteration reference point for newEvalIdCntr

IntArray fnValCounter
number of value evaluations by resp fn

IntArray fnGradCounter
number of gradient evaluations by resp fn

IntArray fnHessCounter
number of Hessian evaluations by resp fn

IntArray newFnValCounter
number of new value evaluations by resp fn

IntArray newFnGradCounter
number of new gradient evaluations by resp fn

IntArray newFnHessCounter
number of new Hessian evaluations by resp fn

IntArray fnValRefPt
iteration reference point for fnValCounter

IntArray fnGradRefPt
iteration reference point for fnGradCounter

IntArray fnHessRefPt
iteration reference point for fnHessCounter

IntArray newFnValRefPt
iteration reference point for newFnValCounter

IntArray newFnGradRefPt
iteration reference point for newFnGradCounter

IntArray newFnHessRefPt
iteration reference point for newFnHessCounter

IntResponseMap rawResponseMap
Set of responses returned after either a blocking or nonblocking schedule of asynchronous evaluations.

StringArray fnLabels

13.51. INTERFACE CLASS REFERENCE

467

response function descriptors from the DAKOTA input file (used in print evaluation summary() and derived direct
interface classes)

bool multiProcEvalFlag
flag for multiprocessor evaluation partitions (evalComm)

bool ieDedMasterFlag
flag for dedicated master partitioning at the iterator level

short outputLevel
output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG} OUTPUT

String evalTagPrefix
set of period-delimited evaluation ID tags to use in evaluation tagging

bool appendIfaceId
whether to append the interface ID to the prefix during map (default true)

Private Member Functions


Interface get interface (ProblemDescDB &problem db)
Used by the envelope to instantiate the correct letter class.

int algebraic function type (String)


Used by algebraic mappings to determine the correct AMPL function evaluation call to make.

Private Attributes
StringArray algebraicVarTags
set of variable tags from AMPL stub.col

SizetArray algebraicACVIndices
set of indices mapping AMPL algebraic variables to DAKOTA all continuous variables

SizetArray algebraicACVIds
set of ids mapping AMPL algebraic variables to DAKOTA all continuous variables

StringArray algebraicFnTags
set of function tags from AMPL stub.row

IntArray algebraicFnTypes
function type: > 0 = objective, < 0 = constraint |value|-1 is the objective (constraint) index when making AMPL
objval (conival) calls

SizetArray algebraicFnIndices
set of indices mapping AMPL algebraic objective functions to DAKOTA response functions

RealArray algebraicConstraintWeights
set of weights for computing Hessian matrices for algebraic constraints;

int numAlgebraicResponses
number of algebraic responses (objectives+constraints)

Interface interfaceRep
pointer to the letter (initialized only for the envelope)

int referenceCount
number of objects sharing interfaceRep

ASL asl
pointer to an AMPL solver library (ASL) object

468

13.51.1

CHAPTER 13. CLASS DOCUMENTATION

Detailed Description

Base class for the interface class hierarchy.


The Interface class hierarchy provides the part of a Model that is responsible for mapping a set of Variables
into a set of Responses. The mapping is performed using either a simulation-based application interface or a
surrogate-based approximation interface. For memory efficiency and enhanced polymorphism, the interface hierarchy employs the letter/envelope idiom (see Coplien Advanced C++, p. 133), for which the base class
(Interface) serves as the envelope and one of the derived classes (selected in Interface::get interface()) serves as
the letter.

13.51.2

Constructor & Destructor Documentation

Interface (

default constructor
used in Model envelope class instantiations
Interface ( ProblemDescDB & problem db )
standard constructor for envelope
Used in Model instantiation to build the envelope. This constructor only needs to extract enough data to properly execute get interface, since Interface::Interface(BaseConstructor, problem db) builds the actual base class
data inherited by the derived interfaces.
References Dakota::abort handler(), Interface::get interface(), and Interface::interfaceRep.
Interface ( const Interface & interface in )
copy constructor
Copy constructor manages sharing of interfaceRep and incrementing of referenceCount.
References Interface::interfaceRep, and Interface::referenceCount.
Interface (

) [virtual]

destructor
Destructor decrements referenceCount and only deletes interfaceRep if referenceCount is zero.
References Interface::interfaceRep, and Interface::referenceCount.
Interface ( BaseConstructor , const ProblemDescDB & problem db ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all inherited interfaces. get interface()
instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization
list (to avoid the recursion of the base class constructor calling get interface() again). Since this is the letter and the
letter IS the representation, interfaceRep is set to NULL (an uninitialized pointer causes problems in Interface).
References Dakota::abort handler(), Interface::algebraic function type(), Interface::algebraicConstraintWeights,
Interface::algebraicFnTags, Interface::algebraicFnTypes, Interface::algebraicMappings, Interface::algebraicVarTags, Interface::asl, Interface::fineGrainEvalCounters, Interface::fnLabels, ProblemDescDB::get sa(), ProblemDescDB::get string(), Interface::init evaluation counters(), Interface::outputLevel, and Dakota::strends().

13.51. INTERFACE CLASS REFERENCE

13.51.3

469

Member Function Documentation

Interface operator= ( const Interface & interface in )


assignment operator
Assignment operator decrements referenceCount for old interfaceRep, assigns new interfaceRep, and increments referenceCount for new interfaceRep.
References Interface::interfaceRep, and Interface::referenceCount.
void assign rep ( Interface interface rep, bool ref count incr = true )
replaces existing letter with a new one
Similar to the assignment operator, the assign rep() function decrements referenceCount for the old interfaceRep and assigns the new interfaceRep. It is different in that it is used for publishing derived class letters to existing
envelopes, as opposed to sharing representations among multiple envelopes (in particular, assign rep is passed a
letter object and operator= is passed an envelope object). Letter assignment supports two models as governed by
ref count incr:
ref count incr = true (default): the incoming letter belongs to another envelope. In this case, increment the
reference count in the normal manner so that deallocation of the letter is handled properly.
ref count incr = false: the incoming letter is instantiated on the fly and has no envelope. This case is
modeled after get interface(): a letter is dynamically allocated using new and passed into assign rep, the
letters reference count is not incremented, and the letter is not remotely deleted (its memory management
is passed over to the envelope).
References Dakota::abort handler(), Interface::interfaceRep, and Interface::referenceCount.
Referenced by DataFitSurrModel::DataFitSurrModel(), parallel interface plugin(), LibraryEnvironment::plugininterface(), and run dakota().
void eval tag prefix ( const String & eval id str, bool append iface id = true )
set the evaluation tag prefix (does not recurse)
default implementation just sets the list of eval ID tags; derived classes containing additional models or interfaces should override (currently no use cases)
References Interface::appendIfaceId, Interface::eval tag prefix(), Interface::evalTagPrefix, and Interface::interfaceRep.
Referenced by NestedModel::derived compute response(), SingleModel::eval tag prefix(), and Interface::evaltag prefix().
void response mapping ( const Response & algebraic response, const Response & core response,
Response & total response ) [protected]
combine the response from algebraic mappings() with the response from derived map() to create the total response
This function will get invoked even when only algebraic mappings are active (no core mappings from derivedmap), since the AMPL algebraic response may be ordered differently from the total response. In this case, the
core response object is unused.
References Dakota:: NPOS, Dakota::abort handler(), Response::active set derivative vector(), Response::activeset request vector(), Interface::algebraicACVIds, Interface::algebraicFnIndices, Interface::coreMappings, Dakota::find index(), Response::function gradient(), Response::function gradient view(), Response::function gradients(),

470

CHAPTER 13. CLASS DOCUMENTATION

Response::function hessian(), Response::function hessian view(), Response::function hessians(), Response::functionvalue(), Response::function values(), Response::function values view(), Interface::outputLevel, Response::reset(),
and Response::reset inactive().
Referenced by ApproximationInterface::map(), ApplicationInterface::map(), ApplicationInterface::synch(),
and ApplicationInterface::synch nowait().
Interface get interface ( ProblemDescDB & problem db ) [private]
Used by the envelope to instantiate the correct letter class.
used only by the envelope constructor to initialize interfaceRep to the appropriate derived type.
References ProblemDescDB::get string(), and Interface::interface type().
Referenced by Interface::Interface().

13.51.4

Member Data Documentation

IntResponseMap rawResponseMap [protected]


Set of responses returned after either a blocking or nonblocking schedule of asynchronous evaluations.
The map is a full/partial set of completions which are identified through their evalIdCntr key. The raw set is
postprocessed (i.e., finite diff grads merged) in Model::synchronize() where it becomes responseMap.
Referenced by ApplicationInterface::asynchronous local evaluations(), ApplicationInterface::process asynchlocal(), ApplicationInterface::process synch local(), ApplicationInterface::receive evaluation(), ApplicationInterface::synch(), ApproximationInterface::synch(), ApplicationInterface::synch nowait(), ApproximationInterface::synchnowait(), ApplicationInterface::test local backfill(), and ApplicationInterface::test receives backfill().
The documentation for this class was generated from the following files:
DakotaInterface.hpp
DakotaInterface.cpp

13.52

Iterator Class Reference

Base class for the iterator class hierarchy.


Inheritance diagram for Iterator:
Iterator
Analyzer

MetaIterator

Minimizer

NonD

CollabHybridMetaIterator

LeastSq

PStudyDACE

ConcurrentMetaIterator

Optimizer

Verification

EmbedHybridMetaIterator

SurrBasedMinimizer

SeqHybridMetaIterator

Public Member Functions


Iterator ()
default constructor

Iterator (ProblemDescDB &problem db)

13.52. ITERATOR CLASS REFERENCE

471

standard envelope constructor, which constructs its own model(s)

Iterator (ProblemDescDB &problem db, Model &model)


alternate envelope constructor which uses the ProblemDescDB but accepts a model from a higher level (metaiterator) context, instead of constructing its own

Iterator (const String &method string, Model &model)


alternate envelope constructor for instantiations by name without the ProblemDescDB

Iterator (const Iterator &iterator)


copy constructor

virtual Iterator ()
destructor

Iterator operator= (const Iterator &iterator)


assignment operator

virtual void initialize run ()


utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance
pointers

virtual void pre run ()


pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori

virtual void core run ()


core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post

virtual void post run (std::ostream &s)


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way

virtual void finalize run ()


utility function to perform common operations following post run(); deallocation and resetting of instance pointers

virtual void pre output ()


write variables to file, following pre-run

virtual void post input ()


read tabular data for post-run mode

virtual void init communicators ()


initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

virtual void set communicators ()


set the communicators associated with iteratedModel

virtual void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

virtual void reset ()


restore initial state for repeated sub-iterator executions

virtual void initialize iterator (int job index)


used by IteratorScheduler to set the starting data for a run

virtual void pack parameters buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack starting data for an iterator run

virtual void unpack parameters buffer (MPIUnpackBuffer &recv buffer)


used by IteratorScheduler to unpack starting data for an iterator run

472

CHAPTER 13. CLASS DOCUMENTATION


virtual void pack results buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack results data from an iterator run

virtual void unpack results buffer (MPIUnpackBuffer &recv buffer, int job index)
used by IteratorScheduler to unpack results data from an iterator run

virtual void update local results (int job index)


used by IteratorScheduler to update local results arrays

virtual const Variables & variables results () const


return a single final iterator solution (variables)

virtual const Response & response results () const


return a single final iterator solution (response)

virtual const VariablesArray & variables array results ()


return multiple final iterator solutions (variables). This should only be used if returns multiple points() returns
true.

virtual const ResponseArray & response array results ()


return multiple final iterator solutions (response). This should only be used if returns multiple points() returns true.

virtual bool accepts multiple points () const


indicates if this iterator accepts multiple initial points. Default return is false. Override to return true if appropriate.

virtual bool returns multiple points () const


indicates if this iterator returns multiple final points. Default return is false. Override to return true if appropriate.

virtual void initial points (const VariablesArray &pts)


sets the multiple initial points for this iterator. This should only be used if accepts multiple points() returns true.

virtual void response results active set (const ActiveSet &set)


set the requested data for the final iterator response results

virtual void initialize graphics (int iterator server id=1)


initialize the 2D graphics window and the tabular graphics data

virtual void print results (std::ostream &s)


print the final iterator results

virtual const Model & algorithm space model () const


return the result of any recasting or surrogate model recursion layered on top of iteratedModel by the derived
Iterator ctor chain

virtual unsigned short uses method () const


return name of any enabling iterator used by this iterator

virtual void method recourse ()


perform a method switch, if possible, due to a detected conflict

virtual const VariablesArray & all variables ()


return the complete set of evaluated variables

virtual const RealMatrix & all samples ()


return the complete set of evaluated samples

virtual const IntResponseMap & all responses () const


return the complete set of computed responses

virtual int num samples () const


get the current number of samples

virtual void sampling reset (int min samples, bool all data flag, bool stats flag)

13.52. ITERATOR CLASS REFERENCE


reset sampling iterator to use at least min samples

virtual void sampling reference (int samples ref)


set reference number of samples, which is a lower bound during reset

virtual unsigned short sampling scheme () const


return sampling name

virtual bool compact mode () const


returns Analyzer::compactMode

void run (std::ostream &s)


orchestrate initialize/pre/core/post/finalize phases

void assign rep (Iterator iterator rep, bool ref count incr=true)
replaces existing letter with a new one

void iterated model (const Model &model)


set the iteratedModel (iterators and meta-iterators using a single model instance)

Model & iterated model ()


return the iteratedModel (iterators & meta-iterators using a single model instance)

ProblemDescDB & problem description db () const


return the problem description database (probDescDB)

void method name (unsigned short m name)


set the method name to an enumeration value

unsigned short method name () const


return the method name via its native enumeration value

void method string (const String &m str)


set the method name by string

String method string () const


return the method name by string

String method enum to string (unsigned short method name) const


convert a method name enumeration value to a string

unsigned short method string to enum (const String &method name) const
convert a method name string to an enumeration value

String submethod enum to string (unsigned short submethod name) const


convert a method name enumeration value to a string

const String & method id () const


return the method identifier (methodId)

int maximum evaluation concurrency () const


return the maximum evaluation concurrency supported by the iterator

void maximum evaluation concurrency (int max conc)


set the maximum evaluation concurrency supported by the iterator

void convergence tolerance (Real conv tol)


set the method convergence tolerance (convergenceTol)

Real convergence tolerance () const


return the method convergence tolerance (convergenceTol)

void output level (short out lev)


set the method output level (outputLevel)

473

474

CHAPTER 13. CLASS DOCUMENTATION


short output level () const
return the method output level (outputLevel)

void summary output (bool summary output flag)


Set summary output control; true enables evaluation/results summary.

size t num final solutions () const


return the number of solutions to retain in best variables/response arrays

void num final solutions (size t num final)


set the number of solutions to retain in best variables/response arrays

void active set (const ActiveSet &set)


set the default active set vector (for use with iterators that employ evaluate parameter sets())

const ActiveSet & active set () const


return the default active set vector (used by iterators that employ evaluate parameter sets())

void sub iterator flag (bool si flag)


set subIteratorFlag (and update summaryOutputFlag if needed)

void active variable mappings (const SizetArray &c index1, const SizetArray &di index1, const SizetArray &dr index1, const ShortArray &c target2, const ShortArray &di target2, const ShortArray &dr target2)
set primaryA{CV,DIV,DRV}MapIndices, secondaryA{CV,DIV,DRV}MapTargets

bool is null () const


function to check iteratorRep (does this envelope contain a letter?)

Iterator iterator rep () const


returns iteratorRep for access to derived class member functions that are not mapped to the top Iterator level

virtual void eval tag prefix (const String &eval id str)


set the hierarchical eval ID tag prefix

Protected Member Functions


Iterator (BaseConstructor, ProblemDescDB &problem db)
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

Iterator (NoDBBaseConstructor, unsigned short method name)


alternate constructor for base iterator classes constructed on the fly

virtual void update from model (const Model &model)


set inherited data attributes based on extractions from incoming model

virtual const VariablesArray & initial points () const


gets the multiple initial points for this iterator. This will only be meaningful after a call to initial points mutator.

StrStrSizet run identifier () const


get the unique run identifier based on method name, id, and number of executions

13.52. ITERATOR CLASS REFERENCE

475

Protected Attributes
ProblemDescDB & probDescDB
class member reference to the problem description database

Model iteratedModel
the model to be iterated (for iterators and meta-iterators employing a single model instance)

unsigned short methodName


name of the iterator (the users method spec)

Real convergenceTol
iteration convergence tolerance

int maxIterations
maximum number of iterations for the iterator

int maxFunctionEvals
maximum number of fn evaluations for the iterator

int maxEvalConcurrency
maximum number of concurrent model evaluations

ActiveSet activeSet
the response data requirements on each function evaluation

size t numFinalSolutions
number of solutions to retain in best variables/response arrays

VariablesArray bestVariablesArray
collection of N best solution variables found during the study; always in context of Model originally passed to the
Iterator (any in-flight Recasts must be undone)

ResponseArray bestResponseArray
collection of N best solution responses found during the study; always in context of Model originally passed to the
Iterator (any in-flight Recasts must be undone)

bool subIteratorFlag
flag indicating if this Iterator is a sub-iterator (NestedModel::subIterator or DataFitSurrModel::daceIterator)

SizetArray primaryACVarMapIndices
primary all continuous variable mapping indices flowed down from higher level iteration

SizetArray primaryADIVarMapIndices
primary all discrete int variable mapping indices flowed down from higher level iteration

SizetArray primaryADRVarMapIndices
primary all discrete real variable mapping indices flowed down from higher level iteration

ShortArray secondaryACVarMapTargets
secondary all continuous variable mapping targets flowed down from higher level iteration

ShortArray secondaryADIVarMapTargets
secondary all discrete int variable mapping targets flowed down from higher level iteration

ShortArray secondaryADRVarMapTargets
secondary all discrete real variable mapping targets flowed down from higher level iteration

short outputLevel
output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG} OUTPUT

bool summaryOutputFlag

476

CHAPTER 13. CLASS DOCUMENTATION


flag for summary output (evaluation stats, final results); default true, but false for on-the-fly (helper) iterators and
sub-iterator use cases

ResultsManager & resultsDB


reference to the global iterator results database

ResultsNames resultsNames
valid names for iterator results

Private Member Functions


Iterator get iterator (ProblemDescDB &problem db)
Used by the envelope to instantiate the correct letter class.

Iterator get iterator (ProblemDescDB &problem db, Model &model)


Used by the envelope to instantiate the correct letter class.

Iterator get iterator (const String &method string, Model &model)


Used by the envelope to instantiate the correct letter class.

Private Attributes
String methodId
method identifier string from the input file

size t execNum
an execution number for this instance of the class, unique across all instances of same methodName/methodId

Iterator iteratorRep
pointer to the letter (initialized only for the envelope)

int referenceCount
number of objects sharing iteratorRep

13.52.1

Detailed Description

Base class for the iterator class hierarchy.


The Iterator class is the base class for one of the primary class hierarchies in DAKOTA. The iterator hierarchy
contains all of the iterative algorithms which use repeated execution of simulations as function evaluations. For
memory efficiency and enhanced polymorphism, the iterator hierarchy employs the letter/envelope idiom (see
Coplien Advanced C++, p. 133), for which the base class (Iterator) serves as the envelope and one of the derived
classes (selected in Iterator::get iterator()) serves as the letter.

13.52.2

Constructor & Destructor Documentation

Iterator (

default constructor
The default constructor is used in Vector<Iterator> instantiations and for initialization of Iterator objects
contained in meta-Iterators and Model recursions. iteratorRep is NULL in this case, making it necessary to check
for NULL pointers in the copy constructor, assignment operator, and destructor.
Referenced by SurrBasedGlobalMinimizer::SurrBasedGlobalMinimizer(), and SurrBasedLocalMinimizer::SurrBasedLocalMinimizer().

13.52. ITERATOR CLASS REFERENCE

477

Iterator ( ProblemDescDB & problem db )


standard envelope constructor, which constructs its own model(s)
Envelope constructor only needs to extract enough data to properly execute get iterator(), since letter holds
the actual base class data. This version is used for top-level ProblemDescDB-driven construction of all Iterators
and MetaIterators, which construct their own Model instances.
References Dakota::abort handler(), Iterator::get iterator(), and Iterator::iteratorRep.
Iterator ( ProblemDescDB & problem db, Model & model )
alternate envelope constructor which uses the ProblemDescDB but accepts a model from a higher level (metaiterator) context, instead of constructing its own
Envelope constructor only needs to extract enough data to properly execute get iterator(), since letter holds the
actual base class data. This version is used for ProblemDescDB-driven construction of Iterators that are passed a
Model from a higher-level context (e.g., a MetaIterator instantiates its sub-iterator(s) by name instead of pointer
and passes in its iteratedModel, since these sub-iterators lack their own model pointers).
References Dakota::abort handler(), Iterator::get iterator(), and Iterator::iteratorRep.
Iterator ( const String & method string, Model & model )
alternate envelope constructor for instantiations by name without the ProblemDescDB
Used in sub-iterator instantiations within iterator constructors. Envelope constructor only needs to extract
enough data to properly execute get iterator(), since letter holds the actual base class data. This version is used
for lightweight constructions without the ProblemDescDB.
References Dakota::abort handler(), Iterator::get iterator(), and Iterator::iteratorRep.
Iterator ( const Iterator & iterator )
copy constructor
Copy constructor manages sharing of iteratorRep and incrementing of referenceCount.
References Iterator::iteratorRep, and Iterator::referenceCount.
Iterator (

) [virtual]

destructor
Destructor decrements referenceCount and only deletes iteratorRep when referenceCount reaches zero.
References Iterator::iteratorRep, and Iterator::referenceCount.
Iterator ( BaseConstructor , ProblemDescDB & problem db ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor builds the base class data for all inherited iterators, including meta-iterators. get iterator()
instantiates a derived class and the derived class selects this base class constructor in its initialization list (to avoid
the recursion of the base class constructor calling get iterator() again). Since the letter IS the representation, its
representation pointer is set to NULL (an uninitialized pointer causes problems in Iterator).
References Iterator::method enum to string(), Iterator::methodName, and Iterator::outputLevel.

478

CHAPTER 13. CLASS DOCUMENTATION

Iterator ( NoDBBaseConstructor , unsigned short method name ) [protected]


alternate constructor for base iterator classes constructed on the fly
This alternate constructor builds base class data for inherited iterators. It is used for on-the-fly instantiations
for which DB queries cannot be used, and is not used for construction of meta-iterators. It has no incoming model,
so only sets up a minimal set of defaults. However, its use is preferable to the default constructor, which should
remain as minimal as possible.

13.52.3

Member Function Documentation

Iterator operator= ( const Iterator & iterator )


assignment operator
Assignment operator decrements referenceCount for old iteratorRep, assigns new iteratorRep, and increments
referenceCount for new iteratorRep.
References Iterator::iteratorRep, and Iterator::referenceCount.
void initialize run (

) [virtual]

utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance pointers
Perform initialization phases of run sequence, like allocating memory and setting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call
its nearest parents initialize run(), typically before performing its own implementation steps.
Reimplemented in SNLLOptimizer, NLPQLPOptimizer, NonD, SNLLLeastSq, Analyzer, Minimizer, CONMINOptimizer, DOTOptimizer, Optimizer, and LeastSq.
References Iterator::initialize run(), and Iterator::iteratorRep.
Referenced by Iterator::initialize run(), Iterator::run(), and SeqHybridMetaIterator::run sequential adaptive().
void pre run (

) [virtual]

pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori
pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call
its nearest parents pre run(), if implemented, typically before performing its own implementation steps.
Reimplemented in NonDLHSSampling, DDACEDesignCompExp, ParamStudy, FSUDesignCompExp, and
PSUADEDesignCompExp.
References Iterator::iteratorRep, and Iterator::pre run().
Referenced by ParamStudy::pre run(), Iterator::pre run(), and Iterator::run().
void core run (

) [virtual]

core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented in NonD, SeqHybridMetaIterator, Optimizer, ConcurrentMetaIterator, EmbedHybridMetaIterator, CollabHybridMetaIterator, LeastSq, PStudyDACE, Verification, and SurrBasedMinimizer.
References Dakota::abort handler(), Iterator::core run(), and Iterator::iteratorRep.
Referenced by Iterator::core run(), and Iterator::run().

13.52. ITERATOR CLASS REFERENCE

479

void post run ( std::ostream & s ) [virtual]


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented in SNLLOptimizer, COLINOptimizer, SNLLLeastSq, Analyzer, Minimizer, NonDLHSSampling,
Optimizer, DDACEDesignCompExp, ParamStudy, FSUDesignCompExp, MetaIterator, LeastSq, and PSUADEDesignCompExp.
References Iterator::iteratorRep, and Iterator::post run().
Referenced by Iterator::post run(), and Iterator::run().
void finalize run (

) [virtual]

utility function to perform common operations following post run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class
must call its nearest parents finalize run(), typically after performing its own implementation steps.
Reimplemented in SNLLOptimizer, SNLLLeastSq, NonD, Minimizer, Optimizer, and LeastSq.
References Iterator::finalize run(), and Iterator::iteratorRep.
Referenced by Minimizer::finalize run(), Iterator::finalize run(), NonD::finalize run(), Iterator::run(), and SeqHybridMetaIterator::run sequential adaptive().
void initialize graphics ( int iterator server id = 1 ) [virtual]
initialize the 2D graphics window and the tabular graphics data
This is a convenience function for encapsulating graphics initialization operations.
Reimplemented in NonDReliability, and SurrBasedMinimizer.
References Model::auto graphics(), Graphics::create plots 2d(), Graphics::create tabular datastream(), Model::current response(), Model::current variables(), Dakota::dakota graphics, OutputManager::graph2DFlag, Iterator::initialize graphics(), Iterator::iteratedModel, Iterator::iteratorRep, ParallelLibrary::output manager(), Model::parallellibrary(), OutputManager::tabularDataFile, and OutputManager::tabularDataFlag.
Referenced by CollabHybridMetaIterator::core run(), EmbedHybridMetaIterator::core run(), ConcurrentMetaIterator::core run(), Environment::execute(), Iterator::initialize graphics(), SeqHybridMetaIterator::run sequential(),
and SeqHybridMetaIterator::run sequential adaptive().
void print results ( std::ostream & s ) [virtual]
print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation
summary printed in finalize run().
Reimplemented in Analyzer, NonDLHSSampling, NonDPOFDarts, NonDLocalReliability, NonDAdaptiveSampling, NonDGPImpSampling, Optimizer, SeqHybridMetaIterator, ConcurrentMetaIterator, NonDAdaptImpSampling, NonDIncremLHSSampling, NonDGlobalReliability, NonDInterval, NonDExpansion, LeastSq, PStudyDACE, RichExtrapVerification, Verification, and SurrBasedMinimizer.
References Iterator::iteratorRep, and Iterator::print results().
Referenced by MetaIterator::post run(), Minimizer::post run(), Iterator::print results(), and EfficientSubspaceMethod::reduced space uq().

480

CHAPTER 13. CLASS DOCUMENTATION

unsigned short uses method (

) const [virtual]

return name of any enabling iterator used by this iterator


This is used to avoid clashes in state between non-object-oriented (i.e., F77, C) iterator executions, when such
iterators could potentially be executing simulataneously (e.g., nested execution). It is not an issue (and a used
method is not reported) in cases where a helper execution is completed before a lower level one could be initiated;
an example of this is DIRECT for maximization of expected improvement: the EIF maximization is completed
before a new point evaluation (which could include nested iteration) is performed.
Reimplemented in NonDLocalReliability, and NonDLocalInterval.
References Iterator::iteratorRep, and Iterator::uses method().
Referenced by DOTOptimizer::initialize(), CONMINOptimizer::initialize(), NCSUOptimizer::initialize(), NLPQLPOptimizer::initialize(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(),
SOLBase::SOLBase(), and Iterator::uses method().
void run ( std::ostream & s )
orchestrate initialize/pre/core/post/finalize phases
Iterator supports a construct/initialize-run/pre-run/core-run/post-run/finalize-run/destruct progression. This
member (non-virtual) function sequences these run phases; it accepts an ostream, but controls verbosity with
outputLevel.
References ParallelLibrary::command line post run(), ParallelLibrary::command line pre run(), ParallelLibrary::command line run(), Iterator::core run(), Iterator::execNum, Iterator::finalize run(), ResultsID::increment id(),
Iterator::initialize run(), ResultsID::instance(), Iterator::iteratedModel, Iterator::iteratorRep, Iterator::method enumto string(), Iterator::method id(), Iterator::method string(), Iterator::methodName, Iterator::outputLevel, Model::parallel library(), Iterator::post input(), Iterator::post run(), Iterator::pre output(), Iterator::pre run(), Iterator::run(), and Iterator::summaryOutputFlag.
Referenced by DataFitSurrModel::build global(), NonDExpansion::compute statistics(), NestedModel::derivedcompute response(), Environment::execute(), EfficientSubspaceMethod::generate fullspace samples(), NonDGlobalReliability::importance sampling(), SurrBasedLocalMinimizer::minimize surrogates(), SurrBasedGlobalMinimizer::minimize surrogates(), EffGlobalMinimizer::minimize surrogates on model(), NonDLocalReliability::mpp search(),
NonDGlobalReliability::optimize gaussian process(), GaussProcApproximation::optimize theta global(), GaussProcApproximation::optimize theta multipoint(), NonDAdaptiveSampling::pick new candidates(), NonDLocalReliability::probability(), NonDLHSInterval::quantify uncertainty(), NonDBayesCalibration::quantify uncertainty(),
NonDLocalInterval::quantify uncertainty(), NonDGlobalInterval::quantify uncertainty(), NonDAdaptiveSampling::quantify uncertainty(), NonDGPImpSampling::quantify uncertainty(), NonDGPMSABayesCalibration::quantifyuncertainty(), EfficientSubspaceMethod::reduced space uq(), SurrBasedLocalMinimizer::relax constraints(), Iterator::run(), and IteratorScheduler::run iterator().
void assign rep ( Iterator iterator rep, bool ref count incr = true )
replaces existing letter with a new one
Similar to the assignment operator, the assign rep() function decrements referenceCount for the old iteratorRep and assigns the new iteratorRep. It is different in that it is used for publishing derived class letters to existing
envelopes, as opposed to sharing representations among multiple envelopes (in particular, assign rep is passed a
letter object and operator= is passed an envelope object). Letter assignment supports two models as governed by
ref count incr:
ref count incr = true (default): the incoming letter belongs to another envelope. In this case, increment the
reference count in the normal manner so that deallocation of the letter is handled properly.

13.52. ITERATOR CLASS REFERENCE

481

ref count incr = false: the incoming letter is instantiated on the fly and has no envelope. This case is
modeled after get iterator(): a letter is dynamically allocated using new and passed into assign rep, the
letters reference count is not incremented, and the letter is not remotely deleted (its memory management
is passed over to the envelope).
References Dakota::abort handler(), Iterator::iterator rep(), Iterator::iteratorRep, and Iterator::referenceCount.
Referenced by NonDExpansion::construct cubature(), NonDExpansion::construct expansion sampler(), NonDAdaptiveSampling::construct fsu sampler(), NonD::construct lhs(), NonDExpansion::construct quadrature(), NonDExpansion::construct sparse grid(), EffGlobalMinimizer::EffGlobalMinimizer(), EfficientSubspaceMethod::initfullspace sampler(), NonDLocalInterval::method recourse(), NonDLocalReliability::method recourse(), NonDAdaptiveSampling::NonDAdaptiveSampling(), NonDBayesCalibration::NonDBayesCalibration(), NonDGlobalInterval::NonDGlobalInterval(), NonDGlobalReliability::NonDGlobalReliability(), NonDGPImpSampling::NonDGPImpSampling(), NonDGPMSABayesCalibration::NonDGPMSABayesCalibration(), NonDLHSInterval::NonDLHSInterval(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(), GaussProcApproximation::optimize theta global(), GaussProcApproximation::optimize theta multipoint(), and SurrBasedLocalMinimizer::relax constraints().
void eval tag prefix ( const String & eval id str ) [virtual]
set the hierarchical eval ID tag prefix
This prepend may need to become a virtual function if the tagging should propagate to other subModels or
helper Iterators an Iterator may contain.
References Model::eval tag prefix(), Iterator::eval tag prefix(), Iterator::iteratedModel, and Iterator::iteratorRep.
Referenced by DataFitSurrModel::build global(), NestedModel::derived compute response(), and Iterator::eval tag prefix().
Iterator get iterator ( ProblemDescDB & problem db ) [private]
Used by the envelope to instantiate the correct letter class.
Used only by the envelope constructor to initialize iteratorRep to the appropriate derived type, as given by
the DBs method name. Supports all iterators and meta-iterators. These instantiations will NOT recurse on the
Iterator(problem db) constructor due to the use of BaseConstructor.
References ProblemDescDB::get model(), ProblemDescDB::get ushort(), Iterator::method enum to string(),
Iterator::method name(), and Dakota::SUBMETHOD COLLABORATIVE.
Referenced by Iterator::Iterator().
Iterator get iterator ( ProblemDescDB & problem db, Model & model ) [private]
Used by the envelope to instantiate the correct letter class.
Used only by the envelope constructor to initialize iteratorRep to the appropriate derived type. Alternate
construction of meta-iterators is supported to enable use of meta-iterators as components. These instantiations
will NOT recurse on the Iterator(problem db, model) constructor due to the use of BaseConstructor.
References ProblemDescDB::get ushort(), Iterator::method enum to string(), Iterator::method name(), Iterator::probDescDB, and Dakota::SUBMETHOD COLLABORATIVE.
Iterator get iterator ( const String & method string, Model & model ) [private]
Used by the envelope to instantiate the correct letter class.

482

CHAPTER 13. CLASS DOCUMENTATION

Used only by the envelope constructor to initialize iteratorRep to the appropriate derived type, as given by
the passed method string. Lightweight instantiations by name are supported by a subset of Iterators (primarily
Minimizers).
References Dakota::strbegins(), and Dakota::strends().

13.52.4

Member Data Documentation

ProblemDescDB& probDescDB [protected]


class member reference to the problem description database
Iterator and Model cannot use a shallow copy of ProblemDescDB due to circular destruction dependency
(reference counts cant get to 0), since ProblemDescDB contains {iterator,model}List.
Referenced by MetaIterator::allocate by name(), MetaIterator::allocate by pointer(), Analyzer::Analyzer(),
COLINOptimizer::COLINOptimizer(), CollabHybridMetaIterator::CollabHybridMetaIterator(), NonDExpansion::construct expansion sampler(), Minimizer::data transform model(), MetaIterator::deallocate(), EffGlobalMinimizer::EffGlobalMinimizer(), MetaIterator::estimate by name(), MetaIterator::estimate by pointer(), FSUDesignCompExp::FSUDesignCompExp(), Iterator::get iterator(), ConcurrentMetaIterator::initialize(), ConcurrentMetaIterator::initialize model(), Minimizer::initialize scaling(), JEGAOptimizer::JEGAOptimizer(), NLSSOLLeastSq::NLSSOLLeastSq(), NomadOptimizer::NomadOptimizer(), NonD::NonD(), NonDAdaptiveSampling::NonDAdaptiveSampling(), NonDBayesCalibration::NonDBayesCalibration(), NonDCalibration::NonDCalibration(), NonDGlobalInterval::NonDGlobalInterval(), NonDGlobalReliability::NonDGlobalReliability(), NonDGPImpSampling::NonDGPImpSampling(), NonDGPMSABayesCalibration::NonDGPMSABayesCalibration(), NonDInterval::NonDInterval(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(), NonDPolynomialChaos::NonDPolynomialChaos(), NonDQuadrature::NonDQuadrature(), NonDSparseGrid::NonDSparseGrid(),
NonDStochCollocation::NonDStochCollocation(), NPSOLOptimizer::NPSOLOptimizer(), OptDartsOptimizer::OptDartsOptimizer(), Optimizer::Optimizer(), ParamStudy::ParamStudy(), NonlinearCGOptimizer::parse options(),
NonDAdaptiveSampling::parse options(), Iterator::problem description db(), SeqHybridMetaIterator::SeqHybridMetaIterator(), APPSOptimizer::set apps parameters(), COLINOptimizer::set solver parameters(), SNLLLeastSq::SNLLLeastSq(), SNLLOptimizer::SNLLOptimizer(), COLINOptimizer::solver setup(), SurrBasedGlobalMinimizer::SurrBasedGlobalMinimizer(), SurrBasedLocalMinimizer::SurrBasedLocalMinimizer(), SurrBasedMinimizer::SurrBasedMinimizer(), and ConcurrentMetaIterator::ConcurrentMetaIterator().
int maxEvalConcurrency [protected]
maximum number of concurrent model evaluations
This is important for parallel configuration init/set/free and may be set within empty envelope instances.
Therefore, it cannot be pushed down into Analyzer/Minimizer derived classes.
Referenced by DDACEDesignCompExp::DDACEDesignCompExp(), EffGlobalMinimizer::EffGlobalMinimizer(),
EfficientSubspaceMethod::EfficientSubspaceMethod(), EffGlobalMinimizer::free communicators(), NonDGlobalReliability::free communicators(), NonDBayesCalibration::free communicators(), NonDLocalInterval::free communicators(),
NonDExpansion::free communicators(), NonDGlobalInterval::free communicators(), SurrBasedLocalMinimizer::free communicators(), NonDPolynomialChaos::free communicators(), SurrBasedGlobalMinimizer::free communicators(),
NonDAdaptiveSampling::free communicators(), NonDGPImpSampling::free communicators(), NonDLocalReliability::free communicators(), Iterator::free communicators(), FSUDesignCompExp::FSUDesignCompExp(), EffGlobalMinimizer::init communicators(), NonDGlobalReliability::init communicators(), NonDLocalInterval::init communicators(),
NonDBayesCalibration::init communicators(), NonDExpansion::init communicators(), NonDGlobalInterval::initcommunicators(), SurrBasedLocalMinimizer::init communicators(), SurrBasedGlobalMinimizer::init communicators(),
NonDPolynomialChaos::init communicators(), NonDAdaptiveSampling::init communicators(), NonDGPImpSampling::init communicators(), NonDLocalReliability::init communicators(), Iterator::init communicators(), NonDCubature::initialize grid(), NonDQuadrature::initialize grid(), NonDSparseGrid::initialize grid(), Minimizer::initialize run(),

13.53. ITERATORSCHEDULER CLASS REFERENCE

483

Analyzer::initialize run(), NonDExpansion::initialize u space model(), JEGAOptimizer::JEGAOptimizer(), Iterator::maximum evaluation concurrency(), NonDAdaptImpSampling::NonDAdaptImpSampling(), NonDBayesCalibration::NonDBayesCalibration(), NonDCubature::NonDCubature(), NonDGlobalInterval::NonDGlobalInterval(), NonDGlobalReliability::NonDGlobalReliability(), NonDLHSInterval::NonDLHSInterval(), NonDPolynomialChaos::NonDPolynomialChaos(), NonDQuadrature::NonDQuadrature(), NonDSampling::NonDSampling(), NonDSparseGrid::NonDSparseGrid(), Analyzer::num samples(), ParamStudy::ParamStudy(), PSUADEDesignCompExp::PSUADEDesignCompExp(), RichExtrapVerification::RichExtrapVerification(), APPSOptimizer::set apps parameters(),
Iterator::set communicators(), COLINOptimizer::set solver parameters(), SNLLOptimizer::SNLLOptimizer(), and
Iterator::update from model().
The documentation for this class was generated from the following files:
DakotaIterator.hpp
DakotaIterator.cpp

13.53

IteratorScheduler Class Reference

Environment corresponding to execution as a stand-alone application.

Public Member Functions


IteratorScheduler (ParallelLibrary &parallel lib, int num servers=0, int procs per iterator=0, short scheduling=DEFAULT SCHEDULING)
constructor

IteratorScheduler ()
destructor

void init iterator parallelism (int max iterator concurrency, int min procs per iterator=1, int max procs per iterator=0, short default config=PUSH DOWN)
convenience function for initializing iterator communicators, setting parallel configuration attributes, and managing outputs and restart.

void free iterator parallelism ()


convenience function for deallocating the concurrent iterator parallelism level

int init evaluation concurrency (ProblemDescDB &problem db, Iterator &the iterator, Model &the model,
const ParallelLevel &pl)
convenience function for performing sufficient initialization to define the maximum evaluation concurrency

int init evaluation concurrency (const String &method string, Iterator &the iterator, Model &the model,
const ParallelLevel &pl)
convenience function for performing sufficient initialization to define the maximum evaluation concurrency

void schedule iterators (Iterator &meta iterator, Iterator &sub iterator)


short convenience function for distributing control among master dynamic schedule iterators(), serve iterators(),
and peer static schedule iterators()

void master dynamic schedule iterators (Iterator &meta iterator)


executed by the scheduler master to manage a dynamic schedule of iterator jobs among slave iterator servers

void stop iterator servers ()


executed by the scheduler master to terminate slave iterator servers

void serve iterators (Iterator &meta iterator, Iterator &sub iterator)


executed on the slave iterator servers to perform iterator jobs assigned by the scheduler master

484

CHAPTER 13. CLASS DOCUMENTATION


void peer static schedule iterators (Iterator &meta iterator, Iterator &sub iterator)
executed on iterator peers to manage a static schedule of iterator jobs

void iterator message lengths (int params msg len, int results msg len)
update paramsMsgLen and resultsMsgLen

bool lead rank () const


determines if current processor is rank 0 of the parent comm

Static Public Member Functions


static void init serial iterators (ParallelLibrary &parallel lib)
convenience function for serializing the concurrent iterator parallelism level

static void free iterator parallelism (ParallelLibrary &parallel lib)


convenience function for deallocating the concurrent iterator parallelism level

static void init iterator (ProblemDescDB &problem db, Iterator &the iterator, Model &the model, const
ParallelLevel &pl)
convenience function for allocation of an iterator and (parallel) initialization of its comms

static void init iterator (const String &method string, Iterator &the iterator, Model &the model, const
ParallelLevel &pl)
convenience function for lightweight allocation of an iterator and (parallel) initialization of its comms

static void run iterator (Iterator &the iterator, const ParallelLevel &pl)
Convenience function for invoking an iterator and managing parallelism. This version omits communicator repartitioning. Function must be public due to use by MINLPNode.

static void free iterator (Iterator &the iterator, const ParallelLevel &pl)
convenience function for deallocating comms after running an iterator

Public Attributes
ParallelLibrary & parallelLib
reference to the ParallelLibrary instance

int numIteratorJobs
number of iterator executions to schedule

int numIteratorServers
number of concurrent iterator partitions

int procsPerIterator
partition size request

int iteratorCommRank
processor rank in iteratorComm

int iteratorCommSize
number of processors in iteratorComm

int iteratorServerId
identifier for an iterator server

bool messagePass
flag for message passing at si level

short iteratorScheduling
{DEFAULT,MASTER,PEER} SCHEDULING

13.53. ITERATORSCHEDULER CLASS REFERENCE

485

Private Attributes
int paramsMsgLen
length of MPI buffer for parameter input instance(s)

int resultsMsgLen
length of MPI buffer for results output instance(s)

13.53.1

Detailed Description

Environment corresponding to execution as a stand-alone application.


This environment corresponds to a stand-alone executable program, e.g., main.cpp. It sets up the ParallelLibrary, and ProblemDescDB objects based on access to command line arguments.

13.53.2

Constructor & Destructor Documentation

IteratorScheduler ( ParallelLibrary & parallel lib, int num servers = 0, int procs per iterator = 0, short
scheduling = DEFAULT SCHEDULING )
constructor
Current constructor parameters are the input specification components, which are requests subject to override
by ParallelLibrary::init iterator communicators().

13.53.3

Member Function Documentation

void init serial iterators ( ParallelLibrary & parallel lib ) [static]


convenience function for serializing the concurrent iterator parallelism level
Static version called for serialization.
References ParallelLibrary::init iterator communicators(), ParallelLibrary::manage outputs restart(), and ParallelLibrary::world size().
Referenced by Environment::construct().
void free iterator parallelism ( ParallelLibrary & parallel lib ) [static]
convenience function for deallocating the concurrent iterator parallelism level
Static version
References ParallelLibrary::free iterator communicators().
Referenced by MetaIterator::MetaIterator().
void init iterator ( ProblemDescDB & problem db, Iterator & the iterator, Model & the model, const
ParallelLevel & pl ) [static]
convenience function for allocation of an iterator and (parallel) initialization of its comms
This is a convenience function for encapsulating the allocation of communicators prior to running an iterator.
References ParallelLevel::dedicated master(), ProblemDescDB::get iterator(), ProblemDescDB::get ushort(),
Model::init comms bcast flag(), Iterator::init communicators(), Iterator::is null(), Iterator::iterated model(), Iterator::maximum evaluation concurrency(), Iterator::method name(), Model::serve configurations(), ParallelLevel::servercommunicator rank(), ParallelLevel::server communicator size(), ParallelLevel::server id(), and Model::stop configurations().
Referenced by MetaIterator::allocate by name(), MetaIterator::allocate by pointer(), ConcurrentMetaIterator::ConcurrentMetaIterator(), and Environment::construct().

486

CHAPTER 13. CLASS DOCUMENTATION

void init iterator ( const String & method string, Iterator & the iterator, Model & the model, const
ParallelLevel & pl ) [static]
convenience function for lightweight allocation of an iterator and (parallel) initialization of its comms
This is a convenience function for encapsulating the allocation of communicators prior to running an iterator.
References ParallelLevel::dedicated master(), Model::init comms bcast flag(), Iterator::init communicators(),
Iterator::is null(), Iterator::iterated model(), Iterator::maximum evaluation concurrency(), Iterator::method string(),
Model::serve configurations(), ParallelLevel::server communicator rank(), ParallelLevel::server communicatorsize(), ParallelLevel::server id(), and Model::stop configurations().
void run iterator ( Iterator & the iterator, const ParallelLevel & pl ) [static]
Convenience function for invoking an iterator and managing parallelism. This version omits communicator repartitioning. Function must be public due to use by MINLPNode.
This is a convenience function for encapsulating the parallel features (run/serve) of running an iterator. This
function omits allocation/deallocation of communicators to provide greater efficiency in approaches that involve
multiple iterator executions but only require communicator allocation/deallocation to be performed once.
References Iterator::iterated model(), Iterator::maximum evaluation concurrency(), Iterator::run(), Model::serve(),
ParallelLevel::server communicator rank(), and Model::stop servers().
Referenced by Environment::execute(), IteratorScheduler::peer static schedule iterators(), SeqHybridMetaIterator::run sequential adaptive(), and IteratorScheduler::serve iterators().
void free iterator ( Iterator & the iterator, const ParallelLevel & pl ) [static]
convenience function for deallocating comms after running an iterator
This is a convenience function for encapsulating the deallocation of communicators after running an iterator.
References ParallelLevel::dedicated master(), Iterator::free communicators(), and ParallelLevel::server id().
Referenced by MetaIterator::deallocate(), Environment::destruct(), and ConcurrentMetaIterator::ConcurrentMetaIterator().
void init iterator parallelism ( int max iterator concurrency, int min procs per iterator = 1, int
max procs per iterator = 0, short default config = PUSH DOWN )
convenience function for initializing iterator communicators, setting parallel configuration attributes, and managing outputs and restart.
Called from derived class constructors once maxIteratorConcurrency is defined but prior to instantiating Iterators and Models.
References ParallelLevel::dedicated master(), ParallelLibrary::init iterator communicators(), IteratorScheduler::iteratorCommRank, IteratorScheduler::iteratorCommSize, IteratorScheduler::iteratorScheduling, IteratorScheduler::iteratorServerId, ParallelLibrary::manage outputs restart(), ParallelLevel::message pass(), IteratorScheduler::messagePass, ParallelLevel::num servers(), IteratorScheduler::numIteratorServers, IteratorScheduler::parallelLib, IteratorScheduler::procsPerIterator, ParallelLevel::server communicator rank(), ParallelLevel::server communicator size(),
ParallelLevel::server id(), and ParallelLibrary::world size().
Referenced by CollabHybridMetaIterator::CollabHybridMetaIterator(), ConcurrentMetaIterator::ConcurrentMetaIterator(), EmbedHybridMetaIterator::EmbedHybridMetaIterator(), and SeqHybridMetaIterator::SeqHybridMetaIterator().
int init evaluation concurrency ( ProblemDescDB & problem db, Iterator & the iterator, Model &
the model, const ParallelLevel & pl )
convenience function for performing sufficient initialization to define the maximum evaluation concurrency

13.53. ITERATORSCHEDULER CLASS REFERENCE

487

This is a convenience function for computing the maximum evaluation concurrency prior to concurrent iterator
partitioning.
References ParallelLibrary::bcast(), ProblemDescDB::get iterator(), Iterator::is null(), Iterator::maximum evaluation concurrency(), ProblemDescDB::parallel library(), ParallelLevel::server communicator rank(), and ParallelLevel::server communicator size().
Referenced by ConcurrentMetaIterator::ConcurrentMetaIterator(), MetaIterator::estimate by name(), and MetaIterator::estimate by pointer().
int init evaluation concurrency ( const String & method string, Iterator & the iterator, Model &
the model, const ParallelLevel & pl )
convenience function for performing sufficient initialization to define the maximum evaluation concurrency
This is a convenience function for computing the maximum evaluation concurrency prior to concurrent iterator
partitioning.
References ParallelLibrary::bcast(), Iterator::is null(), Iterator::maximum evaluation concurrency(), Model::parallel library(), ParallelLevel::server communicator rank(), and ParallelLevel::server communicator size().
void schedule iterators ( Iterator & meta iterator, Iterator & sub iterator )
short convenience function for distributing control among master dynamic schedule iterators(), serve iterators(),
and peer static schedule iterators()
This implementation supports the scheduling of multiple jobs using a single iterator/model pair. Additional
future (overloaded) implementations could involve independent iterator instances.
References IteratorScheduler::iteratorScheduling, IteratorScheduler::iteratorServerId, IteratorScheduler::leadrank(), IteratorScheduler::master dynamic schedule iterators(), IteratorScheduler::numIteratorServers, IteratorScheduler::peer static schedule iterators(), IteratorScheduler::serve iterators(), and IteratorScheduler::stop iteratorservers().
Referenced by CollabHybridMetaIterator::core run(), EmbedHybridMetaIterator::core run(), ConcurrentMetaIterator::core run(), and SeqHybridMetaIterator::run sequential().
void master dynamic schedule iterators ( Iterator & meta iterator )
executed by the scheduler master to manage a dynamic schedule of iterator jobs among slave iterator servers
This function is adapted from ApplicationInterface::master dynamic schedule evaluations().
References ParallelLibrary::free(), ParallelLibrary::irecv si(), ParallelLibrary::isend si(), IteratorScheduler::numIteratorJobs, IteratorScheduler::numIteratorServers, Iterator::pack parameters buffer(), IteratorScheduler::parallelLib, ParallelLibrary::print configuration(), MPIPackBuffer::reset(), MPIUnpackBuffer::resize(), IteratorScheduler::resultsMsgLen, Iterator::unpack results buffer(), ParallelLibrary::waitall(), and ParallelLibrary::waitsome().
Referenced by IteratorScheduler::schedule iterators().
void serve iterators ( Iterator & meta iterator, Iterator & sub iterator )
executed on the slave iterator servers to perform iterator jobs assigned by the scheduler master
This function is similar in structure to ApplicationInterface::serve evaluations synch().
References ParallelLibrary::bcast i(), IteratorScheduler::iteratorCommRank, IteratorScheduler::iteratorCommSize, Iterator::pack results buffer(), ParallelLibrary::parallel configuration(), ParallelLibrary::parallel time(), IteratorScheduler::parallelLib, IteratorScheduler::paramsMsgLen, ParallelLibrary::recv si(), IteratorScheduler::resultsMsgLen, IteratorScheduler::run iterator(), ParallelLibrary::send si(), ParallelConfiguration::si parallel level(), Iterator::unpack parameters buffer(), and Iterator::update local results().
Referenced by IteratorScheduler::schedule iterators().

488

CHAPTER 13. CLASS DOCUMENTATION


The documentation for this class was generated from the following files:
IteratorScheduler.hpp
IteratorScheduler.cpp

13.54

JEGAOptimizer Class Reference

A version of Dakota::Optimizer for instantiation of John Eddys Genetic Algorithms (JEGA).


Inheritance diagram for JEGAOptimizer:
Iterator
Minimizer
Optimizer
JEGAOptimizer

Classes
class Driver
A subclass of the JEGA front end driver that exposes the individual protected methods to execute the algorithm.

class Evaluator
An evaluator specialization that knows how to interact with Dakota.

class EvaluatorCreator
A specialization of the JEGA::FrontEnd::EvaluatorCreator that creates a new instance of a Evaluator.

Public Member Functions


virtual void find optimum ()
Performs the iterations to determine the optimal set of solutions.

virtual bool accepts multiple points () const


Overridden to return true since JEGA algorithms can accept multiple initial points.

virtual bool returns multiple points () const


Overridden to return true since JEGA algorithms can return multiple final points.

virtual void initial points (const VariablesArray &pts)


Overridden to assign the initPts member variable to the passed in collection of Dakota::Variables.

virtual const VariablesArray & initial points () const


Overridden to return the collection of initial points for the JEGA algorithm created and run by this JEGAOptimizer.

JEGAOptimizer (ProblemDescDB &problem db, Model &model)


Constructs a JEGAOptimizer class object.

JEGAOptimizer ()
Destructs a JEGAOptimizer.

13.54. JEGAOPTIMIZER CLASS REFERENCE

489

Protected Member Functions


void LoadDakotaResponses (const JEGA::Utilities::Design &from, Variables &vars, Response &resp) const
Loads the JEGA-style Design class into equivolent Dakota-style Variables and Response objects.

void ReCreateTheParameterDatabase ()
Destroys the current parameter database and creates a new empty one.

void LoadTheParameterDatabase ()
Reads information out of the known Dakota::ProblemDescDB and puts it into the current parameter database.

void LoadAlgorithmConfig (JEGA::FrontEnd::AlgorithmConfig &aConfig)


Completely initializes the supplied algorithm configuration.

void LoadProblemConfig (JEGA::FrontEnd::ProblemConfig &pConfig)


Completely initializes the supplied problem configuration.

void LoadTheDesignVariables (JEGA::FrontEnd::ProblemConfig &pConfig)


Adds DesignVariableInfo objects into the problem configuration object.

void LoadTheObjectiveFunctions (JEGA::FrontEnd::ProblemConfig &pConfig)


Adds ObjectiveFunctionInfo objects into the problem configuration object.

void LoadTheConstraints (JEGA::FrontEnd::ProblemConfig &pConfig)


Adds ConstraintInfo objects into the problem configuration object.

void GetBestSolutions (const JEGA::Utilities::DesignOFSortSet &from, std::multimap< RealRealPair, JEGA::Utilities::Design > &designSortMap)
Returns up to numBest designs sorted by DAKOTAs fitness (L2 constraint violation, then utopia or objective),
taking into account the algorithm type. The front of the returned map can be viewed as a single best.

void GetBestMOSolutions (const JEGA::Utilities::DesignOFSortSet &from, std::multimap< RealRealPair,


JEGA::Utilities::Design > &designSortMap)
Retreive the best Designs from a set of solutions assuming that they are generated by a multi objective algorithm.

void GetBestSOSolutions (const JEGA::Utilities::DesignOFSortSet &from, std::multimap< RealRealPair,


JEGA::Utilities::Design > &designSortMap)
Retreive the best Designs from a set of solutions assuming that they are generated by a single objective algorithm.

JEGA::DoubleMatrix ToDoubleMatrix (const VariablesArray &variables) const


Converts the items in a VariablesArray into a DoubleMatrix whereby the items in the matrix are the design variables.

Private Attributes
EvaluatorCreator theEvalCreator
A pointer to an EvaluatorCreator used to create the evaluator used by JEGA in Dakota (a JEGAEvaluator).

JEGA::Utilities::ParameterDatabase theParamDB
A pointer to the ParameterDatabase from which all parameters are retrieved by the created algorithms.

VariablesArray initPts
An array of initial points to use as an initial population.

Additional Inherited Members


13.54.1

Detailed Description

A version of Dakota::Optimizer for instantiation of John Eddys Genetic Algorithms (JEGA).


This class encapsulates the necessary functionality for creating and properly initializing the JEGA algorithms
(MOGA and SOGA).

490

CHAPTER 13. CLASS DOCUMENTATION

13.54.2

Constructor & Destructor Documentation

JEGAOptimizer ( ProblemDescDB & problem db, Model & model )


Constructs a JEGAOptimizer class object.
This method does some of the initialization work for the algorithm. In particular, it initialized the JEGA core.
Parameters
problem db
model

The Dakota::ProblemDescDB with information on how the algorithm controls should be


set.
The Dakota::Model that will be used by this optimizer for problem information, etc.

References JEGAOptimizer:: theEvalCreator, ProblemDescDB::get int(), ProblemDescDB::get short(), Iterator::iteratedModel, JEGAOptimizer::LoadTheParameterDatabase(), Iterator::maxEvalConcurrency, Iterator::methodName, Iterator::numFinalSolutions, and Iterator::probDescDB.

13.54.3

Member Function Documentation

void LoadDakotaResponses ( const JEGA::Utilities::Design & from, Dakota::Variables & vars,


Dakota::Response & resp ) const [protected]
Loads the JEGA-style Design class into equivolent Dakota-style Variables and Response objects.
This version is meant for the case where a Variables and a Response object exist and just need to be loaded.
Parameters
from
vars
resp

The JEGA Design class object from which to extract the variable and response information
for Dakota.
The Dakota::Variables object into which to load the design variable values of from.
The Dakota::Response object into which to load the objective function and constraint values
of from.

References Variables::continuous variables(), Variables::discrete int variables(), Variables::discrete real variables(),


and Response::function values().
void LoadTheParameterDatabase (

) [protected]

Reads information out of the known Dakota::ProblemDescDB and puts it into the current parameter database.
This should be called from the JEGAOptimizer constructor since it is the only time when the problem description database is certain to be configured to supply data for this optimizer.
Referenced by JEGAOptimizer::JEGAOptimizer().
void LoadAlgorithmConfig ( JEGA::FrontEnd::AlgorithmConfig & aConfig ) [protected]
Completely initializes the supplied algorithm configuration.
This loads the supplied configuration object with appropriate data retrieved from the parameter database.
Parameters
aConfig

The algorithm configuration object to load.

void LoadProblemConfig ( JEGA::FrontEnd::ProblemConfig & pConfig ) [protected]


Completely initializes the supplied problem configuration.

13.54. JEGAOPTIMIZER CLASS REFERENCE

491

This loads the fresh configuration object using the LoadTheDesignVariables, LoadTheObjectiveFunctions,
and LoadTheConstraints methods.

492

CHAPTER 13. CLASS DOCUMENTATION

Parameters
pConfig

The problem configuration object to load.

void LoadTheDesignVariables ( JEGA::FrontEnd::ProblemConfig & pConfig ) [protected]


Adds DesignVariableInfo objects into the problem configuration object.
This retrieves design variable information from the ParameterDatabase and creates DesignVariableInfos from
it.
Parameters
pConfig

The problem configuration object to load.

References Model::continuous lower bounds().


void LoadTheObjectiveFunctions ( JEGA::FrontEnd::ProblemConfig & pConfig ) [protected]
Adds ObjectiveFunctionInfo objects into the problem configuration object.
This retrieves objective function information from the ParameterDatabase and creates ObjectiveFunctionInfos
from it.
Parameters
pConfig

The problem configuration object to load.

void LoadTheConstraints ( JEGA::FrontEnd::ProblemConfig & pConfig ) [protected]


Adds ConstraintInfo objects into the problem configuration object.
This retrieves constraint function information from the ParameterDatabase and creates ConstraintInfos from
it.
Parameters
pConfig

The problem configuration object to load.

References Dakota::asstring(), Dakota::copy row vector(), and Model::nonlinear ineq constraint lower bounds().
void GetBestSolutions ( const JEGA::Utilities::DesignOFSortSet & from, std::multimap< RealRealPair,
JEGA::Utilities::Design > & designSortMap ) [protected]
Returns up to numBest designs sorted by DAKOTAs fitness (L2 constraint violation, then utopia or objective),
taking into account the algorithm type. The front of the returned map can be viewed as a single best.
Parameters
from The full set of designs returned by the solver.
designSortMap Map of best solutions with key pair<constraintViolation, fitness>
eventually this functionality must be moved into a separate post-processing application for MO datasets.

void GetBestMOSolutions ( const JEGA::Utilities::DesignOFSortSet & from, std::multimap<


RealRealPair, JEGA::Utilities::Design > & designSortMap ) [protected]
Retreive the best Designs from a set of solutions assuming that they are generated by a multi objective algorithm.
eventually this functionality must be moved into a separate post-processing application for MO datasets.

13.54. JEGAOPTIMIZER CLASS REFERENCE

493

void GetBestSOSolutions ( const JEGA::Utilities::DesignOFSortSet & from, std::multimap<


RealRealPair, JEGA::Utilities::Design > & designSortMap ) [protected]
Retreive the best Designs from a set of solutions assuming that they are generated by a single objective algorithm.
eventually this functionality must be moved into a separate post-processing application for MO datasets.
JEGA::DoubleMatrix ToDoubleMatrix ( const VariablesArray & variables ) const [protected]
Converts the items in a VariablesArray into a DoubleMatrix whereby the items in the matrix are the design
variables.
The matrix will not contain responses but when being used by Dakota, this doesnt matter. JEGA will attempt
to re-evaluate these points but Dakota will recognize that they do not require re-evaluation and thus it will be a
cheap operation.
Parameters
variables

The array of DakotaVariables objects to use as the contents of the returned matrix.

Returns
The matrix created using the supplied VariablesArray.
void find optimum (

) [virtual]

Performs the iterations to determine the optimal set of solutions.


Override of pure virtual method in Optimizer base class.
The extraction of parameter values actually occurs in this method when the JEGA::FrontEnd::Driver::ExecuteAlgorithm is called. Also the loading of the problem and algorithm configurations occurs in this method. That
way, if it is called more than once and the algorithm or problem has changed, it will be accounted for.
Implements Optimizer.
References JEGAOptimizer::Driver::DestroyAlgorithm(), JEGAOptimizer::Driver::ExtractAllData(), and JEGAOptimizer::Driver::PerformIterations().
bool accepts multiple points (

) const [virtual]

Overridden to return true since JEGA algorithms can accept multiple initial points.
Returns
true, always.
Reimplemented from Iterator.
bool returns multiple points (

) const [virtual]

Overridden to return true since JEGA algorithms can return multiple final points.
Returns
true, always.
Reimplemented from Iterator.
void initial points ( const VariablesArray & pts ) [virtual]
Overridden to assign the initPts member variable to the passed in collection of Dakota::Variables.

494

CHAPTER 13. CLASS DOCUMENTATION

Parameters
pts

The array of initial points for the JEGA algorithm created and run by this JEGAOptimizer.

Reimplemented from Iterator.


const VariablesArray & initial points (

) const [virtual]

Overridden to return the collection of initial points for the JEGA algorithm created and run by this JEGAOptimizer.
Returns
The collection of initial points for the JEGA algorithm created and run by this JEGAOptimizer.
Reimplemented from Iterator.

13.54.4

Member Data Documentation

VariablesArray initPts [private]


An array of initial points to use as an initial population.
This member is here to help support the use of JEGA algorithms in Dakota strategies. If this array is populated,
then whatever initializer is specified will be ignored and the DoubleMatrix initializer will be used instead on a
matrix created from the data in this array.
The documentation for this class was generated from the following files:
JEGAOptimizer.hpp
JEGAOptimizer.cpp

13.55

LeastSq Class Reference

Base class for the nonlinear least squares branch of the iterator hierarchy.
Inheritance diagram for LeastSq:
Iterator
Minimizer
LeastSq
NL2SOLLeastSq

NLSSOLLeastSq

Protected Member Functions


LeastSq ()
default constructor

LeastSq (ProblemDescDB &problem db, Model &model)

SNLLLeastSq

13.55. LEASTSQ CLASS REFERENCE

495

standard constructor

LeastSq (unsigned short method name, Model &model)


alternate on the fly constructor

LeastSq ()
destructor

void initialize run ()


void core run ()
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post

void post run (std::ostream &s)


void finalize run ()
utility function to perform common operations following post run(); deallocation and resetting of instance pointers

void print results (std::ostream &s)


virtual void minimize residuals ()=0
Used within the least squares branch for minimizing the sum of squares residuals. Redefines the run virtual function
for the least squares branch.

void get confidence intervals ()


Calculate confidence intervals on estimated parameters.

Protected Attributes
int numLeastSqTerms
number of least squares terms

LeastSq prevLSqInstance
pointer containing previous value of leastSqInstance

bool weightFlag
flag indicating whether weighted least squares is active

RealVector confBoundsLower
lower bounds for confidence intervals on calibration parameters

RealVector confBoundsUpper
upper bounds for confidence intervals on calibration parameters

Static Protected Attributes


static LeastSq leastSqInstance
pointer to LeastSq instance used in static member functions

Private Member Functions


void weight model ()
Wrap iteratedModel in a RecastModel that weights the residuals.

Static Private Member Functions


static void primary resp weighter (const Variables &unweighted vars, const Variables &weighted vars,
const Response &unweighted response, Response &weighted response)
Recast callback function to weight least squares residuals, gradients, and Hessians.

496

CHAPTER 13. CLASS DOCUMENTATION

Additional Inherited Members


13.55.1

Detailed Description

Base class for the nonlinear least squares branch of the iterator hierarchy.
The LeastSq class provides common data and functionality for least squares solvers (including NL2OL, NLSSOLLeastSq, and SNLLLeastSq.

13.55.2

Constructor & Destructor Documentation

LeastSq ( ProblemDescDB & problem db, Model & model ) [protected]


standard constructor
This constructor extracts the inherited data for the least squares branch and performs sanity checking on
gradient and constraint settings.
References Dakota::abort handler(), Iterator::bestVariablesArray, Variables::copy(), Model::current variables(),
Minimizer::data transform model(), Iterator::iteratedModel, Iterator::methodName, Minimizer::minimizerRecasts,
Minimizer::numIterPrimaryFns, LeastSq::numLeastSqTerms, Minimizer::numRowsExpData, Minimizer::numUserPrimaryFns, Minimizer::obsDataFlag, Minimizer::optimizationFlag, Minimizer::scale model(), Minimizer::scaleFlag, LeastSq::weight model(), and LeastSq::weightFlag.

13.55.3

Member Function Documentation

void initialize run (

) [protected], [virtual]

This function should be invoked (or reimplemented) by any derived implementations of initialize run() (which
would otherwise hide it).
Reimplemented from Iterator.
Reimplemented in SNLLLeastSq.
References Minimizer::initialize run(), Iterator::iteratedModel, LeastSq::leastSqInstance, Minimizer::obsDataFlag, LeastSq::prevLSqInstance, Minimizer::scaleFlag, and Model::update from subordinate model().
Referenced by SNLLLeastSq::initialize run().
void core run (

) [inline], [protected], [virtual]

core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References LeastSq::minimize residuals().
void post run ( std::ostream & s ) [protected], [virtual]
Implements portions of post run specific to LeastSq for scaling back to native variables and functions. This function should be invoked (or reimplemented) by any derived implementations of post run() (which would otherwise
hide it).
Reimplemented from Iterator.
Reimplemented in SNLLLeastSq.
References Dakota::abort handler(), Response::active set request vector(), Iterator::bestResponseArray, Iterator::bestVariablesArray, Variables::continuous variables(), Response::copy(), Minimizer::cvScaleMultipliers, Minimizer::cvScaleOffsets, Minimizer::cvScaleTypes, Response::function value(), Response::function values(), Iterator::iteratedModel, Minimizer::modify s2n(), Minimizer::need resp trans byvars(), LeastSq::numLeastSqTerms, Minimizer::numNonlinearConstraints, Minimizer::post run(), Model::primary response fn weights(), Minimizer::primary-

13.55. LEASTSQ CLASS REFERENCE

497

RespScaleFlag, Minimizer::response modify s2n(), Minimizer::secondaryRespScaleFlag, Model::subordinate model(), Response::update partial(), Minimizer::varsScaleFlag, and LeastSq::weightFlag.
void finalize run (

) [inline], [protected], [virtual]

utility function to perform common operations following post run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class
must call its nearest parents finalize run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in SNLLLeastSq.
References Minimizer::finalize run(), LeastSq::leastSqInstance, and LeastSq::prevLSqInstance.
Referenced by SNLLLeastSq::finalize run().
void print results ( std::ostream & s ) [protected], [virtual]
Redefines default iterator results printing to include nonlinear least squares results (residual terms and constraints).
Reimplemented from Iterator.
References Iterator::activeSet, Minimizer::archive allocate best(), Minimizer::archive best(), Iterator::bestResponseArray, Iterator::bestVariablesArray, LeastSq::confBoundsLower, LeastSq::confBoundsUpper, Model::continuous variable labels(), Dakota::data pairs, Model::interface id(), Iterator::iteratedModel, Dakota::lookupby val(), Minimizer::numContinuousVars, Minimizer::numFunctions, LeastSq::numLeastSqTerms, Model::primaryresponse fn weights(), ActiveSet::request values(), Model::subordinate model(), and Dakota::write precision.
void get confidence intervals (

) [protected]

Calculate confidence intervals on estimated parameters.


Calculate individual confidence intervals for each parameter. These bounds are based on a linear approximation of the nonlinear model.
References Iterator::activeSet, Iterator::bestResponseArray, Iterator::bestVariablesArray, Model::compute response(), LeastSq::confBoundsLower, LeastSq::confBoundsUpper, Model::continuous variables(), Model::currentresponse(), Response::function gradients(), Iterator::iteratedModel, Minimizer::numContinuousVars, LeastSq::numLeastSqTerms, ActiveSet::request values(), Minimizer::scaleFlag, and Minimizer::vendorNumericalGradFlag.
Referenced by NL2SOLLeastSq::minimize residuals(), NLSSOLLeastSq::minimize residuals(), and SNLLLeastSq::post run().
void weight model (

) [private]

Wrap iteratedModel in a RecastModel that weights the residuals.


Setup Recast for weighting model the weighting transformation doesnt resize, so use numUserPrimaryFns.
No vars, active set or secondary mapping. All indices are one-to-one mapped (no change in counts).
References Model::assign rep(), Iterator::iteratedModel, Minimizer::numContinuousVars, LeastSq::numLeastSqTerms, Minimizer::numNonlinearConstraints, Minimizer::numNonlinearIneqConstraints, Iterator::outputLevel,
LeastSq::primary resp weighter(), Model::primary response fn sense(), Model::primary response fn weights(),
Minimizer::secondary resp copier(), and Model::subordinate model().
Referenced by LeastSq::LeastSq().

498

CHAPTER 13. CLASS DOCUMENTATION

void primary resp weighter ( const Variables & unweighted vars, const Variables & weighted vars, const
Response & unweighted response, Response & weighted response ) [static], [private]
Recast callback function to weight least squares residuals, gradients, and Hessians.
Apply weights to least squares residuals
References Dakota:: NPOS, Response::active set derivative vector(), Response::active set request vector(),
Variables::acv(), Variables::all continuous variable ids(), Variables::continuous variable ids(), Variables::cv(), Dakota::find index(), Response::function gradients(), Response::function gradients view(), Response::function hessian(),
Response::function hessian view(), Response::function values(), Response::function values view(), Variables::icv(),
Variables::inactive continuous variable ids(), Iterator::iteratedModel, LeastSq::leastSqInstance, LeastSq::numLeastSqTerms, Iterator::outputLevel, Model::primary response fn weights(), and Model::subordinate model().
Referenced by LeastSq::weight model().
The documentation for this class was generated from the following files:
DakotaLeastSq.hpp
DakotaLeastSq.cpp

13.56

LibraryEnvironment Class Reference

Environment corresponding to execution as an embedded library.


Inheritance diagram for LibraryEnvironment:

Environment
LibraryEnvironment

Public Member Functions


LibraryEnvironment ()
default constructor

LibraryEnvironment (ProgramOptions prog opts, bool check bcast construct=true, DbCallbackFunctionPtr


callback=NULL, void callback data=NULL)
Primary constructor: program options typically specifies an input file or input string. Optionally specify a callback
function to be invoked after parsing. Set check bcast construct if performing late updates and later calling done modifying db().

LibraryEnvironment (MPI Comm dakota mpi comm, ProgramOptions prog opts=ProgramOptions(), bool
check bcast construct=true, DbCallbackFunctionPtr callback=NULL, void callback data=NULL)
Alternate constructor accepting communicator, same options as primary.

LibraryEnvironment ()
destructor

void insert nodes (Dakota::DataMethod &dme, Dakota::DataModel &dmo, Dakota::DataVariables &dv,


Dakota::DataInterface &di, Dakota::DataResponses &dr)
Insert DB nodes for a {Method,Model,Variables,Interface,Responses} set.

void done modifying db ()


Check database contents, broadcast, and construct iterators.

13.56. LIBRARYENVIRONMENT CLASS REFERENCE

499

bool plugin interface (const String &model type, const String &interf type, const String &an driver, Interface plugin iface)
Plug-in the passed interface into any interface matching the specified (possibly empty) model, interface, and driver
strings; returns true if a plugin was performed.

InterfaceList filtered interface list (const String &interf type, const String &an driver)
filter the available Interface instances based on matching interface type and analysis drivers (empty String matches
any)

ModelList filtered model list (const String &model type, const String &interf type, const String &an driver)
filter the available Model instances based on matching model type, interface type, and analysis drivers (empty
String matches any)

Additional Inherited Members


13.56.1

Detailed Description

Environment corresponding to execution as an embedded library.


This environment corresponds to use of Dakota as a library within another application, e.g., within library mode.cpp. It sets up the ParallelLibrary and ProblemDescDB objects without access to command line arguments.

13.56.2

Constructor & Destructor Documentation

LibraryEnvironment ( ProgramOptions prog opts, bool check bcast construct = true,


DbCallbackFunctionPtr callback = NULL, void callback data = NULL )
Primary constructor: program options typically specifies an input file or input string. Optionally specify a callback
function to be invoked after parsing. Set check bcast construct if performing late updates and later calling done modifying db().
Construct library environment, optionally performing check/bcast of database and iterator construction
References Environment::construct(), OutputManager::output startup message(), Environment::outputManager,
and Environment::parse().
LibraryEnvironment ( MPI Comm dakota mpi comm, ProgramOptions prog opts = ProgramOptions(),
bool check bcast construct = true, DbCallbackFunctionPtr callback = NULL, void callback data =
NULL )
Alternate constructor accepting communicator, same options as primary.
Construct library environment on passed MPI Comm, optionally performing check/bcast of database and
iterator construction. MPI Comm is first argument so client doesnt have to pass all args
References Environment::construct(), OutputManager::output startup message(), Environment::outputManager,
and Environment::parse().

13.56.3

Member Function Documentation

InterfaceList filtered interface list ( const String & interf type, const String & an driver )
filter the available Interface instances based on matching interface type and analysis drivers (empty String matches
any)
This convenience function helps clients locate and plugin to the right Interface instance for simple cases. Pass
an empty string to match any instead of a specific instance

500

CHAPTER 13. CLASS DOCUMENTATION

References Interface::analysis drivers(), Dakota::contains(), Interface::interface type(), ProblemDescDB::modellist(), and Environment::probDescDB.


ModelList filtered model list ( const String & model type, const String & interf type, const String &
an driver )
filter the available Model instances based on matching model type, interface type, and analysis drivers (empty
String matches any)
This convenience function helps clients locate and plugin to the right Interface instance for cases where the
parallel configuration is needed in constructing a parallel plugin. Pass an empty string to match any instead of a
specific instance
References Interface::analysis drivers(), Dakota::contains(), Interface::interface type(), ProblemDescDB::modellist(), and Environment::probDescDB.
Referenced by parallel interface plugin(), LibraryEnvironment::plugin interface(), run dakota(), and run dakota mixed().
The documentation for this class was generated from the following files:
LibraryEnvironment.hpp
LibraryEnvironment.cpp

13.57

MatlabInterface Class Reference

Inheritance diagram for MatlabInterface:


Interface
ApplicationInterface
DirectApplicInterface
MatlabInterface

Public Member Functions


MatlabInterface (const ProblemDescDB &problem db)
Constructor: start Matlab engine.

MatlabInterface ()
Destructor: close Matlab engine.

Protected Member Functions


virtual int derived map ac (const String &ac name)
execute an analysis code portion of a direct evaluation invocation

int matlab engine run (const Dakota::String &ac name)


Helper function supporting derived map ac. Sends data to Matlab, executes analysis, collects return data.

13.57. MATLABINTERFACE CLASS REFERENCE

501

int matlab field prep (mxArray dakota matlab, const char field name)
check that the dakota matlab strucutre has the specified field name and add if necessary; free structure memory in
preparation for new alloc

Protected Attributes
engine matlabEngine
pointer to the MATLAB engine used for direct evaluations

13.57.1

Detailed Description

Specialization of DirectApplicInterface to link to Matlab analysis drivers. Includes convenience functions to map
data to/from Matlab

13.57.2

Member Function Documentation

int derived map ac ( const String & ac name ) [protected], [virtual]


execute an analysis code portion of a direct evaluation invocation
Matlab specialization of dervied analysis components.
Reimplemented from DirectApplicInterface.
References ApplicationInterface::analysisServerId, and MatlabInterface::matlab engine run().
int matlab engine run ( const Dakota::String & ac name ) [protected]
Helper function supporting derived map ac. Sends data to Matlab, executes analysis, collects return data.
Direct interface to Matlab through Mathworks external API. m-file executed is specified through analysis drivers, extra strings through analysis components. (Original BMA 11/28/2005)
Special thanks to Lee Peterson for substantial enhancements 12/15/2007: Added output buffer for the MATLAB command response and error messages Made the Dakota variable persistent in the MATLAB engine
workspace Added robustness to the user deleting required Dakota fields
References Dakota::abort handler(), DirectApplicInterface::analysisComponents, DirectApplicInterface::analysisDriverIndex, Interface::currEvalId, DirectApplicInterface::directFnASV, DirectApplicInterface::directFnDVV, Dakota::FIELD NAMES, DirectApplicInterface::fnGrads, DirectApplicInterface::fnHessians, Interface::fnLabels, DirectApplicInterface::fnVals, DirectApplicInterface::gradFlag, DirectApplicInterface::hessFlag, MatlabInterface::matlabfield prep(), MatlabInterface::matlabEngine, DirectApplicInterface::numACV, DirectApplicInterface::numADIV, DirectApplicInterface::numADRV, Dakota::NUMBER OF FIELDS, DirectApplicInterface::numDerivVars,
DirectApplicInterface::numFns, DirectApplicInterface::numVars, Interface::outputLevel, DirectApplicInterface::xC, DirectApplicInterface::xCLabels, DirectApplicInterface::xDI, DirectApplicInterface::xDILabels, DirectApplicInterface::xDR, and DirectApplicInterface::xDRLabels.
Referenced by MatlabInterface::derived map ac().
The documentation for this class was generated from the following files:
MatlabInterface.hpp
MatlabInterface.cpp

502

CHAPTER 13. CLASS DOCUMENTATION

13.58

MetaIterator Class Reference

Base class for meta-iterators.


Inheritance diagram for MetaIterator:
Iterator
MetaIterator
CollabHybridMetaIterator

ConcurrentMetaIterator

EmbedHybridMetaIterator

SeqHybridMetaIterator

Protected Member Functions


MetaIterator (ProblemDescDB &problem db)
standard constructor

MetaIterator (ProblemDescDB &problem db, Model &model)


alternate constructor

MetaIterator ()
destructor

void post run (std::ostream &s)


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way

int get min procs per iterator (ProblemDescDB &problem db)


compute a minimum iterator partition size based on lower level overrides

int get max procs per iterator (ProblemDescDB &problem db, int max eval concurrency)
compute a maximum iterator partition size based on lower level concurrency

void allocate by pointer (const String &method ptr, Iterator &the iterator, Model &the model)
initialize the iterator and the model based on method ptr

void allocate by name (const String &method string, const String &model ptr, Iterator &the iterator, Model
&the model)
initialize the iterator based on method string

std::pair< int, int > estimate by pointer (const String &method ptr, Iterator &the iterator, Model &the model)
estimate minimum and maximum processors per iterator needed for init iterator parallelism(); instantiates the iterator and the model as needed, but on minimal processor ranks (is later augmented by allocate by pointer())

std::pair< int, int > estimate by name (const String &method string, const String &model ptr, Iterator
&the iterator, Model &the model)
estimate minimum and maximum processors per iterator needed for init iterator parallelism(); instantiates the iterator and the model as needed, but on minimal processor ranks (is later augmented by allocate by name())

void deallocate (Iterator &the iterator, Model &the model)


free communicators for the iterator and the model

13.59. MINIMIZER CLASS REFERENCE

503

Protected Attributes
IteratorScheduler iterSched
scheduler for concurrent execution of Iterators

int maxIteratorConcurrency
maximum number of concurrent sub-iterator executions

Additional Inherited Members


13.58.1

Detailed Description

Base class for meta-iterators.


This base class shares code for concurrent and hybrid meta-iterators, where the former supports multi-start
and Pareto set iteration and the latter supports sequential, embedded, and collaborative hybrids.

13.58.2

Member Function Documentation

void post run ( std::ostream & s ) [protected], [virtual]


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
References MetaIterator::iterSched, IteratorScheduler::lead rank(), and Iterator::print results().
The documentation for this class was generated from the following files:
MetaIterator.hpp
MetaIterator.cpp

13.59

Minimizer Class Reference

Base class for the optimizer and least squares branches of the iterator hierarchy.
Inheritance diagram for Minimizer:

504

CHAPTER 13. CLASS DOCUMENTATION


Iterator
Minimizer
LeastSq

Optimizer

SurrBasedMinimizer

NL2SOLLeastSq

APPSOptimizer

EffGlobalMinimizer

NLSSOLLeastSq

COLINOptimizer

SurrBasedGlobalMinimizer

SNLLLeastSq

CONMINOptimizer

SurrBasedLocalMinimizer

DOTOptimizer
JEGAOptimizer
NCSUOptimizer
NLPQLPOptimizer
NomadOptimizer
NonlinearCGOptimizer
NPSOLOptimizer
OptDartsOptimizer
SNLLOptimizer

Public Member Functions


void constraint tolerance (Real constr tol)
set the method constraint tolerance (constraintTol)

Real constraint tolerance () const


return the method constraint tolerance (constraintTol)

Protected Member Functions


Minimizer ()
default constructor

Minimizer (ProblemDescDB &problem db, Model &model)


standard constructor

Minimizer (unsigned short method name, Model &model)


alternate constructor for on the fly instantiations

Minimizer (unsigned short method name, size t num lin ineq, size t num lin eq, size t num nln ineq, sizet num nln eq)
alternate constructor for on the fly instantiations

Minimizer ()
destructor

void update from model (const Model &model)


set inherited data attributes based on extractions from incoming model

void initialize run ()


utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance
pointers

13.59. MINIMIZER CLASS REFERENCE

505

void post run (std::ostream &s)


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way

void finalize run ()


utility function to perform common operations following post run(); deallocation and resetting of instance pointers

const Model & algorithm space model () const


virtual void initialize iterator (int index)
initialize the iterator about to be executed within a parallel iterator scheduling function (serve iterators() or staticschedule iterators())

virtual void pack parameters buffer (MPIPackBuffer &send buffer, int job index)
pack a send buffer for assigning an iterator job to a server

virtual void unpack parameters buffer (MPIUnpackBuffer &recv buffer)


unpack a recv buffer for accepting an iterator job from the scheduler

virtual void pack results buffer (MPIPackBuffer &send buffer, int job index)
pack a send buffer for returning iterator results from a server

virtual void unpack results buffer (MPIUnpackBuffer &recv buffer, int job index)
unpack a recv buffer for accepting iterator results from a server

virtual void update local results (int job index)


update local PRP results arrays with current iteration results

bool data transform model (bool weight flag=false)


Wrap iteratedModel in a RecastModel that subtracts provided observed data from the primary response functions
(variables and secondary responses are unchanged)

void scale model ()


Wrap iteratedModel in a RecastModel that performs variable and/or response scaling.

bool need resp trans byvars (const ShortArray &asv, int start index, int num resp)
determine if response transformation is needed due to variable transformations

RealVector modify s2n (const RealVector &scaled vars, const IntArray &scale types, const RealVector
&multipliers, const RealVector &offsets) const
general RealVector mapping from scaled to native variables (and values)

void response modify s2n (const Variables &native vars, const Response &scaled response, Response &nativeresponse, int start offset, int num responses) const
map responses from scaled to native space

Real objective (const RealVector &fn vals, const BoolDeque &max sense, const RealVector &primary wts)
const
compute a composite objective value from one or more primary functions

Real objective (const RealVector &fn vals, size t num fns, const BoolDeque &max sense, const RealVector
&primary wts) const
compute a composite objective with specified number of source primary functions, instead of userPrimaryFns

void objective gradient (const RealVector &fn vals, const RealMatrix &fn grads, const BoolDeque &maxsense, const RealVector &primary wts, RealVector &obj grad) const
compute the gradient of the composite objective function

void objective gradient (const RealVector &fn vals, size t num fns, const RealMatrix &fn grads, const
BoolDeque &max sense, const RealVector &primary wts, RealVector &obj grad) const
compute the gradient of the composite objective function

506

CHAPTER 13. CLASS DOCUMENTATION


void objective hessian (const RealVector &fn vals, const RealMatrix &fn grads, const RealSymMatrixArray &fn hessians, const BoolDeque &max sense, const RealVector &primary wts, RealSymMatrix &objhess) const
compute the Hessian of the composite objective function

void objective hessian (const RealVector &fn vals, size t num fns, const RealMatrix &fn grads, const RealSymMatrixArray &fn hessians, const BoolDeque &max sense, const RealVector &primary wts, RealSymMatrix &obj hess) const
compute the Hessian of the composite objective function

void archive allocate best (size t num points)


allocate results arrays and labels for multipoint storage

void archive best (size t index, const Variables &best vars, const Response &best resp)
archive the best point into the results array

void resize best vars array (size t newsize)


Safely resize the best variables array to newsize taking into account the envelope-letter design pattern and any
recasting.

void resize best resp array (size t newsize)


Safely resize the best response array to newsize taking into account the envelope-letter design pattern and any
recasting.

Static Protected Member Functions


static void gnewton set recast (const Variables &recast vars, const ActiveSet &recast set, ActiveSet &submodel set)
conversion of request vector values for the Gauss-Newton Hessian approximation

static void replicate set recast (const Variables &recast vars, const ActiveSet &recast set, ActiveSet &submodel set)
conversion of request vector values for Least Squares

static void secondary resp copier (const Variables &input vars, const Variables &output vars, const Response &input response, Response &output response)
copy the partial response for secondary functions when needed (data and reduction transforms)

Protected Attributes
size t numFunctions
number of response functions

size t numContinuousVars
number of active continuous vars

size t numDiscreteIntVars
number of active discrete integer vars

size t numDiscreteRealVars
number of active discrete real vars

Real constraintTol
optimizer/least squares constraint tolerance

Real bigRealBoundSize
cutoff value for inequality constraint and continuous variable bounds

13.59. MINIMIZER CLASS REFERENCE

507

int bigIntBoundSize
cutoff value for discrete variable bounds

size t numNonlinearIneqConstraints
number of nonlinear inequality constraints

size t numNonlinearEqConstraints
number of nonlinear equality constraints

size t numLinearIneqConstraints
number of linear inequality constraints

size t numLinearEqConstraints
number of linear equality constraints

int numNonlinearConstraints
total number of nonlinear constraints

int numLinearConstraints
total number of linear constraints

int numConstraints
total number of linear and nonlinear constraints

unsigned short minimizerRecasts


number of RecastModels locally (in Minimizer or derived classes) layered over the initially passed in Model

bool optimizationFlag
flag for use where optimization and NLS must be distinguished

size t numUserPrimaryFns
number of objective functions or least squares terms in the users model always initialize at Minimizer, even if
overridden later

size t numIterPrimaryFns
number of objective functions or least squares terms in iterators view always initialize at Minimizer, even if overridden later

bool boundConstraintFlag
convenience flag for denoting the presence of user-specified bound constraints. Used for method selection and error
checking.

bool speculativeFlag
flag for speculative gradient evaluations

String obsDataFilename
filename from which to read observed data

bool obsDataFlag
flag indicating whether user-supplied data is active

ExperimentData expData
Container for experimental data to which to calibrate model using least squares or other formulations which minimize SSE.

size t numExperiments
number of experiments

IntVector numReplicates
number of replicates

size t numRowsExpData
number of total rows of data since we are allowing varying numbers of experiments and replicates per experiment

508

CHAPTER 13. CLASS DOCUMENTATION


bool scaleFlag
flag for overall scaling status

bool varsScaleFlag
flag for variables scaling

bool primaryRespScaleFlag
flag for primary response scaling

bool secondaryRespScaleFlag
flag for secondary response scaling

IntArray cvScaleTypes
scale flags for continuous vars.

RealVector cvScaleMultipliers
scales for continuous variables

RealVector cvScaleOffsets
offsets for continuous variables

IntArray responseScaleTypes
scale flags for all responses

RealVector responseScaleMultipliers
scales for all responses

RealVector responseScaleOffsets
offsets for all responses (zero

< for functions, not for nonlin con)

IntArray linearIneqScaleTypes
scale flags for linear ineq

RealVector linearIneqScaleMultipliers
scales for linear ineq constrs.

RealVector linearIneqScaleOffsets
offsets for linear ineq constrs.

IntArray linearEqScaleTypes
scale flags for linear eq.

RealVector linearEqScaleMultipliers
scales for linear constraints

RealVector linearEqScaleOffsets
offsets for linear constraints

Minimizer prevMinInstance
pointer containing previous value of minimizerInstance

bool vendorNumericalGradFlag
convenience flag for gradient type == numerical && method source == vendor

Static Protected Attributes


static Minimizer minimizerInstance
pointer to Minimizer used in static member functions

13.59. MINIMIZER CLASS REFERENCE

509

Private Member Functions


bool data difference core (const Response &raw response, Response &residual response)
Core of data difference, which doesnt perform any output.

void initialize scaling ()


initialize scaling types, multipliers, and offsets; perform error checking

void compute scaling (int object type, int auto type, int num vars, RealVector &lbs, RealVector &ubs,
RealVector &targets, const StringArray &scale strings, const RealVector &scales, IntArray &scale types,
RealVector &scale mults, RealVector &scale offsets)
general helper function for initializing scaling types and factors on a vector of variables, functions, constraints,
etc.

bool compute scale factor (const Real lower bound, const Real upper bound, Real multiplier, Real offset)
automatically compute a single scaling factor bounds case

bool compute scale factor (const Real target, Real multiplier)


automatically compute a single scaling factor target case

void response scaler core (const Variables &native vars, const Variables &scaled vars, const Response
&native response, Response &iterator response, size t start offset, size t num responses)
Core of response scaling, which doesnt perform any output.

RealVector modify n2s (const RealVector &native vars, const IntArray &scale types, const RealVector
&multipliers, const RealVector &offsets) const
general RealVector mapping from native to scaled variables vectors:

void response modify n2s (const Variables &scaled vars, const Response &native response, Response &scaledresponse, int start offset, int num responses) const
map reponses from native to scaled variable space

RealMatrix lin coeffs modify n2s (const RealMatrix &native coeffs, const RealVector &cv multipliers,
const RealVector &lin multipliers) const
general linear coefficients mapping from native to scaled space

void print scaling (const String &info, const IntArray &scale types, const RealVector &scale mults, const
RealVector &scale offsets, const StringArray &labels)
print scaling information for a particular response type in tabular form

Static Private Member Functions


static void primary resp differencer (const Variables &raw vars, const Variables &residual vars, const Response &raw response, Response &residual response)
Recast callback function to difference residuals with observed data.

static void variables scaler (const Variables &scaled vars, Variables &native vars)
RecastModel callback for variables scaling: transform variables from scaled to native (user) space.

static void primary resp scaler (const Variables &native vars, const Variables &scaled vars, const Response
&native response, Response &iterator response)
RecastModel callback for primary response scaling: transform responses (grads, Hessians) from native (user) to
scaled space.

static void secondary resp scaler (const Variables &native vars, const Variables &scaled vars, const Response &native response, Response &scaled response)
RecastModel callback for secondary response scaling: transform constraints (grads, Hessians) from native (user)
to scaled space.

510

CHAPTER 13. CLASS DOCUMENTATION

Friends
class SOLBase
the SOLBase class is not derived the iterator hierarchy but still needs access to iterator hierarchy data (to avoid
attribute replication)

class SNLLBase
the SNLLBase class is not derived the iterator hierarchy but still needs access to iterator hierarchy data (to avoid
attribute replication)

13.59.1

Detailed Description

Base class for the optimizer and least squares branches of the iterator hierarchy.
The Minimizer class provides common data and functionality for Optimizer and LeastSq.

13.59.2

Constructor & Destructor Documentation

Minimizer ( ProblemDescDB & problem db, Model & model ) [protected]


standard constructor
This constructor extracts inherited data for the optimizer and least squares branches and performs sanity
checking on constraint settings.
References Iterator::iteratedModel, Iterator::maxIterations, Iterator::methodName, Iterator::numFinalSolutions,
and Minimizer::update from model().

13.59.3

Member Function Documentation

void initialize run (

) [protected], [virtual]

utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance pointers
Perform initialization phases of run sequence, like allocating memory and setting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call
its nearest parents initialize run(), typically before performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in SNLLOptimizer, NLPQLPOptimizer, SNLLLeastSq, DOTOptimizer, and Optimizer.
References Model::all continuous variables(), Model::all discrete int variables(), Model::all discrete real variables(), Iterator::bestVariablesArray, Model::is null(), Iterator::iteratedModel, Iterator::maxEvalConcurrency,
Minimizer::minimizerInstance, Minimizer::minimizerRecasts, Minimizer::prevMinInstance, Model::set communicators(),
Model::set evaluation reference(), Iterator::subIteratorFlag, Model::subordinate model(), and Iterator::summaryOutputFlag.
Referenced by LeastSq::initialize run(), and Optimizer::initialize run().
void post run ( std::ostream & s ) [protected], [virtual]
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in SNLLOptimizer, SNLLLeastSq, and Optimizer.

13.59. MINIMIZER CLASS REFERENCE

511

References Model::is null(), Iterator::iteratedModel, Model::print evaluation summary(), Iterator::print results(),


Iterator::resultsDB, Iterator::summaryOutputFlag, and ResultsManager::write databases().
Referenced by LeastSq::post run(), Optimizer::post run(), and SNLLLeastSq::post run().

void finalize run (

) [inline], [protected], [virtual]

utility function to perform common operations following post run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class
must call its nearest parents finalize run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in SNLLOptimizer, SNLLLeastSq, and Optimizer.
References Iterator::finalize run(), Minimizer::minimizerInstance, and Minimizer::prevMinInstance.
Referenced by LeastSq::finalize run(), and Optimizer::finalize run().

const Model & algorithm space model (

) const [inline], [protected], [virtual]

default definition that gets redefined in selected derived Minimizers


Reimplemented from Iterator.
Reimplemented in EffGlobalMinimizer.
References Iterator::iteratedModel.

void pack parameters buffer ( MPIPackBuffer & send buffer, int job index ) [inline],
[protected], [virtual]
pack a send buffer for assigning an iterator job to a server
This virtual function redefinition is executed on the dedicated master processor for self scheduling. It is not
used for peer partitions.
Reimplemented from Iterator.

void unpack parameters buffer ( MPIUnpackBuffer & recv buffer ) [inline], [protected],
[virtual]
unpack a recv buffer for accepting an iterator job from the scheduler
This virtual function redefinition is executed on an iterator server for dedicated master self scheduling. It is
not used for peer partitions.
Reimplemented from Iterator.

void pack results buffer ( MPIPackBuffer & send buffer, int job index ) [inline], [protected],
[virtual]
pack a send buffer for returning iterator results from a server
This virtual function redefinition is executed either on an iterator server for dedicated master self scheduling
or on peers 2 through n for static scheduling.
Reimplemented from Iterator.

512

CHAPTER 13. CLASS DOCUMENTATION

void unpack results buffer ( MPIUnpackBuffer & recv buffer, int job index ) [inline],
[protected], [virtual]
unpack a recv buffer for accepting iterator results from a server
This virtual function redefinition is executed on an environment master (either the dedicated master processor
for self scheduling or peer 1 for static scheduling).
Reimplemented from Iterator.
bool data transform model ( bool weight flag = false ) [protected]
Wrap iteratedModel in a RecastModel that subtracts provided observed data from the primary response functions
(variables and secondary responses are unchanged)
Reads observation data to compute least squares residuals. Does not change size of responses, and is the
first wrapper, therefore sizes are based on iteratedModel. This will set weights to sigma[i] -2 if appropriate.
weight flag is true is there already exist user-specified weights in the calling context.
References Dakota::abort handler(), Iterator::activeSet, Model::assign rep(), Minimizer::expData, ProblemDescDB::get bool(), ProblemDescDB::get iv(), ProblemDescDB::get sizet(), Iterator::iteratedModel, ExperimentData::load scalar(), Minimizer::numContinuousVars, Minimizer::numExperiments, Minimizer::numFunctions, Minimizer::numNonlinearConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numReplicates, Minimizer::numRowsExpData, Minimizer::numUserPrimaryFns, Minimizer::obsDataFilename, Iterator::outputLevel, Minimizer::primary resp differencer(), Model::primary response fn sense(), Model::primary response fn weights(), Iterator::probDescDB, Minimizer::replicate set recast(), ActiveSet::request vector(), ExperimentData::scalar data(), ExperimentData::scalar sigma(), Minimizer::secondary resp copier(), and Model::subordinate model().
Referenced by LeastSq::LeastSq(), and Optimizer::Optimizer().
void scale model (

) [protected]

Wrap iteratedModel in a RecastModel that performs variable and/or response scaling.


Wrap the iteratedModel in a scaling transformation, such that iteratedModel now contains a scaling recast
model. Potentially affects variables, primary, and secondary responses
References Model::assign rep(), Minimizer::cvScaleTypes, RecastModel::initialize(), Minimizer::initialize scaling(), Iterator::iteratedModel, Model::model rep(), Minimizer::numContinuousVars, Minimizer::numNonlinearConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, Iterator::outputLevel,
Minimizer::primary resp scaler(), Model::primary response fn sense(), Model::primary response fn weights(), Minimizer::primaryRespScaleFlag, Minimizer::responseScaleTypes, Minimizer::secondary resp scaler(), Minimizer::secondaryRespScaleFlag, Model::subordinate model(), Minimizer::variables scaler(), and Minimizer::varsScaleFlag.
Referenced by LeastSq::LeastSq(), and Optimizer::Optimizer().
void gnewton set recast ( const Variables & recast vars, const ActiveSet & recast set, ActiveSet &
sub model set ) [static], [protected]
conversion of request vector values for the Gauss-Newton Hessian approximation
For Gauss-Newton Hessian requests, activate the 2 bit and mask the 4 bit.
References ActiveSet::request value(), and ActiveSet::request vector().
Referenced by Optimizer::reduce model(), and SurrBasedLocalMinimizer::SurrBasedLocalMinimizer().
void secondary resp copier ( const Variables & input vars, const Variables & output vars, const Response
& input response, Response & output response ) [static], [protected]
copy the partial response for secondary functions when needed (data and reduction transforms)
Constraint function map from user/native space to iterator/scaled/combined space using a RecastModel.

13.59. MINIMIZER CLASS REFERENCE

513

References Minimizer::minimizerInstance, Minimizer::numIterPrimaryFns, Minimizer::numNonlinearConstraints,


Minimizer::numUserPrimaryFns, and Response::update partial().
Referenced by Minimizer::data transform model(), Optimizer::reduce model(), and LeastSq::weight model().
bool need resp trans byvars ( const ShortArray & asv, int start index, int num resp ) [protected]
determine if response transformation is needed due to variable transformations
Determine if variable transformations present and derivatives requested, which implies a response transformation is necessay
References Minimizer::varsScaleFlag.
Referenced by LeastSq::post run(), Optimizer::post run(), SNLLLeastSq::post run(), and Minimizer::responsescaler core().
RealVector modify s2n ( const RealVector & scaled vars, const IntArray & scale types, const RealVector
& multipliers, const RealVector & offsets ) const [protected]
general RealVector mapping from scaled to native variables (and values)
general RealVector mapping from scaled to native variables and/or vals; loosely, in greatest generality: scaledvar = (LOG BASE scaled var) multiplier + offset
Referenced by LeastSq::post run(), Optimizer::post run(), SNLLLeastSq::post run(), and Minimizer::variablesscaler().
void response modify s2n ( const Variables & native vars, const Response & scaled response, Response
& native response, int start offset, int num responses ) const [protected]
map responses from scaled to native space
Unscaling response mapping: modifies response from scaled (iterator) to native (user) space. Maps num responses starting at response offset
References Response::active set(), Variables::acv(), Variables::all continuous variable ids(), Variables::allcontinuous variables(), Variables::continuous variable ids(), Variables::continuous variables(), Dakota::copy data(), Variables::cv(), Minimizer::cvScaleMultipliers, Minimizer::cvScaleOffsets, Minimizer::cvScaleTypes, ActiveSet::derivative vector(), Dakota::find index(), Response::function gradient view(), Response::function gradients(),
Response::function hessian view(), Response::function hessians(), Response::function labels(), Response::functionvalue(), Response::function values(), Variables::icv(), Variables::inactive continuous variable ids(), Variables::inactive continuous variables(), Minimizer::numUserPrimaryFns, Iterator::outputLevel, ActiveSet::request vector(),
Minimizer::responseScaleMultipliers, Minimizer::responseScaleOffsets, Minimizer::responseScaleTypes, and Dakota::write precision.
Referenced by LeastSq::post run(), and Optimizer::post run().
Real objective ( const RealVector & fn vals, const BoolDeque & max sense, const RealVector &
primary wts ) const [protected]
compute a composite objective value from one or more primary functions
The composite objective computation sums up the contributions from one of more primary functions using
the primary response fn weights.
References Minimizer::numUserPrimaryFns.
Referenced by SurrBasedLocalMinimizer::approx subprob objective eval(), SurrBasedMinimizer::augmentedlagrangian merit(), EffGlobalMinimizer::expected improvement(), SurrBasedMinimizer::lagrangian merit(), Optimizer::objective reduction(), SurrBasedMinimizer::penalty merit(), COLINOptimizer::post run(), SurrBasedMinimizer::update filter(), and SurrBasedLocalMinimizer::update penalty().

514

CHAPTER 13. CLASS DOCUMENTATION

Real objective ( const RealVector & fn vals, size t num fns, const BoolDeque & max sense, const
RealVector & primary wts ) const [protected]
compute a composite objective with specified number of source primary functions, instead of userPrimaryFns
This composite objective is a more general case of the previous objective(), but doesnt presume a reduction
map from user to iterated space. Used to apply weights and sense in COLIN results sorting. Leaving as a duplicate
implementation pending resolution of COLIN lookups.
References Minimizer::optimizationFlag.
void objective gradient ( const RealVector & fn vals, size t num fns, const RealMatrix & fn grads,
const BoolDeque & max sense, const RealVector & primary wts, RealVector & obj grad ) const
[protected]
compute the gradient of the composite objective function
The composite objective gradient computation combines the contributions from one of more primary function
gradients, including the effect of any primary function weights. In the case of a linear mapping (MOO), only the
primary function gradients are required, but in the case of a nonlinear mapping (NLS), primary function values
are also needed. Within RecastModel::set mapping(), the active set requests are automatically augmented to make
values available when needed, based on nonlinearRespMapping settings.
References Minimizer::numContinuousVars, and Minimizer::optimizationFlag.
void objective hessian ( const RealVector & fn vals, size t num fns, const RealMatrix & fn grads, const
RealSymMatrixArray & fn hessians, const BoolDeque & max sense, const RealVector & primary wts,
RealSymMatrix & obj hess ) const [protected]
compute the Hessian of the composite objective function
The composite objective Hessian computation combines the contributions from one of more primary function
Hessians, including the effect of any primary function weights. In the case of a linear mapping (MOO), only the
primary function Hessians are required, but in the case of a nonlinear mapping (NLS), primary function values
and gradients are also needed in general (gradients only in the case of a Gauss-Newton approximation). Within
the default RecastModel::set mapping(), the active set requests are automatically augmented to make values and
gradients available when needed, based on nonlinearRespMapping settings.
References Dakota::abort handler(), Minimizer::numContinuousVars, and Minimizer::optimizationFlag.
void resize best vars array ( size t newsize ) [protected]
Safely resize the best variables array to newsize taking into account the envelope-letter design pattern and any
recasting.
Uses data from the innermost model, should any Minimizer recasts be active. Called by multipoint return
solvers. Do not directly call resize on the bestVariablesArray object unless you intend to share the internal content
(letter) with other objects after assignment.
References Iterator::bestVariablesArray, Variables::copy(), Model::current variables(), Iterator::iteratedModel,
Minimizer::minimizerRecasts, and Model::subordinate model().
Referenced by COLINOptimizer::post run().
void resize best resp array ( size t newsize ) [protected]
Safely resize the best response array to newsize taking into account the envelope-letter design pattern and any
recasting.

13.59. MINIMIZER CLASS REFERENCE

515

Uses data from the innermost model, should any Minimizer recasts be active. Called by multipoint return
solvers. Do not directly call resize on the bestResponseArray object unless you intend to share the internal
content (letter) with other objects after assignment.
References Iterator::bestResponseArray, Response::copy(), Model::current response(), Iterator::iteratedModel,
Minimizer::minimizerRecasts, and Model::subordinate model().
Referenced by COLINOptimizer::post run().

void primary resp differencer ( const Variables & raw vars, const Variables & residual vars, const
Response & raw response, Response & residual response ) [static], [private]
Recast callback function to difference residuals with observed data.
Difference the primary responses with observed data
References Minimizer::data difference core(), Response::function labels(), Response::function values(), Minimizer::minimizerInstance, and Iterator::outputLevel.
Referenced by Minimizer::data transform model().

void initialize scaling (

) [private]

initialize scaling types, multipliers, and offsets; perform error checking


Initialize scaling types, multipliers, and offsets. Update the iteratedModel appropriately
References Dakota::abort handler(), Minimizer::compute scaling(), Model::continuous lower bounds(), Model::continuous upper bounds(), Model::continuous variable labels(), Model::continuous variables(), Dakota::copydata(), Minimizer::cvScaleMultipliers, Minimizer::cvScaleOffsets, Minimizer::cvScaleTypes, ProblemDescDB::get rv(), ProblemDescDB::get sa(), Iterator::iteratedModel, Minimizer::lin coeffs modify n2s(), Model::lineareq constraint coeffs(), Model::linear eq constraint targets(), Model::linear ineq constraint coeffs(), Model::linearineq constraint lower bounds(), Model::linear ineq constraint upper bounds(), Minimizer::linearEqScaleMultipliers,
Minimizer::linearEqScaleOffsets, Minimizer::linearEqScaleTypes, Minimizer::linearIneqScaleMultipliers, Minimizer::linearIneqScaleOffsets, Minimizer::linearIneqScaleTypes, Model::model rep(), Minimizer::modify n2s(), Model::nonlinear eq constraint targets(), Model::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraintupper bounds(), Minimizer::numContinuousVars, Minimizer::numFunctions, Minimizer::numLinearEqConstraints,
Minimizer::numLinearIneqConstraints, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, Iterator::outputLevel, Minimizer::primaryRespScaleFlag, Minimizer::print scaling(), Iterator::probDescDB, Model::response labels(), Minimizer::responseScaleMultipliers, Minimizer::responseScaleOffsets, Minimizer::responseScaleTypes, Minimizer::secondaryRespScaleFlag, RecastModel::submodelsupports derivative estimation(), Model::subordinate model(), Model::supports derivative estimation(), and Minimizer::varsScaleFlag.
Referenced by Minimizer::scale model().

void variables scaler ( const Variables & scaled vars, Variables & native vars ) [static], [private]
RecastModel callback for variables scaling: transform variables from scaled to native (user) space.
Variables map from iterator/scaled space to user/native space using a RecastModel.
References Variables::continuous variable labels(), Variables::continuous variables(), Minimizer::cvScaleMultipliers,
Minimizer::cvScaleOffsets, Minimizer::cvScaleTypes, Minimizer::minimizerInstance, Minimizer::modify s2n(),
and Iterator::outputLevel.
Referenced by Minimizer::scale model().

516

CHAPTER 13. CLASS DOCUMENTATION

void secondary resp scaler ( const Variables & native vars, const Variables & scaled vars, const Response
& native response, Response & iterator response ) [static], [private]
RecastModel callback for secondary response scaling: transform constraints (grads, Hessians) from native (user)
to scaled space.
Constraint function map from user/native space to iterator/scaled/combined space using a RecastModel.
References Minimizer::minimizerInstance, Minimizer::numNonlinearConstraints, Minimizer::numUserPrimaryFns, and Minimizer::response scaler core().
Referenced by Minimizer::scale model().
RealVector modify n2s ( const RealVector & native vars, const IntArray & scale types, const RealVector
& multipliers, const RealVector & offsets ) const [private]
general RealVector mapping from native to scaled variables vectors:
general RealVector mapping from native to scaled variables; loosely, in greatest generality: scaled var = log(
(native var - offset) / multiplier )
Referenced by Minimizer::initialize scaling().
void response modify n2s ( const Variables & native vars, const Response & native response, Response &
recast response, int start offset, int num responses ) const [private]
map reponses from native to scaled variable space
Scaling response mapping: modifies response from a model (user/native) for use in iterators (scaled). Maps
num responses starting at response offset
References Response::active set(), Variables::acv(), Variables::all continuous variable ids(), Variables::allcontinuous variables(), Variables::continuous variable ids(), Variables::continuous variables(), Dakota::copy data(), Variables::cv(), Minimizer::cvScaleMultipliers, Minimizer::cvScaleOffsets, Minimizer::cvScaleTypes, ActiveSet::derivative vector(), Dakota::find index(), Response::function gradient view(), Response::function gradients(),
Response::function hessian view(), Response::function hessians(), Response::function labels(), Response::functionvalue(), Response::function values(), Variables::icv(), Variables::inactive continuous variable ids(), Variables::inactive continuous variables(), Minimizer::numUserPrimaryFns, Iterator::outputLevel, ActiveSet::request vector(),
Minimizer::responseScaleMultipliers, Minimizer::responseScaleOffsets, Minimizer::responseScaleTypes, and Dakota::write precision.
Referenced by Minimizer::response scaler core().
RealMatrix lin coeffs modify n2s ( const RealMatrix & src coeffs, const RealVector & cv multipliers,
const RealVector & lin multipliers ) const [private]
general linear coefficients mapping from native to scaled space
compute scaled linear constraint matrix given design variable multipliers and linear scaling multipliers. Only
scales components corresponding to continuous variables so for src coeffs of size MxN, lin multipliers.size() <=
M, cv multipliers.size() <= N
Referenced by Minimizer::initialize scaling().
The documentation for this class was generated from the following files:
DakotaMinimizer.hpp
DakotaMinimizer.cpp

13.60. MIXEDVARCONSTRAINTS CLASS REFERENCE

13.60

517

MixedVarConstraints Class Reference

Derived class within the Constraints hierarchy which separates continuous and discrete variables (no domain type
array merging).
Inheritance diagram for MixedVarConstraints:

Constraints
MixedVarConstraints

Public Member Functions


MixedVarConstraints (const SharedVariablesData &svd)
lightweight constructor

MixedVarConstraints (const ProblemDescDB &problem db, const SharedVariablesData &svd)


standard constructor

MixedVarConstraints ()
destructor

void write (std::ostream &s) const


write a variable constraints object to an std::ostream

void read (std::istream &s)


read a variable constraints object from an std::istream

Protected Member Functions


void reshape (const SizetArray &vc totals)
reshape the lower/upper bound arrays within the Constraints hierarchy

void build active views ()


construct active views of all variables bounds arrays

void build inactive views ()


construct inactive views of all variables bounds arrays

Additional Inherited Members


13.60.1

Detailed Description

Derived class within the Constraints hierarchy which separates continuous and discrete variables (no domain type
array merging).
Derived variable constraints classes take different views of the design, uncertain, and state variable types
and the continuous and discrete domain types. The MixedVarConstraints derived class separates the continuous
and discrete domain types (see Variables::get variables(problem db) for variables type selection; variables type is
passed to the Constraints constructor in Model).

518

CHAPTER 13. CLASS DOCUMENTATION

13.60.2

Constructor & Destructor Documentation

MixedVarConstraints ( const ProblemDescDB & problem db, const SharedVariablesData & svd )
standard constructor
In this class, mixed continuous/discrete variables are used. Most iterators/strategies use this approach, which
is the default in Constraints::get constraints().
References Constraints::allContinuousLowerBnds, Constraints::allContinuousUpperBnds, Constraints::allDiscreteIntLowerBnds, Constraints::allDiscreteIntUpperBnds, Constraints::allDiscreteRealLowerBnds, Constraints::allDiscreteRealUpperBnds, Constraints::build views(), SharedVariablesData::components totals(), Dakota::copy data partial(), ProblemDescDB::get iv(), ProblemDescDB::get rv(), Constraints::manage linear constraints(), Constraints::numLinearEqCons, Constraints::numLinearIneqCons, Constraints::sharedVarsData, SharedVariablesData::vc lookup(), and SharedVariablesData::view().

13.60.3

Member Function Documentation

void reshape ( const SizetArray & vc totals ) [protected], [virtual]


reshape the lower/upper bound arrays within the Constraints hierarchy
Resizes the derived bounds arrays.
Reimplemented from Constraints.
References Constraints::allContinuousLowerBnds, Constraints::allContinuousUpperBnds, Constraints::allDiscreteIntLowerBnds, Constraints::allDiscreteIntUpperBnds, Constraints::allDiscreteRealLowerBnds, Constraints::allDiscreteRealUpperBnds, Constraints::build views(), and Constraints::reshape().
Referenced by MixedVarConstraints::MixedVarConstraints().
The documentation for this class was generated from the following files:
MixedVarConstraints.hpp
MixedVarConstraints.cpp

13.61

MixedVariables Class Reference

Derived class within the Variables hierarchy which separates continuous and discrete variables (no domain type
array merging).
Inheritance diagram for MixedVariables:

Variables
MixedVariables

Public Member Functions


MixedVariables (const ProblemDescDB &problem db, const std::pair< short, short > &view)
standard constructor

MixedVariables (const SharedVariablesData &svd)


lightweight constructor

MixedVariables ()
destructor

13.61. MIXEDVARIABLES CLASS REFERENCE

519

Protected Member Functions


void read (std::istream &s)
read a variables object from an std::istream

void write (std::ostream &s) const


write a variables object to an std::ostream

void write aprepro (std::ostream &s) const


write a variables object to an std::ostream in aprepro format

void read tabular (std::istream &s)


void write tabular (std::ostream &s) const
write a variables object in tabular format to an std::ostream

void reshape (const SizetArray &vc totals)


reshapes an existing Variables object based on the incoming variablesComponents

void build active views ()


construct active views of all variables arrays

void build inactive views ()


construct inactive views of all variables arrays

Additional Inherited Members


13.61.1

Detailed Description

Derived class within the Variables hierarchy which separates continuous and discrete variables (no domain type
array merging).
Derived variables classes take different views of the design, uncertain, and state variable types and the continuous and discrete domain types. The MixedVariables derived class separates the continuous and discrete domain
types (see Variables::get variables(problem db)).

13.61.2

Constructor & Destructor Documentation

MixedVariables ( const ProblemDescDB & problem db, const std::pair< short, short > & view )
standard constructor
In this class, the distinct approach is used (design, uncertain, and state variable types and continuous and
discrete domain types are distinct). Most iterators/strategies use this approach.
References Variables::allContinuousVars, Variables::allDiscreteIntVars, Variables::allDiscreteRealVars, Variables::build views(), SharedVariablesData::components totals(), Dakota::copy data partial(), ProblemDescDB::get iv(), ProblemDescDB::get rv(), Variables::sharedVarsData, SharedVariablesData::vc lookup(), and SharedVariablesData::view().

13.61.3

Member Function Documentation

void read tabular ( std::istream & s ) [protected], [virtual]


Presumes variables object is already appropriately sized to receive!
Reimplemented from Variables.
References Variables::allContinuousVars, Variables::allDiscreteIntVars, and Variables::allDiscreteRealVars.
The documentation for this class was generated from the following files:
MixedVariables.hpp
MixedVariables.cpp

520

CHAPTER 13. CLASS DOCUMENTATION

13.62

Model Class Reference

Base class for the model class hierarchy.


Inheritance diagram for Model:
Model
NestedModel

RecastModel

SingleModel

SurrogateModel

DataFitSurrModel

HierarchSurrModel

Public Member Functions


Model ()
default constructor

Model (ProblemDescDB &problem db)


standard constructor for envelope

Model (const Model &model)


copy constructor

virtual Model ()
destructor

Model operator= (const Model &model)


assignment operator

virtual Iterator & subordinate iterator ()


return the sub-iterator in nested and surrogate models

virtual Model & subordinate model ()


return a single sub-model defined from subModel in nested and recast models and truth model() in surrogate models; used for a directed dive through model recursions that may bypass some components.

virtual Model & surrogate model ()


return the approximation sub-model in surrogate models

virtual Model & truth model ()


return the truth sub-model in surrogate models

virtual void derived subordinate models (ModelList &ml, bool recurse flag)
portion of subordinate models() specific to derived model classes

virtual void update from subordinate model (bool recurse flag=true)


propagate vars/labels/bounds/targets from the bottom up

virtual Interface & derived interface ()


return the interface employed by the derived model class, if present: SingleModel::userDefinedInterface, DataFitSurrModel::approxInterface, or NestedModel::optionalInterface

virtual void primary response fn weights (const RealVector &wts, bool recurse flag=true)
set the relative weightings for multiple objective functions or least squares terms

virtual void surrogate function indices (const IntSet &surr fn indices)


set the (currently active) surrogate function index set

13.62. MODEL CLASS REFERENCE

521

virtual void build approximation ()


build a new SurrogateModel approximation

virtual bool build approximation (const Variables &vars, const IntResponsePair &response pr)
build a new SurrogateModel approximation using/enforcing response at vars

virtual void update approximation (bool rebuild flag)


replace the approximation data within an existing surrogate based on data updates propagated elsewhere

virtual void update approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuildflag)
replace the anchor point data within an existing surrogate

virtual void update approximation (const VariablesArray &vars array, const IntResponseMap &resp map,
bool rebuild flag)
replace the data points within an existing surrogate

virtual void append approximation (bool rebuild flag)


append to the existing approximation data within a surrogate based on data updates propagated elsewhere

virtual void append approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuildflag)
append a single point to an existing surrogates data

virtual void append approximation (const VariablesArray &vars array, const IntResponseMap &resp map,
bool rebuild flag)
append multiple points to an existing surrogates data

virtual void pop approximation (bool save surr data, bool rebuild flag=false)
remove the previous data set addition to a surrogate (e.g., due to a previous append approximation() call); flag
manages storing of surrogate data for use in a subsequent restore approximation()

virtual void restore approximation ()


restore a previous approximation data state within a surrogate

virtual bool restore available ()


query for whether a trial increment is restorable within a surrogate

virtual void finalize approximation ()


finalize an approximation by applying all previous trial increments

virtual void store approximation ()


move the current approximation into storage for later combination

virtual void combine approximation (short corr type)


combine the current approximation with one previously stored

virtual bool force rebuild ()


determine whether a surrogate model rebuild should be forced based on changes in the inactive data

virtual SharedApproxData & shared approximation ()


retrieve the shared approximation data within the ApproximationInterface of a DataFitSurrModel

virtual std::vector
< Approximation > & approximations ()
retrieve the set of Approximations within the ApproximationInterface of a DataFitSurrModel

virtual const
Pecos::SurrogateData & approximation data (size t index)
retrieve the approximation data from a particular Approximation instance within the ApproximationInterface of a
DataFitSurrModel

522

CHAPTER 13. CLASS DOCUMENTATION


virtual const RealVectorArray & approximation coefficients ()
retrieve the approximation coefficients from each Approximation within a DataFitSurrModel

virtual void approximation coefficients (const RealVectorArray &approx coeffs)


set the approximation coefficients for each Approximation within a DataFitSurrModel

virtual const RealVector & approximation variances (const Variables &vars)


retrieve the approximation variances from each Approximation within a DataFitSurrModel

virtual void surrogate response mode (short mode)


set response computation mode used in SurrogateModels for forming currentResponse

virtual short surrogate response mode () const


return response computation mode used in SurrogateModels for forming currentResponse

virtual DiscrepancyCorrection & discrepancy correction ()


return the DiscrepancyCorrection object used by SurrogateModels

virtual void component parallel mode (short mode)


update component parallel mode for supporting parallelism in a models interface component, sub-model component, or neither component [componentParallelMode = 0 (none), 1 (INTERFACE/APPROX INTERFACE/OPTIONAL INTERFACE/LF MODEL/SURROGATE MODEL), or 2 (SUB MODEL/ACTUAL MODEL/HF MODEL/TRUTH MODEL)].

virtual String local eval synchronization ()


return derived model synchronization setting

virtual int local eval concurrency ()


return derived model asynchronous evaluation concurrency

virtual void serve (int max eval concurrency)


Service job requests received from the master. Completes when a termination message is received from stop servers().

virtual void stop servers ()


Executed by the master to terminate all server operations for a particular model when iteration on the model is
complete.

virtual bool derived master overload () const


Return a flag indicating the combination of multiprocessor evaluations and a dedicated master iterator scheduling.
Used in synchronous compute response functions to prevent the error of trying to run a multiprocessor job on the
master.

virtual void inactive view (short view, bool recurse flag=true)


update the Models inactive view based on higher level (nested) context

virtual const String & interface id () const


return the interface identifier

virtual int evaluation id () const


Return the value of the evaluation id counter for the Model.

virtual bool evaluation cache () const


Indicates the usage of an evaluation cache by the Model.

virtual void set evaluation reference ()


Set the reference points for the evaluation counters within the Model.

virtual void fine grained evaluation counters ()


Request fine-grained evaluation reporting within the Model.

virtual void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true)
const

13.62. MODEL CLASS REFERENCE

523

Print an evaluation summary for the Model.

virtual void eval tag prefix (const String &eval id str)


set the hierarchical eval ID tag prefix

ModelList & subordinate models (bool recurse flag=true)


return the sub-models in nested and surrogate models

void compute response ()


Compute the Response at currentVariables (default ActiveSet).

void compute response (const ActiveSet &set)


Compute the Response at currentVariables (specified ActiveSet).

void asynch compute response ()


Spawn an asynchronous job (or jobs) that computes the value of the Response at currentVariables (default ActiveSet).

void asynch compute response (const ActiveSet &set)


Spawn an asynchronous job (or jobs) that computes the value of the Response at currentVariables (specified ActiveSet).

const IntResponseMap & synchronize ()


Execute a blocking scheduling algorithm to collect the complete set of results from a group of asynchronous evaluations.

const IntResponseMap & synchronize nowait ()


Execute a nonblocking scheduling algorithm to collect all available results from a group of asynchronous evaluations.

void init communicators (int max eval concurrency, bool recurse flag=true)
allocate communicator partitions for a model and store configuration in modelPCIterMap

void init serial ()


for cases where init communicators() will not be called, modify some default settings to behave properly in serial.

void set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration for the model (set modelPCIter from modelPCIterMap)

void free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for a model

MPI Comm analysis comm () const


retrieve the MPI communicator on which this model is configured to conduct function evaluation analyses (provided
for library clients)

void stop configurations ()


called from Strategy::init iterator() for iteratorComm rank 0 to terminate serve configurations() on other iteratorComm processors

int serve configurations ()


called from Strategy::init iterator() for iteratorComm rank != 0 to balance init communicators() calls on iteratorComm rank 0

void estimate message lengths ()


estimate messageLengths for a model

void assign rep (Model model rep, bool ref count incr=true)
replaces existing letter with a new one

size t tv () const
returns total number of vars

524

CHAPTER 13. CLASS DOCUMENTATION


size t cv () const
returns number of active continuous variables

size t div () const


returns number of active discrete integer vars

size t drv () const


returns number of active discrete real vars

size t icv () const


returns number of inactive continuous variables

size t idiv () const


returns number of inactive discrete integer vars

size t idrv () const


returns number of inactive discrete real vars

size t acv () const


returns total number of continuous variables

size t adiv () const


returns total number of discrete integer vars

size t adrv () const


returns total number of discrete real vars

void active variables (const Variables &vars)


set the active variables in currentVariables

const RealVector & continuous variables () const


return the active continuous variables from currentVariables

void continuous variables (const RealVector &c vars)


set the active continuous variables in currentVariables

void continuous variable (Real c var, size t i)


set an active continuous variable in currentVariables

const IntVector & discrete int variables () const


return the active discrete integer variables from currentVariables

void discrete int variables (const IntVector &d vars)


set the active discrete integer variables in currentVariables

void discrete int variable (int d var, size t i)


set an active discrete integer variable in currentVariables

const RealVector & discrete real variables () const


return the active discrete real variables from currentVariables

void discrete real variables (const RealVector &d vars)


set the active discrete real variables in currentVariables

void discrete real variable (Real d var, size t i)


set an active discrete real variable in currentVariables

UShortMultiArrayConstView continuous variable types () const


return the active continuous variable types from currentVariables

void continuous variable types (UShortMultiArrayConstView cv types)


set the active continuous variable types in currentVariables

void continuous variable type (unsigned short cv type, size t i)

13.62. MODEL CLASS REFERENCE


set an active continuous variable type in currentVariables

UShortMultiArrayConstView discrete int variable types () const


return the active discrete variable types from currentVariables

void discrete int variable types (UShortMultiArrayConstView div types)


set the active discrete variable types in currentVariables

void discrete int variable type (unsigned short div type, size t i)
set an active discrete variable type in currentVariables

UShortMultiArrayConstView discrete real variable types () const


return the active discrete variable types from currentVariables

void discrete real variable types (UShortMultiArrayConstView drv types)


set the active discrete variable types in currentVariables

void discrete real variable type (unsigned short drv type, size t i)
set an active discrete variable type in currentVariables

SizetMultiArrayConstView continuous variable ids () const


return the active continuous variable identifiers from currentVariables

void continuous variable ids (SizetMultiArrayConstView cv ids)


set the active continuous variable identifiers in currentVariables

void continuous variable id (size t cv id, size t i)


set an active continuous variable identifier in currentVariables

const RealVector & inactive continuous variables () const


return the inactive continuous variables in currentVariables

void inactive continuous variables (const RealVector &i c vars)


set the inactive continuous variables in currentVariables

const IntVector & inactive discrete int variables () const


return the inactive discrete variables in currentVariables

void inactive discrete int variables (const IntVector &i d vars)


set the inactive discrete variables in currentVariables

const RealVector & inactive discrete real variables () const


return the inactive discrete variables in currentVariables

void inactive discrete real variables (const RealVector &i d vars)


set the inactive discrete variables in currentVariables

UShortMultiArrayConstView inactive continuous variable types () const


return the inactive continuous variable types from currentVariables

SizetMultiArrayConstView inactive continuous variable ids () const


return the inactive continuous variable identifiers from currentVariables

const RealVector & all continuous variables () const


return all continuous variables in currentVariables

void all continuous variables (const RealVector &a c vars)


set all continuous variables in currentVariables

void all continuous variable (Real a c var, size t i)


set a variable within the all continuous variables in currentVariables

const IntVector & all discrete int variables () const


return all discrete variables in currentVariables

525

526

CHAPTER 13. CLASS DOCUMENTATION


void all discrete int variables (const IntVector &a d vars)
set all discrete variables in currentVariables

void all discrete int variable (int a d var, size t i)


set a variable within the all discrete variables in currentVariables

const RealVector & all discrete real variables () const


return all discrete variables in currentVariables

void all discrete real variables (const RealVector &a d vars)


set all discrete variables in currentVariables

void all discrete real variable (Real a d var, size t i)


set a variable within the all discrete variables in currentVariables

UShortMultiArrayConstView all continuous variable types () const


return all continuous variable types from currentVariables

UShortMultiArrayConstView all discrete int variable types () const


return all discrete variable types from currentVariables

UShortMultiArrayConstView all discrete real variable types () const


return all discrete variable types from currentVariables

SizetMultiArrayConstView all continuous variable ids () const


return all continuous variable identifiers from currentVariables

const IntSetArray & discrete design set int values () const


return the sets of values available for each of the discrete design set integer variables

void discrete design set int values (const IntSetArray &isa)


define the sets of values available for each of the discrete design set integer variables

const RealSetArray & discrete design set real values () const


return the sets of values available for each of the discrete design set real variables

void discrete design set real values (const RealSetArray &rsa)


define the sets of values available for each of the discrete design set real variables

const IntSetArray & discrete state set int values () const


return the sets of values available for each of the discrete state set integer variables

void discrete state set int values (const IntSetArray &isa)


define the sets of values available for each of the discrete state set integer variables

const RealSetArray & discrete state set real values () const


return the sets of values available for each of the discrete state set real variables

void discrete state set real values (const RealSetArray &rsa)


define the sets of values available for each of the discrete state set real variables

const BitArray & discrete int sets ()


define and return discreteIntSets

const IntSetArray & discrete set int values ()


return the sets of values available for each of the active discrete set integer variables (aggregated in activeDiscSetIntValues)

const RealSetArray & discrete set real values ()


return the sets of values available for each of the active discrete set real variables (aggregated in activeDiscSetRealValues)

Pecos::AleatoryDistParams & aleatory distribution parameters ()

13.62. MODEL CLASS REFERENCE

527

return aleatDistParams

const Pecos::AleatoryDistParams & aleatory distribution parameters () const


return aleatDistParams

void aleatory distribution parameters (const Pecos::AleatoryDistParams &adp)


set aleatDistParams

Pecos::EpistemicDistParams & epistemic distribution parameters ()


return epistDistParams

const Pecos::EpistemicDistParams & epistemic distribution parameters () const


return epistDistParams

void epistemic distribution parameters (const Pecos::EpistemicDistParams &edp)


set epistDistParams

Real continuous probability density () const


compute a multivariate probability density from the marginals for the active aleatory random variables (must be
uncorrelated)

std::pair< Real, Real > continuous distribution bounds (size t cv index) const
return a set of distribution bounds for a particular index within the active aleatory random variables

StringMultiArrayConstView continuous variable labels () const


return the active continuous variable labels from currentVariables

void continuous variable labels (StringMultiArrayConstView c v labels)


set the active continuous variable labels in currentVariables

StringMultiArrayConstView discrete int variable labels () const


return the active discrete variable labels from currentVariables

void discrete int variable labels (StringMultiArrayConstView d v labels)


set the active discrete variable labels in currentVariables

StringMultiArrayConstView discrete real variable labels () const


return the active discrete variable labels from currentVariables

void discrete real variable labels (StringMultiArrayConstView d v labels)


set the active discrete variable labels in currentVariables

StringMultiArrayConstView inactive continuous variable labels () const


return the inactive continuous variable labels in currentVariables

void inactive continuous variable labels (StringMultiArrayConstView i c v labels)


set the inactive continuous variable labels in currentVariables

StringMultiArrayConstView inactive discrete int variable labels () const


return the inactive discrete variable labels in currentVariables

void inactive discrete int variable labels (StringMultiArrayConstView i d v labels)


set the inactive discrete variable labels in currentVariables

StringMultiArrayConstView inactive discrete real variable labels () const


return the inactive discrete variable labels in currentVariables

void inactive discrete real variable labels (StringMultiArrayConstView i d v labels)


set the inactive discrete variable labels in currentVariables

StringMultiArrayConstView all continuous variable labels () const


return all continuous variable labels in currentVariables

void all continuous variable labels (StringMultiArrayConstView a c v labels)

528

CHAPTER 13. CLASS DOCUMENTATION


set all continuous variable labels in currentVariables

void all continuous variable label (const String &a c v label, size t i)
set a label within the all continuous labels in currentVariables

StringMultiArrayConstView all discrete int variable labels () const


return all discrete variable labels in currentVariables

void all discrete int variable labels (StringMultiArrayConstView a d v labels)


set all discrete variable labels in currentVariables

void all discrete int variable label (const String &a d v label, size t i)
set a label within the all discrete labels in currentVariables

StringMultiArrayConstView all discrete real variable labels () const


return all discrete variable labels in currentVariables

void all discrete real variable labels (StringMultiArrayConstView a d v labels)


set all discrete variable labels in currentVariables

void all discrete real variable label (const String &a d v label, size t i)
set a label within the all discrete labels in currentVariables

const StringArray & response labels () const


return the response labels from currentResponse

void response labels (const StringArray &resp labels)


set the response labels in currentResponse

const RealVector & continuous lower bounds () const


return the active continuous lower bounds from userDefinedConstraints

void continuous lower bounds (const RealVector &c l bnds)


set the active continuous lower bounds in userDefinedConstraints

void continuous lower bound (Real c l bnd, size t i)


set the i-th active continuous lower bound in userDefinedConstraints

const RealVector & continuous upper bounds () const


return the active continuous upper bounds from userDefinedConstraints

void continuous upper bounds (const RealVector &c u bnds)


set the active continuous upper bounds in userDefinedConstraints

void continuous upper bound (Real c u bnd, size t i)


set the i-th active continuous upper bound from userDefinedConstraints

const IntVector & discrete int lower bounds () const


return the active discrete int lower bounds from userDefinedConstraints

void discrete int lower bounds (const IntVector &d l bnds)


set the active discrete int lower bounds in userDefinedConstraints

void discrete int lower bound (int d l bnd, size t i)


set the i-th active discrete int lower bound in userDefinedConstraints

const IntVector & discrete int upper bounds () const


return the active discrete int upper bounds from userDefinedConstraints

void discrete int upper bounds (const IntVector &d u bnds)


set the active discrete int upper bounds in userDefinedConstraints

void discrete int upper bound (int d u bnd, size t i)


set the i-th active discrete int upper bound in userDefinedConstraints

13.62. MODEL CLASS REFERENCE


const RealVector & discrete real lower bounds () const
return the active discrete real lower bounds from userDefinedConstraints

void discrete real lower bounds (const RealVector &d l bnds)


set the active discrete real lower bounds in userDefinedConstraints

void discrete real lower bound (Real d l bnd, size t i)


set the i-th active discrete real lower bound in userDefinedConstraints

const RealVector & discrete real upper bounds () const


return the active discrete real upper bounds from userDefinedConstraints

void discrete real upper bounds (const RealVector &d u bnds)


set the active discrete real upper bounds in userDefinedConstraints

void discrete real upper bound (Real d u bnd, size t i)


set the i-th active discrete real upper bound in userDefinedConstraints

const RealVector & inactive continuous lower bounds () const


return the inactive continuous lower bounds in userDefinedConstraints

void inactive continuous lower bounds (const RealVector &i c l bnds)


set the inactive continuous lower bounds in userDefinedConstraints

const RealVector & inactive continuous upper bounds () const


return the inactive continuous upper bounds in userDefinedConstraints

void inactive continuous upper bounds (const RealVector &i c u bnds)


set the inactive continuous upper bounds in userDefinedConstraints

const IntVector & inactive discrete int lower bounds () const


return the inactive discrete lower bounds in userDefinedConstraints

void inactive discrete int lower bounds (const IntVector &i d l bnds)
set the inactive discrete lower bounds in userDefinedConstraints

const IntVector & inactive discrete int upper bounds () const


return the inactive discrete upper bounds in userDefinedConstraints

void inactive discrete int upper bounds (const IntVector &i d u bnds)
set the inactive discrete upper bounds in userDefinedConstraints

const RealVector & inactive discrete real lower bounds () const


return the inactive discrete lower bounds in userDefinedConstraints

void inactive discrete real lower bounds (const RealVector &i d l bnds)
set the inactive discrete lower bounds in userDefinedConstraints

const RealVector & inactive discrete real upper bounds () const


return the inactive discrete upper bounds in userDefinedConstraints

void inactive discrete real upper bounds (const RealVector &i d u bnds)
set the inactive discrete upper bounds in userDefinedConstraints

const RealVector & all continuous lower bounds () const


return all continuous lower bounds in userDefinedConstraints

void all continuous lower bounds (const RealVector &a c l bnds)


set all continuous lower bounds in userDefinedConstraints

void all continuous lower bound (Real a c l bnd, size t i)


set a lower bound within continuous lower bounds in userDefinedConstraints

const RealVector & all continuous upper bounds () const

529

530

CHAPTER 13. CLASS DOCUMENTATION


return all continuous upper bounds in userDefinedConstraints

void all continuous upper bounds (const RealVector &a c u bnds)


set all continuous upper bounds in userDefinedConstraints

void all continuous upper bound (Real a c u bnd, size t i)


set an upper bound within all continuous upper bounds in userDefinedConstraints

const IntVector & all discrete int lower bounds () const


return all discrete lower bounds in userDefinedConstraints

void all discrete int lower bounds (const IntVector &a d l bnds)
set all discrete lower bounds in userDefinedConstraints

void all discrete int lower bound (int a d l bnd, size t i)


set a lower bound within all discrete lower bounds in userDefinedConstraints

const IntVector & all discrete int upper bounds () const


return all discrete upper bounds in userDefinedConstraints

void all discrete int upper bounds (const IntVector &a d u bnds)
set all discrete upper bounds in userDefinedConstraints

void all discrete int upper bound (int a d u bnd, size t i)


set an upper bound within all discrete upper bounds in userDefinedConstraints

const RealVector & all discrete real lower bounds () const


return all discrete lower bounds in userDefinedConstraints

void all discrete real lower bounds (const RealVector &a d l bnds)
set all discrete lower bounds in userDefinedConstraints

void all discrete real lower bound (Real a d l bnd, size t i)


set a lower bound within all discrete lower bounds in userDefinedConstraints

const RealVector & all discrete real upper bounds () const


return all discrete upper bounds in userDefinedConstraints

void all discrete real upper bounds (const RealVector &a d u bnds)
set all discrete upper bounds in userDefinedConstraints

void all discrete real upper bound (Real a d u bnd, size t i)


set an upper bound within all discrete upper bounds in userDefinedConstraints

size t num linear ineq constraints () const


return the number of linear inequality constraints

size t num linear eq constraints () const


return the number of linear equality constraints

const RealMatrix & linear ineq constraint coeffs () const


return the linear inequality constraint coefficients

void linear ineq constraint coeffs (const RealMatrix &lin ineq coeffs)
set the linear inequality constraint coefficients

const RealVector & linear ineq constraint lower bounds () const


return the linear inequality constraint lower bounds

void linear ineq constraint lower bounds (const RealVector &lin ineq l bnds)
set the linear inequality constraint lower bounds

const RealVector & linear ineq constraint upper bounds () const


return the linear inequality constraint upper bounds

13.62. MODEL CLASS REFERENCE


void linear ineq constraint upper bounds (const RealVector &lin ineq u bnds)
set the linear inequality constraint upper bounds

const RealMatrix & linear eq constraint coeffs () const


return the linear equality constraint coefficients

void linear eq constraint coeffs (const RealMatrix &lin eq coeffs)


set the linear equality constraint coefficients

const RealVector & linear eq constraint targets () const


return the linear equality constraint targets

void linear eq constraint targets (const RealVector &lin eq targets)


set the linear equality constraint targets

size t num nonlinear ineq constraints () const


return the number of nonlinear inequality constraints

size t num nonlinear eq constraints () const


return the number of nonlinear equality constraints

const RealVector & nonlinear ineq constraint lower bounds () const


return the nonlinear inequality constraint lower bounds

void nonlinear ineq constraint lower bounds (const RealVector &nln ineq l bnds)
set the nonlinear inequality constraint lower bounds

const RealVector & nonlinear ineq constraint upper bounds () const


return the nonlinear inequality constraint upper bounds

void nonlinear ineq constraint upper bounds (const RealVector &nln ineq u bnds)
set the nonlinear inequality constraint upper bounds

const RealVector & nonlinear eq constraint targets () const


return the nonlinear equality constraint targets

void nonlinear eq constraint targets (const RealVector &nln eq targets)


set the nonlinear equality constraint targets

const Variables & current variables () const


return the current variables (currentVariables) as const reference (preferred)

Variables & current variables ()


return the current variables (currentVariables) in mutable form (special cases)

const Constraints & user defined constraints () const


return the user-defined constraints (userDefinedConstraints)

const Response & current response () const


return the current response (currentResponse)

ProblemDescDB & problem description db () const


return the problem description database (probDescDB)

ParallelLibrary & parallel library () const


return the parallel library (parallelLib)

const String & model type () const


return the model type (modelType)

const String & surrogate type () const


return the surrogate type (surrogateType)

const String & model id () const

531

532

CHAPTER 13. CLASS DOCUMENTATION


return the model identifier (modelId)

size t num functions () const


return number of functions in currentResponse

const String & gradient type () const


return the gradient evaluation type (gradientType)

const String & method source () const


return the numerical gradient evaluation method source (methodSource)

const String & interval type () const


return the numerical gradient evaluation interval type (intervalType)

bool ignore bounds () const


option for ignoring bounds when numerically estimating derivatives

bool central hess () const


option for using old 2nd-order scheme when computing finite-diff Hessian

const RealVector & fd gradient step size () const


return the finite difference gradient step size (fdGradStepSize)

const String & fd gradient step type () const


return the finite difference gradient step type (fdGradStepType)

const IntSet & gradient id analytic () const


return the mixed gradient analytic IDs (gradIdAnalytic)

const IntSet & gradient id numerical () const


return the mixed gradient numerical IDs (gradIdNumerical)

const String & hessian type () const


return the Hessian evaluation type (hessianType)

const String & quasi hessian type () const


return the Hessian evaluation type (quasiHessType)

const RealVector & fd hessian by grad step size () const


return gradient-based finite difference Hessian step size (fdHessByGradStepSize)

const RealVector & fd hessian by fn step size () const


return function-based finite difference Hessian step size (fdHessByFnStepSize)

const String & fd hessian step type () const


return the finite difference Hessian step type (fdHessStepType)

const IntSet & hessian id analytic () const


return the mixed Hessian analytic IDs (hessIdAnalytic)

const IntSet & hessian id numerical () const


return the mixed Hessian analytic IDs (hessIdNumerical)

const IntSet & hessian id quasi () const


return the mixed Hessian analytic IDs (hessIdQuasi)

void primary response fn sense (const BoolDeque &sense)


set the optimization sense for multiple objective functions

const BoolDeque & primary response fn sense () const


get the optimization sense for multiple objective functions

const RealVector & primary response fn weights () const


get the relative weightings for multiple objective functions or least squares terms

13.62. MODEL CLASS REFERENCE

533

bool derivative estimation ()


indicates potential usage of estimate derivatives() based on gradientType/hessianType

void supports derivative estimation (bool sed flag)


set whether this model should perform or pass on derivative estimation

void init comms bcast flag (bool icb flag)


set initCommsBcastFlag

int evaluation capacity () const


return the evaluation capacity for use in iterator logic

int derivative concurrency () const


return the gradient concurrency for use in parallel configuration logic

bool asynch flag () const


return the asynchronous evaluation flag (asynchEvalFlag)

void asynch flag (const bool flag)


set the asynchronous evaluation flag (asynchEvalFlag)

short output level () const


return the outputLevel

void output level (const short level)


set the outputLevel

const IntArray & message lengths () const


return the array of MPI packed message buffer lengths (messageLengths)

void parallel configuration iterator (const ParConfigLIter &pc iter)


set modelPCIter

const ParConfigLIter & parallel configuration iterator () const


return modelPCIter

void auto graphics (const bool flag)


set modelAutoGraphicsFlag to activate posting of graphics data within compute response/synchronize functions
(automatic graphics posting in the model as opposed to graphics posting at the strategy level).

bool is null () const


function to check modelRep (does this envelope contain a letter)

Model model rep () const


returns modelRep for access to derived class member functions that are not mapped to the top Model level

Real initialize h (Real x j, Real lb j, Real ub j, Real step size, String step type)
function to determine initial finite difference h (before step length adjustment) based on type of step desired

Real FDstep1 (Real x0 j, Real lb j, Real ub j, Real h mag)


function returning finite-difference step size (affected by bounds)

Real FDstep2 (Real x0 j, Real lb j, Real ub j, Real h)


function returning second central-difference step size (affected by bounds)

Public Attributes
bool shortStep
flags finite-difference step size adjusted by bounds

534

CHAPTER 13. CLASS DOCUMENTATION

Protected Member Functions


Model (BaseConstructor, ProblemDescDB &problem db)
constructor initializing the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

Model (NoDBBaseConstructor, ParallelLibrary &parallel lib, const SharedVariablesData &svd, const ActiveSet &set, short output level)
constructor initializing base class for derived model class instances constructed on the fly

Model (RecastBaseConstructor, ProblemDescDB &problem db, ParallelLibrary &parallel lib)


constructor initializing base class for recast model class instances constructed on the fly

virtual void derived compute response (const ActiveSet &set)


portion of compute response() specific to derived model classes

virtual void derived asynch compute response (const ActiveSet &set)


portion of asynch compute response() specific to derived model classes

virtual const IntResponseMap & derived synchronize ()


portion of synchronize() specific to derived model classes

virtual const IntResponseMap & derived synchronize nowait ()


portion of synchronize nowait() specific to derived model classes

virtual void derived init communicators (int max eval concurrency, bool recurse flag=true)
portion of init communicators() specific to derived model classes

virtual void derived init serial ()


portion of init serial() specific to derived model classes

virtual void derived set communicators (int max eval concurrency, bool recurse flag=true)
portion of set communicators() specific to derived model classes

virtual void derived free communicators (int max eval concurrency, bool recurse flag=true)
portion of free communicators() specific to derived model classes

Protected Attributes
Variables currentVariables
the set of current variables used by the model for performing function evaluations

size t numDerivVars
the number of active continuous variables used in computing most response derivatives (i.e., in places such as
quasi-Hessians and response corrections where only the active continuous variables are supported)

Response currentResponse
the set of current responses that holds the results of model function evaluations

size t numFns
the number of functions in currentResponse

Constraints userDefinedConstraints
Explicit constraints on variables are maintained in the Constraints class hierarchy. Currently, this includes linear
constraints and bounds, but could be extended in the future to include other explicit constraints which (1) have their
form specified by the user, and (2) are not catalogued in Response since their form and coefficients are published
to an iterator at startup.

String modelType
type of model: single, nested, or surrogate

13.62. MODEL CLASS REFERENCE

535

String surrogateType
type of surrogate model: local , multipoint , global , or hierarchical

String gradientType
type of gradient data: analytic, numerical, mixed, or none

String methodSource
source of numerical gradient routine: dakota or vendor

String intervalType
type of numerical gradient interval: central or forward

String hessianType
type of Hessian data: analytic, numerical, quasi, mixed, or none

RealVector fdGradStepSize
relative finite difference step size for numerical gradients

String fdGradStepType
type of finite difference step to use for numerical gradient: relative - step length is relative to x absolute - step length
is what is specified bounds - step length is relative to range of x

RealVector fdHessByGradStepSize
relative finite difference step size for numerical Hessians estimated using first-order differences of gradients

RealVector fdHessByFnStepSize
relative finite difference step size for numerical Hessians estimated using second-order differences of function values

String fdHessStepType
type of finite difference step to use for numerical Hessian: relative - step length is relative to x absolute - step length
is what is specified bounds - step length is relative to range of x

bool ignoreBounds
option to ignore bounds when computing finite diffs

bool centralHess
option to use old 2nd-order finite diffs for Hessians

bool supportsEstimDerivs
whether model should perform or forward derivative estimation

String quasiHessType
quasi-Hessian type: bfgs, damped bfgs, sr1

IntSet gradIdAnalytic
analytic ids for mixed gradients

IntSet gradIdNumerical
numerical ids for mixed gradients

IntSet hessIdAnalytic
analytic ids for mixed Hessians

IntSet hessIdNumerical
numerical ids for mixed Hessians

IntSet hessIdQuasi
quasi ids for mixed Hessians

IntArray messageLengths
length of packed MPI buffers containing vars, vars/set, response, and PRPair

ProblemDescDB & probDescDB

536

CHAPTER 13. CLASS DOCUMENTATION


class member reference to the problem description database

ParallelLibrary & parallelLib


class member reference to the parallel library

ParConfigLIter modelPCIter
the ParallelConfiguration node used by this model instance

short componentParallelMode
the component parallelism mode: 0 (none), 1 (INTERFACE/LF MODEL), or 2 (SUB MODEL/HF MODEL/TRUTH MODEL)

bool asynchEvalFlag
flags asynch evaluations (local or distributed)

int evaluationCapacity
capacity for concurrent evaluations supported by the Model

short outputLevel
output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG} OUTPUT

ModelList modelList
used to collect sub-models for subordinate models()

IntSetArray discreteDesignSetIntValues
array of IntSets, each containing the set of allowable integer values corresponding to a discrete design integer set
variable

RealSetArray discreteDesignSetRealValues
array of RealSets, each containing the set of allowable real values corresponding to a discrete design real set
variable

IntSetArray discreteStateSetIntValues
array of IntSets, each containing the set of allowable integer values corresponding to a discrete state integer set
variable

RealSetArray discreteStateSetRealValues
array of RealSets, each containing the set of allowable real values corresponding to a discrete state real set
variable

Pecos::AleatoryDistParams aleatDistParams
container for aleatory random variable distribution parameters

Pecos::EpistemicDistParams epistDistParams
container for epistemic random variable distribution parameters

BoolDeque primaryRespFnSense
array of flags (one per primary function) for switching the sense to maximize the primary function (default is
minimize)

RealVector primaryRespFnWts
primary response function weightings (either weights for multiobjective optimization or weighted least squares)

bool hierarchicalTagging
whether to perform hierarchical evalID tagging of params/results

13.62. MODEL CLASS REFERENCE

537

Private Member Functions


Model get model (ProblemDescDB &problem db)
Used by the envelope to instantiate the correct letter class.

int estimate derivatives (const ShortArray &map asv, const ShortArray &fd grad asv, const ShortArray
&fd hess asv, const ShortArray &quasi hess asv, const ActiveSet &original set, const bool asynch flag)
evaluate numerical gradients using finite differences. This routine is selected with method source dakota (the
default method source) in the numerical gradient specification.

void synchronize derivatives (const Variables &vars, const IntResponseMap &fd responses, Response &newresponse, const ShortArray &fd grad asv, const ShortArray &fd hess asv, const ShortArray &quasi hessasv, const ActiveSet &original set)
combine results from an array of finite difference response objects (fd grad responses) into a single response (newresponse)

void update response (const Variables &vars, Response &new response, const ShortArray &fd grad asv,
const ShortArray &fd hess asv, const ShortArray &quasi hess asv, const ActiveSet &original set, Response &initial map response, const RealMatrix &new fn grads, const RealSymMatrixArray &new fn hessians)
overlay results to update a response object

void update quasi hessians (const Variables &vars, Response &new response, const ActiveSet &original set)
perform quasi-Newton Hessian updates

Real finite difference lower bound (UShortMultiArrayConstView cv types, const RealVector &global c lbnds, size t cv index)
return the lower bound for a finite difference offset, drawn from global or distribution bounds

Real finite difference upper bound (UShortMultiArrayConstView cv types, const RealVector &global c u bnds, size t cv index)
return the upper bound for a finite difference offset, drawn from global or distribution bounds

bool manage asv (const ShortArray &asv in, ShortArray &map asv out, ShortArray &fd grad asv out,
ShortArray &fd hess asv out, ShortArray &quasi hess asv out)
Coordinates usage of estimate derivatives() calls based on asv in.

Private Attributes
String modelId
model identifier string from the input file

int modelEvalCntr
evaluation counter for top-level compute response() and asynch compute response() calls. Differs from lower level
counters in case of numerical derivative estimation (several lower level evaluations are assimilated into a single
higher level evaluation)

bool estDerivsFlag
flags presence of estimated derivatives within a set of calls to asynch compute response()

std::map< int, ParConfigLIter > modelPCIterMap


map<> used for tracking modelPCIter instances using concurrency level as the lookup key

bool initCommsBcastFlag
flag for determining need to bcast the max concurrency from init communicators(); set from Strategy::init iterator()

bool modelAutoGraphicsFlag

538

CHAPTER 13. CLASS DOCUMENTATION


flag for posting of graphics data within compute response (automatic graphics posting in the model as opposed to
graphics posting at the strategy level)

VariablesList varsList
history of vars populated in asynch compute response() and used in synchronize().

std::list< ShortArray > asvList


if estimate derivatives() is used, transfers ASVs from asynch compute response() to synchronize()

std::list< ActiveSet > setList


if estimate derivatives() is used, transfers ActiveSets from asynch compute response() to synchronize()

BoolList initialMapList
transfers initial map flag values from estimate derivatives() to synchronize derivatives()

BoolList dbCaptureList
transfers db capture flag values from estimate derivatives() to synchronize derivatives()

ResponseList dbResponseList
transfers database captures from estimate derivatives() to synchronize derivatives()

RealList deltaList
transfers deltas from estimate derivatives() to synchronize derivatives()

IntIntMap numFDEvalsMap
tracks the number of evaluations used within estimate derivatives(). Used in synchronize() as a key for combining
finite difference responses into numerical gradients.

IntIntMap rawEvalIdMap
maps from the raw evaluation ids returned by derived synchronize() and derived synchronize nowait() to the corresponding modelEvalCntr id. Used for rekeying responseMap.

RealVectorArray xPrev
previous parameter vectors used in computing s for quasi-Newton updates

RealMatrix fnGradsPrev
previous gradient vectors used in computing y for quasi-Newton updates

RealSymMatrixArray quasiHessians
quasi-Newton Hessian approximations

SizetArray numQuasiUpdates
number of quasi-Newton Hessian updates applied

IntResponseMap responseMap
used to return a map of responses for asynchronous evaluations in final concatenated form. The similar map in
Interface contains raw responses.

IntResponseMap graphicsRespMap
used to cache the data returned from derived synchronize nowait() prior to sequential input into the graphics

IntSetArray activeDiscSetIntValues
aggregation of the admissible value sets for all active discrete set integer variables

RealSetArray activeDiscSetRealValues
aggregation of the admissible value sets for all active discrete set real variables

BitArray discreteIntSets
key for identifying discrete integer set variables within the active discrete integer variables

Model modelRep
pointer to the letter (initialized only for the envelope)

int referenceCount
number of objects sharing modelRep

13.62. MODEL CLASS REFERENCE

539

Friends
bool operator== (const Model &m1, const Model &m2)
equality operator (detect same letter instance)

bool operator!= (const Model &m1, const Model &m2)


inequality operator (detect different letter instances)

13.62.1

Detailed Description

Base class for the model class hierarchy.


The Model class is the base class for one of the primary class hierarchies in DAKOTA. The model hierarchy
contains a set of variables, an interface, and a set of responses, and an iterator operates on the model to map
the variables into responses using the interface. For memory efficiency and enhanced polymorphism, the model
hierarchy employs the letter/envelope idiom (see Coplien Advanced C++, p. 133), for which the base class
(Model) serves as the envelope and one of the derived classes (selected in Model::get model()) serves as the letter.

13.62.2
Model (

Constructor & Destructor Documentation


)

default constructor
The default constructor is used in vector<Model> instantiations and for initialization of Model objects contained in Iterator and derived Strategy classes. modelRep is NULL in this case (a populated problem db is needed
to build a meaningful Model object). This makes it necessary to check for NULL in the copy constructor, assignment operator, and destructor.
Model ( ProblemDescDB & problem db )
standard constructor for envelope
Used in model instantiations within strategy constructors. Envelope constructor only needs to extract enough
data to properly execute get model, since Model(BaseConstructor, problem db) builds the actual base class data
for the derived models.
References Dakota::abort handler(), Model::get model(), and Model::modelRep.
Model ( const Model & model )
copy constructor
Copy constructor manages sharing of modelRep and incrementing of referenceCount.
References Model::modelRep, and Model::referenceCount.
Model (

) [virtual]

destructor
Destructor decrements referenceCount and only deletes modelRep when referenceCount reaches zero.
References Model::modelRep, and Model::referenceCount.

540

CHAPTER 13. CLASS DOCUMENTATION

Model ( BaseConstructor , ProblemDescDB & problem db ) [protected]


constructor initializing the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor builds the base class data for all inherited models. get model() instantiates a derived class
and the derived class selects this base class constructor in its initialization list (to avoid the recursion of the base
class constructor calling get model() again). Since the letter IS the representation, its representation pointer is set
to NULL (an uninitialized pointer causes problems in Model).
References Dakota::abort handler(), Model::currentResponse, Model::fdGradStepSize, Model::fdHessByFnStepSize, Model::fdHessByGradStepSize, ProblemDescDB::get sa(), Model::gradIdNumerical, Model::gradientType, Model::hessianType, Model::hessIdNumerical, Response::num functions(), Constraints::num nonlinear eq constraints(), Constraints::num nonlinear ineq constraints(), Model::primaryRespFnSense, Dakota::strbegins(),
Dakota::strtolower(), and Model::userDefinedConstraints.
Model ( RecastBaseConstructor , ProblemDescDB & problem db, ParallelLibrary & parallel lib )
[protected]
constructor initializing base class for recast model class instances constructed on the fly
This constructor also builds the base class data for inherited models. However, it is used for recast models
which are instantiated on the fly. Therefore it only initializes a small subset of attributes. Note that parallel lib
is managed separately from problem db since parallel lib is needed even in cases where problem db is an empty
envelope.

13.62.3

Member Function Documentation

Model operator= ( const Model & model )


assignment operator
Assignment operator decrements referenceCount for old modelRep, assigns new modelRep, and increments
referenceCount for new modelRep.
References Model::modelRep, and Model::referenceCount.
Iterator & subordinate iterator (

) [virtual]

return the sub-iterator in nested and surrogate models


return by reference requires use of dummy objects, but is important to allow use of assign rep() since this
operation must be performed on the original envelope object.
Reimplemented in RecastModel, DataFitSurrModel, and NestedModel.
References Dakota::dummy iterator, Model::modelRep, and Model::subordinate iterator().
Referenced by NonDExpansion::compute expansion(), NonDExpansion::compute print converged results(),
NonDExpansion::compute print iteration results(), NonDExpansion::finalize sets(), NonDGlobalReliability::getbest sample(), NonDPolynomialChaos::increment order(), NonDExpansion::increment sets(), NonDPolynomialChaos::increment specification sequence(), NonDExpansion::increment specification sequence(), DOTOptimizer::initialize(), CONMINOptimizer::initialize(), NCSUOptimizer::initialize(), NLPQLPOptimizer::initialize(), NonDExpansion::initialize expansion(), NonDExpansion::initialize sets(), NonDStochCollocation::initialize u spacemodel(), NonDPolynomialChaos::initialize u space model(), NonDExpansion::initialize u space model(), SurrBasedLocalMinimizer::minimize surrogates(), SurrBasedGlobalMinimizer::minimize surrogates(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(), NonDGlobalReliability::optimizegaussian process(), NonDExpansion::refine expansion(), SOLBase::SOLBase(), Model::subordinate iterator(),
RecastModel::subordinate iterator(), and NonDStochCollocation::update expansion().

13.62. MODEL CLASS REFERENCE


Model & subordinate model (

541

) [virtual]

return a single sub-model defined from subModel in nested and recast models and truth model() in surrogate
models; used for a directed dive through model recursions that may bypass some components.
return by reference requires use of dummy objects, but is important to allow use of assign rep() since this
operation must be performed on the original envelope object.
Reimplemented in RecastModel, NestedModel, and SurrogateModel.
References Dakota::dummy model, Model::modelRep, and Model::subordinate model().
Referenced by Minimizer::data transform model(), NonDGlobalReliability::expected feasibility(), NonDGlobalReliability::expected improvement(), SurrogateModel::force rebuild(), NonDExpansion::initialize expansion(), Minimizer::initialize run(), Minimizer::initialize scaling(), NonDExpansion::initialize u space model(), NonDGlobalReliability::optimize gaussian process(), LeastSq::post run(), COLINOptimizer::post run(), Optimizer::primary resp reducer(),
LeastSq::primary resp weighter(), LeastSq::print results(), Optimizer::print results(), Minimizer::resize best resparray(), Minimizer::resize best vars array(), Minimizer::scale model(), Model::subordinate model(), DataFitSurrModel::update global(), and LeastSq::weight model().
Model & surrogate model (

) [virtual]

return the approximation sub-model in surrogate models


return by reference requires use of dummy objects, but is important to allow use of assign rep() since this
operation must be performed on the original envelope object.
Reimplemented in RecastModel, DataFitSurrModel, and HierarchSurrModel.
References Dakota::dummy model, Model::modelRep, and Model::surrogate model().
Referenced by NonDAdaptiveSampling::calc score delta y(), NonDAdaptiveSampling::calc score topo almhybrid(), NonDAdaptiveSampling::calc score topo avg persistence(), NonDAdaptiveSampling::calc score topobottleneck(), SurrBasedLocalMinimizer::find center approx(), SurrBasedLocalMinimizer::minimize surrogates(),
SurrBasedGlobalMinimizer::minimize surrogates(), NonDAdaptiveSampling::output round data(), SurrBasedLocalMinimizer::SurrBasedLocalMinimizer(), Model::surrogate model(), and RecastModel::surrogate model().
Model & truth model (

) [virtual]

return the truth sub-model in surrogate models


return by reference requires use of dummy objects, but is important to allow use of assign rep() since this
operation must be performed on the original envelope object.
Reimplemented in RecastModel, DataFitSurrModel, and HierarchSurrModel.
References Dakota::dummy model, Model::modelRep, and Model::truth model().
Referenced by SurrogateModel::force rebuild(), SurrBasedMinimizer::initialize graphics(), SurrBasedLocalMinimizer::minimize surrogates(), SurrBasedGlobalMinimizer::minimize surrogates(), NonDLocalReliability::NonDLocalReliability(), SurrBasedMinimizer::print results(), SurrogateModel::subordinate model(), SurrBasedGlobalMinimizer::SurrBasedGlobalMinimizer(), SurrBasedLocalMinimizer::SurrBasedLocalMinimizer(), Model::truth model(), and RecastModel::truth model().
void update from subordinate model ( bool recurse flag = true ) [virtual]
propagate vars/labels/bounds/targets from the bottom up
used only for instantiate-on-the-fly model recursions (all RecastModel instantiations and alternate DataFitSurrModel instantiations). Single, Hierarchical, and Nested Models do not redefine the function since they do not
support instantiate-on-the-fly. This means that the recursion will stop as soon as it encounters a Model that was
instantiated normally, which is appropriate since ProblemDescDB-constructed Models use top-down information
flow and do not require bottom-up updating.
Reimplemented in RecastModel, and DataFitSurrModel.

542

CHAPTER 13. CLASS DOCUMENTATION

References Model::modelRep, and Model::update from subordinate model().


Referenced by NonDLocalReliability::initialize class data(), NonDExpansion::initialize expansion(), LeastSq::initialize run(), Optimizer::initialize run(), EffGlobalMinimizer::minimize surrogates on model(), NonDGlobalReliability::optimize gaussian process(), NonDGlobalInterval::quantify uncertainty(), NonDLocalInterval::quantifyuncertainty(), Model::update from subordinate model(), DataFitSurrModel::update from subordinate model(),
and RecastModel::update from subordinate model().
Interface & derived interface (

) [virtual]

return the interface employed by the derived model class, if present: SingleModel::userDefinedInterface, DataFitSurrModel::approxInterface, or NestedModel::optionalInterface
return by reference requires use of dummy objects, but is important to allow use of assign rep() since this
operation must be performed on the original envelope object.
Reimplemented in RecastModel, DataFitSurrModel, NestedModel, and SingleModel.
References Model::derived interface(), Dakota::dummy interface, and Model::modelRep.
Referenced by Model::derived interface(), RecastModel::derived interface(), and SurrBasedGlobalMinimizer::minimize surrogates().
String local eval synchronization (

) [virtual]

return derived model synchronization setting


SingleModels and HierarchSurrModels redefine this virtual function. A
default value of "synchronous" prevents asynch local operations for:

NestedModels: a subIterator can support message passing parallelism, but not asynch local.
DataFitSurrModels: while asynch evals on approximations will work due to some added bookkeeping,
avoiding them is preferable.
Reimplemented in RecastModel, and SingleModel.
References Model::local eval synchronization(), and Model::modelRep.
Referenced by Model::init serial(), Model::local eval synchronization(), RecastModel::local eval synchronization(),
and Model::set communicators().
int local eval concurrency (

) [virtual]

return derived model asynchronous evaluation concurrency


SingleModels and HierarchSurrModels redefine this virtual function.
Reimplemented in RecastModel, and SingleModel.
References Model::local eval concurrency(), and Model::modelRep.
Referenced by Model::local eval concurrency(), RecastModel::local eval concurrency(), and Model::set communicators().
const String & interface id (

) const [virtual]

return the interface identifier


return by reference requires use of dummy objects, but is important to allow use of assign rep() since this
operation must be performed on the original envelope object.
Reimplemented in RecastModel, DataFitSurrModel, NestedModel, and SingleModel.
References Dakota::dummy interface, Interface::interface id(), Model::interface id(), and Model::modelRep.

13.62. MODEL CLASS REFERENCE

543

Referenced by DataFitSurrModel::build global(), DataFitSurrModel::DataFitSurrModel(), Model::estimate derivatives(), Model::estimate message lengths(), SurrBasedLocalMinimizer::find center approx(), Model::interfaceid(), RecastModel::interface id(), Optimizer::local objective recast retrieve(), SNLLLeastSq::post run(), SurrBasedMinimizer::print results(), LeastSq::print results(), Optimizer::print results(), SeqHybridMetaIterator::runsequential(), DiscrepancyCorrection::search db(), Analyzer::update best(), ConcurrentMetaIterator::update localresults(), SeqHybridMetaIterator::update local results(), and NonDLocalReliability::update mpp search data().
bool evaluation cache (

) const [virtual]

Indicates the usage of an evaluation cache by the Model.


Only Models including ApplicationInterfaces support an evaluation cache: surrogate, nested, and recast mappings are not stored in the cache. Possible exceptions: HierarchSurrModel, NestedModel::optionalInterface.
Reimplemented in SingleModel.
References Model::evaluation cache(), and Model::modelRep.
Referenced by DataFitSurrModel::DataFitSurrModel(), and Model::evaluation cache().
void eval tag prefix ( const String & eval id str ) [virtual]
set the hierarchical eval ID tag prefix
Derived classes containing additional models or interfaces should implement this function to pass along to
their sub Models/Interfaces.
Reimplemented in RecastModel, DataFitSurrModel, HierarchSurrModel, NestedModel, and SingleModel.
References Model::eval tag prefix(), and Model::modelRep.
Referenced by HierarchSurrModel::build approximation(), HierarchSurrModel::derived asynch compute response(),
DataFitSurrModel::derived asynch compute response(), HierarchSurrModel::derived compute response(), DataFitSurrModel::derived compute response(), Model::eval tag prefix(), Iterator::eval tag prefix(), and RecastModel::eval tag prefix().
ModelList & subordinate models ( bool recurse flag = true )
return the sub-models in nested and surrogate models
since modelList is built with list insertions (using envelope copies), these models may not be used for model.assign rep() since this operation must be performed on the original envelope object. They may, however, be used
for letter-based operations (including assign rep() on letter contents such as an interface).
References Model::derived subordinate models(), Model::modelList, Model::modelRep, and Model::subordinatemodels().
Referenced by DOTOptimizer::initialize(), CONMINOptimizer::initialize(), NCSUOptimizer::initialize(), NLPQLPOptimizer::initialize(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(),
SOLBase::SOLBase(), Model::subordinate models(), and SurrBasedLocalMinimizer::SurrBasedLocalMinimizer().
void init communicators ( int max eval concurrency, bool recurse flag = true )
allocate communicator partitions for a model and store configuration in modelPCIterMap
The init communicators() and derived init communicators() functions are stuctured to avoid performing the
messageLengths estimation more than once. init communicators() (not virtual) performs the estimation and then
forwards the results to derived init communicators (virtual) which uses the data in different contexts.
References ParallelLibrary::bcast i(), Model::derived init communicators(), Model::estimate message lengths(),
ParallelLibrary::increment parallel configuration(), Model::init communicators(), Model::initCommsBcastFlag,
Model::messageLengths, Model::modelPCIter, Model::modelPCIterMap, Model::modelRep, ParallelLibrary::parallelconfiguration iterator(), Model::parallelLib, and ParallelLibrary::si parallel level defined().

544

CHAPTER 13. CLASS DOCUMENTATION

Referenced by HierarchSurrModel::derived init communicators(), RecastModel::derived init communicators(),


NonDGPImpSampling::free communicators(), EfficientSubspaceMethod::init communicators(), EffGlobalMinimizer::init communicators(), NonDGlobalReliability::init communicators(), NonDLocalInterval::init communicators(),
NonDBayesCalibration::init communicators(), NonDExpansion::init communicators(), NonDGlobalInterval::initcommunicators(), SurrBasedLocalMinimizer::init communicators(), NonDAdaptImpSampling::init communicators(),
SurrBasedGlobalMinimizer::init communicators(), NonDPolynomialChaos::init communicators(), NonDAdaptiveSampling::init communicators(), NonDGPImpSampling::init communicators(), NonDLocalReliability::init communicators(),
Iterator::init communicators(), Model::init communicators(), EfficientSubspaceMethod::reduced space uq(), and
Model::serve configurations().
void init serial (

for cases where init communicators() will not be called, modify some default settings to behave properly in serial.
The init serial() and derived init serial() functions are stuctured to separate base class (common) operations
from derived class (specialized) operations.
References Model::asynchEvalFlag, Model::derived init serial(), Model::init serial(), Model::local eval synchronization(),
and Model::modelRep.
Referenced by NestedModel::derived init serial(), HierarchSurrModel::derived init serial(), DataFitSurrModel::derived init serial(), RecastModel::derived init serial(), and Model::init serial().
void estimate message lengths (

estimate messageLengths for a model


This functionality has been pulled out of init communicators() and defined separately so that it may be used
in those cases when messageLengths is needed but model.init communicators() is not called, e.g., for the master
processor in the self-scheduling of a concurrent iterator strategy.
References Response::active set derivative vector(), Response::copy(), Model::currentResponse, Model::currentVariables, Model::estimate message lengths(), Model::interface id(), Model::messageLengths, Model::modelRep,
Model::numFns, Model::parallelLib, MPIPackBuffer::reset(), MPIPackBuffer::size(), and ParallelLibrary::worldsize().
Referenced by Model::estimate message lengths(), Model::init communicators(), and ConcurrentMetaIterator::initialize().
void assign rep ( Model model rep, bool ref count incr = true )
replaces existing letter with a new one
Similar to the assignment operator, the assign rep() function decrements referenceCount for the old modelRep and assigns the new modelRep. It is different in that it is used for publishing derived class letters to existing
envelopes, as opposed to sharing representations among multiple envelopes (in particular, assign rep is passed a
letter object and operator= is passed an envelope object). Letter assignment supports two models as governed by
ref count incr:
ref count incr = true (default): the incoming letter belongs to another envelope. In this case, increment the
reference count in the normal manner so that deallocation of the letter is handled properly.
ref count incr = false: the incoming letter is instantiated on the fly and has no envelope. This case is
modeled after get model(): a letter is dynamically allocated using new and passed into assign rep, the
letters reference count is not incremented, and the letter is not remotely deleted (its memory management
is passed over to the envelope).

13.62. MODEL CLASS REFERENCE

545

References Dakota::abort handler(), Model::model rep(), Model::modelRep, and Model::referenceCount.


Referenced by Minimizer::data transform model(), EffGlobalMinimizer::EffGlobalMinimizer(), NonDAdaptiveSampling::NonDAdaptiveSampling(), NonDBayesCalibration::NonDBayesCalibration(), NonDGlobalInterval::NonDGlobalInterval(), NonDGlobalReliability::NonDGlobalReliability(), NonDGPImpSampling::NonDGPImpSampling(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(), NonDPolynomialChaos::NonDPolynomialChaos(), NonDStochCollocation::NonDStochCollocation(), Optimizer::reducemodel(), EfficientSubspaceMethod::reduced space uq(), Minimizer::scale model(), SurrBasedLocalMinimizer::SurrBasedLocalMinimizer(), NonD::transform model(), and LeastSq::weight model().
int derivative concurrency (

) const

return the gradient concurrency for use in parallel configuration logic


This function assumes derivatives with respect to the active continuous variables. Therefore, concurrency with
respect to the inactive continuous variables is not captured.
References Dakota::contains(), Model::derivative concurrency(), Model::gradIdAnalytic, Model::gradientType,
Model::hessianType, Model::hessIdNumerical, Model::intervalType, Model::methodSource, Model::modelRep,
and Model::numDerivVars.
Referenced by Model::derivative concurrency(), HierarchSurrModel::derived free communicators(), HierarchSurrModel::derived init communicators(), DataFitSurrModel::derived init communicators(), HierarchSurrModel::derived set communicators(), NonDExpansion::initialize u space model(), Analyzer::num samples(), HierarchSurrModel::serve(), and Iterator::update from model().
Real initialize h ( Real x j, Real lb j, Real ub j, Real step size, String step type )
function to determine initial finite difference h (before step length adjustment) based on type of step desired
Auxiliary function to determine initial finite difference h (before step length adjustment) based on type of step
desired.
Referenced by Model::estimate derivatives().
Real FDstep1 ( Real x0 j, Real lb j, Real ub j, Real h mag )
function returning finite-difference step size (affected by bounds)
Auxiliary function to compute forward or first central-difference step size.
References Model::ignoreBounds, and Model::shortStep.
Referenced by Model::estimate derivatives().
Real FDstep2 ( Real x0 j, Real lb j, Real ub j, Real h )
function returning second central-difference step size (affected by bounds)
Auxiliary function to second central-difference step size, honoring bounds.
References Model::ignoreBounds, and Model::shortStep.
Referenced by Model::estimate derivatives().
Model get model ( ProblemDescDB & problem db ) [private]
Used by the envelope to instantiate the correct letter class.
Used only by the envelope constructor to initialize modelRep to the appropriate derived type, as given by the
modelType attribute.
References ProblemDescDB::get string(), Model::model type(), and Model::modelType.
Referenced by Model::Model().

546

CHAPTER 13. CLASS DOCUMENTATION

int estimate derivatives ( const ShortArray & map asv, const ShortArray & fd grad asv, const
ShortArray & fd hess asv, const ShortArray & quasi hess asv, const ActiveSet & original set, const bool
asynch flag ) [private]
evaluate numerical gradients using finite differences. This routine is selected with method source dakota (the
default method source) in the numerical gradient specification.
Estimate derivatives by computing finite difference gradients, finite difference Hessians, and/or quasi-Newton
Hessians. The total number of finite difference evaluations is returned for use by synchronize() to track response
arrays, and it could be used to improve management of max function evaluations within the iterators. ! new logic
References Model::all continuous lower bounds(), Model::all continuous upper bounds(), Model::all continuousvariable ids(), Model::all continuous variable types(), Variables::all continuous variables(), Model::centralHess,
Model::continuous lower bounds(), Model::continuous upper bounds(), Variables::continuous variable ids(), Model::continuous variable ids(), Model::continuous variable types(), Variables::continuous variables(), Response::copy(),
Dakota::copy data(), Model::currentResponse, Model::currentVariables, Dakota::data pairs, Model::dbCaptureList, Model::dbResponseList, Model::deltaList, ActiveSet::derivative vector(), Model::derived asynch computeresponse(), Model::derived compute response(), Model::fdGradStepSize, Model::fdGradStepType, Model::fdHessByFnStepSize, Model::fdHessByGradStepSize, Model::fdHessStepType, Model::FDstep1(), Model::FDstep2(),
Dakota::find index(), Model::finite difference lower bound(), Model::finite difference upper bound(), Response::function gradients(), Response::function values(), Model::ignoreBounds, Model::inactive continuous lower bounds(), Model::inactive continuous upper bounds(), Variables::inactive continuous variable ids(), Model::inactivecontinuous variable ids(), Model::inactive continuous variable types(), Variables::inactive continuous variables(),
Model::initialize h(), Model::initialMapList, Model::interface id(), Model::intervalType, Dakota::lookup by val(),
Model::numFns, Model::outputLevel, ActiveSet::request vector(), Model::shortStep, and Model::update response().
Referenced by Model::asynch compute response(), and Model::compute response().
void synchronize derivatives ( const Variables & vars, const IntResponseMap & fd responses, Response
& new response, const ShortArray & fd grad asv, const ShortArray & fd hess asv, const ShortArray &
quasi hess asv, const ActiveSet & original set ) [private]
combine results from an array of finite difference response objects (fd grad responses) into a single response
(new response)
Merge an array of fd responses into a single new response. This function is used both by synchronous
compute response() for the case of asynchronous estimate derivatives() and by synchronize() for the case where
one or more asynch compute response() calls has employed asynchronous estimate derivatives(). !
References Response::active set(), Model::acv(), Variables::all continuous variable ids(), Model::centralHess,
Variables::continuous variable ids(), Response::copy(), Model::currentResponse, Model::currentVariables, Model::cv(), Model::dbCaptureList, Model::dbResponseList, Model::deltaList, ActiveSet::derivative vector(), Dakota::find index(), Response::function gradients(), Response::function values(), Model::icv(), Variables::inactive continuousvariable ids(), Model::initialMapList, Model::intervalType, Model::numFns, ActiveSet::request values(), Response::reset inactive(), and Model::update response().
Referenced by Model::compute response(), and Model::synchronize().
void update response ( const Variables & vars, Response & new response, const ShortArray
& fd grad asv, const ShortArray & fd hess asv, const ShortArray & quasi hess asv, const
ActiveSet & original set, Response & initial map response, const RealMatrix & new fn grads, const
RealSymMatrixArray & new fn hessians ) [private]
overlay results to update a response object
Overlay the initial map response with numerically estimated new fn grads and new fn hessians to populate
new response as governed by asv vectors. Quasi-Newton secant Hessian updates are also performed here, since

13.62. MODEL CLASS REFERENCE

547

this is where the gradient data needed for the updates is first consolidated. Convenience function used by estimatederivatives() for the synchronous case and by synchronize derivatives() for the asynchronous case.
References Response::active set request vector(), Variables::continuous variable ids(), Response::copy(), Model::currentResponse, Model::currentVariables, ActiveSet::derivative vector(), Response::function gradients(), Response::function hessians(), Response::function values(), Model::hessianType, Model::hessIdQuasi, Response::is null(),
Model::numFns, Model::outputLevel, Model::quasiHessians, ActiveSet::request vector(), Response::reset inactive(),
Model::supportsEstimDerivs, Model::surrogate response mode(), and Model::update quasi hessians().
Referenced by Model::estimate derivatives(), and Model::synchronize derivatives().
void update quasi hessians ( const Variables & vars, Response & new response, const ActiveSet &
original set ) [private]
perform quasi-Newton Hessian updates
quasi-Newton updates are performed for approximating response function Hessians using BFGS or SR1 formulations. These Hessians are supported only for the active continuous variables, and a check is performed on
the DVV prior to invoking the function.
References Dakota::contains(), Variables::continuous variables(), Dakota::copy data(), Model::fnGradsPrev,
Response::function gradients(), Model::hessianType, Model::hessIdQuasi, Model::modelType, Model::numDerivVars, Model::numFns, Model::numQuasiUpdates, Model::outputLevel, Model::quasiHessians, Model::quasiHessType, ActiveSet::request vector(), and Model::xPrev.
Referenced by Model::update response().
bool manage asv ( const ShortArray & asv in, ShortArray & map asv out, ShortArray &
fd grad asv out, ShortArray & fd hess asv out, ShortArray & quasi hess asv out ) [private]
Coordinates usage of estimate derivatives() calls based on asv in.
Splits asv in total request into map asv out, fd grad asv out, fd hess asv out, and quasi hess asv out as governed by the responses specification. If the returned use est deriv is true, then these asv outputs are used by
estimate derivatives() for the initial map, finite difference gradient evals, finite difference Hessian evals, and
quasi-Hessian updates, respectively. If the returned use est deriv is false, then only map asv out is used.
References Dakota::abort handler(), Dakota::contains(), Model::gradIdAnalytic, Model::gradIdNumerical, Model::gradientType, Model::hessianType, Model::hessIdAnalytic, Model::hessIdNumerical, Model::hessIdQuasi, Model::intervalType, Model::methodSource, Model::supportsEstimDerivs, and Model::surrogate response mode().
Referenced by Model::asynch compute response(), and Model::compute response().

13.62.4

Member Data Documentation

RealVector fdGradStepSize [protected]


relative finite difference step size for numerical gradients
A scalar value (instead of the vector fd gradient step size spec) is used within the iterator hierarchy since this
attribute is only used to publish a step size to vendor numerical gradient algorithms.
Referenced by DataFitSurrModel::DataFitSurrModel(), Model::estimate derivatives(), Model::fd gradient step size(), RecastModel::initialize data from submodel(), and Model::Model().
RealVector fdHessByGradStepSize [protected]
relative finite difference step size for numerical Hessians estimated using first-order differences of gradients
For vendor numerical Hessian algorithms, a scalar value is used.
Referenced by DataFitSurrModel::DataFitSurrModel(), Model::estimate derivatives(), Model::fd hessian bygrad step size(), RecastModel::initialize data from submodel(), and Model::Model().

548

CHAPTER 13. CLASS DOCUMENTATION

RealVector fdHessByFnStepSize [protected]


relative finite difference step size for numerical Hessians estimated using second-order differences of function
values
For vendor numerical Hessian algorithms, a scalar value is used.
Referenced by DataFitSurrModel::DataFitSurrModel(), Model::estimate derivatives(), Model::fd hessian byfn step size(), RecastModel::initialize data from submodel(), and Model::Model().
ProblemDescDB& probDescDB [protected]
class member reference to the problem description database
Iterator and Model cannot use a shallow copy of ProblemDescDB due to circular destruction dependency
(reference counts cant get to 0), since ProblemDescDB contains {iterator,model}List.
Referenced by Model::problem description db(), and DataFitSurrModel::update from subordinate model().
The documentation for this class was generated from the following files:
DakotaModel.hpp
DakotaModel.cpp

13.63

MPIManager Class Reference

Class MPIManager to manage Dakotas MPI world, which may be a subset of MPI COMM WORLD.

Public Member Functions


MPIManager ()
Default constructor; Dakota will not call MPI Init.

MPIManager (int &argc, char &argv)


Command-line constructor; parses MPI arguments during call to MPI Init.

MPIManager (MPI Comm dakota mpi comm)


Construct on specified MPI Comm.

MPIManager ()
destructor: calls finalize if Dakota owns MPI

MPI Comm dakota mpi comm () const


get the MPI Comm on which Dakota is running

int world rank () const


get the rank of this process in Dakotas MPI Comm

int world size () const


get the size of the MPI Comm on which Dakota is running

bool mpirun flag () const


true when Dakota is running in MPI mode

Static Public Member Functions


static bool detect parallel launch (int &argc, char &argv)
detect parallel launch of Dakota using mpirun/mpiexec/poe/etc. based on command line arguments and environment variables

13.64. MPIPACKBUFFER CLASS REFERENCE

Private Attributes
MPI Comm dakotaMPIComm
MPI Comm on which DAKOTA is running.

int worldRank
rank in MPI Comm in which DAKOTA is running

int worldSize
size of MPI Comm in which DAKOTA is running

bool mpirunFlag
flag for a parallel mpirun/yod launch

bool ownMPIFlag
flag for ownership of MPI Init/MPI Finalize

13.63.1

Detailed Description

Class MPIManager to manage Dakotas MPI world, which may be a subset of MPI COMM WORLD.
The documentation for this class was generated from the following files:
MPIManager.hpp
MPIManager.cpp

13.64

MPIPackBuffer Class Reference

Class for packing MPI message buffers.

Public Member Functions


MPIPackBuffer (int size =1024)
Constructor, which allows the default buffer size to be set.

MPIPackBuffer ()
Desctructor.

const char buf ()


Returns a pointer to the internal buffer that has been packed.

int size ()
The number of bytes of packed data.

int capacity ()
the allocated size of Buffer.

void reset ()
Resets the buffer index in order to reuse the internal buffer.

void pack (const int data, const int num=1)


Pack one or more ints.

void pack (const u int data, const int num=1)


Pack one or more unsigned ints.

void pack (const long data, const int num=1)


Pack one or more longs.

549

550

CHAPTER 13. CLASS DOCUMENTATION


void pack (const u long data, const int num=1)
Pack one or more unsigned longs.

void pack (const short data, const int num=1)


Pack one or more shorts.

void pack (const u short data, const int num=1)


Pack one or more unsigned shorts.

void pack (const char data, const int num=1)


Pack one or more chars.

void pack (const u char data, const int num=1)


Pack one or more unsigned chars.

void pack (const double data, const int num=1)


Pack one or more doubles.

void pack (const float data, const int num=1)


Pack one or more floats.

void pack (const bool data, const int num=1)


Pack one or more bools.

void pack (const int &data)


Pack a int.

void pack (const u int &data)


Pack a unsigned int.

void pack (const long &data)


Pack a long.

void pack (const u long &data)


Pack a unsigned long.

void pack (const short &data)


Pack a short.

void pack (const u short &data)


Pack a unsigned short.

void pack (const char &data)


Pack a char.

void pack (const u char &data)


Pack a unsigned char.

void pack (const double &data)


Pack a double.

void pack (const float &data)


Pack a float.

void pack (const bool &data)


Pack a bool.

Protected Member Functions


void resize (const int newsize)
Resizes the internal buffer.

13.65. MPIUNPACKBUFFER CLASS REFERENCE

551

Protected Attributes
char Buffer
The internal buffer for packing.

int Index
The index into the current buffer.

int Size
The total size that has been allocated for the buffer.

13.64.1

Detailed Description

Class for packing MPI message buffers.


A class that provides a facility for packing message buffers using the MPI Pack facility. The MPIPackBuffer class dynamically resizes the internal buffer to contain enough memory to pack the entire object. When
deleted, the MPIPackBuffer object deletes this internal buffer. This class is based on the Dakota Version 3 0
version of utilib::PackBuffer from utilib/src/io/PackBuf.[cpp,h]
The documentation for this class was generated from the following files:
MPIPackBuffer.hpp
MPIPackBuffer.cpp

13.65

MPIUnpackBuffer Class Reference

Class for unpacking MPI message buffers.

Public Member Functions


void setup (char buf , int size , bool flag =false)
Method that does the setup for the constructors.

MPIUnpackBuffer ()
Default constructor.

MPIUnpackBuffer (int size )


Constructor that specifies the size of the buffer.

MPIUnpackBuffer (char buf , int size , bool flag =false)


Constructor that sets the internal buffer to the given array.

MPIUnpackBuffer ()
Destructor.

void resize (const int newsize)


Resizes the internal buffer.

const char buf ()


Returns a pointer to the internal buffer.

int size ()
Returns the length of the buffer.

int curr ()
Returns the number of bytes that have been unpacked from the buffer.

void reset ()

552

CHAPTER 13. CLASS DOCUMENTATION


Resets the index of the internal buffer.

void unpack (int data, const int num=1)


Unpack one or more ints.

void unpack (u int data, const int num=1)


Unpack one or more unsigned ints.

void unpack (long data, const int num=1)


Unpack one or more longs.

void unpack (u long data, const int num=1)


Unpack one or more unsigned longs.

void unpack (short data, const int num=1)


Unpack one or more shorts.

void unpack (u short data, const int num=1)


Unpack one or more unsigned shorts.

void unpack (char data, const int num=1)


Unpack one or more chars.

void unpack (u char data, const int num=1)


Unpack one or more unsigned chars.

void unpack (double data, const int num=1)


Unpack one or more doubles.

void unpack (float data, const int num=1)


Unpack one or more floats.

void unpack (bool data, const int num=1)


Unpack one or more bools.

void unpack (int &data)


Unpack a int.

void unpack (u int &data)


Unpack a unsigned int.

void unpack (long &data)


Unpack a long.

void unpack (u long &data)


Unpack a unsigned long.

void unpack (short &data)


Unpack a short.

void unpack (u short &data)


Unpack a unsigned short.

void unpack (char &data)


Unpack a char.

void unpack (u char &data)


Unpack a unsigned char.

void unpack (double &data)


Unpack a double.

void unpack (float &data)


Unpack a float.

void unpack (bool &data)


Unpack a bool.

13.66. NCSUOPTIMIZER CLASS REFERENCE

553

Protected Attributes
char Buffer
The internal buffer for unpacking.

int Index
The index into the current buffer.

int Size
The total size that has been allocated for the buffer.

bool ownFlag
If TRUE, then this class owns the internal buffer.

13.65.1

Detailed Description

Class for unpacking MPI message buffers.


A class that provides a facility for unpacking message buffers using the MPI Unpack facility. This class is
based on the Dakota Version 3 0 version of utilib::UnPackBuffer from utilib/src/io/PackBuf.[cpp,h]
The documentation for this class was generated from the following files:
MPIPackBuffer.hpp
MPIPackBuffer.cpp

13.66

NCSUOptimizer Class Reference

Wrapper class for the NCSU DIRECT optimization library.


Inheritance diagram for NCSUOptimizer:
Iterator
Minimizer
Optimizer
NCSUOptimizer

Public Member Functions


NCSUOptimizer (ProblemDescDB &problem db, Model &model)
standard constructor

NCSUOptimizer (Model &model, const int &max iter, const int &max eval, double min box size=-1.,
double vol box size=-1., double solution target=-DBL MAX)
alternate constructor for instantiations on the fly

NCSUOptimizer (Model &model)


alternate constructor for Iterator instantiations by name

554

CHAPTER 13. CLASS DOCUMENTATION


NCSUOptimizer (const RealVector &var l bnds, const RealVector &var u bnds, const int &max iter, const
int &max eval, double(user obj eval)(const RealVector &x), double min box size=-1., double vol box size=-1., double solution target=-DBL MAX)
alternate constructor for instantiations on the fly

NCSUOptimizer ()
destructor

void find optimum ()


Used within the optimizer branch for computing the optimal solution. Redefines the run virtual function for the
optimizer branch.

Private Member Functions


void initialize ()
shared code among model-based constructors

void check inputs ()


verify problem respects NCSU DIRECT Fortran limits

Static Private Member Functions


static int objective eval (int n, double c[ ], double l[ ], double u[ ], int point[ ], int maxI, int start, int
maxfunc, double fvec[ ], int iidata[ ], int iisize, double ddata[ ], int idsize, char cdata[ ], int icsize)
fep in Griffin-modified NCSUDirect: computes the value of the objective function (potentially at multiple points,
passed by function pointer to NCSUDirect). Include unscaling from DIRECT.

Private Attributes
short setUpType
controls iteration mode: SETUP MODEL (normal usage) or SETUP USERFUNC (user-supplied functions mode
for on the fly instantiations). see enum in NCSUOptimizer.cpp NonDGlobalReliability currently uses the model
mode. GaussProcApproximation currently uses the user functions mode.

Real minBoxSize
holds the minimum boxsize

Real volBoxSize
hold the minimum volume boxsize

Real solutionTarget
holds the solution target minimum to drive towards

RealVector lowerBounds
holds variable lower bounds passed in for user functions mode.

RealVector upperBounds
holds variable upper bounds passed in for user functions mode.

double( userObjectiveEval )(const RealVector &x)


holds function pointer for objective function evaluator passed in for user functions mode.

13.66. NCSUOPTIMIZER CLASS REFERENCE

555

Static Private Attributes


static NCSUOptimizer ncsudirectInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

Additional Inherited Members


13.66.1

Detailed Description

Wrapper class for the NCSU DIRECT optimization library.


The NCSUOptimizer class provides a wrapper for a Fortran 77 implementation of the DIRECT algorithm
developed at North Carolina State University. It uses a function pointer approach for which passed functions must
be either global functions or static member functions. Any attribute used within static member functions must be
either local to that function or accessed through a static pointer.
The user input mappings are as follows:

13.66.2

Constructor & Destructor Documentation

NCSUOptimizer ( ProblemDescDB & problem db, Model & model )


standard constructor
This is the standard constructor with method specification support.
References NCSUOptimizer::check inputs(), and NCSUOptimizer::initialize().
NCSUOptimizer ( Model & model, const int & max iter, const int & max eval, double min box size =
-1., double vol box size = -1., double solution target = -DBL MAX )
alternate constructor for instantiations on the fly
This is an alternate constructor for instantiations on the fly using a Model but no ProblemDescDB.
References NCSUOptimizer::check inputs(), NCSUOptimizer::initialize(), Iterator::maxFunctionEvals, and
Iterator::maxIterations.
NCSUOptimizer ( Model & model )
alternate constructor for Iterator instantiations by name
This is an alternate constructor for Iterator instantiations by name using a Model but no ProblemDescDB.
References NCSUOptimizer::check inputs(), and NCSUOptimizer::initialize().
NCSUOptimizer ( const RealVector & var l bnds, const RealVector & var u bnds, const int & max iter,
const int & max eval, double()(const RealVector &x) user obj eval, double min box size = -1., double
vol box size = -1., double solution target = -DBL MAX )
alternate constructor for instantiations on the fly
This is an alternate constructor for performing an optimization using the passed in objective function pointer.
References NCSUOptimizer::check inputs(), Iterator::maxFunctionEvals, and Iterator::maxIterations.

556

CHAPTER 13. CLASS DOCUMENTATION

13.66.3

Member Function Documentation

int objective eval ( int n, double c[ ], double l[ ], double u[ ], int point[ ], int maxI, int start, int
maxfunc, double fvec[ ], int iidata[ ], int iisize, double ddata[ ], int idsize, char cdata[ ], int icsize )
[static], [private]
fep in Griffin-modified NCSUDirect: computes the value of the objective function (potentially at multiple points,
passed by function pointer to NCSUDirect). Include unscaling from DIRECT.
Modified batch evaluator that accepts multiple points and returns corresponding vector of functions in fvec.
Must be used with modified DIRECT src (DIRbatch.f).
References Model::asynch compute response(), Model::asynch flag(), Model::compute response(), Model::continuous variables(), Model::current response(), Response::function value(), Iterator::iteratedModel, NCSUOptimizer::ncsudirectInstance, Model::primary response fn sense(), NCSUOptimizer::setUpType, Model::synchronize(),
and NCSUOptimizer::userObjectiveEval.
Referenced by NCSUOptimizer::find optimum().
The documentation for this class was generated from the following files:
NCSUOptimizer.hpp
NCSUOptimizer.cpp

13.67

NestedModel Class Reference

Derived model class which performs a complete sub-iterator execution within every evaluation of the model.
Inheritance diagram for NestedModel:

Model
NestedModel

Public Member Functions


NestedModel (ProblemDescDB &problem db)
constructor

NestedModel ()
destructor

Protected Member Functions


void derived compute response (const ActiveSet &set)
portion of compute response() specific to NestedModel

void derived asynch compute response (const ActiveSet &set)


portion of asynch compute response() specific to NestedModel

Iterator & subordinate iterator ()


return subIterator

Model & subordinate model ()


return subModel

13.67. NESTEDMODEL CLASS REFERENCE

557

void derived subordinate models (ModelList &ml, bool recurse flag)


return subModel

Interface & derived interface ()


return optionalInterface

void surrogate response mode (short mode)


pass a bypass request on to the subModel for any lower-level surrogates

void component parallel mode (short mode)


update component parallel mode for supporting parallelism in optionalInterface and subModel

bool derived master overload () const


flag which prevents overloading the master with a multiprocessor evaluation (forwarded to optionalInterface)

void derived init communicators (int max eval concurrency, bool recurse flag=true)
set up optionalInterface and subModel for parallel operations

void derived init serial ()


set up optionalInterface and subModel for serial operations.

void derived set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration within subModel

void derived free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for the NestedModel (forwarded to optionalInterface and subModel)

void serve (int max eval concurrency)


Service optionalInterface and subModel job requests received from the master. Completes when a termination
message is received from stop servers().

void stop servers ()


Executed by the master to terminate server operations for subModel and optionalInterface when iteration on the
NestedModel is complete.

const String & interface id () const


return the optionalInterface identifier

int evaluation id () const


Return the current evaluation id for the NestedModel.

void set evaluation reference ()


set the evaluation counter reference points for the NestedModel (request forwarded to optionalInterface and subModel)

void fine grained evaluation counters ()


request fine-grained evaluation reporting within optionalInterface and subModel

void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true) const
print the evaluation summary for the NestedModel (request forwarded to optionalInterface and subModel)

virtual void eval tag prefix (const String &eval id str)


set the hierarchical eval ID tag prefix

558

CHAPTER 13. CLASS DOCUMENTATION

Private Member Functions


void resolve real variable mapping (const String &map1, const String &map2, size t curr index, short
&inactive sm view)
for a named real mapping, resolve primary index and secondary target

void resolve integer variable mapping (const String &map1, const String &map2, size t curr index, short
&inactive sm view)
for a named integer mapping, resolve primary index and secondary target

size t sm acv index map (size t pacvm index, short sacvm target)
offset pacvm index based on sacvm target to create mapped index

size t sm adiv index map (size t padivm index, short sadivm target)
offset padivm index based on sadivm target to create mapped index

size t sm adrv index map (size t padrvm index, short sadrvm target)
offset padrvm index based on sadrvm target to create mapped index

size t cv index map (size t cv index)


offset cv index to create index into aggregated primary/secondary arrays

size t div index map (size t div index)


offset div index to create index into aggregated primary/secondary arrays

size t drv index map (size t drv index)


offset drv index to create index into aggregated primary/secondary arrays

size t ccv index map (size t ccv index)


offset active complement ccv index to create index into all continuous arrays

size t cdiv index map (size t cdiv index)


offset active complement cdiv index to create index into all discrete int arrays

size t cdrv index map (size t cdrv index)


offset active complement cdrv index to create index into all discrete real arrays

void real variable mapping (const Real &r var, size t mapped index, short svm target)
insert r var into appropriate recipient

void integer variable mapping (const int &i var, size t mapped index, short svm target)
insert i var into appropriate recipient

void set mapping (const ActiveSet &mapped set, ActiveSet &interface set, bool &opt interface map, ActiveSet &sub iterator set, bool &sub iterator map)
define the evaluation requirements for the optionalInterface (interface set) and the subIterator (sub iterator set)
from the total model evaluation requirements (mapped set)

void response mapping (const Response &interface response, const Response &sub iterator response, Response &mapped response)
combine the response from the optional interface evaluation with the response from the sub-iteration using the
primaryCoeffs/secondaryCoeffs mappings to create the total response for the model

void update inactive view (short new view, short &view)


update inactive variables view for subIterator based on new view

void update inactive view (unsigned short type, short &view)


update inactive variables view for subIterator based on type

void update sub model ()


update subModel with current variable values/bounds/labels

13.67. NESTEDMODEL CLASS REFERENCE

559

Private Attributes
int nestedModelEvalCntr
number of calls to derived compute response()/ derived asynch compute response()

Iterator subIterator
the sub-iterator that is executed on every evaluation of this model

Model subModel
the sub-model used in sub-iterator evaluations

size t numSubIterFns
number of sub-iterator response functions prior to mapping

size t numSubIterMappedIneqCon
number of top-level inequality constraints mapped from the sub-iteration results

size t numSubIterMappedEqCon
number of top-level equality constraints mapped from the sub-iteration results

Interface optionalInterface
the optional interface contributes nonnested response data to the total model response

String optInterfacePointer
the optional interface pointer from the nested model specification

Response optInterfaceResponse
the response object resulting from optional interface evaluations

size t numOptInterfPrimary
number of primary response functions (objective/least squares/generic functions) resulting from optional interface
evaluations

size t numOptInterfIneqCon
number of inequality constraints resulting from optional interface evaluations

size t numOptInterfEqCon
number of equality constraints resulting from the optional interface evaluations

SizetArray active1ACVarMapIndices
primary variable mappings for inserting active continuous currentVariables within all continuous subModel
variables. If there are no secondary mappings defined, then the insertions replace the subModel variable values.

SizetArray active1ADIVarMapIndices
primary variable mappings for inserting active discrete int currentVariables within all discrete int subModel
variables. No secondary mappings are defined for discrete int variables, so the insertions replace the subModel
variable values.

SizetArray active1ADRVarMapIndices
primary variable mappings for inserting active discrete real currentVariables within all discrete real subModel
variables. No secondary mappings are defined for discrete real variables, so the insertions replace the subModel
variable values.

ShortArray active2ACVarMapTargets
secondary variable mappings for inserting active continuous currentVariables into sub-parameters (e.g., distribution parameters for uncertain variables or bounds for continuous design/state variables) within all continuous
subModel variables.

ShortArray active2ADIVarMapTargets
secondary variable mappings for inserting active discrete int currentVariables into sub-parameters (e.g., bounds
for discrete design/state variables) within all discrete int subModel variables.

560

CHAPTER 13. CLASS DOCUMENTATION


ShortArray active2ADRVarMapTargets
secondary variable mappings for inserting active discrete real currentVariables into sub-parameters (e.g., bounds
for discrete design/state variables) within all discrete real subModel variables.

SizetArray complement1ACVarMapIndices
primary variable mappings for inserting the complement of the active continuous currentVariables within all
continuous subModel variables

SizetArray complement1ADIVarMapIndices
primary variable mappings for inserting the complement of the active discrete int currentVariables within all
discrete int subModel variables

SizetArray complement1ADRVarMapIndices
primary variable mappings for inserting the complement of the active discrete real currentVariables within all
discrete real subModel variables

BoolDeque extraCVarsData
flags for updating subModel continuous bounds and labels, one for each active continuous variable in currentVariables

BoolDeque extraDIVarsData
flags for updating subModel discrete int bounds and labels, one for each active discrete int variable in currentVariables

BoolDeque extraDRVarsData
flags for updating subModel discrete real bounds and labels, one for each active discrete real variable in currentVariables

RealMatrix primaryRespCoeffs
primary response mapping matrix applied to the sub-iterator response functions. For OUU, the matrix is applied
to UQ statistics to create contributions to the top-level objective functions/least squares/ generic response terms.

RealMatrix secondaryRespCoeffs
secondary response mapping matrix applied to the sub-iterator response functions. For OUU, the matrix is
applied to UQ statistics to create contributions to the top-level inequality and equality constraints.

String evalTagPrefix
cached evalTag Prefix from parents to use at compute response time

Additional Inherited Members


13.67.1

Detailed Description

Derived model class which performs a complete sub-iterator execution within every evaluation of the model.
The NestedModel class nests a sub-iterator execution within every model evaluation. This capability is most
commonly used for optimization under uncertainty, in which a nondeterministic iterator is executed on every
optimization function evaluation. The NestedModel also contains an optional interface, for portions of the model
evaluation which are independent from the sub-iterator, and a set of mappings for combining sub-iterator and
optional interface data into a top level response for the model.

13.67.2

Member Function Documentation

void derived compute response ( const ActiveSet & set ) [protected], [virtual]
portion of compute response() specific to NestedModel
Update subModels inactive variables with active variables from currentVariables, compute the optional interface and sub-iterator responses, and map these to the total model response.

13.67. NESTEDMODEL CLASS REFERENCE

561

Reimplemented from Model.


References Response::active set(), NestedModel::component parallel mode(), Model::currentResponse, Model::currentVariables, Interface::eval tag prefix(), Iterator::eval tag prefix(), NestedModel::evalTagPrefix, Model::hierarchicalTagging, Interface::map(), NestedModel::nestedModelEvalCntr, NestedModel::optInterfaceResponse, NestedModel::optionalInterface, NestedModel::response mapping(), Iterator::response results(), Iterator::response results activeset(), Iterator::run(), NestedModel::set mapping(), NestedModel::subIterator, and NestedModel::update sub model().
void derived asynch compute response ( const ActiveSet & set ) [protected], [virtual]
portion of asynch compute response() specific to NestedModel
Not currently supported by NestedModels (need to add concurrent iterator support). As a result, derived synchronize() and derived synchronize nowait() are inactive as well).
Reimplemented from Model.
References Dakota::abort handler(), Response::active set(), Model::currentResponse, Model::currentVariables,
Interface::map(), NestedModel::nestedModelEvalCntr, NestedModel::optInterfaceResponse, NestedModel::optionalInterface, and NestedModel::set mapping().
bool derived master overload (

) const [inline], [protected], [virtual]

flag which prevents overloading the master with a multiprocessor evaluation (forwarded to optionalInterface)
Derived master overload for subModel is handled separately in subModel.compute response() within subIterator.run().
Reimplemented from Model.
References Interface::iterator eval dedicated master(), Interface::multi proc eval(), NestedModel::optInterfacePointer, and NestedModel::optionalInterface.
void derived init communicators ( int max eval concurrency, bool recurse flag = true ) [inline],
[protected], [virtual]
set up optionalInterface and subModel for parallel operations
Asynchronous flags need to be initialized for the subModel. In addition, max eval concurrency is the outer
level iterator concurrency, not the subIterator concurrency that subModel will see, and recomputing the messagelengths on the subModel is probably not a bad idea either. Therefore, recompute everything on subModel using
init communicators().
Reimplemented from Model.
References Interface::init communicators(), Iterator::init communicators(), Model::messageLengths, NestedModel::optInterfacePointer, NestedModel::optionalInterface, and NestedModel::subIterator.
int evaluation id (

) const [inline], [protected], [virtual]

Return the current evaluation id for the NestedModel.


return the top level nested evaluation count. To get the lower level eval count, the subModel must be explicitly
queried. This is consistent with the eval counter definitions in surrogate models.
Reimplemented from Model.
References NestedModel::nestedModelEvalCntr.

562

CHAPTER 13. CLASS DOCUMENTATION

size t cv index map ( size t cv index ) [private]


offset cv index to create index into aggregated primary/secondary arrays
maps index within active continuous variables to index within aggregated active continuous/discrete-int/discretereal variables.
References Model::currentVariables, Variables::variables components totals(), and Variables::view().
Referenced by NestedModel::NestedModel(), and NestedModel::update sub model().
size t div index map ( size t div index ) [private]
offset div index to create index into aggregated primary/secondary arrays
maps index within active discrete int variables to index within aggregated active continuous/discrete-int/discretereal variables.
References Model::currentVariables, Variables::cv(), Variables::variables components totals(), and Variables::view().
Referenced by NestedModel::NestedModel(), and NestedModel::update sub model().
size t drv index map ( size t drv index ) [private]
offset drv index to create index into aggregated primary/secondary arrays
maps index within active discrete real variables to index within aggregated active continuous/discrete-int/discretereal variables.
References Model::currentVariables, Variables::cv(), Variables::div(), Variables::variables components totals(),
and Variables::view().
Referenced by NestedModel::NestedModel(), and NestedModel::update sub model().
size t ccv index map ( size t ccv index ) [private]
offset active complement ccv index to create index into all continuous arrays
maps index within complement of active continuous variables to index within all continuous variables.
References Dakota::abort handler(), Model::currentVariables, Variables::variables components totals(), and
Variables::view().
Referenced by NestedModel::NestedModel(), and NestedModel::update sub model().
size t cdiv index map ( size t cdiv index ) [private]
offset active complement cdiv index to create index into all discrete int arrays
maps index within complement of active discrete int variables to index within all discrete int variables.
References Dakota::abort handler(), Model::currentVariables, Variables::variables components totals(), and
Variables::view().
Referenced by NestedModel::NestedModel(), and NestedModel::update sub model().
size t cdrv index map ( size t cdrv index ) [private]
offset active complement cdrv index to create index into all discrete real arrays
maps index within complement of active discrete real variables to index within all discrete real variables.
References Dakota::abort handler(), Model::currentVariables, Variables::variables components totals(), and
Variables::view().
Referenced by NestedModel::NestedModel(), and NestedModel::update sub model().

13.67. NESTEDMODEL CLASS REFERENCE

563

void response mapping ( const Response & opt interface response, const Response &
sub iterator response, Response & mapped response ) [private]
combine the response from the optional interface evaluation with the response from the sub-iteration using the
primaryCoeffs/secondaryCoeffs mappings to create the total response for the model
In the OUU case,
optionalInterface fns = {f}, {g} (deterministic primary functions, constraints)
subIterator fns
= {S}
(UQ response statistics)
Problem formulation for mapped functions:
minimize
{f} + [W]{S}
subject to {g_l} <= {g}
<= {g_u}
{a_l} <= [A]{S} <= {a_u}
{g}
== {g_t}
[A]{S} == {a_t}

where [W] is the primary mapping matrix user input (primaryRespCoeffs class attribute), [A] is the secondarymapping matrix user input (secondaryRespCoeffs class attribute), {{g l},{a l}} are the top level inequality constraint lower bounds, {{g u},{a u}} are the top level inequality constraint upper bounds, and {{g t},{a t}} are
the top level equality constraint targets.
NOTE: optionalInterface/subIterator primary fns (obj/lsq/generic fns) overlap but optionalInterface/subIterator
secondary fns (ineq/eq constraints) do not. The [W] matrix can be specified so as to allow
some purely deterministic primary functions and some combined: [W] filled and [W].num rows() < {f}.length()
[combined first] or [W].num rows() == {f}.length() and [W] contains rows of zeros [combined last]
some combined and some purely stochastic primary functions: [W] filled and [W].num rows() > {f}.length()
separate deterministic and stochastic primary functions: [W].num rows() > {f}.length() and [W] contains
{f}.length() rows of zeros.
If the need arises, could change constraint definition to allow overlap as well: {g l} <= {g} + [A]{S} <= {g u}
with [A] usage the same as for [W] above.
In the UOO case, things are simpler, just compute statistics of each optimization response function: [W] = [I],
{f}/{g}/[A] are empty.
References Dakota::abort handler(), Response::active set derivative vector(), Response::active set request vector(), Dakota::copy data(), Response::function gradient(), Response::function gradient view(), Response::functiongradients(), Response::function hessian(), Response::function hessian view(), Response::function hessians(), Response::function value(), Response::function values(), Response::function values view(), Response::num functions(),
NestedModel::numOptInterfEqCon, NestedModel::numOptInterfIneqCon, NestedModel::numOptInterfPrimary,
NestedModel::numSubIterFns, NestedModel::numSubIterMappedEqCon, NestedModel::numSubIterMappedIneqCon, NestedModel::optInterfacePointer, NestedModel::primaryRespCoeffs, Response::reset inactive(), and NestedModel::secondaryRespCoeffs.
Referenced by NestedModel::derived compute response().

13.67.3

Member Data Documentation

Model subModel [private]


the sub-model used in sub-iterator evaluations
There are no restrictions on subModel, so arbitrary nestings are possible. This is commonly used to support
surrogate-based optimization under uncertainty by having NestedModels contain SurrogateModels and vice versa.

564

CHAPTER 13. CLASS DOCUMENTATION

Referenced by NestedModel::component parallel mode(), NestedModel::derived init serial(), NestedModel::derived subordinate models(), NestedModel::fine grained evaluation counters(), NestedModel::integer variablemapping(), NestedModel::NestedModel(), NestedModel::print evaluation summary(), NestedModel::real variablemapping(), NestedModel::resolve integer variable mapping(), NestedModel::resolve real variable mapping(), NestedModel::serve(), NestedModel::set mapping(), NestedModel::sm acv index map(), NestedModel::sm adiv indexmap(), NestedModel::subordinate model(), NestedModel::surrogate response mode(), NestedModel::update inactiveview(), and NestedModel::update sub model().
The documentation for this class was generated from the following files:
NestedModel.hpp
NestedModel.cpp

13.68

NIDRProblemDescDB Class Reference

The derived input file database utilizing the new IDR parser.
Inheritance diagram for NIDRProblemDescDB:
ProblemDescDB
NIDRProblemDescDB

Public Member Functions


NIDRProblemDescDB (ParallelLibrary &parallel lib)
constructor

NIDRProblemDescDB ()
destructor

void derived parse inputs (const ProgramOptions &prog opts)


parses the input file and populates the problem description database using NIDR.

void derived broadcast ()


perform any data processing that must be coordinated with DB buffer broadcasting (performed prior to broadcasting the DB buffer on rank 0 and after receiving the DB buffer on other processor ranks)

void derived post process ()


perform any additional data post-processing

KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface

Real)
Rlit)
false)
ilit)
pint)
lit)
start)
stop)
str)
str2D)

13.68. NIDRPROBLEMDESCDB CLASS REFERENCE

KWH (iface strL)


KWH (iface true)
KWH (iface type)
KWH (method Ii)
KWH (method Real)
KWH (method Real01)
KWH (method RealDL)
KWH (method RealLlit)
KWH (method Realp)
KWH (method Realz)
KWH (method Ri)
KWH (method false)
KWH (method szarray)
KWH (method ilit2)
KWH (method ilit2p)
KWH (method int)
KWH (method ivec)
KWH (method lit)
KWH (method litc)
KWH (method liti)
KWH (method litp)
KWH (method litr)
KWH (method litz)
KWH (method nnint)
KWH (method num resplevs)
KWH (method piecewise)
KWH (method pint)
KWH (method pintz)
KWH (method resplevs)
KWH (method resplevs01)
KWH (method shint)
KWH (method sizet)
KWH (method slit2)
KWH (method start)
KWH (method stop)
KWH (method str)
KWH (method strL)
KWH (method true)
KWH (method tr final)
KWH (method type)
KWH (method usharray)
KWH (method ushint)
KWH (method utype)
KWH (method utype lit)
KWH (model Real)
KWH (model RealDL)

565

566

CHAPTER 13. CLASS DOCUMENTATION

KWH (model false)


KWH (model int)
KWH (model intsetm1)
KWH (model lit)
KWH (model order)
KWH (model pint)
KWH (model shint)
KWH (model start)
KWH (model stop)
KWH (model str)
KWH (model strL)
KWH (model true)
KWH (model type)
KWH (resp RealDL)
KWH (resp RealL)
KWH (resp false)
KWH (resp intset)
KWH (resp ivec)
KWH (resp lit)
KWH (resp sizet)
KWH (resp start)
KWH (resp stop)
KWH (resp str)
KWH (resp strL)
KWH (resp true)
KWH (env int)
KWH (env start)
KWH (env str)
KWH (env true)
KWH (var RealLb)
KWH (var RealUb)
KWH (var IntLb)
KWH (var caulbl)
KWH (var dauilbl)
KWH (var daurlbl)
KWH (var ceulbl)
KWH (var deuilbl)
KWH (var deurlbl)
KWH (var pintz)
KWH (var start)
KWH (var stop)
KWH (var str)
KWH (var strL)
KWH (var true)
KWH (var newiarray)
KWH (var newivec)

13.68. NIDRPROBLEMDESCDB CLASS REFERENCE

KWH (var
KWH (var
KWH (var
KWH (var

567

newrvec)
ivec)
rvec)
type)

Static Public Member Functions

static void botch (const char fmt,...)


static void check variables (std::list< DataVariables > )
static void check responses (std::list< DataResponses > )
static void make variable defaults (std::list< DataVariables > )
static void make response defaults (std::list< DataResponses > )
static void squawk (const char fmt,...)
static void warn (const char fmt,...)

Static Public Attributes


static NIDRProblemDescDB pDDBInstance
pointer to the active object instance used within the static kwhandler functions in order to avoid the need for static
data

static int nerr = 0

Static Private Member Functions


static void check variables node (void )

Private Attributes
std::list< void > VIL

Additional Inherited Members


13.68.1

Detailed Description

The derived input file database utilizing the new IDR parser.
The NIDRProblemDescDB class is derived from ProblemDescDB for use by the NIDR parser in processing DAKOTA input file data. For information on modifying the NIDR input parsing procedures, refer to Dakota/docs/Dev Spec Change.dox. For more on the parsing technology, see Specifying and Reading Program Input with NIDR by David M. Gay (report SAND2008-2261P, which is available in PDF form as http://www.sandia.gov/dmgay/nidr08.pdf). Source for the routines declared herein is NIDRProblemDescDB.cpp, in which
most routines are so short that a description seems unnecessary.

13.68.2

Member Function Documentation

void derived parse inputs ( const ProgramOptions & prog opts ) [virtual]
parses the input file and populates the problem description database using NIDR.
Parse the input file using the Input Deck Reader (IDR) parsing system. IDR populates the IDRProblemDescDB object with the input file data.
Reimplemented from ProblemDescDB.

568

CHAPTER 13. CLASS DOCUMENTATION

References Dakota::abort handler(), ProblemDescDB::dataInterfaceList, ProblemDescDB::dataMethodList,


DataMethodRep::dlDetails, DataMethodRep::dlLib, ProgramOptions::input file(), ProgramOptions::input string(),
ProblemDescDB::parallel library(), ProgramOptions::parser options(), and NIDRProblemDescDB::pDDBInstance.
The documentation for this class was generated from the following files:
NIDRProblemDescDB.hpp
NIDRProblemDescDB.cpp

13.69

NL2Res Struct Reference

Auxiliary information passed to calcr and calcj via ur.

Public Attributes
Real r
residual r = r(x)

Real J
Jacobian J = J(x)

Real x
corresponding parameter vector

int nf
function invocation count for r(x)

13.69.1

Detailed Description

Auxiliary information passed to calcr and calcj via ur.


The documentation for this struct was generated from the following file:
NL2SOLLeastSq.cpp

13.70

NL2SOLLeastSq Class Reference

Wrapper class for the NL2SOL nonlinear least squares library.


Inheritance diagram for NL2SOLLeastSq:
Iterator
Minimizer
LeastSq
NL2SOLLeastSq

13.70. NL2SOLLEASTSQ CLASS REFERENCE

569

Public Member Functions


NL2SOLLeastSq (ProblemDescDB &problem db, Model &model)
standard constructor

NL2SOLLeastSq (Model &model)


alternate constructor

NL2SOLLeastSq ()
destructor

void minimize residuals ()


Used within the least squares branch for minimizing the sum of squares residuals. Redefines the run virtual function
for the least squares branch.

Static Private Member Functions


static void calcr (int np, int pp, Real x, int nfp, Real r, int ui, void ur, Vf vf)
evaluator function for residual vector

static void calcj (int np, int pp, Real x, int nfp, Real J, int ui, void ur, Vf vf)
evaluator function for residual Jacobian

Private Attributes
int auxprt
auxilary printing bits (see Dakota Ref Manual): sum of

< 1 = x0prt (print initial guess) < 2 = solprt (print final solution) < 4 = statpr (print solution statistics) < 8 =
parprt (print nondefault parameters) < 16 = dradpr (print bound constraint drops/adds) < debug/verbose/normal
use default = 31 (everything), < quiet uses 3, silent uses 0.

int outlev
frequency of output summary lines in number of iterations

< (debug/verbose/normal/quiet use default = 1, silent uses 0)

Real dltfdj
finite-diff step size for computing Jacobian approximation

< (fd gradient step size)

Real delta0
finite-diff step size for gradient differences for H

< (a component of some covariance approximations, if desired) < (fd hessian step size)

Real dltfdc
finite-diff step size for function differences for H

< (fd hessian step size)

int mxfcal
function-evaluation limit (max function evaluations)

int mxiter
iteration limit (max iterations)

Real rfctol
relative fn convergence tolerance (convergence tolerance)

Real afctol
absolute fn convergence tolerance (absolute conv tol)

Real xctol

570

CHAPTER 13. CLASS DOCUMENTATION


x-convergence tolerance (x conv tol)

Real sctol
singular convergence tolerance (singular conv tol)

Real lmaxs
radius for singular-convergence test (singular radius)

Real xftol
false-convergence tolerance (false conv tol)

int covreq
kind of covariance required (\c covariance):

< 1 or -1 ==> sigma 2 H -1 J T J H -1 < 2 or -2 ==> sigma 2 H -1 < 3 or -3 ==> sigma 2 (J T J) -1


< 1 or 2 ==> use gradient diffs to estimate H < -1 or -2 ==> use function diffs to estimate H < default = 0 (no
covariance)

int rdreq
whether to compute the regression diagnostic vector

< (regression diagnostics)

Real fprec
expected response function precision (function precision)

Real lmax0
initial trust-region radius (initial trust radius)

Static Private Attributes


static NL2SOLLeastSq nl2solInstance
pointer to the active object instance used within the static evaluator functions

Additional Inherited Members


13.70.1

Detailed Description

Wrapper class for the NL2SOL nonlinear least squares library.


The NL2SOLLeastSq class provides a wrapper for NL2SOL (TOMS Algorithm 573), in the updated form
of Port Library routines dn[fg][b ] from Bell Labs; see http://www.netlib.org/port/readme. The
Fortran from Port has been turned into C by f2c. NL2SOL uses a function pointer approach for which passed
functions must be either global functions or static member functions.

13.70.2

Member Function Documentation

void minimize residuals (

) [virtual]

Used within the least squares branch for minimizing the sum of squares residuals. Redefines the run virtual
function for the least squares branch.
Details on the following subscript values appear in Usage Summary for Selected Optimization Routines
by David M. Gay, Computing Science Technical Report No. 153, AT&T Bell Laboratories, 1990. http://netlib.bell-labs.com/cm/cs/cstr/153.ps.gz
Implements LeastSq.

13.71. NLPQLPOPTIMIZER CLASS REFERENCE

571

References NL2SOLLeastSq::afctol, NL2SOLLeastSq::auxprt, Iterator::bestResponseArray, Iterator::bestVariablesArray, Minimizer::boundConstraintFlag, NL2SOLLeastSq::calcj(), NL2SOLLeastSq::calcr(), Model::continuouslower bounds(), Model::continuous upper bounds(), Model::continuous variables(), Dakota::copy data(), NL2SOLLeastSq::covreq, NL2SOLLeastSq::delta0, NL2SOLLeastSq::dltfdc, NL2SOLLeastSq::dltfdj, NL2SOLLeastSq::fprec, LeastSq::get confidence intervals(), Model::gradient type(), Iterator::iteratedModel, NL2SOLLeastSq::lmax0, NL2SOLLeastSq::lmaxs, NL2SOLLeastSq::mxfcal, NL2SOLLeastSq::mxiter, NL2SOLLeastSq::nl2solInstance, Minimizer::numContinuousVars, LeastSq::numLeastSqTerms, NL2SOLLeastSq::outlev, NL2SOLLeastSq::rdreq, NL2SOLLeastSq::rfctol, NL2SOLLeastSq::sctol, Minimizer::speculativeFlag, Minimizer::vendorNumericalGradFlag, NL2SOLLeastSq::xctol, and NL2SOLLeastSq::xftol.
The documentation for this class was generated from the following files:
NL2SOLLeastSq.hpp
NL2SOLLeastSq.cpp

13.71

NLPQLPOptimizer Class Reference

Wrapper class for the NLPQLP optimization library, Version 2.0.


Inheritance diagram for NLPQLPOptimizer:
Iterator
Minimizer
Optimizer
NLPQLPOptimizer

Public Member Functions


NLPQLPOptimizer (ProblemDescDB &problem db, Model &model)
standard constructor

NLPQLPOptimizer (Model &model)


alternate constructor

NLPQLPOptimizer ()
destructor

void find optimum ()


Used within the optimizer branch for computing the optimal solution. Redefines the run virtual function for the
optimizer branch.

Protected Member Functions


void initialize run ()
performs run-time set up

572

CHAPTER 13. CLASS DOCUMENTATION

Private Member Functions


void initialize ()
Shared constructor code.

void allocate workspace ()


Allocates workspace for the optimizer.

void deallocate workspace ()


Releases workspace memory.

void allocate constraints ()


Allocates constraint mappings.

Private Attributes
int L
L : Number of parallel systems, i.e. function calls during line search at predetermined iterates. HINT: If only less
than 10 parallel function evaluations are possible, it is recommended to apply the serial version by setting L=1.

int numEqConstraints
numEqConstraints : Number of equality constraints.

int MMAX
MMAX : Row dimension of array DG containing Jacobian of constraints. MMAX must be at least one and greater
or equal to M.

int N
N : Number of optimization variables.

int NMAX
NMAX : Row dimension of C. NMAX must be at least two and greater than N.

int MNN2
MNN2 : Must be equal to M+N+N+2.

double X
X(NMAX,L) : Initially, the first column of X has to contain starting values for the optimal solution. On return, X is
replaced by the current iterate. In the driving program the row dimension of X has to be equal to NMAX. X is used
internally to store L different arguments for which function values should be computed simultaneously.

double F
F(L) : On return, F(1) contains the final objective function value. F is used also to store L different objective
function values to be computed from L iterates stored in X.

double G
G(MMAX,L) : On return, the first column of G contains the constraint function values at the final iterate X. In the
driving program the row dimension of G has to be equal to MMAX. G is used internally to store L different set of
constraint function values to be computed from L iterates stored in X.

double DF
DF(NMAX) : DF contains the current gradient of the objective function. In case of numerical differentiation and a
distributed system (L>1), it is recommended to apply parallel evaluations of F to compute DF.

double DG
DG(MMAX,NMAX) : DG contains the gradients of the active constraints (ACTIVE(J)=.true.) at a current iterate
X. The remaining rows are filled with previously computed gradients. In the driving program the row dimension of
DG has to be equal to MMAX.

double U

13.71. NLPQLPOPTIMIZER CLASS REFERENCE

573

U(MNN2) : U contains the multipliers with respect to the actual iterate stored in the first column of X. The first M
locations contain the multipliers of the M nonlinear constraints, the subsequent N locations the multipliers of the
lower bounds, and the final N locations the multipliers of the upper bounds. At an optimal solution, all multipliers
with respect to inequality constraints should be nonnegative.

double C
C(NMAX,NMAX) : On return, C contains the last computed approximation of the Hessian matrix of the Lagrangian
function stored in form of an LDL decomposition. C contains the lower triangular factor of an LDL factorization
of the final quasi-Newton matrix (without diagonal elements, which are always one). In the driving program, the
row dimension of C has to be equal to NMAX.

double D
D(NMAX) : The elements of the diagonal matrix of the LDL decomposition of the quasi-Newton matrix are stored
in the one-dimensional array D.

double ACC
ACC : The user has to specify the desired final accuracy (e.g. 1.0D-7). The termination accuracy should not be
smaller than the accuracy by which gradients are computed.

double ACCQP
ACCQP : The tolerance is needed for the QP solver to perform several tests, for example whether optimality
conditions are satisfied or whether a number is considered as zero or not. If ACCQP is less or equal to zero, then
the machine precision is computed by NLPQLP and subsequently multiplied by 1.0D+4.

double STPMIN
STPMIN : Minimum steplength in case of L>1. Recommended is any value in the order of the accuracy by which
functions are computed. The value is needed to compute a steplength reduction factor by STPMIN(1/L-1). If
STPMIN<=0, then STPMIN=ACC is used.

int MAXFUN
MAXFUN : The integer variable defines an upper bound for the number of function calls during the line search
(e.g. 20). MAXFUN is only needed in case of L=1, and must not be greater than 50.

int MAXIT
MAXIT : Maximum number of outer iterations, where one iteration corresponds to one formulation and solution of
the quadratic programming subproblem, or, alternatively, one evaluation of gradients (e.g. 100).

int MAX NM
MAX NM : Stack size for storing merit function values at previous iterations for non-monotone line search (e.g.
10). In case of MAX NM=0, monotone line search is performed.

double TOL NM
TOL NM : Relative bound for increase of merit function value, if line search is not successful during the very first
step. Must be non-negative (e.g. 0.1).

int IPRINT
IPRINT : Specification of the desired output level. IPRINT = 0 : No output of the program. IPRINT = 1 : Only
a final convergence analysis is given. IPRINT = 2 : One line of intermediate results is printed in each iteration.
IPRINT = 3 : More detailed information is printed in each iteration step, e.g. variable, constraint and multiplier
values. IPRINT = 4 : In addition to IPRINT=3, merit function and steplength values are displayed during the line
search.

int MODE
MODE : The parameter specifies the desired version of NLPQLP. MODE = 0 : Normal execution (reverse communication!). MODE = 1 : The user wants to provide an initial guess for the multipliers in U and for the Hessian of
the Lagrangian function in C and D in form of an LDL decomposition.

int IOUT
IOUT : Integer indicating the desired output unit number, i.e. all write-statements start with WRITE(IOUT,... .

574

CHAPTER 13. CLASS DOCUMENTATION


int IFAIL
IFAIL : The parameter shows the reason for terminating a solution process. Initially IFAIL must be set to zero. On
return IFAIL could contain the following values: IFAIL =-2 : Compute gradient values w.r.t. the variables stored
in first column of X, and store them in DF and DG. Only derivatives for active constraints ACTIVE(J)=.TRUE.
need to be computed. Then call NLPQLP again, see below. IFAIL =-1 : Compute objective fn and all constraint
values subject the variables found in the first L columns of X, and store them in F and G. Then call NLPQLP again,
see below. IFAIL = 0 : The optimality conditions are satisfied. IFAIL = 1 : The algorithm has been stopped
after MAXIT iterations. IFAIL = 2 : The algorithm computed an uphill search direction. IFAIL = 3 : Underflow
occurred when determining a new approxi- mation matrix for the Hessian of the Lagrangian. IFAIL = 4 : The line
search could not be terminated successfully. IFAIL = 5 : Length of a working array is too short. More detailed
error information is obtained with IPRINT>0. IFAIL = 6 : There are false dimensions, for example M>MMAX, N>=NMAX, or MNN2<>M+N+N+2. IFAIL = 7 : The search direction is close to zero, but the current
iterate is still infeasible. IFAIL = 8 : The starting point violates a lower or upper bound. IFAIL = 9 : Wrong
input parameter, i.e., MODE, LDL decomposition in D and C (in case of MODE=1), IPRINT, IOUT IFAIL = 10 :
Internal inconsistency of the quadratic subproblem, division by zero. IFAIL > 100 : The solution of the quadratic
programming subproblem has been terminated with an error message and IFAIL is set to IFQL+100, where IFQL
denotes the index of an inconsistent constraint.

double WA
WA(LWA) : WA is a real working array of length LWA.

int LWA
LWA : LWA value extracted from NLPQLP20.f.

int KWA
KWA(LKWA) : The user has to provide working space for an integer array.

int LKWA
LKWA : LKWA should be at least N+10.

int ACTIVE
ACTIVE(LACTIV) : The logical array shows a user the constraints, which NLPQLP considers to be active at the
last computed iterate, i.e. G(J,X) is active, if and only if ACTIVE(J)=.TRUE., J=1,...,M.

int LACTIVE
LACTIV : The length LACTIV of the logical array should be at least 2M+10.

int LQL
LQL : If LQL = .TRUE., the quadratic programming subproblem is to be solved with a full positive definite quasiNewton matrix. Otherwise, a Cholesky decomposition is performed and updated, so that the subproblem matrix
contains only an upper triangular factor.

int numNlpqlConstr
total number of constraints seen by NLPQL

SizetList nonlinIneqConMappingIndices
a list of indices for referencing the DAKOTA nonlinear inequality constraints used in computing the corresponding
NLPQL constraints.

RealList nonlinIneqConMappingMultipliers
a list of multipliers for mapping the DAKOTA nonlinear inequality constraints to the corresponding NLPQL constraints.

RealList nonlinIneqConMappingOffsets
a list of offsets for mapping the DAKOTA nonlinear inequality constraints to the corresponding NLPQL constraints.

SizetList linIneqConMappingIndices
a list of indices for referencing the DAKOTA linear inequality constraints used in computing the corresponding
NLPQL constraints.

13.72. NLSSOLLEASTSQ CLASS REFERENCE

575

RealList linIneqConMappingMultipliers
a list of multipliers for mapping the DAKOTA linear inequality constraints to the corresponding NLPQL constraints.

RealList linIneqConMappingOffsets
a list of offsets for mapping the DAKOTA linear inequality constraints to the corresponding NLPQL constraints.

Additional Inherited Members


13.71.1

Detailed Description

Wrapper class for the NLPQLP optimization library, Version 2.0.


AN IMPLEMENTATION OF A SEQUENTIAL QUADRATIC PROGRAMMING
METHOD FOR SOLVING NONLINEAR OPTIMIZATION PROBLEMS BY
DISTRIBUTED COMPUTING AND NON-MONOTONE LINE SEARCH

This subroutine solves the general nonlinear programming problem


minimize
subject to

F(X)
G(J,X)
G(J,X)
XL <=

= 0
>= 0
X <=

, J=1,...,ME
, J=ME+1,...,M
XU

and is an extension of the code NLPQLD. NLPQLP is specifically tuned to run under distributed systems. A
new input parameter L is introduced for the number of parallel computers, that is the number of function calls
to be executed simultaneously. In case of L=1, NLPQLP is identical to NLPQLD. Otherwise the line search is
modified to allow L parallel function calls in advance. Moreover the user has the opportunity to used distributed
function calls for evaluating gradients.
The algorithm is a modification of the method of Wilson, Han, and Powell. In each iteration step, a linearly
constrained quadratic programming problem is formulated by approximating the Lagrangian function quadratically and by linearizing the constraints. Subsequently, a one-dimensional line search is performed with respect
to an augmented Lagrangian merit function to obtain a new iterate. Also the modified line search algorithm
guarantees convergence under the same assumptions as before.
For the new version, a non-monotone line search is implemented which allows to increase the merit function
in case of instabilities, for example caused by round-off errors, errors in gradient approximations, etc.
The subroutine contains the option to predetermine initial guesses for the multipliers or the Hessian of the
Lagrangian function and is called by reverse communication.
The documentation for this class was generated from the following files:
NLPQLPOptimizer.hpp
NLPQLPOptimizer.cpp

13.72

NLSSOLLeastSq Class Reference

Wrapper class for the NLSSOL nonlinear least squares library.


Inheritance diagram for NLSSOLLeastSq:

576

CHAPTER 13. CLASS DOCUMENTATION


Iterator
Minimizer
LeastSq

SOLBase

NLSSOLLeastSq

Public Member Functions


NLSSOLLeastSq (ProblemDescDB &problem db, Model &model)
standard constructor

NLSSOLLeastSq (Model &model)


alternate constructor

NLSSOLLeastSq ()
destructor

void minimize residuals ()


Used within the least squares branch for minimizing the sum of squares residuals. Redefines the run virtual function
for the least squares branch.

Static Private Member Functions


static void least sq eval (int &mode, int &m, int &n, int &nrowfj, double x, double f, double gradf, int
&nstate)
Evaluator for NLSSOL: computes the values and first derivatives of the least squares terms (passed by function
pointer to NLSSOL).

Static Private Attributes


static NLSSOLLeastSq nlssolInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

Additional Inherited Members


13.72.1

Detailed Description

Wrapper class for the NLSSOL nonlinear least squares library.


The NLSSOLLeastSq class provides a wrapper for NLSSOL, a Fortran 77 sequential quadratic programming
library from Stanford University marketed by Stanford Business Associates. It uses a function pointer approach
for which passed functions must be either global functions or static member functions. Any nonstatic attribute
used within static member functions must be either local to that function or accessed through a static pointer.
The user input mappings are as follows: max function evaluations is implemented directly in NLSSOLLeastSqs evaluator functions since there is no NLSSOL parameter equivalent, and max iterations,

13.73. NODBBASECONSTRUCTOR STRUCT REFERENCE

577

convergence tolerance, output verbosity, verify level, function precision, and linesearchtolerance are mapped into NLSSOLs Major Iteration Limit, Optimality Tolerance, Major Print Level
(verbose: Major Print Level = 20; quiet: Major Print Level = 10), Verify Level, Function Precision, and
Linesearch Tolerance parameters, respectively, using NLSSOLs npoptn() subroutine (as wrapped by npoptn2()
from the npoptn wrapper.f file). Refer to [Gill, P.E., Murray, W., Saunders, M.A., and Wright, M.H., 1986] for
information on NLSSOLs optional input parameters and the npoptn() subroutine.

13.72.2

Constructor & Destructor Documentation

NLSSOLLeastSq ( ProblemDescDB & problem db, Model & model )


standard constructor
This is the primary constructor. It accepts a Model reference.
References Minimizer::constraintTol, Iterator::convergenceTol, Model::fd gradient step size(), ProblemDescDB::get int(), ProblemDescDB::get real(), Model::gradient type(), Iterator::iteratedModel, Iterator::maxIterations,
Iterator::outputLevel, Iterator::probDescDB, SOLBase::set options(), Minimizer::speculativeFlag, and Minimizer::vendorNumericalGradFlag.
NLSSOLLeastSq ( Model & model )
alternate constructor
This is an alternate constructor which accepts a Model but does not have a supporting method specification
from the ProblemDescDB.
References Minimizer::constraintTol, Iterator::convergenceTol, Model::fd gradient step size(), Model::gradienttype(), Iterator::iteratedModel, Iterator::maxIterations, Iterator::outputLevel, SOLBase::set options(), Minimizer::speculativeFlag, and Minimizer::vendorNumericalGradFlag.
The documentation for this class was generated from the following files:
NLSSOLLeastSq.hpp
NLSSOLLeastSq.cpp

13.73

NoDBBaseConstructor Struct Reference

Dummy struct for overloading constructors used in on-the-fly instantiations.

Public Member Functions


NoDBBaseConstructor (int=0)
C++ structs can have constructors.

13.73.1

Detailed Description

Dummy struct for overloading constructors used in on-the-fly instantiations.


NoDBBaseConstructor is used to overload the constructor used for on-the-fly instantiations in which ProblemDescDB queries cannot be used. Putting this struct here avoids circular dependencies.
The documentation for this struct was generated from the following file:
dakota global defs.hpp

578

CHAPTER 13. CLASS DOCUMENTATION

13.74

NomadOptimizer Class Reference

Wrapper class for NOMAD Optimizer.


Inheritance diagram for NomadOptimizer:
Iterator
Minimizer
Optimizer
NomadOptimizer

Classes
class Evaluator
NOMAD-based Evaluator class.

Public Member Functions


NomadOptimizer (ProblemDescDB &problem db, Model &model)
Constructor.

NomadOptimizer (Model &model)


alternate constructor for Iterator instantiations without DB

NomadOptimizer ()
Destructor.

void find optimum ()


Calls the NOMAD solver.

Private Member Functions


void load parameters (Model &model)
Convenience function for Parameter loading.

Private Attributes
int numTotalVars
Total across all types of variables.

int numNomadNonlinearIneqConstraints
Number of nonlinear inequality constraints after put into the format required by Nomad.

int randomSeed
Parameters passes to Nomad.

int maxBlackBoxEvals
int maxIterations

13.74. NOMADOPTIMIZER CLASS REFERENCE

579

std::string outputFormat
std::string historyFile
bool displayAll
Real epsilon
Real vns
NOMAD::Point initialPoint
Pointer to Nomad initial point.

NOMAD::Point upperBound
Pointer to Nomad upper bounds.

NOMAD::Point lowerBound
Pointer to Nomad lower bounds.

std::vector< int > constraintMapIndices


map from Dakota constraint number to Nomad constraint number

std::vector< double > constraintMapMultipliers


multipliers for constraint transformations

std::vector< double > constraintMapOffsets


offsets for constraint transformations

Additional Inherited Members


13.74.1

Detailed Description

Wrapper class for NOMAD Optimizer.


NOMAD (is a Nonlinear Optimization by Mesh Adaptive Direct search) is a simulation-based optimization
package designed to efficiently explore a design space using Mesh Adaptive Search.
Mesh Adaptive Direct Search uses Meshes, discretizations of the domain space of variables. It generates
multiple meshes, and as its name implies, it also adapts the refinement of the meshes in order to find the best
solution of a problem.
The objective of each iteration is to find points in a mesh that improves the current solution. If a better solution
is not found, the next iteration is done over a finer mesh.
Each iteration is composed of two steps: Search and Poll. The Search step finds any point in the mesh in
an attempt to find an improvement; while the Poll step generates trial mesh points surrounding the current best
current solution.
The NomadOptimizer is a wrapper for the NOMAD library. It features the following attributes: max function evaluations, display format, display all evaluations, function precision,
max iterations.

13.74.2

Constructor & Destructor Documentation

NomadOptimizer ( ProblemDescDB & problem db, Model & model )


Constructor.
NOMAD Optimizer Constructor

580

CHAPTER 13. CLASS DOCUMENTATION

Parameters
model

DAKOTA Model object

References ProblemDescDB::get bool(), ProblemDescDB::get int(), ProblemDescDB::get real(), ProblemDescDB::get string(), NomadOptimizer::load parameters(), Iterator::probDescDB, and NomadOptimizer::randomSeed.

13.74.3

Member Function Documentation

void load parameters ( Model & model ) [private]


Convenience function for Parameter loading.

This function takes the Parameters provided

by the user in the DAKOTA model.


Parameters
model

NOMAD Model object

References Dakota:: NPOS, Dakota::abort handler(), Minimizer::bigIntBoundSize, Minimizer::bigRealBoundSize, NomadOptimizer::constraintMapIndices, NomadOptimizer::constraintMapMultipliers, NomadOptimizer::constraintMapOffsets, Model::continuous lower bounds(), Model::continuous upper bounds(), Model::continuousvariables(), Model::discrete int lower bounds(), Model::discrete int sets(), Model::discrete int upper bounds(),
Model::discrete int variables(), Model::discrete real lower bounds(), Model::discrete real upper bounds(), Model::discrete real variables(), Model::discrete set int values(), Model::discrete set real values(), NomadOptimizer::initialPoint, Iterator::iteratedModel, NomadOptimizer::lowerBound, Model::nonlinear eq constraint targets(),
Model::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraint upper bounds(), Minimizer::numContinuousVars, Minimizer::numDiscreteIntVars, Minimizer::numDiscreteRealVars, NomadOptimizer::numNomadNonlinearIneqConstraints, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints,
NomadOptimizer::numTotalVars, Dakota::set value to index(), and NomadOptimizer::upperBound.
Referenced by NomadOptimizer::NomadOptimizer().
The documentation for this class was generated from the following files:
NomadOptimizer.hpp
NomadOptimizer.cpp

13.75

NonD Class Reference

Base class for all nondetermistic iterators (the DAKOTA/UQ branch).


Inheritance diagram for NonD:

13.75. NOND CLASS REFERENCE

581
Iterator
Analyzer
NonD
EfficientSubspaceMethod
NonDCalibration
NonDExpansion
NonDIntegration
NonDInterval
NonDPOFDarts
NonDReliability
NonDSampling

Public Member Functions


void initialize random variables (short u space type)
initialize natafTransform based on distribution data from iteratedModel

void initialize random variables (const Pecos::ProbabilityTransformation &transform)


alternate form: initialize natafTransform based on incoming data

void requested levels (const RealVectorArray &req resp levels, const RealVectorArray &req prob levels,
const RealVectorArray &req rel levels, const RealVectorArray &req gen rel levels, short resp lev tgt, short
resp lev tgt reduce, bool cdf flag)
set requestedRespLevels, requestedProbLevels, requestedRelLevels, requestedGenRelLevels, respLevelTarget, and
cdfFlag (used in combination with alternate ctors)

void distribution parameter derivatives (bool dist param derivs)


set distParamDerivs

bool pdf output () const


get pdfOutput

void pdf output (bool output)


set pdfOutput

Pecos::ProbabilityTransformation & variable transformation ()


return natafTransform

582

CHAPTER 13. CLASS DOCUMENTATION

Protected Member Functions


NonD (ProblemDescDB &problem db, Model &model)
constructor

NonD (unsigned short method name, Model &model)


alternate constructor for sample generation and evaluation on the fly

NonD (unsigned short method name, const RealVector &lower bnds, const RealVector &upper bnds)
alternate constructor for sample generation on the fly

NonD ()
destructor

void initialize run ()


utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance
pointers

void core run ()


void finalize run ()
utility function to perform common operations following post run(); deallocation and resetting of instance pointers

const Response & response results () const


return the final statistics from the nondeterministic iteration

void response results active set (const ActiveSet &set)


set the active set within finalStatistics

virtual void quantify uncertainty ()=0


Mapping of the core run() virtual function for the NonD branch.

virtual void initialize response covariance ()


initializes respCovariance

virtual void initialize final statistics ()


initializes finalStatistics for storing NonD final results

virtual void update final statistics ()


update finalStatistics::functionValues

int generate system seed ()


create a system-generated unique seed (when a seed is unspecified)

void initialize random variable transformation ()


instantiate natafTransform

void initialize random variable types (short u space type)


initializes ranVarTypesX and ranVarTypesU within natafTransform

void initialize random variable parameters ()


initializes ranVarMeansX, ranVarStdDevsX, ranVarLowerBndsX, ranVarUpperBndsX, and ranVarAddtlParamsX
within natafTransform

void initialize random variable correlations ()


propagate iteratedModel correlations to natafTransform

void verify correlation support ()


verify that correlation warping supported by Der Kiureghian & Liu for given variable types

void initialize final statistics gradients ()


initializes finalStatistics::functionGradients

void update aleatory final statistics ()

13.75. NOND CLASS REFERENCE

583

update finalStatistics::functionValues from momentStats and computed{Prob,Rel,GenRel,Resp}Levels

void update system final statistics ()


update system metrics from component metrics within finalStatistics

void update system final statistics gradients ()


update finalStatistics::functionGradients

void initialize distribution mappings ()


size computed{Resp,Prob,Rel,GenRel}Levels

void print distribution mappings (std::ostream &s) const


prints the z/p/beta/beta mappings reflected in {requested,computed}{Resp,Prob,Rel,GenRel}Levels

void print system mappings (std::ostream &s) const


print system series/parallel mappings for response levels

void transform model (Model &x model, Model &u model, bool global bounds=false, Real bound=10.)
recast x model from x-space to u-space to create u model

void construct lhs (Iterator &u space sampler, Model &u model, unsigned short sample type, int num samples, int seed, const String &rng, bool vary pattern, short sampling vars mode=ACTIVE)
assign a NonDLHSSampling instance within u space sampler

void archive allocate mappings ()


allocate results array storage for distribution mappings

void archive from resp (size t fn index)


archive the mappings from specified response levels for specified fn

void archive to resp (size t fn index)


archive the mappings to computed response levels for specified fn

Static Protected Member Functions


static void vars u to x mapping (const Variables &u vars, Variables &x vars)
static function for RecastModels used for forward mapping of u-space variables from NonD Iterators to x-space
variables for Model evaluations

static void vars x to u mapping (const Variables &x vars, Variables &u vars)
static function for RecastModels used for inverse mapping of x-space variables from data import to u-space variables for NonD Iterators

static void set u to x mapping (const Variables &u vars, const ActiveSet &u set, ActiveSet &x set)
static function for RecastModels used to map u-space ActiveSets from NonD Iterators to x-space ActiveSets for
Model evaluations

static void resp x to u mapping (const Variables &x vars, const Variables &u vars, const Response &x response, Response &u response)
static function for RecastModels used to map x-space responses from Model evaluations to u-space responses for
return to NonD Iterator.

Protected Attributes
NonD prevNondInstance
pointer containing previous value of nondInstance

Pecos::ProbabilityTransformation natafTransform

584

CHAPTER 13. CLASS DOCUMENTATION


Nonlinear variable transformation that encapsulates the required data for performing transformations from X ->
Z -> U and back.

size t numContDesVars
number of continuous design variables (modeled using uniform distribution for All view modes)

size t numDiscIntDesVars
number of discrete integer design variables (modeled using discrete histogram distributions for All view modes)

size t numDiscRealDesVars
number of discrete real design variables (modeled using discrete histogram distributions for All view modes)

size t numDesignVars
total number of design variables

size t numContStateVars
number of continuous state variables (modeled using uniform distribution for All view modes)

size t numDiscIntStateVars
number of discrete integer state variables (modeled using discrete histogram distributions for All view modes)

size t numDiscRealStateVars
number of discrete real state variables (modeled using discrete histogram distributions for All view modes)

size t numStateVars
total number of state variables

size t numNormalVars
number of normal uncertain variables (native space)

size t numLognormalVars
number of lognormal uncertain variables (native space)

size t numUniformVars
number of uniform uncertain variables (native space)

size t numLoguniformVars
number of loguniform uncertain variables (native space)

size t numTriangularVars
number of triangular uncertain variables (native space)

size t numExponentialVars
number of exponential uncertain variables (native space)

size t numBetaVars
number of beta uncertain variables (native space)

size t numGammaVars
number of gamma uncertain variables (native space)

size t numGumbelVars
number of gumbel uncertain variables (native space)

size t numFrechetVars
number of frechet uncertain variables (native space)

size t numWeibullVars
number of weibull uncertain variables (native space)

size t numHistogramBinVars
number of histogram bin uncertain variables (native space)

size t numPoissonVars

13.75. NOND CLASS REFERENCE

585

number of Poisson uncertain variables (native space)

size t numBinomialVars
number of binomial uncertain variables (native space)

size t numNegBinomialVars
number of negative binomial uncertain variables (native space)

size t numGeometricVars
number of geometric uncertain variables (native space)

size t numHyperGeomVars
number of hypergeometric uncertain variables (native space)

size t numHistogramPtVars
number of histogram point uncertain variables (native space)

size t numContIntervalVars
number of continuous interval uncertain variables (native space)

size t numDiscIntervalVars
number of discrete interval uncertain variables (native space)

size t numDiscSetIntUncVars
number of discrete integer set uncertain variables (native space)

size t numDiscSetRealUncVars
number of discrete real set uncertain variables (native space)

size t numContAleatUncVars
total number of aleatory uncertain variables (native space)

size t numDiscIntAleatUncVars
total number of aleatory uncertain variables (native space)

size t numDiscRealAleatUncVars
total number of aleatory uncertain variables (native space)

size t numAleatoryUncVars
total number of aleatory uncertain variables (native space)

size t numContEpistUncVars
total number of epistemic uncertain variables (native space)

size t numDiscIntEpistUncVars
total number of epistemic uncertain variables (native space)

size t numDiscRealEpistUncVars
total number of epistemic uncertain variables (native space)

size t numEpistemicUncVars
total number of epistemic uncertain variables (native space)

size t numUncertainVars
total number of uncertain variables (native space)

bool epistemicStats
flag for computing interval-type metrics instead of integrated metrics If any epistemic variables are active in a
metric evaluation, then this flag is set.

RealMatrix momentStats
moments of response functions (mean, std deviation, skewness, and kurtosis calculated in compute moments()),
indexed as (moment,fn)

586

CHAPTER 13. CLASS DOCUMENTATION


RealVectorArray requestedRespLevels
requested response levels for all response functions

RealVectorArray computedProbLevels
output probability levels for all response functions resulting from requestedRespLevels

RealVectorArray computedRelLevels
output reliability levels for all response functions resulting from requestedRespLevels

RealVectorArray computedGenRelLevels
output generalized reliability levels for all response functions resulting from requestedRespLevels

short respLevelTarget
indicates mapping of z->p (PROBABILITIES), z->beta (RELIABILITIES), or z->beta (GEN RELIABILITIES)

short respLevelTargetReduce
indicates component or system series/parallel failure metrics

RealVectorArray requestedProbLevels
requested probability levels for all response functions

RealVectorArray requestedRelLevels
requested reliability levels for all response functions

RealVectorArray requestedGenRelLevels
requested generalized reliability levels for all response functions

RealVectorArray computedRespLevels
output response levels for all response functions resulting from requestedProbLevels, requestedRelLevels, or requestedGenRelLevels

size t totalLevelRequests
total number of levels specified within requestedRespLevels, requestedProbLevels, and requestedRelLevels

bool cdfFlag
flag for type of probabilities/reliabilities used in mappings: cumulative/CDF (true) or complementary/CCDF (false)

bool pdfOutput
flag for managing output of response probability density functions (PDFs)

Response finalStatistics
final statistics from the uncertainty propagation used in strategies: response means, standard deviations, and probabilities of failure

Static Protected Attributes


static NonD nondInstance
pointer to the active object instance used within static evaluator functions in order to avoid the need for static data

Private Member Functions


void distribute levels (RealVectorArray &levels, bool ascending=true)
convenience function for distributing a vector of levels among multiple response functions if a short-hand specification is employed.

void distribution mappings file (size t fn index) const


Write distribution mappings to a file for a single response.

void print distribution map (size t fn index, std::ostream &s) const

13.75. NOND CLASS REFERENCE

587

Print distribution mapping for a single response function to ostream.

unsigned short pecos to dakota variable type (unsigned short pecos var type)
convert from Pecos To Dakota variable enumeration type for continuous aleatory uncertain variables used in variable transformations

Private Attributes
bool distParamDerivs
flags calculation of derivatives with respect to distribution parameters s within resp x to u mapping() using the
chain rule df/dx dx/ds. The default is to calculate derivatives with respect to standard random variables u using the
chain rule df/dx dx/du.

13.75.1

Detailed Description

Base class for all nondetermistic iterators (the DAKOTA/UQ branch).


The base class for nondeterministic iterators consolidates uncertain variable data and probabilistic utilities for
inherited classes.

13.75.2

Member Function Documentation

void initialize random variables ( short u space type )


initialize natafTransform based on distribution data from iteratedModel
Build ProbabilityTransformation::ranVar arrays containing the uncertain variable distribution types and their
corresponding means/standard deviations. This function is used when the Model variables are in x-space.
References NonD::initialize random variable correlations(), NonD::initialize random variable parameters(),
NonD::initialize random variable transformation(), NonD::initialize random variable types(), NonD::natafTransform,
and NonD::verify correlation support().
Referenced by NonDExpansion::compute statistics(), NonDGlobalReliability::importance sampling(), NonDLocalReliability::initialize class data(), NonDExpansion::initialize expansion(), NonDAdaptImpSampling::NonDAdaptImpSampling(), and NonDGlobalReliability::optimize gaussian process().
void initialize random variables ( const Pecos::ProbabilityTransformation & transform )
alternate form: initialize natafTransform based on incoming data
This function is commonly used to publish tranformation data when the Model variables are in a transformed
space (e.g., u-space) and ProbabilityTransformation::ranVarTypes et al. may not be generated directly. This allows
for the use of inverse transformations to return the transformed space variables to their original states.
References NonD::initialize random variable transformation(), NonD::natafTransform, NonD::numContDesVars, and NonD::numContStateVars.
void initialize run (

) [inline], [protected], [virtual]

utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance pointers
Perform initialization phases of run sequence, like allocating memory and setting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call
its nearest parents initialize run(), typically before performing its own implementation steps.
Reimplemented from Analyzer.
References Analyzer::initialize run(), NonD::nondInstance, and NonD::prevNondInstance.

588
void core run (

CHAPTER 13. CLASS DOCUMENTATION


) [inline], [protected], [virtual]

Performs a forward uncertainty propagation of parameter distributions into response statistics.


Reimplemented from Iterator.
References Analyzer::bestVarsRespMap, and NonD::quantify uncertainty().
void finalize run (

) [inline], [protected], [virtual]

utility function to perform common operations following post run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class
must call its nearest parents finalize run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
References Iterator::finalize run(), NonD::nondInstance, and NonD::prevNondInstance.
void initialize final statistics (

) [protected], [virtual]

initializes finalStatistics for storing NonD final results


Default definition of virtual function (used by sampling, reliability, and stochastic expansion methods) defines
the set of statistical results to include means, standard deviations, and level mappings.
Reimplemented in NonDInterval.
References Dakota::abort handler(), NonD::cdfFlag, Model::cv(), ActiveSet::derivative vector(), NonD::epistemicStats, NonD::finalStatistics, Response::function labels(), Model::inactive continuous variable ids(), Iterator::iteratedModel, Analyzer::numFunctions, NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonD::respLevelTarget, NonD::respLevelTargetReduce, and NonD::totalLevelRequests.
Referenced by NonDExpansion::NonDExpansion(), NonDIntegration::NonDIntegration(), NonDReliability::NonDReliability(), NonDSampling::NonDSampling(), and NonD::requested levels().
void initialize random variable types ( short u space type ) [protected]
initializes ranVarTypesX and ranVarTypesU within natafTransform
Build ProbabilityTransformation::ranVar arrays containing the uncertain variable distribution types and their
corresponding means/standard deviations. This function is used when the Model variables are in x-space.
References Dakota::abort handler(), Model::aleatory distribution parameters(), Model::cv(), Iterator::iteratedModel, NonD::natafTransform, NonD::numBetaVars, NonD::numContDesVars, NonD::numContIntervalVars, NonD::numContStateVars, NonD::numExponentialVars, NonD::numFrechetVars, NonD::numGammaVars, NonD::numGumbelVars, NonD::numHistogramBinVars, NonD::numLognormalVars, NonD::numLoguniformVars, NonD::numNormalVars, NonD::numTriangularVars, NonD::numUniformVars, and NonD::numWeibullVars.
Referenced by NonDExpansion::initialize(), NonD::initialize random variables(), NonDBayesCalibration::NonDBayesCalibration(), NonDIntegration::NonDIntegration(), and NonDReliability::NonDReliability().
void initialize random variable parameters (

) [protected]

initializes ranVarMeansX, ranVarStdDevsX, ranVarLowerBndsX, ranVarUpperBndsX, and ranVarAddtlParamsX


within natafTransform
Build ProbabilityTransformation::ranVar arrays containing the uncertain variable distribution types and their
corresponding means/standard deviations. This function is used when the Model variables are in x-space.

13.75. NOND CLASS REFERENCE

589

References Dakota::abort handler(), Model::aleatory distribution parameters(), Model::continuous lower bounds(),


Model::continuous upper bounds(), Model::cv(), Iterator::iteratedModel, NonD::natafTransform, NonD::numBetaVars, NonD::numContDesVars, NonD::numContIntervalVars, NonD::numContStateVars, NonD::numExponentialVars, NonD::numFrechetVars, NonD::numGammaVars, NonD::numGumbelVars, NonD::numHistogramBinVars,
NonD::numLognormalVars, NonD::numLoguniformVars, NonD::numNormalVars, NonD::numTriangularVars,
NonD::numUniformVars, and NonD::numWeibullVars.
Referenced by NonDExpansion::initialize expansion(), NonD::initialize random variables(), NonDLocalReliability::mean value(), NonDLocalReliability::mpp search(), NonDGlobalReliability::quantify uncertainty(), and NonDBayesCalibration::quantify uncertainty().
void print distribution mappings ( std::ostream & s ) const [protected]
prints the z/p/beta/beta mappings reflected in {requested,computed}{Resp,Prob,Rel,GenRel}Levels
Print distribution mappings, including to file per response.
References NonD::distribution mappings file(), Analyzer::numFunctions, Iterator::outputLevel, NonD::printdistribution map(), NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, and Dakota::write precision.
Referenced by NonDExpansion::print results(), NonDAdaptImpSampling::print results(), NonDGPImpSampling::print results(), NonDAdaptiveSampling::print results(), NonDPOFDarts::print results(), and NonDSampling::print statistics().
void vars u to x mapping ( const Variables & u vars, Variables & x vars ) [static], [protected]
static function for RecastModels used for forward mapping of u-space variables from NonD Iterators to x-space
variables for Model evaluations
Map the variables from iterator space (u) to simulation space (x).
References Variables::continuous variables(), Variables::continuous variables view(), NonD::natafTransform,
and NonD::nondInstance.
Referenced by NonD::transform model().
void vars x to u mapping ( const Variables & x vars, Variables & u vars ) [static], [protected]
static function for RecastModels used for inverse mapping of x-space variables from data import to u-space
variables for NonD Iterators
Map the variables from simulation space (x) to iterator space (u).
References Variables::continuous variables(), Variables::continuous variables view(), NonD::natafTransform,
and NonD::nondInstance.
Referenced by NonD::transform model().
void set u to x mapping ( const Variables & u vars, const ActiveSet & u set, ActiveSet & x set )
[static], [protected]
static function for RecastModels used to map u-space ActiveSets from NonD Iterators to x-space ActiveSets for
Model evaluations
Define the DVV for x-space derivative evaluations by augmenting the iterator requests to account for correlations.
References Dakota:: NPOS, Variables::all continuous variable ids(), Dakota::contains(), Variables::continuousvariable ids(), ActiveSet::derivative vector(), Dakota::find index(), Variables::inactive continuous variable ids(),
NonD::natafTransform, and NonD::nondInstance.
Referenced by NonD::transform model().

590

CHAPTER 13. CLASS DOCUMENTATION

void print distribution map ( size t fn index, std::ostream & s ) const [private]
Print distribution mapping for a single response function to ostream.
Print the distribution mapping for a single response function to the passed output stream
References NonD::cdfFlag, NonD::computedGenRelLevels, NonD::computedProbLevels, NonD::computedRelLevels, NonD::computedRespLevels, Iterator::iteratedModel, NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonD::respLevelTarget, Model::responselabels(), and Dakota::write precision.
Referenced by NonD::distribution mappings file(), and NonD::print distribution mappings().
The documentation for this class was generated from the following files:
DakotaNonD.hpp
DakotaNonD.cpp

13.76

NonDAdaptImpSampling Class Reference

Class for the Adaptive Importance Sampling methods within DAKOTA.


Inheritance diagram for NonDAdaptImpSampling:
Iterator
Analyzer
NonD
NonDSampling
NonDAdaptImpSampling

Public Member Functions


NonDAdaptImpSampling (ProblemDescDB &problem db, Model &model)
standard constructor

NonDAdaptImpSampling (Model &model, unsigned short sample type, int samples, int seed, const String
&rng, bool vary pattern, unsigned short is type, bool cdf flag, bool x space model, bool use model bounds)
alternate constructor for on-the-fly instantiations

NonDAdaptImpSampling ()
destructor

void init communicators ()


initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

13.76. NONDADAPTIMPSAMPLING CLASS REFERENCE

591

void quantify uncertainty ()


performs adaptive importance sampling and computes probability of failure

void print results (std::ostream &s)


print the final statistics

void initialize (const RealVectorArray &full points, bool x space data, size t resp index, Real initial prob,
Real failure threshold)
initializes data needed for importance sampling: an initial set of points around which to sample, a failure threshold,
an initial probability to refine, and flags to control transformations

void initialize (const RealMatrix &full points, bool x space data, size t resp index, Real initial prob, Real
failure threshold)
initializes data needed for importance sampling: an initial set of points around which to sample, a failure threshold,
an initial probability to refine, and flags to control transformations

void initialize (const RealVector &full point, bool x space data, size t resp index, Real initial prob, Real
failure threshold)
initializes data needed for importance sampling: an initial point around which to sample, a failure threshold, an
initial probability to refine, and flags to control transformations

Real final probability ()


returns the final probability calculated by the importance sampling

Private Member Functions


void select rep points (const RealVectorArray &var samples u, const RealVector &fn samples)
select representative points from a set of samples

void converge statistics (bool cov flag)


iteratively generate samples and select representative points until probability and (optionally) coefficient of variation converge

void generate samples (RealVectorArray &var samples u)


generate a set of samples based on multimodal sampling density

void evaluate samples (const RealVectorArray &var samples u, RealVector &fn samples)
evaluate the model at the sample points and store the responses

void calculate statistics (const RealVectorArray &var samples u, const RealVector &fn samples, size t
total samples, Real &sum prob, Real &prob, bool compute cov, Real &sum var, Real &cov)
calculate the probability of exceeding the failure threshold and the coefficent of variation (if requested)

Real distance (const RealVector &a, const RealVector &b)


compute Euclidean distance between points a and b

Real recentered density (const RealVector &sample point)


compute density between a representative point and a sample point, assuming standard normal

Private Attributes
Model uSpaceModel
importance sampling is performed in standardized probability space. This u-space model is either passed in (alternate constructor for helper AIS) or constructed using transform model() (standard constructor for stand-alone
AIS)

unsigned short importanceSamplingType


integration type (is, ais, mmais) provided by input specification

592

CHAPTER 13. CLASS DOCUMENTATION


bool initLHS
flag to identify if initial points are generated from an LHS sample

bool useModelBounds
flag to control if the sampler should respect the model bounds

bool invertProb
flag for inversion of probability values using 1.-p

int refineSamples
size of sample batch within each refinement iteration

size t respFnIndex
the active response function index in the model to be sampled

RealVector designPoint
design subset for which uncertain subset is being sampled

RealVectorArray initPointsU
the original set of u-space samples passed in initialize()

RealVectorArray repPointsU
the set of representative points in u-space around which to sample

RealVector repWeights
the weight associated with each representative point

Real probEstimate
the probability estimate that is iteratively refined by importance sampling

Real failThresh
the failure threshold (z-bar) for the problem.

Additional Inherited Members


13.76.1

Detailed Description

Class for the Adaptive Importance Sampling methods within DAKOTA.


The NonDAdaptImpSampling implements the multi-modal adaptive importance sampling used for reliability
calculations. (eventually we will want to broaden this). Need to add more detail to this description.

13.76.2

Constructor & Destructor Documentation

NonDAdaptImpSampling ( ProblemDescDB & problem db, Model & model )


standard constructor
This is the primary constructor. It accepts a Model reference. It will perform refinement for all response QOI
and all probability levels.
References NonD::initialize random variables(), Iterator::iteratedModel, NonDSampling::numSamples, NonDAdaptImpSampling::refineSamples, NonDSampling::statsFlag, NonD::transform model(), NonDAdaptImpSampling::useModelBounds, and NonDAdaptImpSampling::uSpaceModel.

13.76. NONDADAPTIMPSAMPLING CLASS REFERENCE

593

NonDAdaptImpSampling ( Model & model, unsigned short sample type, int refine samples, int
refine seed, const String & rng, bool vary pattern, unsigned short is type, bool cdf flag, bool
x space model, bool use model bounds )
alternate constructor for on-the-fly instantiations
This is an alternate constructor for instantiations on the fly using a Model but no ProblemDescDB. It will
perform refinement for one response QOI and one probability level (passed in initialize()).
References NonD::cdfFlag, Iterator::maxEvalConcurrency, NonDAdaptImpSampling::refineSamples, NonD::transform model(), NonDAdaptImpSampling::useModelBounds, and NonDAdaptImpSampling::uSpaceModel.

13.76.3

Member Function Documentation

void initialize ( const RealVectorArray & acv points, bool x space data, size t resp index, Real
initial prob, Real failure threshold )
initializes data needed for importance sampling: an initial set of points around which to sample, a failure threshold,
an initial probability to refine, and flags to control transformations
Initializes data using a vector array of starting points.
References NonDAdaptImpSampling::designPoint, NonDAdaptImpSampling::failThresh, NonDAdaptImpSampling::initPointsU, NonDAdaptImpSampling::invertProb, NonD::natafTransform, NonD::numContDesVars,
NonD::numUncertainVars, NonDAdaptImpSampling::probEstimate, and NonDAdaptImpSampling::respFnIndex.
Referenced by NonDExpansion::compute statistics(), NonDGlobalReliability::importance sampling(), and NonDAdaptImpSampling::quantify uncertainty().
void initialize ( const RealMatrix & acv points, bool x space data, size t resp index, Real initial prob,
Real failure threshold )
initializes data needed for importance sampling: an initial set of points around which to sample, a failure threshold,
an initial probability to refine, and flags to control transformations
Initializes data using a matrix of starting points.
References NonDAdaptImpSampling::designPoint, NonDAdaptImpSampling::failThresh, NonDAdaptImpSampling::initPointsU, NonDAdaptImpSampling::invertProb, NonD::natafTransform, NonD::numContDesVars,
Analyzer::numContinuousVars, NonD::numUncertainVars, NonDAdaptImpSampling::probEstimate, and NonDAdaptImpSampling::respFnIndex.
void initialize ( const RealVector & acv point, bool x space data, size t resp index, Real initial prob, Real
failure threshold )
initializes data needed for importance sampling: an initial point around which to sample, a failure threshold, an
initial probability to refine, and flags to control transformations
Initializes data using only one starting point.
References NonDAdaptImpSampling::designPoint, NonDAdaptImpSampling::failThresh, NonDAdaptImpSampling::initPointsU, NonDAdaptImpSampling::invertProb, NonD::natafTransform, NonD::numContDesVars,
NonD::numUncertainVars, NonDAdaptImpSampling::probEstimate, and NonDAdaptImpSampling::respFnIndex.
The documentation for this class was generated from the following files:
NonDAdaptImpSampling.hpp
NonDAdaptImpSampling.cpp

594

CHAPTER 13. CLASS DOCUMENTATION

13.77

NonDAdaptiveSampling Class Reference

Class for testing various Adaptively sampling methods using geometric, statisctical, and topological information
of the surrogate.
Inheritance diagram for NonDAdaptiveSampling:
Iterator
Analyzer
NonD
NonDSampling
NonDAdaptiveSampling

Public Member Functions


NonDAdaptiveSampling (ProblemDescDB &problem db, Model &model)
standard constructor

NonDAdaptiveSampling ()
alternate constructor for sample generation and evaluation on the fly has not been implemented

Protected Member Functions


void init communicators ()
initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void quantify uncertainty ()


perform the GP importance sampling and return probability of failure.

Real final probability ()


returns the probability calculated by the importance sampling

void print results (std::ostream &s)


print the final statistics

Private Member Functions


void calc score alm ()
Function to compute the ALM scores for the candidate points ALM score is the variance computed by the surrogate
at the point.

void calc score delta x ()

13.77. NONDADAPTIVESAMPLING CLASS REFERENCE

595

Function to compute the Distance scores for the candidate points Distance score is the shortest distance between
the candidate and an existing training point.

void calc score delta y ()


Function to compute the Gradient scores for the candidate points Gradient score is the function value difference
between a candidates surrogate response and its nearest evaluated true response from the training set.

void calc score topo bottleneck ()


Function to compute the Bottleneck scores for the candidate points Bottleneck score is computed by determining the
bottleneck distance between the persistence diagrams of two approximate Morse-Smale complices. The complices
used include one built from only the training data, and another built from the training data and the single candidate.

void calc score topo avg persistence (int respFnCount)


Function to compute the Average Change in Persistence scores for the candidate points Avg Persistence score
is computed as the average change in persistence each point undergoes between two approximate Morse-Smale
complices. The complices used include one built from only the training data, and another built from the training
data and the single candidate.

void calc score topo highest persistence (int respFnCount)


Function to compute the Highest Persistence scores for the candidate points Highest Persistence score is calculated
as a ranking of a set of candidates by constructing an approximate Morse-Smale complex over the entire set of
candidates, using their surrogate responses, and the training data, using their true responses, and ranking points
based on the most topological significance as measured by their persistence values. In the case where there are no
topologically significant points, the point will be chosen randomly TODO: It may be wiser to fall back to a scheme
that ranks points based on proximity to extrema, or the most significant extream?

void calc score topo alm hybrid (int respFnCount)


Function to comptue the Hybrid scores for the candidate points Hybrid score is computed the same as Avg Persistence score except that instead of computing one score, three scores are computing not only a mean surface,
but a mean +/- std. dev. surfaces and then averaging the three separate scores. The hope is that you strike a
balance between selecting points in topologically important areas and areas of high uncertainty.

Real calc score alm (int respFnCount, RealVector &test point)


Same as the otehr function of the same name, only this allows the user to specify the location of the candidate.

Real calc score delta x (int respFnCount, RealVector &test point)


Same as the otehr function of the same name, only this allows the user to specify the location of the candidate.

Real calc score delta y (int respFnCount, RealVector &test point)


Same as the otehr function of the same name, only this allows the user to specify the location of the candidate.

Real calc score topo bottleneck (int respFnCount, RealVector &test point)
Same as the otehr function of the same name, only this allows the user to specify the location of the candidate.

Real calc score topo avg persistence (int respFnCount, RealVector &test point)
Same as the otehr function of the same name, only this allows the user to specify the location of the candidate.

Real calc score topo alm hybrid (int respFnCount, RealVector &test point)
Same as the otehr function of the same name, only this allows the user to specify the location of the candidate.

Real compute rmspe ()


Using the validationSet, compute the RMSE over the surface.

void compare complices (int dim, std::ostream &output)


Using the validationSet, compute the approximate Morse-Smale complices of the true model over the validationSet
as well as the surrogate model over the validationSet, and output some topological comparisons.

void parse options ()


Parse misc options specified in a user input deck.

RealVectorArray drawNewX (int this k, int respFnCount=0)

596

CHAPTER 13. CLASS DOCUMENTATION


function to pick the next X value to be evaluated by the Iterated model

void output round data (int round, int respFnCount=0)


Temporary function for dumping validation data to output files to be visualized in TopoAS.

void update amsc (int respFnCount=0)


Update the approximate Morse-Smale complex based on the training points and selected candidates. Uses surrogate function responses.

void construct fsu sampler (Iterator &u space sampler, Model &u model, int num samples, int seed, unsigned short sample type)
Copy of construct lhs only it allows for the construction of FSU sample designs. This can break the fsu cvt, so it is
not used at the moment, and these designs only affect the initial sample build not the candidate sets constructed at
each round.

void output for optimization (int dim)


This function will write an input deck for a multi-start global optimization run of DAKOTA by extracting all of the
local minima off the approximate Morse-Smale complex created from the validation set of the surrogate model.

Real median (const RealVector &sorted data)


compute the median of the sorted values passed in

void pick new candidates ()


Pick new candidates from Emulator.

void score new candidates ()


Score New candidates based on the chosen metrics.

Private Attributes
Iterator gpBuild
LHS iterator for building the initial GP.

Iterator gpEval
LHS iterator for sampling on the GP.

Iterator gpFinalEval
LHS iterator for sampling on the final GP.

Model gpModel
GP model of response, one approximation per response function.

int numRounds
the number of rounds of additions of size batchSize to add to the original set of LHS samples

int numPtsTotal
the total number of points

int numEmulEval
the number of points evaluated by the GP each iteration

int numFinalEmulEval
number of points evaluated on the final GP

int scoringMethod
the type of scoring metric to use for sampling

Real finalProb
the final calculated probability (p)

RealVectorArray gpCvars

13.77. NONDADAPTIVESAMPLING CLASS REFERENCE

597

Vector to hold the current values of the current sample inputs on the GP.

RealVectorArray gpMeans
Vector to hold the current values of the current mean estimates for the sample values on the GP.

RealVectorArray gpVar
Vector to hold the current values of the current variance estimates for the sample values on the GP.

RealVector emulEvalScores
Vector to hold the scored values for the current GP samples.

RealVector predictionErrors
Vector to hold the RMSE after each round of adaptively fitting the model.

RealVectorArray validationSet
Validation point set used to determine predictionErrors above.

RealVector yTrue
True function responses at the values corresponding to validationSet.

RealVector yModel
Surrogate function responses at the values corresponding to validationSet.

int validationSetSize
Number of points used in the validationSet.

int batchSize
Number of points to add each round, default = 1.

String batchStrategy
String describing the tpye of batch addition to use. Allowable values are naive, distance, topology.

String outputDir
Temporary string for dumping validation files used in TopoAS visualization.

String scoringMetric
String describing the method for scoring candidate points. Options are: alm, distance, gradient, highest persistence,
avg persistence, bottleneck, alm topo hybrid Note: alm and alm topo hybrid will fail when used with surrogates
other than global kriging as it is based on the variance of the surrogate. At the time of implementation, global kriging is the only surrogate capable of yielding this information.

unsigned short sampleDesign


enum describing the initial sample design. Options are: RANDOM SAMPLING, FSU CVT, FSU HALTON, FSUHAMMERSLEY

String approx type


String describing type of surrogate is used to fit the data. Options are: global kriging, global mars, global neuralnetwork, global polynomial, globabl moving least squares, global radial basis.

MS Complex AMSC
The approximate Morse-Smale complex data structure.

int numKneighbors
The number of approximate nearest neighbors to use in computing the AMSC.

bool outputValidationData
Temporary variable for toggling writing of data files to be used by TopoAS.

598

CHAPTER 13. CLASS DOCUMENTATION

Additional Inherited Members


13.77.1

Detailed Description

Class for testing various Adaptively sampling methods using geometric, statisctical, and topological information
of the surrogate.
NonDAdaptiveSampling implements an adaptive sampling method based on the work presented in Adaptive
Sampling with Topological Scores by Dan Maljovec, Bei Wang, Ana Kupresanin, Gardar Johannesson, Valerio
Pascucci, and Peer-Timo Bremer presented in IJUQ (insert issue). The method computes scores based on the
topology of the known data and the topology of the surrogate model. A number of alternate adaption strategies
are offered as well.

13.77.2

Constructor & Destructor Documentation

NonDAdaptiveSampling ( ProblemDescDB & problem db, Model & model )


standard constructor
This constructor is called for a standard letter-envelope iterator

instantiation. In this case, set db list nodes has been called and probDescDB can be queried for settings from the
method specification.
References NonDAdaptiveSampling::AMSC, NonDAdaptiveSampling::approx type, Iterator::assign rep(), Model::assign rep(), NonDAdaptiveSampling::batchSize, NonDAdaptiveSampling::batchStrategy, NonDAdaptiveSampling::construct fsu sampler(), NonD::construct lhs(), ProblemDescDB::get bool(), ProblemDescDB::get int(), ProblemDescDB::get sa(), ProblemDescDB::get string(), NonDAdaptiveSampling::gpBuild, NonDAdaptiveSampling::gpEval, NonDAdaptiveSampling::gpFinalEval, NonDAdaptiveSampling::gpModel, Model::gradient type(), Model::hessian type(), Iterator::iteratedModel, Iterator::maxIterations, NonDAdaptiveSampling::numEmulEval, NonDAdaptiveSampling::numFinalEmulEval, NonDAdaptiveSampling::numKneighbors, NonDAdaptiveSampling::numRounds, NonDSampling::numSamples, NonDAdaptiveSampling::outputDir, Iterator::outputLevel, NonDAdaptiveSampling::outputValidationData, NonDAdaptiveSampling::parse options(), Iterator::probDescDB, NonDSampling::randomSeed, NonDSampling::rngName, NonDAdaptiveSampling::sampleDesign, NonDAdaptiveSampling::scoringMetric, NonDSampling::vary pattern(), and NonDSampling::varyPattern.
NonDAdaptiveSampling (

alternate constructor for sample generation and evaluation on the fly has not been implemented
destructor
The documentation for this class was generated from the following files:
NonDAdaptiveSampling.hpp
NonDAdaptiveSampling.cpp

13.78

NonDBayesCalibration Class Reference

Base class for Bayesian inference: generates posterior distribution on model parameters given experimental data.
Inheritance diagram for NonDBayesCalibration:

13.78. NONDBAYESCALIBRATION CLASS REFERENCE

599

Iterator
Analyzer
NonD
NonDCalibration
NonDBayesCalibration
NonDDREAMBayesCalibration

NonDGPMSABayesCalibration

NonDQUESOBayesCalibration

Public Member Functions


NonDBayesCalibration (ProblemDescDB &problem db, Model &model)
standard constructor

NonDBayesCalibration ()
destructor

Protected Member Functions


void init communicators ()
initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void quantify uncertainty ()


Mapping of the core run() virtual function for the NonD branch.

const Model & algorithm space model () const

Protected Attributes
Model emulatorModel
Model instance employed in the likelihood function; provides response function values from Gaussian processes,
stochastic expansions (PCE/SC), or direct access to simulations (no surrogate option)

bool standardizedSpace
flag indicating use of a variable transformation to standardized probability space

Iterator stochExpIterator
NonDPolynomialChaos or NonDStochCollocation instance for defining a PCE/SC-based emulatorModel.

Iterator lhsIterator
LHS iterator for generating samples for GP.

600

CHAPTER 13. CLASS DOCUMENTATION

Private Attributes
short emulatorType
the emulator type: NO EMULATOR, GP EMULATOR, PCE EMULATOR, or SC EMULATOR

Additional Inherited Members


13.78.1

Detailed Description

Base class for Bayesian inference: generates posterior distribution on model parameters given experimental data.
This class will eventually provide a general-purpose framework for Bayesian inference. In the short term, it
only collects shared code between QUESO and GPMSA implementations.

13.78.2

Constructor & Destructor Documentation

NonDBayesCalibration ( ProblemDescDB & problem db, Model & model )


standard constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification.
References Iterator::algorithm space model(), Iterator::assign rep(), Model::assign rep(), NonD::cdfFlag, NonDBayesCalibration::emulatorModel, NonDBayesCalibration::emulatorType, ProblemDescDB::get bool(), ProblemDescDB::get int(), ProblemDescDB::get short(), ProblemDescDB::get string(), ProblemDescDB::get usa(), Model::gradient type(), Model::hessian type(), NonD::initialize random variable correlations(), NonD::initialize randomvariable transformation(), NonD::initialize random variable types(), Iterator::iteratedModel, Iterator::iterator rep(), NonDBayesCalibration::lhsIterator, Iterator::maxEvalConcurrency, Iterator::outputLevel, Iterator::probDescDB, NonD::requested levels(), NonD::respLevelTarget, NonD::respLevelTargetReduce, NonDBayesCalibration::standardizedSpace, NonDBayesCalibration::stochExpIterator, NonD::transform model(), and NonD::verify correlationsupport().

13.78.3

Member Function Documentation

const Model & algorithm space model (

) const [inline], [protected], [virtual]

default definition that gets redefined in selected derived Minimizers


Reimplemented from Analyzer.
References NonDBayesCalibration::emulatorModel.
The documentation for this class was generated from the following files:
NonDBayesCalibration.hpp
NonDBayesCalibration.cpp

13.79

NonDCalibration Class Reference

Inheritance diagram for NonDCalibration:

13.79. NONDCALIBRATION CLASS REFERENCE

601

Iterator
Analyzer
NonD
NonDCalibration
NonDBayesCalibration
NonDDREAMBayesCalibration

NonDGPMSABayesCalibration

NonDQUESOBayesCalibration

Public Member Functions


NonDCalibration (ProblemDescDB &problem db, Model &model)
standard constructor

NonDCalibration ()
destructor

Protected Member Functions


void set configuration vars (Model &model, const RealVector &x)
set the passed configuration variables into the models state vars

Protected Attributes
RealVector expStdDeviations
1 or numFunctions standard deviations

String expDataFileName
filename from which to read experimental data; optionally configuration vars x and standard deviations sigma

bool expDataFileAnnotated
whether the data file is in annotated format

size t numExperiments
number of experiments to read from data file

IntVector numReplicates
number of replicates per experiment

size t numExpConfigVars
number of columns in data file which are state variables

size t numExpStdDeviationsRead
how many sigmas to read from the data file (1 or numFunctions)

ExperimentData expData
Container for experimental data to which to calibrate model.

602

CHAPTER 13. CLASS DOCUMENTATION

Private Member Functions


bool find state index (unsigned short state type, UShortMultiArrayConstView variable types, std::string
context message, size t &start index)
helper function to lookup a state type enum variable type in the array of variables types to find its start index into
the all array

Private Attributes
size t continuousConfigVars
number of continuous configuration variables

size t discreteIntConfigVars
number of discrete integer configuration variables

size t discreteRealConfigVars
number of discrete real configuration variables

size t continuousConfigStart
index of configuration variables in all continuous array

size t discreteIntConfigStart
index of configuration variables in all discrete integer array

size t discreteRealConfigStart
index of configuration variables in all discrete real array

Additional Inherited Members


13.79.1

Detailed Description

This class ...

13.79.2

Constructor & Destructor Documentation

NonDCalibration ( ProblemDescDB & problem db, Model & model )


standard constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification.
References Dakota::abort handler(), Model::all continuous variable types(), Model::all discrete int variabletypes(), Model::all discrete real variable types(), NonDCalibration::continuousConfigStart, NonDCalibration::continuousConfigVars, NonDCalibration::discreteIntConfigStart, NonDCalibration::discreteIntConfigVars, NonDCalibration::discreteRealConfigStart, NonDCalibration::discreteRealConfigVars, NonDCalibration::expDataFileName, NonDCalibration::expStdDeviations, NonDCalibration::find state index(), ProblemDescDB::get sizet(),
Iterator::iteratedModel, NonDCalibration::numExpConfigVars, NonDCalibration::numExperiments, Analyzer::numFunctions, NonDCalibration::numReplicates, and Iterator::probDescDB.
The documentation for this class was generated from the following files:
NonDCalibration.hpp
NonDCalibration.cpp

13.80. NONDCUBATURE CLASS REFERENCE

13.80

603

NonDCubature Class Reference

Derived nondeterministic class that generates N-dimensional numerical cubature points for evaluation of expectation integrals.
Inheritance diagram for NonDCubature:
Iterator
Analyzer
NonD
NonDIntegration
NonDCubature

Public Member Functions


NonDCubature (Model &model, const Pecos::ShortArray &u types, unsigned short cub int order)
unsigned short integrand order () const
return cubIntOrder

Protected Member Functions


NonDCubature (ProblemDescDB &problem db, Model &model)
constructor

NonDCubature ()
destructor

void initialize grid (const std::vector< Pecos::BasisPolynomial > &poly basis)


initialize integration grid by drawing from polynomial basis settings

void get parameter sets (Model &model)


Returns one block of samples (ndim num samples)

void sampling reset (int min samples, bool all data flag, bool stats flag)
void increment grid ()
increment SSG level/TPQ order

void increment grid preference (const RealVector &dim pref)


int num samples () const

Private Member Functions


void check integration (const Pecos::ShortArray &u types, const Pecos::AleatoryDistParams &adp)
verify self-consistency of integration specification

void increment reference ()


increment each cubIntOrderRef entry by 1

604

CHAPTER 13. CLASS DOCUMENTATION

Private Attributes
Pecos::CubatureDriver cubDriver
convenience pointer to the numIntDriver representation

unsigned short cubIntOrderRef


reference point for Pecos::CubatureDriver::cubIntOrder: the original user specification for the number of Gauss
points per dimension, plus any refinements posted by increment grid()

unsigned short cubIntRule


the isotropic cubature integration rule

Additional Inherited Members


13.80.1

Detailed Description

Derived nondeterministic class that generates N-dimensional numerical cubature points for evaluation of expectation integrals.
This class is used by NonDPolynomialChaos, but could also be used for general numerical integration of
moments. It employs Stroud cubature rules and extensions by D. Xiu.

13.80.2

Constructor & Destructor Documentation

NonDCubature ( Model & model, const Pecos::ShortArray & u types, unsigned short cub int order )
This alternate constructor is used for on-the-fly generation and evaluation of numerical cubature points.
References Model::aleatory distribution parameters(), NonDCubature::check integration(), NonDCubature::cubDriver, NonDCubature::cubIntOrderRef, Iterator::iteratedModel, and NonDIntegration::numIntDriver.
NonDCubature ( ProblemDescDB & problem db, Model & model ) [protected]
constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification. It is not currently
used, as there is not yet a separate nond cubature method specification.
References Model::aleatory distribution parameters(), NonDCubature::check integration(), NonDIntegration::check variables(), NonDCubature::cubDriver, NonDCubature::cubIntOrderRef, NonDCubature::cubIntRule, Iterator::iteratedModel, Iterator::maxEvalConcurrency, NonD::natafTransform, and NonDIntegration::numIntDriver.

13.80.3

Member Function Documentation

void sampling reset ( int min samples, bool all data flag, bool stats flag ) [protected], [virtual]
used by DataFitSurrModel::build global() to publish the minimum number of points needed from the cubature
routine in order to build a particular global approximation.
Reimplemented from Iterator.
References NonDCubature::cubDriver, and NonDCubature::cubIntOrderRef.

13.81. NONDDREAMBAYESCALIBRATION CLASS REFERENCE

605

void increment grid preference ( const RealVector & dim pref ) [inline], [protected],
[virtual]
Should not be used, but pure virtual must be defined.
Reimplemented from NonDIntegration.
References NonDCubature::increment grid().
int num samples (

) const [inline], [protected], [virtual]

Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References NonDCubature::cubDriver.
void increment reference (

) [inline], [private]

increment each cubIntOrderRef entry by 1


cubIntOrderRef is a reference point for CubatureDriver::cubIntOrder, e.g., a lower bound
References NonDCubature::cubIntOrderRef.
Referenced by NonDCubature::increment grid().
The documentation for this class was generated from the following files:
NonDCubature.hpp
NonDCubature.cpp

13.81

NonDDREAMBayesCalibration Class Reference

Bayesian inference using the DREAM approach.


Inheritance diagram for NonDDREAMBayesCalibration:
Iterator
Analyzer
NonD
NonDCalibration
NonDBayesCalibration
NonDDREAMBayesCalibration

Public Member Functions


NonDDREAMBayesCalibration (ProblemDescDB &problem db, Model &model)
standard constructor

606

CHAPTER 13. CLASS DOCUMENTATION


NonDDREAMBayesCalibration ()
destructor

Static Public Member Functions


static void problem size (int &chain num, int &cr num, int &gen num, int &pair num, int &par num)
initializer for problem size characteristics in DREAM

static void problem value (std::string chain filename, std::string gr filename, double &gr threshold, int
&jumpstep, double limits[ ], int par num, int &printstep, std::string restart read filename, std::string restartwrite filename)
Filename and data initializer for DREAM.

static double prior density (int par num, double zp[ ])


Compute the prior density at specified point zp.

static double prior sample (int par num)


Sample the prior and return an array of parameter values.

static double sample likelihood (int par num, double zp[ ])


Likelihood function for call-back from DREAM to DAKOTA for evaluation.

Protected Member Functions


void quantify uncertainty ()
redefined from DakotaNonD

Protected Attributes
Real likelihoodScale
scale factor for proposal covariance

int numSamples
number of samples in the chain (e.g. number of MCMC samples)

bool calibrateSigmaFlag
flag to indicate if the sigma terms should be calibrated (default true)

int randomSeed
random seed to pass to QUESO

RealVector paramMins
lower bounds on calibrated parameters

RealVector paramMaxs
upper bounds on calibrated parameters

int numChains
number of concurrent chains

int numGenerations
number of generations

int numCR
number of CR-factors

int crossoverChainPairs
number of crossover chain pairs

13.81. NONDDREAMBAYESCALIBRATION CLASS REFERENCE

607

Real grThreshold
threshold for the Gelmin-Rubin statistic

int jumpStep
how often to perform a long jump in generations

std::vector< boost::math::uniform > priorDistributions


uniform prior PDFs for each variable

boost::mt19937 rnumGenerator
random number engine for sampling the prior

std::vector
< boost::uniform real< double > > priorSamplers
samplers for the uniform prior PDFs for each variable

Private Attributes
short emulatorType
the emulator type: NO EMULATOR, GP EMULATOR, PCE EMULATOR, or SC EMULATOR

Static Private Attributes


static NonDDREAMBayesCalibration NonDDREAMInstance
Pointer to current class instance for use in static callback functions.

Additional Inherited Members


13.81.1

Detailed Description

Bayesian inference using the DREAM approach.


This class performed Bayesian calibration using the DREAM (Markov Chain Monte Carlo acceleration by
Differential Evolution) implementation of John Burkhardt (FSU), adapted from that of Guannan Zhang (ORNL)

13.81.2

Constructor & Destructor Documentation

NonDDREAMBayesCalibration ( ProblemDescDB & problem db, Model & model )


standard constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification.
References NonDDREAMBayesCalibration::crossoverChainPairs, NonDDREAMBayesCalibration::grThreshold,
NonDDREAMBayesCalibration::jumpStep, NonDDREAMBayesCalibration::numChains, NonDDREAMBayesCalibration::numCR, NonDDREAMBayesCalibration::numGenerations, and NonDDREAMBayesCalibration::numSamples.

13.81.3

Member Function Documentation

void problem size ( int & chain num, int & cr num, int & gen num, int & pair num, int & par num )
[static]
initializer for problem size characteristics in DREAM
See documentation in DREAM examples)

608

CHAPTER 13. CLASS DOCUMENTATION

References NonDDREAMBayesCalibration::crossoverChainPairs, NonDDREAMBayesCalibration::NonDDREAMInstance, NonDDREAMBayesCalibration::numChains, Analyzer::numContinuousVars, NonDDREAMBayesCalibration::numCR, and NonDDREAMBayesCalibration::numGenerations.


void problem value ( std::string chain filename, std::string gr filename, double & gr threshold, int &
jumpstep, double limits[ ], int par num, int & printstep, std::string restart read filename, std::string
restart write filename ) [static]
Filename and data initializer for DREAM.
See documentation in DREAM examples)
References NonDDREAMBayesCalibration::grThreshold, NonDDREAMBayesCalibration::jumpStep, NonDDREAMBayesCalibration::NonDDREAMInstance, NonDDREAMBayesCalibration::numChains, NonDDREAMBayesCalibration::paramMaxs, and NonDDREAMBayesCalibration::paramMins.
double prior density ( int par num, double zp[ ] ) [static]
Compute the prior density at specified point zp.
See documentation in DREAM examples)
References NonDDREAMBayesCalibration::NonDDREAMInstance, and NonDDREAMBayesCalibration::priorDistributions.
double prior sample ( int par num ) [static]
Sample the prior and return an array of parameter values.
See documentation in DREAM examples)
References NonDDREAMBayesCalibration::NonDDREAMInstance, NonDDREAMBayesCalibration::priorSamplers, and NonDDREAMBayesCalibration::rnumGenerator.
double sample likelihood ( int par num, double zp[ ] ) [static]
Likelihood function for call-back from DREAM to DAKOTA for evaluation.
Static callback function to evaluate the likelihood
References NonDDREAMBayesCalibration::calibrateSigmaFlag, Model::compute response(), Model::continuousvariables(), Model::current response(), NonDBayesCalibration::emulatorModel, NonDDREAMBayesCalibration::emulatorType, NonDCalibration::expData, Response::function values(), NonDDREAMBayesCalibration::likelihoodScale, NonDDREAMBayesCalibration::NonDDREAMInstance, Analyzer::numContinuousVars, NonDCalibration::numExperiments, Analyzer::numFunctions, NonDCalibration::numReplicates, Iterator::outputLevel, ExperimentData::scalar data(), and ExperimentData::scalar sigma().
void quantify uncertainty (

) [protected], [virtual]

redefined from DakotaNonD


Perform the uncertainty quantification
Reimplemented from NonDBayesCalibration.
References NonDDREAMBayesCalibration::calibrateSigmaFlag, Model::continuous lower bounds(), Model::continuous upper bounds(), Model::continuous variables(), NonDBayesCalibration::emulatorModel, NonDDREAMBayesCalibration::emulatorType, NonDCalibration::expData, NonDCalibration::expDataFileAnnotated, NonDCalibration::expDataFileName, NonD::generate system seed(), Iterator::iterator rep(), ExperimentData::load scalar(), NonDDREAMBayesCalibration::NonDDREAMInstance, Analyzer::numContinuousVars, NonDCalibration::numExpConfigVars, NonDCalibration::numExperiments, NonDCalibration::numExpStdDeviationsRead, Analyzer::numFunctions, NonDCalibration::numReplicates, NonDDREAMBayesCalibration::numSamples, Iterator::output-

13.82. NONDEXPANSION CLASS REFERENCE

609

Level, NonDDREAMBayesCalibration::paramMaxs, NonDDREAMBayesCalibration::paramMins, NonDDREAMBayesCalibration::priorDistributions, NonDDREAMBayesCalibration::priorSamplers, NonDBayesCalibration::quantify uncertainty(), NonDDREAMBayesCalibration::randomSeed, NonDDREAMBayesCalibration::rnumGenerator, ExperimentData::scalar sigma(), NonDBayesCalibration::standardizedSpace, and NonDBayesCalibration::stochExpIterator.

13.81.4

Member Data Documentation

Real likelihoodScale [protected]


scale factor for proposal covariance
scale factor for likelihood
Referenced by NonDDREAMBayesCalibration::sample likelihood().
The documentation for this class was generated from the following files:
NonDDREAMBayesCalibration.hpp
NonDDREAMBayesCalibration.cpp

13.82

NonDExpansion Class Reference

Base class for polynomial chaos expansions (PCE) and stochastic collocation (SC)
Inheritance diagram for NonDExpansion:
Iterator
Analyzer
NonD
NonDExpansion
NonDPolynomialChaos

NonDStochCollocation

Public Member Functions


NonDExpansion (ProblemDescDB &problem db, Model &model)
standard constructor

NonDExpansion (unsigned short method name, Model &model, short exp coeffs approach, short u spacetype, bool piecewise basis, bool use derivs)
alternate constructor

NonDExpansion ()
destructor

void init communicators ()


initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

610

CHAPTER 13. CLASS DOCUMENTATION


void free communicators ()
free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void quantify uncertainty ()


perform a forward uncertainty propagation using PCE/SC methods

void print results (std::ostream &s)


print the final statistics

const Model & algorithm space model () const

Protected Member Functions


virtual void resolve inputs (short &u space type, short &data order)
perform error checks and mode overrides

virtual void initialize u space model ()


initialize uSpaceModel polynomial approximations with PCE/SC data

virtual void initialize expansion ()


initialize random variable definitions and final stats arrays

virtual void compute expansion ()


form the expansion by calling uSpaceModel.build approximation()

virtual void increment order ()


uniformly increment the expansion order (PCE only)

virtual void increment specification sequence ()


increment the input specification sequence (PCE only)

virtual void update expansion ()


update an expansion; avoids overhead in compute expansion()

virtual void print coefficients (std::ostream &s)


print expansion coefficients, as supported by derived instance

virtual void archive coefficients ()


archive expansion coefficients, as supported by derived instance

virtual Real compute covariance metric ()


compute 2-norm of change in response covariance

virtual Real compute final statistics metric ()


compute 2-norm of change in final statistics

void initialize response covariance ()


set covarianceControl defaults and shape respCovariance

void update final statistics ()


update function values within finalStatistics

void update final statistics gradients ()


update function gradients within finalStatistics

void initialize (short u space type)


common constructor code for initialization of natafTransform

void refine expansion ()


refine the reference expansion found by compute expansion() using uniform/adaptive p-/h-refinement strategies

void construct cubature (Iterator &u space sampler, Model &g u model, unsigned short cub int order)

13.82. NONDEXPANSION CLASS REFERENCE

611

assign a NonDCubature instance within u space sampler

void construct quadrature (Iterator &u space sampler, Model &g u model, const UShortArray &quad order seq, const RealVector &dim pref)
assign a NonDQuadrature instance within u space sampler based on a quad order specification

void construct quadrature (Iterator &u space sampler, Model &g u model, int filtered samples, const RealVector &dim pref)
assign a NonDQuadrature instance within u space sampler that generates a filtered tensor product sample set

void construct quadrature (Iterator &u space sampler, Model &g u model, int random samples, int seed,
const UShortArray &quad order seq, const RealVector &dim pref)
assign a NonDQuadrature instance within u space sampler that samples randomly from a tensor product multiindex

void construct sparse grid (Iterator &u space sampler, Model &g u model, const UShortArray &ssg levelseq, const RealVector &ssg dim pref)
assign a NonDSparseGrid instance within u space sampler

void construct expansion sampler ()


construct the expansionSampler operating on uSpaceModel

void compute statistics ()


calculate analytic and numerical statistics from the expansion

void archive moments ()


archive the central moments (numerical and expansion) to ResultsDB

Protected Attributes
Model uSpaceModel
Model representing the approximate response function in u-space, after u-space recasting and orthogonal polynomial data fit recursions.

short expansionCoeffsApproach
method for collocation point generation and subsequent calculation of the expansion coefficients

short expansionBasisType
type of expansion basis: DEFAULT BASIS or Pecos::{NODAL,HIERARCHICAL} INTERPOLANT for SC or
Pecos::{TENSOR PRODUCT,TOTAL ORDER,ADAPTED} BASIS for PCE regression

size t numUncertainQuant
number of invocations of quantify uncertainty()

int numSamplesOnModel
number of truth samples performed on g u model to form the expansion

int numSamplesOnExpansion
number of approximation samples performed on the polynomial expansion in order to estimate probabilities

bool nestedRules
flag for indicating state of nested and non nested overrides of default rule nesting, which depends on the type
of integration driver

bool piecewiseBasis
flag for piecewise specification, indicating usage of local basis polynomials within the stochastic expansion

bool useDerivs
flag for use derivatives specification, indicating usage of derivative data (with respect to expansion variables) to enhance the calculation of the stochastic expansion.

612

CHAPTER 13. CLASS DOCUMENTATION


short refineType
refinement type: NO REFINEMENT, P REFINEMENT, or H REFINEMENT

short refineControl
refinement control: NO CONTROL, UNIFORM CONTROL, LOCAL ADAPTIVE CONTROL, DIMENSION ADAPTIVE CONTROL SOBOL, DIMENSION ADAPTIVE CONTROL DECAY, or DIMENSION ADAPTIVE CONTROL GENERALIZED

RealSymMatrix respCovariance
symmetric matrix of analytic response covariance (full response covariance option)

RealVector respVariance
vector of response variances (diagonal response covariance option)

RealVector initialPtU
stores the initial variables data in u-space

Private Member Functions


void reduce total sobol sets (RealVector &avg sobol)
compute average of total Sobol indices (from VBD) across the response set for use as an anisotropy indicator

void reduce decay rate sets (RealVector &min decay)


compute minimum of spectral coefficient decay rates across the response set for use as an anisotropy indicator

void initialize sets ()


initialization of adaptive refinement using generalized sparse grids

Real increment sets ()


perform an adaptive refinement increment using generalized sparse grids

void finalize sets (bool converged within tol)


finalization of adaptive refinement using generalized sparse grids

void compute covariance ()


calculate the response covariance (diagonal or full matrix)

void compute diagonal variance ()


calculate respVariance or diagonal terms respCovariance(i,i)

void compute off diagonal covariance ()


calculate respCovariance(i,j) for j<i

void print moments (std::ostream &s)


print expansion and numerical moments

void print covariance (std::ostream &s)


print respCovariance

void print sobol indices (std::ostream &s)


print global sensitivity indices

void print local sensitivity (std::ostream &s)


print local sensitivities evaluated at initialPtU

void compute print increment results ()


manage print of results following a refinement increment

void compute print iteration results (bool initialize)


manage print of results following a refinement increment

void compute print converged results (bool print override=false)


manage print of results following convergence of iterative refinement

13.82. NONDEXPANSION CLASS REFERENCE

613

Private Attributes
short ruleNestingOverride
user override of default rule nesting: NO NESTING OVERRIDE, NESTED, or NON NESTED

short ruleGrowthOverride
user override of default rule growth: NO GROWTH OVERRIDE, RESTRICTED, or UNRESTRICTED

Iterator expansionSampler
Iterator used for sampling on the uSpaceModel to generate approximate probability/reliability/response level statistics. Currently this is an LHS sampling instance, but AIS could also be used.

Iterator importanceSampler
Iterator used to refine the approximate probability estimates generated by the expansionSampler using importance
sampling.

bool expSampling
flag to indicate calculation of numerical statistics by sampling on the expansion

bool impSampling
flag to use LHS sampling or MMAIS sampling on the expansion

RealMatrix expGradsMeanX
derivative of the expansion with respect to the x-space variables evaluated at the means (used as uncertainty
importance metrics)

bool vbdFlag
flag indicating the activation of variance-bsaed decomposition for computing Sobol indices

unsigned short vbdOrderLimit


limits the order of interactions within the component Sobol indices

Real vbdDropTol
tolerance for omitting output of small VBD indices

short covarianceControl
enumeration for controlling response covariance calculation and output: {DEFAULT,DIAGONAL,FULL} COVARIANCE

Additional Inherited Members


13.82.1

Detailed Description

Base class for polynomial chaos expansions (PCE) and stochastic collocation (SC)
The NonDExpansion class provides a base class for methods that use polynomial expansions to approximate
the effect of parameter uncertainties on response functions of interest.

13.82.2

Member Function Documentation

const Model & algorithm space model (

) const [inline], [virtual]

default definition that gets redefined in selected derived Minimizers


Reimplemented from Analyzer.
References NonDExpansion::uSpaceModel.

614

CHAPTER 13. CLASS DOCUMENTATION

void increment specification sequence (

) [protected], [virtual]

increment the input specification sequence (PCE only)


default implementation is overridden by PCE
Reimplemented in NonDPolynomialChaos.
References NonDIntegration::increment specification sequence(), Iterator::iterator rep(), Model::subordinateiterator(), and NonDExpansion::uSpaceModel.
Referenced by NonDPolynomialChaos::increment specification sequence(), and NonDExpansion::quantify uncertainty().
Real compute covariance metric (

) [protected], [virtual]

compute 2-norm of change in response covariance


computes the default refinement metric based on change in respCovariance
Reimplemented in NonDStochCollocation.
References NonDExpansion::compute covariance(), NonDExpansion::covarianceControl, NonDExpansion::respCovariance, and NonDExpansion::respVariance.
Referenced by NonDStochCollocation::compute covariance metric(), NonDExpansion::increment sets(), and
NonDExpansion::refine expansion().
Real compute final statistics metric (

) [protected], [virtual]

compute 2-norm of change in final statistics


computes a goal-oriented refinement metric employing finalStatistics
Reimplemented in NonDStochCollocation.
References NonDExpansion::compute statistics(), NonD::finalStatistics, Response::function values(), Analyzer::numFunctions, NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, and
NonD::requestedRespLevels.
Referenced by NonDStochCollocation::compute final statistics metric(), and NonDExpansion::increment sets().
void compute statistics (

) [protected]

calculate analytic and numerical statistics from the expansion


Calculate analytic and numerical statistics from the expansion and log results within final stats for use in
OUU.
References Dakota::abort handler(), ResultsManager::active(), Iterator::active set(), Response::active set derivativevector(), Response::active set request vector(), Iterator::all responses(), Iterator::all samples(), Model::approximationdata(), Model::approximations(), NonD::archive allocate mappings(), NonDExpansion::archive coefficients(),
NonD::archive from resp(), NonDExpansion::archive moments(), NonD::archive to resp(), NonD::cdfFlag, PecosApproximation::compute component effects(), PecosApproximation::compute moments(), NonDExpansion::computeoff diagonal covariance(), PecosApproximation::compute total effects(), NonD::computedGenRelLevels, NonD::computedProbLevels, NonD::computedRelLevels, NonD::computedRespLevels, Model::continuous variableids(), Model::continuous variable labels(), Model::continuous variables(), Dakota::copy data(), NonDExpansion::covarianceControl, Model::current variables(), PecosApproximation::expansion coefficient flag(), NonDExpansion::expansionSampler, NonDExpansion::expGradsMeanX, NonDExpansion::expSampling, NonDAdaptImpSampling::final probability(), NonD::finalStatistics, Response::function gradient(), Response::function value(), Response::function values(), NonDExpansion::importanceSampler, NonDExpansion::impSampling, Iterator::initial points(),
NonDAdaptImpSampling::initialize(), NonD::initialize distribution mappings(), NonD::initialize random variables(),

13.83. NONDGLOBALEVIDENCE CLASS REFERENCE

615

NonDExpansion::initialPtU, ResultsManager::insert(), Iterator::iteratedModel, Iterator::iterator rep(), PecosApproximation::mean gradient(), PecosApproximation::moments(), NonD::natafTransform, NonD::numContDesVars, NonD::numContEpistUncVars, Analyzer::numContinuousVars, NonD::numContStateVars, Analyzer::numFunctions, NonDExpansion::numSamplesOnExpansion, Iterator::outputLevel, ActiveSet::request vector(), NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonDExpansion::respCovariance, NonD::respLevelTarget, Model::response labels(), Iterator::response results(), NonDExpansion::respVariance, Iterator::resultsDB, Iterator::resultsNames, Iterator::run(), Iterator::run identifier(), Iterator::subIteratorFlag, NonD::totalLevelRequests, NonDSampling::update final statistics(), NonDExpansion::uSpaceModel,
PecosApproximation::variance gradient(), and NonDExpansion::vbdFlag.
Referenced by NonDStochCollocation::compute final statistics metric(), NonDExpansion::compute final statisticsmetric(), NonDExpansion::compute print converged results(), NonDExpansion::compute print increment results(),
and NonDExpansion::compute print iteration results().

13.82.3

Member Data Documentation

bool useDerivs [protected]


flag for use derivatives specification, indicating usage of derivative data (with respect to expansion variables) to enhance the calculation of the stochastic expansion.
This is part of the method specification since the instantiation of the global data fit surrogate is implicit with
no user specification. This behavior is distinct from the usage of response derivatives with respect to auxilliary
variables (design, epistemic) for computing derivatives of aleatory expansion statistics with respect to these variables.
Referenced by NonDExpansion::compute expansion(), NonDStochCollocation::initialize u space model(), NonDPolynomialChaos::initialize u space model(), NonDStochCollocation::resolve inputs(), NonDPolynomialChaos::resolve inputs(), NonDPolynomialChaos::terms ratio to samples(), and NonDPolynomialChaos::terms samplesto ratio().
The documentation for this class was generated from the following files:

NonDExpansion.hpp
NonDExpansion.cpp

13.83

NonDGlobalEvidence Class Reference

Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.


Inheritance diagram for NonDGlobalEvidence:

616

CHAPTER 13. CLASS DOCUMENTATION


Iterator
Analyzer
NonD
NonDInterval
NonDGlobalInterval
NonDGlobalEvidence

Public Member Functions


NonDGlobalEvidence (ProblemDescDB &problem db, Model &model)
constructor

NonDGlobalEvidence ()
destructor

void initialize ()
perform any required initialization

void set cell bounds ()


set the optimization variable bounds for each cell

void get best sample (bool maximize, bool eval approx)


determine truthFnStar and approxFnStar

void post process cell results (bool maximize)


post-process a cell minimization/maximization result

void post process response fn results ()


post-process the interval computed for a response function

void post process final results ()


perform final post-processing

Additional Inherited Members


13.83.1

Detailed Description

Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.


The NonDEvidence class implements the propagation of epistemic uncertainty using Dempster-Shafer theory
of evidence. In this approach, one assigns a set of basic probability assignments (BPA) to intervals defined for
the uncertain variables. Input interval combinations are calculated, along with their BPA. Currently, the response
function is evaluated at a set of sample points, then a response surface is constructed which is sampled extensively
to find the minimum and maximum within each input interval cell, corresponding to the belief and plausibility
within that cell, respectively. This data is then aggregated to calculate cumulative distribution functions for belief
and plausibility.
The documentation for this class was generated from the following files:

13.84. NONDGLOBALINTERVAL CLASS REFERENCE

617

NonDGlobalEvidence.hpp
NonDGlobalEvidence.cpp

13.84

NonDGlobalInterval Class Reference

Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
Inheritance diagram for NonDGlobalInterval:
Iterator
Analyzer
NonD
NonDInterval
NonDGlobalInterval
NonDGlobalEvidence

NonDGlobalSingleInterval

Public Member Functions


NonDGlobalInterval (ProblemDescDB &problem db, Model &model)
constructor

NonDGlobalInterval ()
destructor

void init communicators ()


initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void quantify uncertainty ()


Performs an optimization to determine interval bounds for an entire function or interval bounds on a particular
statistical estimator.

const Model & algorithm space model () const

Protected Member Functions


virtual void initialize ()
perform any required initialization

virtual void set cell bounds ()


set the optimization variable bounds for each cell

618

CHAPTER 13. CLASS DOCUMENTATION


virtual void get best sample (bool maximize, bool eval approx)
determine truthFnStar and approxFnStar

virtual void post process cell results (bool maximize)


post-process a cell minimization/maximization result

virtual void post process response fn results ()


post-process the interval computed for a response function

virtual void post process final results ()


perform final post-processing

void post process run results (bool maximize)


post-process an optimization execution: output results, update convergence controls, and update GP approximation

void evaluate response star truth ()


evaluate the truth response at the optimal variables solution and update the GP with the new data

Protected Attributes
Iterator daceIterator
LHS iterator for constructing initial GP for all response functions.

Model fHatModel
GP model of response, one approximation per response function.

Iterator intervalOptimizer
optimizer for solving surrogate-based subproblem: NCSU DIRECT optimizer for maximizing expected improvement
or mixed EA if discrete variables.

Model intervalOptModel
recast model which formulates the surrogate-based optimization subproblem (recasts as design problem; may assimilate mean and variance to enable max(expected improvement))

Real approxFnStar
approximate response corresponding to minimum/maximum truth response

Real truthFnStar
minimum/maximum truth response function value

Static Private Member Functions


static void EIF objective min (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the objective function in the Expected Improvement Function (EIF) for minimizing the GP

static void EIF objective max (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the objective function in the Expected Improvement Function (EIF) for maximizing the GP

static void extract objective (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used to extract the active objective function when optimizing for an interval lower or upper bound
(non-EIF formulations). The sense of the optimization is set separately.

13.84. NONDGLOBALINTERVAL CLASS REFERENCE

619

Private Attributes
const int seedSpec
the user seed specification (default is 0)

int numSamples
the number of samples used in the surrogate

String rngName
name of the random number generator

bool gpModelFlag
flag indicating use of GP surrogate emulation

bool eifFlag
flag indicating use of maximized expected improvement for GP iterate selection

unsigned short improvementConvergeCntr


counter for number of successive iterations that the iteration improvement is less than the convergenceTol

unsigned short improvementConvergeLimit


counter for number of successive iterations that the iteration improvement is less than the convergenceTol

Real distanceTol
tolerance for L 2 change in optimal solution

unsigned short distanceConvergeCntr


counter for number of successive iterations that the L 2 change in optimal solution is less than the convergenceTol

unsigned short distanceConvergeLimit


counter for number of successive iterations that the L 2 change in optimal solution is less than the convergenceTol

RealVector prevCVStar
stores previous optimal point for continuous variables; used for assessing convergence

IntVector prevDIVStar
stores previous optimal point for discrete integer variables; used for assessing convergence

RealVector prevDRVStar
stores previous optimal point for discrete real variables; used for assessing convergence

Real prevFnStar
stores previous solution value for assessing convergence

size t sbIterNum
surrogate-based minimization/maximization iteration count

bool boundConverged
flag indicating convergence of a minimization or maximization cycle

bool allResponsesPerIter
flag for maximal response extraction (all response values obtained on each function call)

short dataOrder
order of the data used for surrogate construction, in ActiveSet request vector 3-bit format; user may override
responses spec

Static Private Attributes


static NonDGlobalInterval nondGIInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

620

CHAPTER 13. CLASS DOCUMENTATION

Additional Inherited Members


13.84.1

Detailed Description

Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
The NonDGlobalInterval class supports global nongradient-based optimization apporaches to determining
interval bounds for epistemic UQ. The interval bounds may be on the entire function in the case of pure interval
analysis (e.g. intervals on input = intervals on output), or the intervals may be on statistics of an inner loop
aleatory analysis such as intervals on means, variances, or percentile levels. The preliminary implementation will
use a Gaussian process surrogate to determine interval bounds.

13.84.2

Member Function Documentation

const Model & algorithm space model (

) const [inline], [virtual]

default definition that gets redefined in selected derived Minimizers


Reimplemented from Analyzer.
References NonDGlobalInterval::fHatModel.
The documentation for this class was generated from the following files:
NonDGlobalInterval.hpp
NonDGlobalInterval.cpp

13.85

NonDGlobalReliability Class Reference

Class for global reliability methods within DAKOTA/UQ.


Inheritance diagram for NonDGlobalReliability:
Iterator
Analyzer
NonD
NonDReliability
NonDGlobalReliability

Public Member Functions


NonDGlobalReliability (ProblemDescDB &problem db, Model &model)
constructor

NonDGlobalReliability ()
destructor

void init communicators ()

13.85. NONDGLOBALRELIABILITY CLASS REFERENCE

621

initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void quantify uncertainty ()


performs an uncertainty propagation using analytical reliability methods which solve constrained optimization
problems to obtain approximations of the cumulative distribution function of response

void print results (std::ostream &s)


print the approximate mean, standard deviation, and importance factors when using the mean value method or the
CDF/CCDF information when using MPP-search-based reliability methods

Private Member Functions


void optimize gaussian process ()
construct the GP using EGO/SKO

void importance sampling ()


perform multimodal adaptive importance sampling on the GP

void get best sample ()


determine current best solution from among sample data for expected imporovement function in Performance Measure Approach (PMA)

Real constraint penalty (const Real &constraint, const RealVector &c variables)
calculate the penalty to be applied to the PMA constraint value

Real expected improvement (const RealVector &expected values, const Variables &recast vars)
expected improvement function for the GP

Real expected feasibility (const RealVector &expected values, const Variables &recast vars)
expected feasibility function for the GP

Static Private Member Functions


static void EIF objective eval (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the objective function in the Expected Improvement (EIF) problem formulation for PMA

static void EFF objective eval (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the objective function in the Expected Feasibility (EFF) problem formulation for RIA

Private Attributes
Real fnStar
minimum penalized response from among true function evaluations

short meritFunctionType
type of merit function used to penalize sample data

Real lagrangeMult
Lagrange multiplier for standard Lagrangian merit function.

Real augLagrangeMult
Lagrange multiplier for augmented Lagrangian merit function.

622

CHAPTER 13. CLASS DOCUMENTATION


Real penaltyParameter
penalty parameter for augmented Lagrangian merit funciton

Real lastConstraintViolation
constraint violation at last iteration, used to determine if the current iterate should be accepted (must reduce
violation)

bool lastIterateAccepted
flag to determine if last iterate was accepted this controls update of parameters for augmented Lagrangian merit fn

short dataOrder
order of the data used for surrogate construction, in ActiveSet request vector 3-bit format; user may override
responses spec

Static Private Attributes


static NonDGlobalReliability nondGlobRelInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

Additional Inherited Members


13.85.1

Detailed Description

Class for global reliability methods within DAKOTA/UQ.


The NonDGlobalReliability class implements EGO/SKO for global MPP search, which maximizes an expected improvement function derived from Gaussian process models. Once the limit state has been characterized,
a multimodal importance sampling approach is used to compute probabilities.
The documentation for this class was generated from the following files:
NonDGlobalReliability.hpp
NonDGlobalReliability.cpp

13.86

NonDGlobalSingleInterval Class Reference

Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
Inheritance diagram for NonDGlobalSingleInterval:

13.86. NONDGLOBALSINGLEINTERVAL CLASS REFERENCE

623

Iterator
Analyzer
NonD
NonDInterval
NonDGlobalInterval
NonDGlobalSingleInterval

Public Member Functions


NonDGlobalSingleInterval (ProblemDescDB &problem db, Model &model)
constructor

NonDGlobalSingleInterval ()
destructor

Protected Member Functions


void initialize ()
perform any required initialization

void post process cell results (bool maximize)


post-process a cell minimization/maximization result

void get best sample (bool maximize, bool eval approx)


determine truthFnStar and approxFnStar

Private Attributes
size t statCntr
counter for finalStatistics

Additional Inherited Members


13.86.1

Detailed Description

Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
The NonDGlobalSingleInterval class supports global nongradient-based optimization apporaches to determining interval bounds for epistemic UQ. The interval bounds may be on the entire function in the case of pure
interval analysis (e.g. intervals on input = intervals on output), or the intervals may be on statistics of an inner
loop aleatory analysis such as intervals on means, variances, or percentile levels. The preliminary implementation will use a Gaussian process surrogate to determine interval bounds.
The documentation for this class was generated from the following files:

624

CHAPTER 13. CLASS DOCUMENTATION


NonDGlobalSingleInterval.hpp
NonDGlobalSingleInterval.cpp

13.87

NonDGPImpSampling Class Reference

Class for the Gaussian Process-based Importance Sampling method.


Inheritance diagram for NonDGPImpSampling:
Iterator
Analyzer
NonD
NonDSampling
NonDGPImpSampling

Public Member Functions


NonDGPImpSampling (ProblemDescDB &problem db, Model &model)
standard constructor

NonDGPImpSampling ()
destructor

void init communicators ()


initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void quantify uncertainty ()


perform the GP importance sampling and return probability of failure.

void print results (std::ostream &s)


print the final statistics

Real final probability ()


returns the probability calculated by the importance sampling

Private Member Functions


RealVector calcExpIndicator (const int respFnCount, const Real respThresh)
function to calculate the expected indicator probabilities

Real calcExpIndPoint (const int respFnCount, const Real respThresh, const RealVector this mean, const
RealVector this var)

13.87. NONDGPIMPSAMPLING CLASS REFERENCE


function to calculate the expected indicator probabilities for one point

void calcRhoDraw ()
function to update the rhoDraw data, adding x values and rho draw values

RealVector drawNewX (int this k)


function to pick the next X value to be evaluated by the Iterated model

Private Attributes
Iterator gpBuild
LHS iterator for building the initial GP.

Iterator gpEval
LHS iterator for sampling on the GP.

Model gpModel
GP model of response, one approximation per response function.

Iterator sampleRhoOne
LHS iterator for sampling from the rhoOneDistribution.

int numPtsAdd
the number of points added to the original set of LHS samples

int numPtsTotal
the total number of points

int numEmulEval
the number of points evaluated by the GP each iteration

Real finalProb
the final calculated probability (p)

RealVectorArray gpCvars
Vector to hold the current values of the current sample inputs on the GP.

RealVectorArray gpMeans
Vector to hold the current values of the current mean estimates for the sample values on the GP.

RealVectorArray gpVar
Vector to hold the current values of the current variance estimates for the sample values on the GP.

RealVector expIndicator
Vector to hold the expected indicator values for the current GP samples.

RealVector rhoDraw
Vector to hold the rhoDraw values for the current GP samples.

RealVector normConst
Vector to hold the normalization constant calculated for each point added.

RealVector indicator
IntVector to hold indicator for actual simulation values vs. threshold.

RealVectorArray xDrawThis
xDrawThis, appended to locally to hold the X values of emulator points chosen

RealVector expIndThis
expIndThis, appended locally to hold the expected indicator

RealVector rhoDrawThis

625

626

CHAPTER 13. CLASS DOCUMENTATION


rhoDrawThis, appended locally to hold the rhoDraw density for calculating draws

RealVector rhoMix
rhoMix, mixture density

RealVector rhoOne
rhoOne, original importance density

Additional Inherited Members


13.87.1

Detailed Description

Class for the Gaussian Process-based Importance Sampling method.


The NonDGPImpSampling implements a method developed by Keith Dalbey that uses a Gaussian process
surrogate in the calculation of the importance density. Specifically, the mean and variance of the GP prediction
are used to calculate an expected value that a particular point fails, and that is used as part of the computation of
the draw distribution. The normalization constants and the mixture distribution used are defined in (need to get
SAND report).

13.87.2

Constructor & Destructor Documentation

NonDGPImpSampling ( ProblemDescDB & problem db, Model & model )


standard constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification.
References Iterator::assign rep(), Model::assign rep(), NonD::construct lhs(), ProblemDescDB::get bool(),
ProblemDescDB::get int(), ProblemDescDB::get string(), NonDGPImpSampling::gpBuild, NonDGPImpSampling::gpEval, NonDGPImpSampling::gpModel, Model::gradient type(), Model::hessian type(), Iterator::iteratedModel,
Iterator::maxIterations, NonDGPImpSampling::numEmulEval, NonDGPImpSampling::numPtsAdd, NonDSampling::numSamples, Iterator::outputLevel, Iterator::probDescDB, NonDSampling::randomSeed, NonDSampling::rngName, NonDGPImpSampling::sampleRhoOne, NonDSampling::samplingVarsMode, NonDSampling::statsFlag,
NonDSampling::vary pattern(), and NonDSampling::varyPattern.

13.87.3

Member Function Documentation

void quantify uncertainty (

) [virtual]

perform the GP importance sampling and return probability of failure.


Calculate the failure probabilities for specified probability levels using Gaussian process based importance
sampling.
Implements NonD.
References Model::acv(), Iterator::all responses(), Analyzer::all samples(), Iterator::all samples(), Model::appendapproximation(), Model::approximation data(), Model::approximation variances(), Model::build approximation(),
NonDGPImpSampling::calcExpIndicator(), NonDGPImpSampling::calcExpIndPoint(), NonDGPImpSampling::calcRhoDraw(), NonD::cdfFlag, Model::compute response(), NonD::computedProbLevels, Model::continuouslower bounds(), Model::continuous upper bounds(), Model::continuous variables(), Model::current response(),
Model::current variables(), NonDGPImpSampling::drawNewX(), Model::evaluation id(), NonDGPImpSampling::expIndicator, NonDGPImpSampling::expIndThis, NonDGPImpSampling::finalProb, Response::function values(),
NonDGPImpSampling::gpCvars, NonDGPImpSampling::gpEval, NonDGPImpSampling::gpMeans, NonDGPImpSampling::gpModel, NonDGPImpSampling::gpVar, NonDGPImpSampling::indicator, NonD::initialize distributionmappings(), Iterator::iteratedModel, NonDGPImpSampling::normConst, NonDGPImpSampling::numEmulEval,

13.88. NONDGPMSABAYESCALIBRATION CLASS REFERENCE

627

Analyzer::numFunctions, NonDGPImpSampling::numPtsAdd, NonDGPImpSampling::numPtsTotal, NonDSampling::numSamples, Iterator::outputLevel, Model::pop approximation(), NonD::requestedRespLevels, NonDGPImpSampling::rhoDraw, NonDGPImpSampling::rhoDrawThis, NonDGPImpSampling::rhoMix, NonDGPImpSampling::rhoOne, Iterator::run(), NonDGPImpSampling::sampleRhoOne, and NonDGPImpSampling::xDrawThis.
The documentation for this class was generated from the following files:
NonDGPImpSampling.hpp
NonDGPImpSampling.cpp

13.88

NonDGPMSABayesCalibration Class Reference

Generates posterior distribution on model parameters given experiment data.


Inheritance diagram for NonDGPMSABayesCalibration:
Iterator
Analyzer
NonD
NonDCalibration
NonDBayesCalibration
NonDGPMSABayesCalibration

Public Member Functions


NonDGPMSABayesCalibration (ProblemDescDB &problem db, Model &model)
constructor

NonDGPMSABayesCalibration ()
destructor

Public Attributes
String rejectionType
Rejection type (standard or delayed, in the DRAM framework)

String metropolisType
Metropolis type (hastings or adaptive, in the DRAM framework)

int numSamples
number of samples in the chain (e.g. number of MCMC samples)

int emulatorSamples
number of samples of the simulation to construct the GP

628

CHAPTER 13. CLASS DOCUMENTATION


RealVector proposalCovScale
scale factor for proposal covariance

Real likelihoodScale
scale factor for likelihood

bool calibrateSigmaFlag
flag to indicated if the sigma terms should be calibrated (default true)

String approxImportFile
name of file from which to import build points to build GP

bool approxImportAnnotated
annotate flag

Protected Member Functions


void init communicators ()
initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void quantify uncertainty ()


performs a forward uncertainty propagation by using GPM/SA to generate a posterior distribution on parameters
given a set of simulation parameter/response data, a set of experimental data, and additional variables to be
specified here.

Protected Attributes
int randomSeed
print the final statistics

Private Attributes
Iterator lhsIter
LHS iterator for generating samples for GP.

Static Private Attributes


static NonDGPMSABayesCalibration NonDGPMSAInstance
Pointer to current class instance for use in static callback functions.

Additional Inherited Members


13.88.1

Detailed Description

Generates posterior distribution on model parameters given experiment data.


This class provides a wrapper for the functionality provided in the Los Alamos National Laboratory code
called GPM/SA (Gaussian Process Models for Simulation Analysis). Although this is a code that provides input/output mapping, it DOES NOT provide the mapping that we usually think of in the NonDeterministic class
hierarchy in DAKOTA, where uncertainty in parameter inputs are mapped to uncertainty in simulation responses.

13.88. NONDGPMSABAYESCALIBRATION CLASS REFERENCE

629

Instead, this class takes a pre-existing set of simulation data as well as experimental data, and maps priors on input
parameters to posterior distributions on those input parameters, according to a likelihood function. The goal of the
MCMC sampling is to produce posterior values of parameter estimates which will produce simulation response
values that match well to the experimental data. The MCMC is an integral part of the calibration. The data
structures in GPM/SA are fairly detailed and nested. Part of this prototyping exercise is to determine what data
structures need to be specified and initialized in DAKOTA and sent to GPM/SA, and what data structures will be
returned.

13.88.2

Constructor & Destructor Documentation

NonDGPMSABayesCalibration ( ProblemDescDB & problem db, Model & model )


constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification.
References Iterator::assign rep(), NonDGPMSABayesCalibration::emulatorSamples, ProblemDescDB::get string(), Iterator::iteratedModel, NonDGPMSABayesCalibration::lhsIter, Iterator::probDescDB, and NonDGPMSABayesCalibration::randomSeed.

13.88.3

Member Function Documentation

void quantify uncertainty (

) [protected], [virtual]

performs a forward uncertainty propagation by using GPM/SA to generate a posterior distribution on parameters
given a set of simulation parameter/response data, a set of experimental data, and additional variables to be
specified here.
Perform the uncertainty quantification
Reimplemented from NonDBayesCalibration.
References Iterator::all responses(), Analyzer::all samples(), Iterator::all samples(), NonDGPMSABayesCalibration::approxImportAnnotated, NonDGPMSABayesCalibration::approxImportFile, NonDGPMSABayesCalibration::calibrateSigmaFlag, ExperimentData::config vars(), Model::continuous lower bounds(), Model::continuous upperbounds(), Model::continuous variables(), NonDGPMSABayesCalibration::emulatorSamples, NonDCalibration::expData, NonDCalibration::expDataFileAnnotated, NonDCalibration::expDataFileName, Iterator::iteratedModel,
NonDGPMSABayesCalibration::lhsIter, ExperimentData::load scalar(), NonDGPMSABayesCalibration::metropolisType, NonDGPMSABayesCalibration::NonDGPMSAInstance, NonDCalibration::numExpConfigVars, NonDCalibration::numExperiments, NonDCalibration::numExpStdDeviationsRead, Analyzer::numFunctions, NonDCalibration::numReplicates, NonDGPMSABayesCalibration::numSamples, NonD::numUncertainVars, Iterator::outputLevel,
NonDGPMSABayesCalibration::rejectionType, Iterator::run(), and ExperimentData::scalar data().

13.88.4

Member Data Documentation

int randomSeed [protected]


print the final statistics
random seed to pass to QUESO
Referenced by NonDGPMSABayesCalibration::NonDGPMSABayesCalibration().
The documentation for this class was generated from the following files:
NonDGPMSABayesCalibration.hpp
NonDGPMSABayesCalibration.cpp

630

CHAPTER 13. CLASS DOCUMENTATION

13.89

NonDIncremLHSSampling Class Reference

Performs icremental LHS sampling for uncertainty quantification.


Inheritance diagram for NonDIncremLHSSampling:
Iterator
Analyzer
NonD
NonDSampling
NonDIncremLHSSampling

Public Member Functions


NonDIncremLHSSampling (ProblemDescDB &problem db, Model &model)
constructor

NonDIncremLHSSampling ()
destructor

void quantify uncertainty ()


performs a forward uncertainty propagation by using LHS to generate a set of parameter samples, performing
function evaluations on these parameter samples, and computing statistics on the ensemble of results.

void print results (std::ostream &s)


print the final statistics

Static Protected Member Functions


static bool rank sort (const int &x, const int &y)
sort algorithm to compute ranks for rank correlations

Private Attributes
int previousSamples
number of samples in previous LHS run

bool varBasedDecompFlag
flags computation of VBD

Static Private Attributes


static RealArray rawData
static data used by static rank sort() fn

13.90. NONDINTEGRATION CLASS REFERENCE

631

Additional Inherited Members


13.89.1

Detailed Description

Performs icremental LHS sampling for uncertainty quantification.


The Latin Hypercube Sampling (LHS) package from Sandia Albuquerques Risk and Reliability organization
provides comprehensive capabilities for Monte Carlo and Latin Hypercube sampling within a broad array of userspecified probabilistic parameter distributions. The icremental LHS sampling capability allows one to supplement
an initial sample of size n to size 2n while maintaining the correct stratification of the 2n samples and also
maintaining the specified correlation structure. The icremental version of LHS will return a sample of size n,
which when combined with the original sample of size n, allows one to double the size of the sample.

13.89.2

Constructor & Destructor Documentation

NonDIncremLHSSampling ( ProblemDescDB & problem db, Model & model )


constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification.

13.89.3

Member Function Documentation

void quantify uncertainty (

) [virtual]

performs a forward uncertainty propagation by using LHS to generate a set of parameter samples, performing
function evaluations on these parameter samples, and computing statistics on the ensemble of results.
Generate incremental samples. Loop over the set of samples and compute responses. Compute statistics on
the set of responses if statsFlag is set.
Implements NonD.
References Dakota::abort handler(), Model::aleatory distribution parameters(), Analyzer::allResponses, Analyzer::allSamples, NonDSampling::compute statistics(), Dakota::copy data(), Dakota::data pairs, Analyzer::evaluate parameter sets(), NonDSampling::get parameter sets(), Iterator::iteratedModel, NonD::numBetaVars, NonD::numBinomialVars, Analyzer::numContinuousVars, NonD::numExponentialVars, NonD::numFrechetVars, NonD::numGammaVars, NonD::numGeometricVars, NonD::numGumbelVars, NonD::numHistogramBinVars, NonD::numHistogramPtVars, NonD::numHyperGeomVars, NonD::numLognormalVars, NonD::numLoguniformVars, NonD::numNegBinomialVars, NonD::numNormalVars, NonD::numPoissonVars, NonDSampling::numSamples, NonD::numTriangularVars, NonD::numUniformVars, NonD::numWeibullVars, NonDIncremLHSSampling::previousSamples, NonDIncremLHSSampling::rank sort(), NonDIncremLHSSampling::rawData, NonDSampling::sampleRanks, NonDSampling::sampleRanksMode, NonDSampling::samplesRef, NonDSampling::sampleType, Iterator::submethod enum to string(), and NonDSampling::varyPattern.
The documentation for this class was generated from the following files:
NonDIncremLHSSampling.hpp
NonDIncremLHSSampling.cpp

13.90

NonDIntegration Class Reference

Derived nondeterministic class that generates N-dimensional numerical integration points for evaluation of expectation integrals.
Inheritance diagram for NonDIntegration:

632

CHAPTER 13. CLASS DOCUMENTATION


Iterator
Analyzer
NonD
NonDIntegration
NonDCubature

NonDQuadrature

NonDSparseGrid

Public Member Functions


virtual void initialize grid (const std::vector< Pecos::BasisPolynomial > &poly basis)=0
initialize integration grid by drawing from polynomial basis settings

virtual void increment grid ()=0


increment SSG level/TPQ order

virtual void increment grid preference (const RealVector &dim pref)


increment SSG level/TPQ order and update anisotropy

virtual void increment grid weights (const RealVector &aniso wts)


increment SSG level/TPQ order and update anisotropy

virtual void increment specification sequence ()


increment sequenceIndex and update active orders/levels

const Pecos::IntegrationDriver & driver () const


return numIntDriver

Static Public Member Functions


static void dimension preference to anisotropic order (unsigned short scalar order spec, const RealVector
&dim pref spec, size t num v, UShortArray &aniso order)
convert scalar order spec and vector dim pref spec to vector aniso order

static void anisotropic order to dimension preference (const UShortArray &aniso order, unsigned short
&scalar order, RealVector &dim pref)
convert vector aniso order to scalar order and vector dim pref

Protected Member Functions


NonDIntegration (ProblemDescDB &problem db, Model &model)
constructor

NonDIntegration (unsigned short method name, Model &model)


alternate constructor for instantiations on the fly

NonDIntegration (unsigned short method name, Model &model, const RealVector &dim pref)
alternate constructor for instantiations on the fly

13.90. NONDINTEGRATION CLASS REFERENCE

633

NonDIntegration ()
destructor

void quantify uncertainty ()


Mapping of the core run() virtual function for the NonD branch.

void check variables (const Pecos::ShortArray &x types)


verify self-consistency of variables data

void print points weights (const String &tabular name)


output integration points and weights to a tabular file

Protected Attributes
Pecos::IntegrationDriver numIntDriver
Pecos utlity class for managing interface to tensor-product grids and VPISparseGrid utilities for Smolyak sparse
grids and cubature.

size t numIntegrations
counter for number of integration executions for this object

size t sequenceIndex
index into NonDQuadrature::quadOrderSpec and NonDSparseGrid::ssgLevelSpec that defines the current instance
of several possible refinement levels

RealVector dimPrefSpec
the user specification for anisotropic dimension preference

Additional Inherited Members


13.90.1

Detailed Description

Derived nondeterministic class that generates N-dimensional numerical integration points for evaluation of expectation integrals.
This class provides a base class for shared code among NonDQuadrature and NonDSparseGrid.

13.90.2

Constructor & Destructor Documentation

NonDIntegration ( ProblemDescDB & problem db, Model & model ) [protected]


constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification. It is not currently
used, as there are not yet separate nond quadrature/nond sparse grid method specifications.
References Dakota::abort handler(), NonD::initialize final statistics(), NonD::initialize random variable correlations(),
NonD::initialize random variable transformation(), NonD::initialize random variable types(), Analyzer::numDiscreteIntVars, Analyzer::numDiscreteRealVars, and NonD::verify correlation support().
NonDIntegration ( unsigned short method name, Model & model ) [protected]
alternate constructor for instantiations on the fly
This alternate constructor is used for on-the-fly generation and evaluation of numerical integration points.

634

CHAPTER 13. CLASS DOCUMENTATION

NonDIntegration ( unsigned short method name, Model & model, const RealVector & dim pref )
[protected]
alternate constructor for instantiations on the fly
This alternate constructor is used for on-the-fly generation and evaluation of numerical integration points.

13.90.3

Member Function Documentation

void dimension preference to anisotropic order ( unsigned short scalar order spec, const RealVector &
dim pref spec, size t num v, UShortArray & aniso order ) [static]
convert scalar order spec and vector dim pref spec to vector aniso order
Converts a scalar order specification and a vector anisotropic dimension preference into an anisotropic order
vector. It is used for initialization and does not enforce a reference lower bound (see also NonDQuadrature::update anisotropic order()).
Referenced by NonDPolynomialChaos::increment specification sequence(), NonDQuadrature::initialize dimensionquadrature order(), and NonDPolynomialChaos::NonDPolynomialChaos().

void anisotropic order to dimension preference ( const UShortArray & aniso order, unsigned short &
scalar order, RealVector & dim pref ) [static]
convert vector aniso order to scalar order and vector dim pref
Converts a vector anisotropic order into a scalar order and vector anisotropic dimension preference.
Referenced by NonDPolynomialChaos::NonDPolynomialChaos().

void check variables ( const Pecos::ShortArray & x types ) [protected]


verify self-consistency of variables data
Virtual function called from probDescDB-based constructors and from NonDIntegration::quantify uncertainty()
References Dakota::abort handler(), NonD::numContAleatUncVars, NonD::numContDesVars, NonD::numContEpistUncVars, Analyzer::numContinuousVars, and NonD::numContStateVars.
Referenced by NonDCubature::NonDCubature(), NonDQuadrature::NonDQuadrature(), NonDSparseGrid::NonDSparseGrid(), and NonDIntegration::quantify uncertainty().
The documentation for this class was generated from the following files:
NonDIntegration.hpp
NonDIntegration.cpp

13.91

NonDInterval Class Reference

Base class for interval-based methods within DAKOTA/UQ.


Inheritance diagram for NonDInterval:

13.91. NONDINTERVAL CLASS REFERENCE

635
Iterator
Analyzer
NonD
NonDInterval

NonDGlobalInterval
NonDGlobalEvidence

NonDGlobalSingleInterval

NonDLHSInterval
NonDLHSEvidence

NonDLHSSingleInterval

NonDLocalInterval
NonDLocalEvidence

NonDLocalSingleInterval

Public Member Functions


NonDInterval (ProblemDescDB &problem db, Model &model)
constructor

NonDInterval ()
destructor

void print results (std::ostream &s)


print the cumulative distribution functions for belief and plausibility

Protected Member Functions


void initialize final statistics ()
initialize finalStatistics for belief/plausibility results sets

void compute evidence statistics ()


method for computing belief and plausibility values for response levels or vice-versa

void calculate cells and bpas ()


computes the interval combinations (cells) and their bpas replaces CBPIIC F77 from wrapper calculate basic prob intervals()

void calculate cbf cpf (bool complementary=true)


function to compute (complementary) distribution functions on belief and plausibility replaces CCBFPF F77 from
wrapper calculate cum belief plaus()

Protected Attributes
bool singleIntervalFlag
flag for SingleInterval derived class

RealVectorArray ccBelFn
Storage array to hold CCBF values.

RealVectorArray ccPlausFn
Storage array to hold CCPF values.

RealVectorArray ccBelVal
Storage array to hold CCB response values.

RealVectorArray ccPlausVal
Storage array to hold CCP response values.

RealVectorArray cellContLowerBounds
Storage array to hold cell lower bounds for continuous variables.

636

CHAPTER 13. CLASS DOCUMENTATION


RealVectorArray cellContUpperBounds
Storage array to hold cell upper bounds for continuous variables.

IntVectorArray cellIntRangeLowerBounds
Storage array to hold cell lower bounds for discrete int range variables.

IntVectorArray cellIntRangeUpperBounds
Storage array to hold cell upper bounds for discrete int range variables.

IntVectorArray cellIntSetBounds
Storage array to hold cell values for discrete integer set variables.

IntVectorArray cellRealSetBounds
Storage array to hold cell value for discrete real set variables.

RealVectorArray cellFnLowerBounds
Storage array to hold cell min.

RealVectorArray cellFnUpperBounds
Storage array to hold cell max.

RealVector cellBPA
Storage array to hold cell bpa.

size t respFnCntr
response function counter

size t cellCntr
cell counter

size t numCells
total number of interval combinations

Additional Inherited Members


13.91.1

Detailed Description

Base class for interval-based methods within DAKOTA/UQ.


The NonDInterval class implements the propagation of epistemic uncertainty using either pure interval propagation or Dempster-Shafer theory of evidence. In the latter approach, one assigns a set of basic probability
assignments (BPA) to intervals defined for the uncertain variables. Input interval combinations are calculated,
along with their BPA. Currently, the response function is evaluated at a set of sample points, then a response
surface is constructed which is sampled extensively to find the minimum and maximum within each input interval
cell, corresponding to the belief and plausibility within that cell, respectively. This data is then aggregated to
calculate cumulative distribution functions for belief and plausibility.
The documentation for this class was generated from the following files:
NonDInterval.hpp
NonDInterval.cpp

13.92

NonDLHSEvidence Class Reference

Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.


Inheritance diagram for NonDLHSEvidence:

13.93. NONDLHSINTERVAL CLASS REFERENCE

637

Iterator
Analyzer
NonD
NonDInterval
NonDLHSInterval
NonDLHSEvidence

Public Member Functions


NonDLHSEvidence (ProblemDescDB &problem db, Model &model)
constructor

NonDLHSEvidence ()
destructor

void initialize ()
perform any required initialization

void post process samples ()


post-process the output from executing lhsSampler

Additional Inherited Members


13.92.1

Detailed Description

Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.


The NonDEvidence class implements the propagation of epistemic uncertainty using Dempster-Shafer theory
of evidence. In this approach, one assigns a set of basic probability assignments (BPA) to intervals defined for
the uncertain variables. Input interval combinations are calculated, along with their BPA. Currently, the response
function is evaluated at a set of sample points, then a response surface is constructed which is sampled extensively
to find the minimum and maximum within each input interval cell, corresponding to the belief and plausibility
within that cell, respectively. This data is then aggregated to calculate cumulative distribution functions for belief
and plausibility.
The documentation for this class was generated from the following files:
NonDLHSEvidence.hpp
NonDLHSEvidence.cpp

13.93

NonDLHSInterval Class Reference

Class for the LHS-based interval methods within DAKOTA/UQ.


Inheritance diagram for NonDLHSInterval:

638

CHAPTER 13. CLASS DOCUMENTATION


Iterator
Analyzer
NonD
NonDInterval
NonDLHSInterval
NonDLHSEvidence

NonDLHSSingleInterval

Public Member Functions


NonDLHSInterval (ProblemDescDB &problem db, Model &model)
constructor

NonDLHSInterval ()
destructor

void init communicators ()


initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void quantify uncertainty ()


performs an epistemic uncertainty propagation using LHS samples

Protected Member Functions


virtual void initialize ()
perform any required initialization

virtual void post process samples ()=0


post-process the output from executing lhsSampler

Protected Attributes
Iterator lhsSampler
the LHS sampler instance

const int seedSpec


the user seed specification (default is 0)

int numSamples
the number of samples used

String rngName
name of the random number generator

13.94. NONDLHSSAMPLING CLASS REFERENCE

639

Additional Inherited Members


13.93.1

Detailed Description

Class for the LHS-based interval methods within DAKOTA/UQ.


The NonDLHSInterval class implements the propagation of epistemic uncertainty using LHS-based methods.
The documentation for this class was generated from the following files:
NonDLHSInterval.hpp
NonDLHSInterval.cpp

13.94

NonDLHSSampling Class Reference

Performs LHS and Monte Carlo sampling for uncertainty quantification.


Inheritance diagram for NonDLHSSampling:
Iterator
Analyzer
NonD
NonDSampling
NonDLHSSampling

Public Member Functions


NonDLHSSampling (ProblemDescDB &problem db, Model &model)
standard constructor

NonDLHSSampling (Model &model, unsigned short sample type, int samples, int seed, const String &rng,
bool vary pattern=true, short sampling vars mode=ACTIVE)
alternate constructor for sample generation and evaluation on the fly

NonDLHSSampling (unsigned short sample type, int samples, int seed, const String &rng, const RealVector &lower bnds, const RealVector &upper bnds)
alternate constructor for sample generation on the fly

NonDLHSSampling ()
destructor

Protected Member Functions


void pre run ()
generate LHS samples in non-VBD cases

void post input ()

640

CHAPTER 13. CLASS DOCUMENTATION


read tabular data for post-run mode

void quantify uncertainty ()


perform the evaluate parameter sets portion of run

void post run (std::ostream &s)


generate statistics for LHS runs in non-VBD cases

void print results (std::ostream &s)


print the final statistics

Private Attributes
size t numResponseFunctions
number of response functions; used to distinguish NonD from opt/NLS usage

bool varBasedDecompFlag
flags computation of variance-based decomposition indices

Additional Inherited Members


13.94.1

Detailed Description

Performs LHS and Monte Carlo sampling for uncertainty quantification.


The Latin Hypercube Sampling (LHS) package from Sandia Albuquerques Risk and Reliability organization
provides comprehensive capabilities for Monte Carlo and Latin Hypercube sampling within a broad array of userspecified probabilistic parameter distributions. It enforces user-specified rank correlations through use of a mixing
routine. The NonDLHSSampling class provides a C++ wrapper for the LHS library and is used for performing
forward propagations of parameter uncertainties into response statistics.

13.94.2

Constructor & Destructor Documentation

NonDLHSSampling ( ProblemDescDB & problem db, Model & model )


standard constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification.
NonDLHSSampling ( Model & model, unsigned short sample type, int samples, int seed, const String &
rng, bool vary pattern = true, short sampling vars mode = ACTIVE )
alternate constructor for sample generation and evaluation on the fly
This alternate constructor is used for generation and evaluation of Model-based sample sets. A set db list nodes has not been performed so required data must be passed through the constructor. Its purpose is to avoid the
need for a separate LHS specification within methods that use LHS sampling.
NonDLHSSampling ( unsigned short sample type, int samples, int seed, const String & rng, const
RealVector & lower bnds, const RealVector & upper bnds )
alternate constructor for sample generation on the fly
This alternate constructor is used by ConcurrentStrategy for generation of uniform, uncorrelated sample sets.
It is not a letter-envelope instantiation and a set db list nodes has not been performed. It is called with all needed
data passed through the constructor and is designed to allow more flexibility in variables set definition (i.e., relax

13.95. NONDLHSSINGLEINTERVAL CLASS REFERENCE

641

connection to a variables specification and allow sampling over parameter sets such as multiobjective weights).
In this case, a Model is not used and the object must only be used for sample generation (no evaluation).
References NonDSampling::get parameter sets().

13.94.3

Member Function Documentation

void quantify uncertainty (

) [protected], [virtual]

perform the evaluate parameter sets portion of run


Loop over the set of samples and compute responses. Compute statistics on the set of responses if statsFlag is
set.
Implements NonD.
References NonDSampling::allDataFlag, Analyzer::evaluate parameter sets(), Iterator::iteratedModel, Analyzer::numContinuousVars, Analyzer::numDiscreteIntVars, Analyzer::numDiscreteRealVars, NonDLHSSampling::numResponseFunctions, NonDSampling::numSamples, NonDSampling::statsFlag, NonDLHSSampling::varBasedDecompFlag, and Analyzer::variance based decomp().
The documentation for this class was generated from the following files:
NonDLHSSampling.hpp
NonDLHSSampling.cpp

13.95

NonDLHSSingleInterval Class Reference

Class for pure interval propagation using LHS.


Inheritance diagram for NonDLHSSingleInterval:
Iterator
Analyzer
NonD
NonDInterval
NonDLHSInterval
NonDLHSSingleInterval

Public Member Functions


NonDLHSSingleInterval (ProblemDescDB &problem db, Model &model)
constructor

NonDLHSSingleInterval ()
destructor

642

CHAPTER 13. CLASS DOCUMENTATION

Protected Member Functions


void initialize ()
perform any required initialization

void post process samples ()


post-process the output from executing lhsSampler

Private Attributes
size t statCntr
counter for finalStatistics

Additional Inherited Members


13.95.1

Detailed Description

Class for pure interval propagation using LHS.


The NonDSingleInterval class implements the propagation of epistemic uncertainty using ...
The documentation for this class was generated from the following files:
NonDLHSSingleInterval.hpp
NonDLHSSingleInterval.cpp

13.96

NonDLocalEvidence Class Reference

Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.


Inheritance diagram for NonDLocalEvidence:
Iterator
Analyzer
NonD
NonDInterval
NonDLocalInterval
NonDLocalEvidence

Public Member Functions


NonDLocalEvidence (ProblemDescDB &problem db, Model &model)
constructor

NonDLocalEvidence ()
destructor

13.97. NONDLOCALINTERVAL CLASS REFERENCE

643

Protected Member Functions


void initialize ()
perform any required initialization

void set cell bounds ()


set the optimization variable bounds for each cell

void truncate to cell bounds (RealVector &initial pt)


truncate initial pt to respect current cell lower/upper bounds

void post process cell results (bool maximize)


post-process a cell minimization/maximization result

void post process response fn results ()


post-process the interval computed for a response function

void post process final results ()


perform final post-processing

Additional Inherited Members


13.96.1

Detailed Description

Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.


The NonDEvidence class implements the propagation of epistemic uncertainty using Dempster-Shafer theory
of evidence. In this approach, one assigns a set of basic probability assignments (BPA) to intervals defined for
the uncertain variables. Input interval combinations are calculated, along with their BPA. Currently, the response
function is evaluated at a set of sample points, then a response surface is constructed which is sampled extensively
to find the minimum and maximum within each input interval cell, corresponding to the belief and plausibility
within that cell, respectively. This data is then aggregated to calculate cumulative distribution functions for belief
and plausibility.
The documentation for this class was generated from the following files:
NonDLocalEvidence.hpp
NonDLocalEvidence.cpp

13.97

NonDLocalInterval Class Reference

Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.
Inheritance diagram for NonDLocalInterval:

644

CHAPTER 13. CLASS DOCUMENTATION


Iterator
Analyzer
NonD
NonDInterval
NonDLocalInterval
NonDLocalEvidence

NonDLocalSingleInterval

Public Member Functions


NonDLocalInterval (ProblemDescDB &problem db, Model &model)
constructor

NonDLocalInterval ()
destructor

void init communicators ()


initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void quantify uncertainty ()


Performs a gradient-based optimization to determine interval bounds for an entire function or interval bounds on
a particular statistical estimator.

unsigned short uses method () const


return name of active optimizer method

void method recourse ()


perform an MPP optimizer method switch due to a detected conflict

Protected Member Functions


virtual void initialize ()
perform any required initialization

virtual void set cell bounds ()


set the optimization variable bounds for each cell

virtual void truncate to cell bounds (RealVector &initial pt)


truncate initial pt to respect current cell lower/upper bounds

virtual void post process cell results (bool maximize)


post-process a cell minimization/maximization result

virtual void post process response fn results ()

13.97. NONDLOCALINTERVAL CLASS REFERENCE

645

post-process the interval computed for a response function

virtual void post process final results ()


perform final post-processing

Protected Attributes
Iterator minMaxOptimizer
local gradient-based optimizer

Model minMaxModel
recast model which extracts the active objective function

Static Private Member Functions


static void extract objective (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used to extract the active objective function when optimizing for an interval lower or upper bound

Private Attributes
bool npsolFlag
flag representing the gradient-based optimization algorithm selection (NPSOL SQP or OPT++ NIP)

Static Private Attributes


static NonDLocalInterval nondLIInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

Additional Inherited Members


13.97.1

Detailed Description

Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.
The NonDLocalInterval class supports local gradient-based optimization apporaches to determining interval
bounds for epistemic UQ. The interval bounds may be on the entire function in the case of pure interval analysis
(e.g. intervals on input = intervals on output), or the intervals may be on statistics of an inner loop aleatory
analysis such as intervals on means, variances, or percentile levels.
The documentation for this class was generated from the following files:
NonDLocalInterval.hpp
NonDLocalInterval.cpp

646

CHAPTER 13. CLASS DOCUMENTATION

13.98

NonDLocalReliability Class Reference

Class for the reliability methods within DAKOTA/UQ.


Inheritance diagram for NonDLocalReliability:
Iterator
Analyzer
NonD
NonDReliability
NonDLocalReliability

Public Member Functions


NonDLocalReliability (ProblemDescDB &problem db, Model &model)
constructor

NonDLocalReliability ()
destructor

void init communicators ()


initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void quantify uncertainty ()


performs an uncertainty propagation using analytical reliability methods which solve constrained optimization
problems to obtain approximations of the cumulative distribution function of response

void print results (std::ostream &s)


print the approximate mean, standard deviation, and importance factors when using the mean value method or the
CDF/CCDF information when using MPP-search-based reliability methods

unsigned short uses method () const


return name of active MPP optimizer

void method recourse ()


perform an MPP optimizer method switch due to a detected conflict

Private Member Functions


void initial taylor series ()
convenience function for performing the initial limit state Taylor-series approximation

void mean value ()

13.98. NONDLOCALRELIABILITY CLASS REFERENCE

647

convenience function for encapsulating the simple Mean Value computation of approximate statistics and importance factors

void mpp search ()


convenience function for encapsulating the reliability methods that employ a search for the most probable point
(AMV, AMV+, FORM, SORM)

void initialize class data ()


convenience function for initializing class scope arrays

void initialize level data ()


convenience function for initializing/warm starting MPP search data for each response function prior to level 0

void initialize mpp search data ()


convenience function for initializing/warm starting MPP search data for each z/p/beta level for each response
function

void update mpp search data (const Variables &vars star, const Response &resp star)
convenience function for updating MPP search data for each z/p/beta level for each response function

void update level data ()


convenience function for updating z/p/beta level data and final statistics following MPP convergence

void update pma maximize (const RealVector &mpp u, const RealVector &fn grad u, const RealSymMatrix &fn hess u)
update pmaMaximizeG from prescribed probabilities or prescribed generalized reliabilities by inverting secondorder integrations

void update limit state surrogate ()


convenience function for passing the latest variables/response data to the data fit embedded within uSpaceModel

void assign mean data ()


update mostProbPointX/U, computedRespLevel, fnGradX/U, and fnHessX/U from ranVarMeansX/U, fnValsMeanX,
fnGradsMeanX, and fnHessiansMeanX

void dg ds eval (const RealVector &x vars, const RealVector &fn grad x, RealVector &final stat grad)
convenience function for evaluating dg/ds

Real dp2 dbeta factor (Real beta, bool cdf flag)


compute factor for derivative of second-order probability with respect to reliability index (from differentiating BREITUNG or HOHENRACK expressions)

Real signed norm (const RealVector &mpp u, const RealVector &fn grad u, bool cdf flag)
convert norm of mpp u (u-space solution) to a signed reliability index

Real signed norm (Real norm mpp u)


convert norm of u-space vector to a signed reliability index

Real signed norm (Real norm mpp u, const RealVector &mpp u, const RealVector &fn grad u, bool cdf flag)
shared helper function

Real probability (Real beta)


Convert reliability to probability using a first-order integration.

Real probability (bool cdf flag, const RealVector &mpp u, const RealVector &fn grad u, const RealSymMatrix &fn hess u)
Convert computed reliability to probability using either a first-order or second-order integration.

Real probability (Real beta, bool cdf flag, const RealVector &mpp u, const RealVector &fn grad u, const
RealSymMatrix &fn hess u)
Convert provided reliability to probability using either a first-order or second-order integration.

648

CHAPTER 13. CLASS DOCUMENTATION


Real reliability (Real p)
Convert probability to reliability using the inverse of a first-order integration.

Real reliability (Real p, bool cdf flag, const RealVector &mpp u, const RealVector &fn grad u, const RealSymMatrix &fn hess u)
Convert probability to reliability using the inverse of a first-order or second-order integration.

bool reliability residual (const Real &p, const Real &beta, const RealVector &kappa, Real &res)
compute the residual for inversion of second-order probability corrections using Newtons method (called by reliability(p))

Real reliability residual derivative (const Real &p, const Real &beta, const RealVector &kappa)
compute the residual derivative for inversion of second-order probability corrections using Newtons method (called
by reliability(p))

void principal curvatures (const RealVector &mpp u, const RealVector &fn grad u, const RealSymMatrix
&fn hess u, RealVector &kappa u)
Compute the kappaU vector of principal curvatures from fnHessU.

void scale curvature (Real beta, bool cdf flag, const RealVector &kappa, RealVector &scaled kappa)
scale copy of principal curvatures by -1 if needed; else take a view

Static Private Member Functions


static void RIA objective eval (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the objective function in the Reliability Index Approach (RIA) problem formulation. This
equality-constrained optimization problem performs the search for the most probable point (MPP) with the objective function of (norm u) 2.

static void RIA constraint eval (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the constraint function in the Reliability Index Approach (RIA) problem formulation. This
equality-constrained optimization problem performs the search for the most probable point (MPP) with the constraint of G(u) = response level.

static void PMA objective eval (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the objective function in the Performance Measure Approach (PMA) problem formulation.
This equality-constrained optimization problem performs the search for the most probable point (MPP) with the
objective function of G(u).

static void PMA constraint eval (const Variables &sub model vars, const Variables &recast vars, const
Response &sub model response, Response &recast response)
static function used as the constraint function in the first-order Performance Measure Approach (PMA) problem
formulation. This optimization problem performs the search for the most probable point (MPP) with the equality
constraint of (norm u) 2 = (beta-bar) 2.

static void PMA2 constraint eval (const Variables &sub model vars, const Variables &recast vars, const
Response &sub model response, Response &recast response)
static function used as the constraint function in the second-order Performance Measure Approach (PMA) problem
formulation. This optimization problem performs the search for the most probable point (MPP) with the equality
constraint of beta = beta-bar.

static void PMA2 set mapping (const Variables &recast vars, const ActiveSet &recast set, ActiveSet &submodel set)
static function used to augment the sub-model ASV requests for second-order PMA

13.98. NONDLOCALRELIABILITY CLASS REFERENCE

649

Private Attributes
Real computedRespLevel
output response level calculated

Real computedRelLevel
output reliability level calculated for RIA and 1st-order PMA

Real computedGenRelLevel
output generalized reliability level calculated for 2nd-order PMA

RealVector fnGradX
actual x-space gradient for current function from most recent response evaluation

RealVector fnGradU
u-space gradient for current function updated from fnGradX and Jacobian dx/du

RealSymMatrix fnHessX
actual x-space Hessian for current function from most recent response evaluation

RealSymMatrix fnHessU
u-space Hessian for current function updated from fnHessX and Jacobian dx/du

RealVector kappaU
principal curvatures derived from eigenvalues of orthonormal transformation of fnHessU

RealVector fnValsMeanX
response function values evaluated at mean x

RealMatrix fnGradsMeanX
response function gradients evaluated at mean x

RealSymMatrixArray fnHessiansMeanX
response function Hessians evaluated at mean x

RealVector ranVarMeansU
vector of means for all uncertain random variables in u-space

bool initialPtUserSpec
flag indicating user specification of (any portion of) initialPtU

RealVector initialPtUSpec
user specification or default initial guess for local optimization

RealVector initialPtU
current starting point for MPP searches in u-space

RealVector mostProbPointX
location of MPP in x-space

RealVector mostProbPointU
location of MPP in u-space

RealVectorArray prevMPPULev0
array of converged MPPs in u-space for level 0. Used for warm-starting initialPtU within RBDO.

RealMatrix prevFnGradDLev0
matrix of limit state sensitivities w.r.t. inactive/design variables for level 0. Used for warm-starting initialPtU
within RBDO.

RealMatrix prevFnGradULev0
matrix of limit state sensitivities w.r.t. active/uncertain variables for level 0. Used for warm-starting initialPtU
within RBDO.

650

CHAPTER 13. CLASS DOCUMENTATION


RealVector prevICVars
previous design vector. Used for warm-starting initialPtU within RBDO.

ShortArray prevCumASVLev0
accumulation (using |=) of all previous design ASVs from requested finalStatistics. Used to detect availability of
prevFnGradDLev0 data for warm-starting initialPtU within RBDO.

bool npsolFlag
flag representing the optimization MPP search algorithm selection (NPSOL SQP or OPT++ NIP)

bool warmStartFlag
flag indicating the use of warm starts

bool nipModeOverrideFlag
flag indicating the use of move overrides within OPT++ NIP

bool curvatureDataAvailable
flag indicating that sufficient data (i.e., fnGradU, fnHessU, mostProbPointU) is available for computing principal
curvatures

bool kappaUpdated
track when kappaU requires updating via principal curvatures()

short integrationOrder
integration order (1 or 2) provided by integration specification

short secondOrderIntType
type of second-order integration: Breitung, Hohenbichler-Rackwitz, or Hong

Real curvatureThresh
cut-off value for 1/sqrt() term in second-order probability corrections.

short taylorOrder
order of Taylor series approximations (1 or 2) in MV/AMV/AMV+ derived from hessian type

RealMatrix impFactor
importance factors predicted by MV

int npsolDerivLevel
derivative level for NPSOL executions (1 = analytic grads of objective fn, 2 = analytic grads of constraints, 3 =
analytic grads of both).

unsigned short warningBits


set of warnings accumulated during execution

Static Private Attributes


static NonDLocalReliability nondLocRelInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

Additional Inherited Members


13.98.1

Detailed Description

Class for the reliability methods within DAKOTA/UQ.


The NonDLocalReliability class implements the following reliability methods through the support of different
limit state approximation and integration options: mean value (MVFOSM/MVSOSM), advanced mean value

13.98. NONDLOCALRELIABILITY CLASS REFERENCE

651

method (AMV, AMV 2) in x- or u-space, iterated advanced mean value method (AMV+, AMV 2+) in x- or uspace, two-point adaptive nonlinearity approximation (TANA) in x- or u-space, first order reliability method (FORM), and second order reliability method (SORM). All options except mean value employ an optimizer (currently
NPSOL SQP or OPT++ NIP) to solve an equality-constrained optimization problem for the most probable point
(MPP). The MPP search may be formulated as the reliability index approach (RIA) for mapping response levels
to reliabilities/probabilities or as the performance measure approach (PMA) for performing the inverse mapping
of reliability/probability levels to response levels.

13.98.2

Member Function Documentation

void RIA objective eval ( const Variables & sub model vars, const Variables & recast vars, const
Response & sub model response, Response & recast response ) [static], [private]
static function used as the objective function in the Reliability Index Approach (RIA) problem formulation. This
equality-constrained optimization problem performs the search for the most probable point (MPP) with the objective function of (norm u) 2.
This function recasts a G(u) response set (already transformed and approximated in other recursions) into an
RIA objective function.
References Response::active set request vector(), Variables::continuous variables(), Response::function gradientview(), Response::function hessian view(), and Response::function value().
Referenced by NonDLocalReliability::mpp search().
void RIA constraint eval ( const Variables & sub model vars, const Variables & recast vars, const
Response & sub model response, Response & recast response ) [static], [private]
static function used as the constraint function in the Reliability Index Approach (RIA) problem formulation.
This equality-constrained optimization problem performs the search for the most probable point (MPP) with the
constraint of G(u) = response level.
This function recasts a G(u) response set (already transformed and approximated in other recursions) into an
RIA equality constraint.
References Response::active set request vector(), Response::function gradient(), Response::function gradientview(), Response::function hessian(), Response::function value(), NonDLocalReliability::nondLocRelInstance,
NonDReliability::requestedTargetLevel, and NonDReliability::respFnCount.
Referenced by NonDLocalReliability::mpp search().
void PMA objective eval ( const Variables & sub model vars, const Variables & recast vars, const
Response & sub model response, Response & recast response ) [static], [private]
static function used as the objective function in the Performance Measure Approach (PMA) problem formulation.
This equality-constrained optimization problem performs the search for the most probable point (MPP) with the
objective function of G(u).
This function recasts a G(u) response set (already transformed and approximated in other recursions) into an
PMA objective function.
References Response::active set request vector(), Variables::continuous variables(), NonDLocalReliability::curvatureDataAvailable, Response::function gradient(), Response::function gradient view(), Response::functionhessian(), Response::function hessian view(), Response::function value(), NonDLocalReliability::integrationOrder,
NonDLocalReliability::kappaUpdated, NonDReliability::mppSearchType, NonDLocalReliability::nondLocRelInstance, NonDReliability::pmaMaximizeG, NonDReliability::respFnCount, and NonDLocalReliability::updatepma maximize().
Referenced by NonDLocalReliability::mpp search().

652

CHAPTER 13. CLASS DOCUMENTATION

void PMA constraint eval ( const Variables & sub model vars, const Variables & recast vars, const
Response & sub model response, Response & recast response ) [static], [private]
static function used as the constraint function in the first-order Performance Measure Approach (PMA) problem
formulation. This optimization problem performs the search for the most probable point (MPP) with the equality
constraint of (norm u) 2 = (beta-bar) 2.
This function recasts a G(u) response set (already transformed and approximated in other recursions) into a
first-order PMA equality constraint on reliability index beta.
References Response::active set request vector(), Variables::continuous variables(), Response::function gradientview(), Response::function hessian view(), Response::function value(), NonDLocalReliability::nondLocRelInstance,
and NonDReliability::requestedTargetLevel.
Referenced by NonDLocalReliability::mpp search().
void PMA2 constraint eval ( const Variables & sub model vars, const Variables & recast vars, const
Response & sub model response, Response & recast response ) [static], [private]
static function used as the constraint function in the second-order Performance Measure Approach (PMA) problem
formulation. This optimization problem performs the search for the most probable point (MPP) with the equality
constraint of beta = beta-bar.
This function recasts a G(u) response set (already transformed and approximated in other recursions) into a
second-order PMA equality constraint on generalized reliability index beta-star.
References Dakota::abort handler(), Response::active set request vector(), NonD::cdfFlag, NonDLocalReliability::computedGenRelLevel, NonDLocalReliability::computedRelLevel, Variables::continuous variables(), NonDLocalReliability::dp2 dbeta factor(), NonDLocalReliability::fnGradU, NonDLocalReliability::fnHessU, Response::functiongradient view(), Response::function hessian(), Response::function value(), NonDLocalReliability::mostProbPointU, NonDReliability::mppSearchType, NonDLocalReliability::nondLocRelInstance, NonDLocalReliability::probability(),
NonDLocalReliability::reliability(), NonDReliability::requestedTargetLevel, NonDReliability::respFnCount, and
NonDLocalReliability::signed norm().
Referenced by NonDLocalReliability::mpp search().
void initial taylor series (

) [private]

convenience function for performing the initial limit state Taylor-series approximation
An initial first- or second-order Taylor-series approximation is required for MV/AMV/AMV+/TANA or for
the case where momentStats (from MV) are required within finalStatistics for subIterator usage of NonDLocalReliability.
References Response::active set request vector(), Iterator::activeSet, Model::component parallel mode(), Model::compute response(), Model::continuous variables(), Model::current response(), NonD::finalStatistics, NonDLocalReliability::fnGradsMeanX, NonDLocalReliability::fnHessiansMeanX, NonDLocalReliability::fnValsMeanX, Response::function gradients(), Response::function hessians(), Response::function values(), Model::hessiantype(), Iterator::iteratedModel, NonD::momentStats, NonDReliability::mppSearchType, NonD::natafTransform,
Analyzer::numFunctions, NonD::numUncertainVars, ActiveSet::request vector(), NonD::requestedGenRelLevels,
NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, Iterator::subIteratorFlag,
NonDLocalReliability::taylorOrder, and NonDReliability::uSpaceModel.
Referenced by NonDLocalReliability::mean value(), and NonDLocalReliability::mpp search().
void initialize class data (

) [private]

convenience function for initializing class scope arrays


Initialize class-scope arrays and perform other start-up activities, such as evaluating median limit state responses.

13.98. NONDLOCALRELIABILITY CLASS REFERENCE

653

References Response::active set derivative vector(), NonD::finalStatistics, NonDReliability::importanceSampler,


NonD::initialize random variables(), NonDReliability::integrationRefinement, Iterator::iterator rep(), NonDReliability::mppModel, NonD::natafTransform, Analyzer::numFunctions, NonDReliability::numRelAnalyses, NonD::numUncertainVars, NonDLocalReliability::prevCumASVLev0, NonDLocalReliability::prevFnGradDLev0, NonDLocalReliability::prevFnGradULev0, NonDLocalReliability::prevMPPULev0, NonDLocalReliability::ranVarMeansU,
Iterator::subIteratorFlag, Model::update from subordinate model(), and NonDLocalReliability::warmStartFlag.
Referenced by NonDLocalReliability::mpp search().
void initialize level data (

) [private]

convenience function for initializing/warm starting MPP search data for each response function prior to level 0
For a particular response function prior to the first z/p/beta level, initialize/warm-start optimizer initial guess
(initialPtU), expansion point (mostProbPointX/U), and associated response data (computedRespLevel, fnGradX/U, and fnHessX/U).
References Iterator::activeSet, NonDLocalReliability::assign mean data(), Model::component parallel mode(),
Model::compute response(), NonDLocalReliability::computedRespLevel, Model::continuous variable ids(), Model::continuous variables(), Dakota::copy data(), Model::current response(), NonDLocalReliability::curvatureDataAvailable, NonDLocalReliability::fnGradU, NonDLocalReliability::fnGradX, NonDLocalReliability::fnHessU,
NonDLocalReliability::fnHessX, Response::function gradient copy(), Response::function hessian(), Response::function value(), Model::inactive continuous variables(), NonDLocalReliability::initialPtU, NonDLocalReliability::initialPtUSpec, Iterator::iteratedModel, NonDLocalReliability::kappaUpdated, NonDLocalReliability::mostProbPointU, NonDLocalReliability::mostProbPointX, NonDReliability::mppSearchType, NonD::natafTransform, NonDReliability::numRelAnalyses, NonD::numUncertainVars, NonDLocalReliability::prevCumASVLev0, NonDLocalReliability::prevFnGradDLev0, NonDLocalReliability::prevFnGradULev0, NonDLocalReliability::prevICVars, NonDLocalReliability::prevMPPULev0, ActiveSet::request value(), ActiveSet::request values(), NonD::requestedRespLevels, NonDReliability::respFnCount, Iterator::subIteratorFlag, Model::surrogate function indices(), NonDLocalReliability::taylorOrder, NonDLocalReliability::update limit state surrogate(), NonDReliability::uSpaceModel,
and NonDLocalReliability::warmStartFlag.
Referenced by NonDLocalReliability::mpp search().
void initialize mpp search data (

) [private]

convenience function for initializing/warm starting MPP search data for each z/p/beta level for each response
function
For a particular response function at a particular z/p/beta level, warm-start or reset the optimizer initial guess
(initialPtU), expansion point (mostProbPointX/U), and associated response data (computedRespLevel, fnGradX/U, and fnHessX/U).
References NonDLocalReliability::assign mean data(), NonD::computedGenRelLevels, NonD::computedRelLevels, NonDLocalReliability::fnGradU, Model::hessian type(), NonDLocalReliability::initialPtU, NonDLocalReliability::initialPtUSpec, NonDLocalReliability::integrationOrder, Iterator::iteratedModel, NonDReliability::levelCount, NonDLocalReliability::mostProbPointU, NonDReliability::mppSearchType, NonD::numUncertainVars,
NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonDReliability::requestedTargetLevel, NonDReliability::respFnCount, NonDLocalReliability::taylorOrder, and NonDLocalReliability::warmStartFlag.
Referenced by NonDLocalReliability::mpp search().
void update mpp search data ( const Variables & vars star, const Response & resp star ) [private]
convenience function for updating MPP search data for each z/p/beta level for each response function

654

CHAPTER 13. CLASS DOCUMENTATION

Includes case-specific logic for updating MPP search data for the AMV/AMV+/TANA/NO APPROX methods.
References Response::active set(), Response::active set request vector(), Iterator::activeSet, NonDReliability::approxConverged, NonDReliability::approxIters, Model::component parallel mode(), Model::compute response(),
NonDLocalReliability::computedRelLevel, NonDLocalReliability::computedRespLevel, Model::continuous variableids(), Variables::continuous variables(), Model::continuous variables(), Iterator::convergenceTol, Variables::copy(),
Dakota::copy data(), Model::current response(), Model::current variables(), NonDLocalReliability::curvatureDataAvailable, Dakota::data pairs, NonD::finalStatistics, NonDLocalReliability::fnGradU, NonDLocalReliability::fnGradX, NonDLocalReliability::fnHessU, NonDLocalReliability::fnHessX, Response::function gradient copy(),
Response::function hessian(), Response::function value(), Response::function values(), NonDLocalReliability::initialPtU, NonDLocalReliability::integrationOrder, Model::interface id(), Iterator::iteratedModel, NonDLocalReliability::kappaUpdated, NonDReliability::levelCount, Dakota::lookup by val(), Iterator::maxIterations, NonDLocalReliability::mostProbPointU, NonDLocalReliability::mostProbPointX, NonDReliability::mppSearchType,
NonD::natafTransform, Analyzer::numFunctions, NonD::numNormalVars, NonD::numUncertainVars, NonDReliability::pmaMaximizeG, ActiveSet::request value(), ActiveSet::request values(), ActiveSet::request vector(), NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonDReliability::requestedTargetLevel, NonDReliability::respFnCount, NonDLocalReliability::signed norm(), NonDReliability::statCount, NonDLocalReliability::taylorOrder, NonDLocalReliability::update limit state surrogate(), NonDLocalReliability::update pma maximize(),
NonDReliability::uSpaceModel, NonDLocalReliability::warmStartFlag, and NonDLocalReliability::warningBits.
Referenced by NonDLocalReliability::mpp search().
void update level data (

) [private]

convenience function for updating z/p/beta level data and final statistics following MPP convergence
Updates computedRespLevels/computedProbLevels/computedRelLevels, finalStatistics, warm start, and graphics data.
References Response::active set derivative vector(), Response::active set request vector(), Graphics::add datapoint(),
NonD::cdfFlag, NonDLocalReliability::computedGenRelLevel, NonD::computedGenRelLevels, NonD::computedProbLevels, NonDLocalReliability::computedRelLevel, NonD::computedRelLevels, NonDLocalReliability::computedRespLevel, NonD::computedRespLevels, Dakota::dakota graphics, NonDLocalReliability::dg ds eval(), NonDLocalReliability::dp2 dbeta factor(), NonD::finalStatistics, NonDLocalReliability::fnGradU, NonDLocalReliability::fnGradX, NonDLocalReliability::fnHessU, Response::function gradient(), NonDLocalReliability::integrationOrder, NonDReliability::levelCount, NonDLocalReliability::mostProbPointU, NonDLocalReliability::mostProbPointX, Graphics::new dataset(), Analyzer::numFunctions, NonD::numUncertainVars, NonDLocalReliability::prevCumASVLev0, NonDLocalReliability::prevFnGradDLev0, NonDLocalReliability::prevFnGradULev0, NonDLocalReliability::prevMPPULev0, NonDLocalReliability::probability(), NonDLocalReliability::reliability(), NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonDReliability::respFnCount, NonD::respLevelTarget, NonD::respLevelTargetReduce, NonDReliability::statCount, Iterator::subIteratorFlag, NonD::totalLevelRequests, and NonDLocalReliability::warmStartFlag.
Referenced by NonDLocalReliability::mpp search().
void dg ds eval ( const RealVector & x vars, const RealVector & fn grad x, RealVector & final stat grad
) [private]
convenience function for evaluating dg/ds
Computes dg/ds where s = design variables. Supports potentially overlapping cases of design variable augmentation and insertion.
References Response::active set derivative vector(), Iterator::activeSet, Model::all continuous variable ids(),
Model::component parallel mode(), Model::compute response(), Dakota::contains(), Model::continuous variableids(), Model::continuous variables(), Dakota::copy data(), Model::current response(), ActiveSet::derivative vector(),

13.99. NONDLOCALSINGLEINTERVAL CLASS REFERENCE

655

NonD::finalStatistics, Response::function gradient copy(), Response::function gradients(), Model::inactive continuousvariable ids(), Iterator::iteratedModel, NonDReliability::mppSearchType, NonD::natafTransform, Iterator::primaryACVarMapIndices, ActiveSet::request value(), ActiveSet::request values(), NonDReliability::respFnCount, Iterator::secondaryACVarMapTargets, and NonDReliability::uSpaceModel.
Referenced by NonDLocalReliability::mean value(), NonDLocalReliability::mpp search(), and NonDLocalReliability::update level data().

Real dp2 dbeta factor ( Real beta, bool cdf flag ) [private]
compute factor for derivative of second-order probability with respect to reliability index (from differentiating
BREITUNG or HOHENRACK expressions)
Compute sensitivity of second-order probability w.r.t. beta for use in derivatives of p 2 or beta w.r.t. auxilliary
parameters s (design, epistemic) or derivatives of beta w.r.t. u in PMA2 constraint eval().
References Dakota::abort handler(), NonDLocalReliability::curvatureDataAvailable, NonDLocalReliability::curvatureThresh, NonDLocalReliability::kappaU, NonD::numUncertainVars, NonDLocalReliability::probability(),
NonDLocalReliability::scale curvature(), NonDLocalReliability::secondOrderIntType, and NonDLocalReliability::warningBits.
Referenced by NonDLocalReliability::PMA2 constraint eval(), and NonDLocalReliability::update level data().

Real probability ( Real beta, bool cdf flag, const RealVector & mpp u, const RealVector & fn grad u,
const RealSymMatrix & fn hess u ) [private]
Convert provided reliability to probability using either a first-order or second-order integration.
Converts beta into a probability using either first-order (FORM) or second-order (SORM) integration. The
SORM calculation first calculates the principal curvatures at the MPP (using the approach in Ch. 8 of Haldar &
Mahadevan), and then applies correction formulations from the literature (Breitung, Hohenbichler-Rackwitz, or
Hong).
References NonDLocalReliability::curvatureDataAvailable, NonDLocalReliability::curvatureThresh, NonDAdaptImpSampling::final probability(), NonDReliability::importanceSampler, NonDLocalReliability::integrationOrder, NonDReliability::integrationRefinement, Iterator::iterator rep(), NonDLocalReliability::kappaU, NonDLocalReliability::kappaUpdated, NonD::numUncertainVars, Iterator::outputLevel, NonDLocalReliability::principalcurvatures(), NonDLocalReliability::probability(), NonDReliability::requestedTargetLevel, NonDReliability::respFnCount, Iterator::run(), NonDLocalReliability::scale curvature(), NonDLocalReliability::secondOrderIntType,
NonDLocalReliability::warningBits, and Dakota::write precision.
The documentation for this class was generated from the following files:
NonDLocalReliability.hpp
NonDLocalReliability.cpp

13.99

NonDLocalSingleInterval Class Reference

Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.
Inheritance diagram for NonDLocalSingleInterval:

656

CHAPTER 13. CLASS DOCUMENTATION


Iterator
Analyzer
NonD
NonDInterval
NonDLocalInterval
NonDLocalSingleInterval

Public Member Functions


NonDLocalSingleInterval (ProblemDescDB &problem db, Model &model)
constructor

NonDLocalSingleInterval ()
destructor

Protected Member Functions


void initialize ()
perform any required initialization

void post process cell results (bool maximize)


post-process a cell minimization/maximization result

Private Attributes
size t statCntr
counter for finalStatistics

Additional Inherited Members


13.99.1

Detailed Description

Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.
The NonDLocalSingleInterval class supports local gradient-based optimization apporaches to determining
interval bounds for epistemic UQ. The interval bounds may be on the entire function in the case of pure interval
analysis (e.g. intervals on input = intervals on output), or the intervals may be on statistics of an inner loop
aleatory analysis such as intervals on means, variances, or percentile levels.
The documentation for this class was generated from the following files:
NonDLocalSingleInterval.hpp
NonDLocalSingleInterval.cpp

13.100. NONDPOFDARTS CLASS REFERENCE

13.100

657

NonDPOFDarts Class Reference

Base class for POF Dart methods within DAKOTA/UQ.


Inheritance diagram for NonDPOFDarts:
Iterator
Analyzer
NonD
NonDPOFDarts

Public Member Functions


NonDPOFDarts (ProblemDescDB &problem db, Model &model)
constructor

NonDPOFDarts ()
destructor

void quantify uncertainty ()


perform POFDart analysis and return probability of failure

Protected Member Functions


void initiate random number generator (unsigned long x)
POF Darts Methods.

double generate a random number ()


void init pof darts ()
void exit pof darts ()
void execute (size t kd)
void print POF results (double lower, double upper)
void print results (std::ostream &s)

void classical dart throwing games (size t game index)


void line dart throwing games (size t game index)
bool valid dart (double x)
bool valid line flat (size t flat dim, double flat dart)
void add point (double x)
void assign sphere radius POF (double x, size t isample)
void compute response update Lip (double x)
void shrink big spheres ()
double area triangle (double x1, double y1, double x2, double y2, double x3, double y3)
void initialize surrogates ()
void add surrogate data (const Variables &vars, const Response &resp)

print the final statistics

658

CHAPTER 13. CLASS DOCUMENTATION

void build surrogate (size t fn index)


Real eval surrogate (size t fn index, double vin)
double f true (double x)
void plot vertices 2d ()

Protected Attributes

int samples
int seed
double Q [1220]
int indx
double cc
double c
double zc
double zx
double zy
size t qlen
size t n dim
double xmin
double xmax
double failure threshold
double num darts
double num successive misses p
double num successive misses m
double max num successive misses
double max radius
double accepted void ratio
size t num inserted points
size t total budget
double sample points
double dart
size t flat dim
size t line flat
size t num flat segments
double line flat start
double line flat end
double line flat length
double Lip
double fval
size t active response function
SharedApproxData sharedData
std::vector< Approximation > gpApproximations
Variables gpEvalVars

13.101. NONDPOLYNOMIALCHAOS CLASS REFERENCE

659

Additional Inherited Members


13.100.1

Detailed Description

Base class for POF Dart methods within DAKOTA/UQ.


The NonDPOFDart class implements the calculation of a failure probability for a specified threshold for a
specified response function using the concepts developed by Mohamed Ebeida. The approach works by throwing
down a number of Poisson disk samples of varying radii, and identifying each disk as either in the failure or
safe region. The center of each disk represents a true function evaluation. kd-darts are used to place additional
points, in such a way to target the failure region. When the disks cover the space sufficiently, Monte Carlo methods
or a box volume approach is used to calculate both the lower and upper bounds on the failure probability.
The documentation for this class was generated from the following files:
NonDPOFDarts.hpp
NonDPOFDarts.cpp

13.101

NonDPolynomialChaos Class Reference

Nonintrusive polynomial chaos expansion approaches to uncertainty quantification.


Inheritance diagram for NonDPolynomialChaos:
Iterator
Analyzer
NonD
NonDExpansion
NonDPolynomialChaos

Public Member Functions


NonDPolynomialChaos (ProblemDescDB &problem db, Model &model)
standard constructor

NonDPolynomialChaos (Model &model, short exp coeffs approach, unsigned short num int level, short
u space type, bool piecewise basis, bool use derivs)
alternate constructor

NonDPolynomialChaos ()
destructor

Protected Member Functions


void init communicators ()

660

CHAPTER 13. CLASS DOCUMENTATION


initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void resolve inputs (short &u space type, short &data order)
perform error checks and mode overrides

void initialize u space model ()


initialize uSpaceModel polynomial approximations with PCE/SC data

void increment specification sequence ()


increment the input specification sequence (PCE only)

void compute expansion ()


form or import an orthogonal polynomial expansion using PCE methods

void increment order ()


uniformly increment the order of the polynomial chaos expansion

void print coefficients (std::ostream &s)


print the PCE coefficient array for the orthogonal basis

void archive coefficients ()


archive the PCE coefficient array for the orthogonal basis

Private Member Functions


int terms ratio to samples (size t num exp terms, Real colloc ratio, Real terms order)
convert number of expansion terms and collocation ratio to a number of collocation samples

Real terms samples to ratio (size t num exp terms, int samples, Real terms order)
convert number of expansion terms and number of collocation samples to a collocation ratio

void order to dim preference (const UShortArray &order, unsigned short &p, RealVector &dim pref)
convert an isotropic/anisotropic expansion order vector into a scalar plus a dimension preference vector

Private Attributes
String expansionExportFile
filename for export of chaos coefficients

String expansionImportFile
filename for import of chaos coefficients

Real collocRatio
factor applied to terms termsOrder in computing number of regression points, either user specified or inferred

Real termsOrder
exponent applied to number of expansion terms for computing number of regression points

bool tensorRegression
option for regression PCE using a filtered set tensor-product points

bool crossValidation
flag for use of cross-validation for selection of parameter settings in regression approaches

RealVector noiseTols
noise tolerance for compressive sensing algorithms; vector form used in cross-validation

13.101. NONDPOLYNOMIALCHAOS CLASS REFERENCE

661

Real l2Penalty
L2 penalty for LASSO algorithm (elastic net variant)

UShortArray expOrderSeqSpec
user specification for expansion order (array for multifidelity)

RealVector dimPrefSpec
user specification for dimension preference

SizetArray collocPtsSeqSpec
user specification for collocation points (array for multifidelity)

SizetArray expSamplesSeqSpec
user specification for expansion samples (array for multifidelity)

size t sequenceIndex
sequence index for {expOrder,collocPts,expSamples}SeqSpec

RealMatrix pceGradsMeanX
derivative of the PCE with respect to the x-space variables evaluated at the means (used as uncertainty importance
metrics)

bool normalizedCoeffOutput
user request for use of normalization when outputting PCE coefficients

Additional Inherited Members


13.101.1

Detailed Description

Nonintrusive polynomial chaos expansion approaches to uncertainty quantification.


The NonDPolynomialChaos class uses a polynomial chaos expansion (PCE) approach to approximate the
effect of parameter uncertainties on response functions of interest. It utilizes the OrthogPolyApproximation class
to manage multiple types of orthogonal polynomials within a Wiener-Askey scheme to PCE. It supports PCE
coefficient estimation via sampling, quadrature, point-collocation, and file import.

13.101.2

Constructor & Destructor Documentation

NonDPolynomialChaos ( ProblemDescDB & problem db, Model & model )


standard constructor
This constructor is called for a standard letter-envelope iterator instantiation using the ProblemDescDB.
References Dakota::abort handler(), NonDIntegration::anisotropic order to dimension preference(), Model::assign rep(), NonDPolynomialChaos::collocPtsSeqSpec, NonDPolynomialChaos::collocRatio, ParallelLibrary::command line check(), NonDExpansion::construct cubature(), NonDExpansion::construct expansion sampler(),
NonD::construct lhs(), NonDExpansion::construct quadrature(), NonDExpansion::construct sparse grid(), NonDIntegration::dimension preference to anisotropic order(), NonDPolynomialChaos::dimPrefSpec, NonDExpansion::expansionBasisType, NonDExpansion::expansionCoeffsApproach, NonDPolynomialChaos::expansionImportFile, NonDPolynomialChaos::expOrderSeqSpec, NonDPolynomialChaos::expSamplesSeqSpec, ProblemDescDB::get bool(), ProblemDescDB::get int(), ProblemDescDB::get real(), ProblemDescDB::get short(), ProblemDescDB::get string(), ProblemDescDB::get usa(), ProblemDescDB::get ushort(), NonDExpansion::initialize(),
NonDPolynomialChaos::initialize u space model(), Iterator::iteratedModel, Iterator::maxEvalConcurrency, NonD::numContDesVars, NonD::numContEpistUncVars, Analyzer::numContinuousVars, NonD::numContStateVars,
NonDExpansion::numSamplesOnModel, Iterator::outputLevel, ProblemDescDB::parallel library(), Iterator::probDescDB, NonDExpansion::refineControl, NonDExpansion::refineType, NonDPolynomialChaos::resolve inputs(),

662

CHAPTER 13. CLASS DOCUMENTATION

NonDPolynomialChaos::sequenceIndex, NonDPolynomialChaos::tensorRegression, NonDPolynomialChaos::termsratio to samples(), NonDPolynomialChaos::terms samples to ratio(), NonDPolynomialChaos::termsOrder, NonD::transform model(), NonDExpansion::uSpaceModel, and Analyzer::vary pattern().
NonDPolynomialChaos ( Model & model, short exp coeffs approach, unsigned short num int level, short
u space type, bool piecewise basis, bool use derivs )
alternate constructor
This constructor is used for helper iterator instantiation on the fly.
References Model::assign rep(), NonDExpansion::construct cubature(), NonDExpansion::construct quadrature(),
NonDExpansion::construct sparse grid(), NonDExpansion::expansionCoeffsApproach, NonDExpansion::initialize(),
NonDPolynomialChaos::initialize u space model(), Iterator::iteratedModel, NonD::numContDesVars, NonD::numContEpistUncVars, NonD::numContStateVars, Iterator::outputLevel, NonDPolynomialChaos::resolve inputs(), NonD::transform model(), and NonDExpansion::uSpaceModel.

13.101.3

Member Function Documentation

void increment specification sequence (

) [protected], [virtual]

increment the input specification sequence (PCE only)


default implementation is overridden by PCE
Reimplemented from NonDExpansion.
References NonDPolynomialChaos::collocPtsSeqSpec, NonDPolynomialChaos::collocRatio, SharedApproxData::data rep(), NonDIntegration::dimension preference to anisotropic order(), NonDPolynomialChaos::dimPrefSpec, SharedPecosApproxData::expansion order(), NonDExpansion::expansionBasisType, NonDExpansion::expansionCoeffsApproach, NonDPolynomialChaos::expOrderSeqSpec, NonDPolynomialChaos::expSamplesSeqSpec, NonDExpansion::increment specification sequence(), Iterator::iterator rep(), NonDQuadrature::mode(), Model::modelrep(), Analyzer::numContinuousVars, NonDExpansion::numSamplesOnModel, NonDQuadrature::quadrature order(), NonDQuadrature::samples(), Iterator::sampling reference(), NonDPolynomialChaos::sequenceIndex, Model::shared approximation(), Model::subordinate iterator(), NonDPolynomialChaos::tensorRegression, NonDPolynomialChaos::terms ratio to samples(), NonDPolynomialChaos::termsOrder, DataFitSurrModel::total points(), NonDQuadrature::update(), and NonDExpansion::uSpaceModel.
void increment order (

) [protected], [virtual]

uniformly increment the order of the polynomial chaos expansion


Used for uniform refinement of regression-based PCE.
Reimplemented from NonDExpansion.
References NonDPolynomialChaos::collocRatio, SharedApproxData::data rep(), SharedPecosApproxData::expansion order(), NonDExpansion::expansionBasisType, NonDQuadrature::increment grid(), SharedPecosApproxData::increment order(), Iterator::iterator rep(), NonDQuadrature::mode(), Model::model rep(), NonDExpansion::numSamplesOnModel, NonDQuadrature::samples(), Iterator::sampling reference(), Model::shared approximation(),
Model::subordinate iterator(), NonDPolynomialChaos::tensorRegression, NonDPolynomialChaos::terms ratio to samples(), NonDPolynomialChaos::termsOrder, DataFitSurrModel::total points(), NonDQuadrature::update(),
and NonDExpansion::uSpaceModel.
The documentation for this class was generated from the following files:
NonDPolynomialChaos.hpp
NonDPolynomialChaos.cpp

13.102. NONDQUADRATURE CLASS REFERENCE

13.102

663

NonDQuadrature Class Reference

Derived nondeterministic class that generates N-dimensional numerical quadrature points for evaluation of expectation integrals over uncorrelated standard normals/uniforms/exponentials/betas/gammas.
Inheritance diagram for NonDQuadrature:
Iterator
Analyzer
NonD
NonDIntegration
NonDQuadrature

Public Member Functions


NonDQuadrature (Model &model, const UShortArray &quad order seq, const RealVector &dim pref)
alternate constructor for instantiations on the fly based on a quadrature order specification

NonDQuadrature (Model &model, int num filt samples, const RealVector &dim pref)
alternate constructor for instantiations on the fly that generate a filtered tensor product sample set

NonDQuadrature (Model &model, int num rand samples, int seed, const UShortArray &quad order seq,
const RealVector &dim pref)
alternate constructor for instantiations on the fly that sample randomly from a tensor product multi-index

void increment grid ()


increment SSG level/TPQ order

void update ()
propagate any numSamples updates and/or grid updates/increments

const Pecos::UShortArray & quadrature order () const


return Pecos::TensorProductDriver::quadOrder

void quadrature order (const Pecos::UShortArray &dim quad order)


set dimQuadOrderRef and map to Pecos::TensorProductDriver::quadOrder

void samples (size t samples)


set numSamples

short mode () const


return quadMode

Protected Member Functions


NonDQuadrature (ProblemDescDB &problem db, Model &model)
constructor

NonDQuadrature ()

664

CHAPTER 13. CLASS DOCUMENTATION


destructor

void initialize grid (const std::vector< Pecos::BasisPolynomial > &poly basis)


void get parameter sets (Model &model)
Returns one block of samples (ndim num samples)

void reset ()
restore initial state for repeated sub-iterator executions

void sampling reset (int min samples, bool all data flag, bool stats flag)
void increment grid preference (const RealVector &dim pref)
increment SSG level/TPQ order and update anisotropy

void increment specification sequence ()


increment sequenceIndex and update active orders/levels

int num samples () const

Private Member Functions


void increment grid (UShortArray &dim quad order)
convenience function used to make increment grid() more modular

void increment grid preference (const RealVector &dim pref, UShortArray &dim quad order)
convenience function used to make increment grid preference() more modular

void compute minimum quadrature order (size t min samples, const RealVector &dim pref, UShortArray
&dim quad order)
calculate smallest dim quad order with at least min samples

void filter parameter sets ()


prune allSamples back to size numSamples, retaining points with highest product weight

void update anisotropic order (const RealVector &dim pref, UShortArray &quad order ref)
update quad order ref based on an updated dimension preference, enforcing previous values as a lower bound

void initialize dimension quadrature order (unsigned short quad order spec, const RealVector &dim prefspec, UShortArray &dim quad order)
initialize dim quad order from quad order spec and dim pref spec

void increment dimension quadrature order (UShortArray &dim quad order)


increment each dim quad order entry by 1

void increment dimension quadrature order (const RealVector &dim pref, UShortArray &dim quad order)
increment the dim quad order entry with maximum preference by 1 and then rebalance

Private Attributes
Pecos::TensorProductDriver tpqDriver
convenience pointer to the numIntDriver representation

bool nestedRules
for studies involving refinement strategies, allow for use of nested quadrature rules such as Gauss-Patterson

UShortArray quadOrderSeqSpec
a sequence of scalar quadrature orders, one per refinement level

UShortArray dimQuadOrderRef
reference point for Pecos::TensorProductDriver::quadOrder: the original user specification for the number of
Gauss points per dimension, plus any refinements posted by increment grid()

13.102. NONDQUADRATURE CLASS REFERENCE

665

short quadMode
point generation mode: FULL TENSOR, FILTERED TENSOR, RANDOM TENSOR

size t numSamples
size of a subset of tensor quadrature points (filtered based on product weight or sampled uniformly from the tensor
multi-index); used by the regression PCE approach known as probabilistic collocation

int randomSeed
seed for the random number generator used in sampling of the tensor multi-index

Additional Inherited Members


13.102.1

Detailed Description

Derived nondeterministic class that generates N-dimensional numerical quadrature points for evaluation of expectation integrals over uncorrelated standard normals/uniforms/exponentials/betas/gammas.
This class is used by NonDPolynomialChaos, but could also be used for general numerical integration of
moments. It employs Gauss-Hermite, Gauss-Legendre, Gauss-Laguerre, Gauss-Jacobi and generalized Gauss-Laguerre quadrature for use with normal, uniform, exponential, beta, and gamma density functions and integration
bounds. The abscissas and weights for one-dimensional integration are extracted from the appropriate OrthogonalPolynomial class and are extended to n-dimensions using a tensor product approach.

13.102.2

Constructor & Destructor Documentation

NonDQuadrature ( Model & model, const UShortArray & quad order seq, const RealVector & dim pref
)
alternate constructor for instantiations on the fly based on a quadrature order specification
This alternate constructor is used for on-the-fly generation and evaluation of numerical quadrature points.
References NonDIntegration::numIntDriver, and NonDQuadrature::tpqDriver.
NonDQuadrature ( Model & model, int num filt samples, const RealVector & dim pref )
alternate constructor for instantiations on the fly that generate a filtered tensor product sample set
This alternate constructor is used for on-the-fly generation and evaluation of filtered tensor quadrature points.
References NonDIntegration::numIntDriver, and NonDQuadrature::tpqDriver.
NonDQuadrature ( Model & model, int num rand samples, int seed, const UShortArray &
quad order seq, const RealVector & dim pref )
alternate constructor for instantiations on the fly that sample randomly from a tensor product multi-index
This alternate constructor is used for on-the-fly generation and evaluation of random sampling from a tensor
quadrature multi-index.
References NonDIntegration::numIntDriver, and NonDQuadrature::tpqDriver.
NonDQuadrature ( ProblemDescDB & problem db, Model & model ) [protected]
constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification. It is not currently
used, as there is not yet a separate nond quadrature method specification.

666

CHAPTER 13. CLASS DOCUMENTATION

References NonDIntegration::check variables(), ProblemDescDB::get bool(), ProblemDescDB::get short(),


Iterator::maxEvalConcurrency, NonD::natafTransform, NonDQuadrature::nestedRules, NonDIntegration::numIntDriver, Iterator::probDescDB, NonDQuadrature::reset(), and NonDQuadrature::tpqDriver.

13.102.3

Member Function Documentation

void initialize grid ( const std::vector< Pecos::BasisPolynomial > & poly basis ) [protected],
[virtual]
Used in combination with alternate NonDQuadrature constructor.
Implements NonDIntegration.
References Iterator::maxEvalConcurrency, NonDQuadrature::nestedRules, Analyzer::numContinuousVars, NonDQuadrature::numSamples, NonDQuadrature::quadMode, NonDQuadrature::reset(), NonDQuadrature::tpqDriver,
and NonDQuadrature::update().

void sampling reset ( int min samples, bool all data flag, bool stats flag ) [protected], [virtual]
used by DataFitSurrModel::build global() to publish the minimum number of points needed from the quadrature
routine in order to build a particular global approximation.
Reimplemented from Iterator.
References NonDQuadrature::compute minimum quadrature order(), NonDIntegration::dimPrefSpec, NonDQuadrature::dimQuadOrderRef, NonDQuadrature::nestedRules, Analyzer::numContinuousVars, and NonDQuadrature::tpqDriver.
Referenced by NonDQuadrature::update().

int num samples (

) const [inline], [protected], [virtual]

Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References NonDQuadrature::numSamples, NonDQuadrature::quadMode, and NonDQuadrature::tpqDriver.
The documentation for this class was generated from the following files:
NonDQuadrature.hpp
NonDQuadrature.cpp

13.103

NonDQUESOBayesCalibration Class Reference

Bayesian inference using the QUESO library from UT Austin.


Inheritance diagram for NonDQUESOBayesCalibration:

13.103. NONDQUESOBAYESCALIBRATION CLASS REFERENCE


Iterator
Analyzer
NonD
NonDCalibration
NonDBayesCalibration
NonDQUESOBayesCalibration

Public Member Functions


NonDQUESOBayesCalibration (ProblemDescDB &problem db, Model &model)
standard constructor

NonDQUESOBayesCalibration ()
destructor

Public Attributes
String mcmcType
MCMC type (DRAM or Multilevel, both within QUESO)

String rejectionType
Rejection type (standard or delayed, in the DRAM framework)

String metropolisType
Metropolis type (hastings or adaptive, in the DRAM framework)

int numSamples
number of samples in the chain (e.g. number of MCMC samples)

RealVector proposalCovScale
scale factor for proposal covariance

Real likelihoodScale
scale factor for likelihood

bool calibrateSigmaFlag
flag to indicated if the sigma terms should be calibrated (default true)

Protected Member Functions


void quantify uncertainty ()
redefined from DakotaNonD

667

668

CHAPTER 13. CLASS DOCUMENTATION

Static Protected Member Functions


static double dakotaLikelihoodRoutine (const QUESO::GslVector &paramValues, const QUESO::GslVector
paramDirection, const void functionDataPtr, QUESO::GslVector gradVector, QUESO::GslMatrix hessianMatrix, QUESO::GslVector hessianEffect)
Likelihood function for call-back from QUESO to DAKOTA for evaluation.

Protected Attributes
int randomSeed
random seed to pass to QUESO

Private Attributes
short emulatorType
the emulator type: NO EMULATOR, GP EMULATOR, PCE EMULATOR, or SC EMULATOR

Static Private Attributes


static NonDQUESOBayesCalibration NonDQUESOInstance
Pointer to current class instance for use in static callback functions.

Additional Inherited Members


13.103.1

Detailed Description

Bayesian inference using the QUESO library from UT Austin.


This class provides a wrapper to the QUESO library developed as part of the Predictive Science Academic
Alliance Program (PSAAP), specifically the PECOS (Predictive Engineering and Computational Sciences) Center at UT Austin. The name QUESO stands for Quantification of Uncertainty for Estimation, Simulation, and
Optimization.

13.103.2

Constructor & Destructor Documentation

NonDQUESOBayesCalibration ( ProblemDescDB & problem db, Model & model )


standard constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification.

13.103.3

Member Function Documentation

void quantify uncertainty (

) [protected], [virtual]

redefined from DakotaNonD


Perform the uncertainty quantification
Reimplemented from NonDBayesCalibration.
References NonDQUESOBayesCalibration::calibrateSigmaFlag, Model::continuous lower bounds(), Model::continuous upper bounds(), Model::continuous variables(), NonDQUESOBayesCalibration::dakotaLikelihoodRoutine(), NonDBayesCalibration::emulatorModel, NonDQUESOBayesCalibration::emulatorType, NonDCalibration::expData, NonDCalibration::expDataFileAnnotated, NonDCalibration::expDataFileName, Iterator::iterator rep(),

13.104. NONDRELIABILITY CLASS REFERENCE

669

ExperimentData::load scalar(), NonDQUESOBayesCalibration::mcmcType, NonDQUESOBayesCalibration::metropolisType, NonDQUESOBayesCalibration::NonDQUESOInstance, Analyzer::numContinuousVars, NonDCalibration::numExpConfigVars, NonDCalibration::numExperiments, NonDCalibration::numExpStdDeviationsRead, Analyzer::numFunctions, NonDCalibration::numReplicates, NonDQUESOBayesCalibration::numSamples, Iterator::outputLevel, NonDQUESOBayesCalibration::proposalCovScale, NonDBayesCalibration::quantify uncertainty(), NonDQUESOBayesCalibration::randomSeed, NonDQUESOBayesCalibration::rejectionType, ExperimentData::scalarsigma(), NonDBayesCalibration::standardizedSpace, NonDBayesCalibration::stochExpIterator, and Dakota::strends().
The documentation for this class was generated from the following files:
NonDQUESOBayesCalibration.hpp
NonDQUESOBayesCalibration.cpp

13.104

NonDReliability Class Reference

Base class for the reliability methods within DAKOTA/UQ.


Inheritance diagram for NonDReliability:
Iterator
Analyzer
NonD
NonDReliability
NonDGlobalReliability

NonDLocalReliability

Protected Member Functions


NonDReliability (ProblemDescDB &problem db, Model &model)
constructor

NonDReliability ()
destructor

void initialize graphics (int iterator server id=1)


initialize graphics customized for reliability methods

const Model & algorithm space model () const

Protected Attributes
Model uSpaceModel
Model representing the limit state in u-space, after any recastings and data fits.

Model mppModel
RecastModel which formulates the optimization subproblem: RIA, PMA, EGO.

Iterator mppOptimizer

670

CHAPTER 13. CLASS DOCUMENTATION


Iterator which optimizes the mppModel.

unsigned short mppSearchType


the MPP search type selection: MV, x/u-space AMV, x/u-space AMV+, x/u-space TANA, x/u-space EGO, or NO APPROX

Iterator importanceSampler
importance sampling instance used to compute/refine probabilities

unsigned short integrationRefinement


integration refinement type (NO INT REFINE, IS, AIS, or MMAIS) provided by refinement specification

size t numRelAnalyses
number of invocations of quantify uncertainty()

size t approxIters
number of approximation cycles for the current respFnCount/levelCount

bool approxConverged
indicates convergence of approximation-based iterations

int respFnCount
counter for which response function is being analyzed

size t levelCount
counter for which response/probability level is being analyzed

size t statCount
counter for which final statistic is being computed

bool pmaMaximizeG
flag indicating maximization of G(u) within PMA formulation

Real requestedTargetLevel
the {response,reliability,generalized reliability} level target for the current response function

Additional Inherited Members


13.104.1

Detailed Description

Base class for the reliability methods within DAKOTA/UQ.


The NonDReliability class provides a base class for NonDLocalReliability, which implements traditional
MPP-based reliability methods, and NonDGlobalReliability, which implements global limit state search using
Gaussian process models in combination with multimodal importance sampling.

13.104.2

Member Function Documentation

const Model & algorithm space model (

) const [inline], [protected], [virtual]

default definition that gets redefined in selected derived Minimizers


Reimplemented from Analyzer.
References NonDReliability::uSpaceModel.
The documentation for this class was generated from the following files:
NonDReliability.hpp
NonDReliability.cpp

13.105. NONDSAMPLING CLASS REFERENCE

13.105

671

NonDSampling Class Reference

Base class for common code between NonDLHSSampling, NonDIncremLHSSampling, and NonDAdaptImpSampling.
Inheritance diagram for NonDSampling:
Iterator
Analyzer
NonD
NonDSampling
NonDAdaptImpSampling

NonDAdaptiveSampling

NonDGPImpSampling

NonDIncremLHSSampling

NonDLHSSampling

Public Member Functions


void compute distribution mappings (const IntResponseMap &samples)
called by compute statistics() to calculate CDF/CCDF mappings of z to p/beta and of p/beta to z

void update final statistics ()


update finalStatistics from minValues/maxValues, momentStats, and computedProbLevels/computedRelLevels/computedRespLevels

void print pdf mappings (std::ostream &s) const


prints the PDFs computed in compute statistics()

Protected Member Functions


NonDSampling (ProblemDescDB &problem db, Model &model)
constructor

NonDSampling (unsigned short method name, Model &model, unsigned short sample type, int samples,
int seed, const String &rng, bool vary pattern, short sampling vars mode)
alternate constructor for sample generation and evaluation on the fly

NonDSampling (unsigned short sample type, int samples, int seed, const String &rng, const RealVector
&lower bnds, const RealVector &upper bnds)
alternate constructor for sample generation on the fly

NonDSampling ()
destructor

int num samples () const


void sampling reset (int min samples, bool all data flag, bool stats flag)
resets number of samples and sampling flags

void sampling reference (int samples ref)


set reference number of samples, which is a lower bound during reset

unsigned short sampling scheme () const


return sampleType

void vary pattern (bool pattern flag)

672

CHAPTER 13. CLASS DOCUMENTATION


set varyPattern

void get parameter sets (Model &model)


Uses lhsDriver to generate a set of samples from the distributions/bounds defined in the incoming model.

void get parameter sets (const RealVector &lower bnds, const RealVector &upper bnds)
Uses lhsDriver to generate a set of uniform samples over lower bnds/upper bnds.

void update model from sample (Model &model, const Real sample vars)
Override default update of continuous vars only.

void initialize lhs (bool write message)


increments numLHSRuns, sets random seed, and initializes lhsDriver

void compute statistics (const RealMatrix &vars samples, const IntResponseMap &resp samples)
For the input sample set, computes mean, standard deviation, and probability/reliability/response levels (aleatory
uncertainties) or intervals (epsitemic or mixed uncertainties)

void compute intervals (const IntResponseMap &samples)


called by compute statistics() to calculate min/max intervals

void compute moments (const IntResponseMap &samples)


called by compute statistics() to calculate means, std deviations, and confidence intervals

void print statistics (std::ostream &s) const


prints the statistics computed in compute statistics()

void print intervals (std::ostream &s) const


prints the intervals computed in compute intervals()

void print moments (std::ostream &s) const


prints the moments computed in compute moments()

void view design counts (const Model &model, size t &num cdv, size t &num didv, size t &num drdv)
const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model

void view aleatory uncertain counts (const Model &model, size t &num cauv, size t &num diauv, size t
&num drauv) const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model

void view epistemic uncertain counts (const Model &model, size t &num ceuv, size t &num dieuv, size t
&num dreuv) const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model

void view uncertain counts (const Model &model, size t &num cuv, size t &num diuv, size t &num druv)
const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model

void view state counts (const Model &model, size t &num csv, size t &num disv, size t &num drsv) const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model

void mode counts (const Model &model, size t &cv start, size t &num cv, size t &div start, size t &numdiv, size t &drv start, size t &num drv) const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model

13.105. NONDSAMPLING CLASS REFERENCE

673

Protected Attributes
const int seedSpec
the user seed specification (default is 0)

int randomSeed
the current seed

const int samplesSpec


initial specification of number of samples

int samplesRef
reference number of samples updated for refinement

int numSamples
the current number of samples to evaluate

String rngName
name of the random number generator

unsigned short sampleType


the sample type: default, random, lhs,

< incremental random, or incremental lhs

Pecos::LHSDriver lhsDriver
the C++ wrapper for the F90 LHS library

bool statsFlag
flags computation/output of statistics

bool allDataFlag
flags update of allResponses

< (allVariables or allSamples already defined)

short samplingVarsMode
the sampling mode: ALEATORY UNCERTAIN{, UNIFORM}, EPISTEMIC UNCERTAIN{, UNIFORM}, UNCERTAIN{, UNIFORM}, ACTIVE{, UNIFORM}, or ALL{, UNIFORM}. This is a secondary control on top of the
variables view that allows sampling over subsets of variables that may differ from the view.

short sampleRanksMode
mode for input/output of LHS sample ranks: IGNORE RANKS, GET RANKS, SET RANKS, or SET GET RANKS

bool varyPattern
flag for generating a sequence of seed values within multiple get parameter sets() calls so that these executions
(e.g., for SBO/SBNLS) are not repeated, but are still repeatable

RealMatrix sampleRanks
data structure to hold the sample ranks

SensAnalysisGlobal nonDSampCorr
initialize statistical post processing

Private Member Functions


void archive allocate pdf ()
allocate results array storage for pdf histograms

void archive pdf (size t fn index)


archive a single pdf histogram for specified function

674

CHAPTER 13. CLASS DOCUMENTATION

Private Attributes
size t numLHSRuns
counter for number of executions of get parameter sets() for this object

RealMatrix momentCIs
Matrix of confidence internals on moments, with rows for mean lower, mean upper, sd lower, sd upper (calculated
in compute moments())

RealMatrix extremeValues
Minimum (row 0) and maximum (row 1) values of response functions for epistemic calculations (calculated in
compute intervals()),.

RealVectorArray computedPDFAbscissas
sorted response PDF intervals bounds extracted from min/max sample and requested/computedRespLevels (vector
lengths = num bins + 1)

RealVectorArray computedPDFOrdinates
response PDF densities computed from bin counts divided by (unequal) bin widths (vector lengths = num bins)

Additional Inherited Members


13.105.1

Detailed Description

Base class for common code between NonDLHSSampling, NonDIncremLHSSampling, and NonDAdaptImpSampling.
This base class provides common code for sampling methods which employ the Latin Hypercube Sampling
(LHS) package from Sandia Albuquerques Risk and Reliability organization. NonDSampling now exclusively
utilizes the 1998 Fortran 90 LHS version as documented in SAND98-0210, which was converted to a UNIX link
library in
1. The 1970s vintage LHS (that had been f2cd and converted to incomplete classes) has been removed.

13.105.2

Constructor & Destructor Documentation

NonDSampling ( ProblemDescDB & problem db, Model & model ) [protected]


constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification.
References Dakota::abort handler(), NonD::epistemicStats, NonD::initialize final statistics(), Iterator::maxEvalConcurrency, NonDSampling::numSamples, NonDSampling::sampleType, and NonD::totalLevelRequests.
NonDSampling ( unsigned short method name, Model & model, unsigned short sample type, int samples,
int seed, const String & rng, bool vary pattern, short sampling vars mode ) [protected]
alternate constructor for sample generation and evaluation on the fly
This alternate constructor is used for generation and evaluation of on-the-fly sample sets.
References NonD::epistemicStats, Iterator::maxEvalConcurrency, NonD::numEpistemicUncVars, NonDSampling::numSamples, NonDSampling::sampleType, NonDSampling::samplingVarsMode, and Iterator::subIteratorFlag.

13.105. NONDSAMPLING CLASS REFERENCE

675

NonDSampling ( unsigned short sample type, int samples, int seed, const String & rng, const RealVector
& lower bnds, const RealVector & upper bnds ) [protected]
alternate constructor for sample generation on the fly
This alternate constructor is used by ConcurrentStrategy for generation of uniform, uncorrelated sample sets.
References Iterator::maxEvalConcurrency, NonDSampling::numSamples, NonDSampling::sampleType, and
Iterator::subIteratorFlag.

13.105.3

Member Function Documentation

int num samples (

) const [inline], [protected], [virtual]

Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References NonDSampling::numSamples.
Referenced by NonDAdaptImpSampling::evaluate samples(), and NonDAdaptImpSampling::select rep points().
void sampling reset ( int min samples, bool all data flag, bool stats flag ) [inline], [protected],
[virtual]
resets number of samples and sampling flags
used by DataFitSurrModel::build global() to publish the minimum number of samples needed from the sampling routine (to build a particular global approximation) and to set allDataFlag and statsFlag. In this case, allDataFlag is set to true (vectors of variable and response sets must be returned to build the global approximation)
and statsFlag is set to false (statistics computations are not needed).
Reimplemented from Iterator.
References NonDSampling::allDataFlag, NonDSampling::numSamples, NonDSampling::samplesRef, and NonDSampling::statsFlag.
void get parameter sets ( Model & model ) [protected], [virtual]
Uses lhsDriver to generate a set of samples from the distributions/bounds defined in the incoming model.
This version of get parameter sets() extracts data from the user-defined model in any of the four sampling
modes.
Reimplemented from Analyzer.
References Dakota::abort handler(), Model::acv(), Model::adiv(), Model::aleatory distribution parameters(),
Model::all continuous lower bounds(), Model::all continuous upper bounds(), Model::all discrete int lower bounds(),
Model::all discrete int upper bounds(), Analyzer::allSamples, Model::continuous lower bounds(), Model::continuousupper bounds(), Model::current variables(), Model::discrete design set int values(), Model::discrete design setreal values(), Model::discrete state set int values(), Model::discrete state set real values(), Model::epistemic distribution parameters(), NonDSampling::initialize lhs(), NonDSampling::lhsDriver, NonDSampling::mode counts(),
NonD::numContDesVars, NonD::numContStateVars, NonD::numDiscIntDesVars, NonD::numDiscIntStateVars,
NonD::numDiscRealDesVars, NonD::numDiscRealStateVars, NonDSampling::numSamples, NonDSampling::sampleRanks, NonDSampling::samplingVarsMode, and Variables::view().
Referenced by NonDLHSSampling::NonDLHSSampling(), NonDLHSSampling::pre run(), NonDIncremLHSSampling::quantify uncertainty(), and NonDAdaptImpSampling::quantify uncertainty().

676

CHAPTER 13. CLASS DOCUMENTATION

void get parameter sets ( const RealVector & lower bnds, const RealVector & upper bnds )
[protected]
Uses lhsDriver to generate a set of uniform samples over lower bnds/upper bnds.
This version of get parameter sets() does not extract data from the user-defined model, but instead relies on
the incoming bounded region definition. It only support a UNIFORM sampling mode, where the distinction of
ACTIVE UNIFORM vs. ALL UNIFORM is handled elsewhere.
References Analyzer::allSamples, NonDSampling::initialize lhs(), NonDSampling::lhsDriver, and NonDSampling::numSamples.
void view design counts ( const Model & model, size t & num cdv, size t & num didv, size t & num drdv
) const [protected]
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
This function computes total design variable counts, not active counts, for use in defining offsets and counts
within all variables arrays.
References Model::all continuous variable types(), Model::all discrete int variable types(), Model::all discretereal variable types(), Model::current variables(), Variables::cv start(), Variables::div start(), Variables::drv start(),
NonD::numContDesVars, NonD::numDiscIntDesVars, NonD::numDiscRealDesVars, and Variables::view().
Referenced by NonDSampling::mode counts().
void view aleatory uncertain counts ( const Model & model, size t & num cauv, size t & num diauv,
size t & num drauv ) const [protected]
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
This function computes total aleatory uncertain variable counts, not active counts, for use in defining offsets
and counts within all variables arrays.
References Model::aleatory distribution parameters(), Model::current variables(), Variables::cv(), Variables::div(), Variables::drv(), NonD::numContAleatUncVars, NonD::numDiscIntAleatUncVars, NonD::numDiscRealAleatUncVars, and Variables::view().
Referenced by NonDSampling::mode counts().
void view epistemic uncertain counts ( const Model & model, size t & num ceuv, size t & num dieuv,
size t & num dreuv ) const [protected]
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
This function computes total epistemic uncertain variable counts, not active counts, for use in defining offsets
and counts within all variables arrays.
References Model::current variables(), Variables::cv(), Variables::div(), Variables::drv(), Model::epistemic distribution parameters(), NonD::numContEpistUncVars, NonD::numDiscIntEpistUncVars, NonD::numDiscRealEpistUncVars, and Variables::view().
Referenced by NonDSampling::mode counts().
void view uncertain counts ( const Model & model, size t & num cuv, size t & num diuv, size t &
num druv ) const [protected]
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model

13.106. NONDSPARSEGRID CLASS REFERENCE

677

This function computes total uncertain variable counts, not active counts, for use in defining offsets and counts
within all variables arrays.
References Model::aleatory distribution parameters(), Model::current variables(), Variables::cv(), Variables::div(), Variables::drv(), Model::epistemic distribution parameters(), NonD::numContAleatUncVars, NonD::numContEpistUncVars, NonD::numDiscIntAleatUncVars, NonD::numDiscIntEpistUncVars, NonD::numDiscRealAleatUncVars, NonD::numDiscRealEpistUncVars, and Variables::view().
Referenced by NonDSampling::mode counts().
The documentation for this class was generated from the following files:
NonDSampling.hpp
NonDSampling.cpp

13.106

NonDSparseGrid Class Reference

Derived nondeterministic class that generates N-dimensional Smolyak sparse grids for numerical evaluation of
expectation integrals over independent standard random variables.
Inheritance diagram for NonDSparseGrid:
Iterator
Analyzer
NonD
NonDIntegration
NonDSparseGrid

Public Member Functions


NonDSparseGrid (Model &model, short exp coeffs approach, const UShortArray &ssg level seq, const
RealVector &dim pref, short growth rate=Pecos::MODERATE RESTRICTED GROWTH, short refine control=Pecos::NO CONTROL, bool track uniq prod wts=true, bool track colloc indices=true)
void increment grid ()
increment ssgDriver::ssgLevel

void increment grid weights (const RealVector &aniso wts)


update ssgDriver::ssgAnisoLevelWts and increment ssgDriver::ssgLevel based on specified anisotropic weighting

void increment specification sequence ()


advance to next nevel in ssgLevelSeqSpec sequence

const std::set< UShortArray > & active multi index () const


returns SparseGridDriver::active multi index()

const std::set< UShortArray > & old multi index () const


returns SparseGridDriver::old multi index()

void print smolyak multi index () const

678

CHAPTER 13. CLASS DOCUMENTATION


invokes SparseGridDriver::print smolyak multi index()

void initialize sets ()


invokes SparseGridDriver::initialize sets()

void update reference ()


invokes SparseGridDriver::update reference()

void increment set (const UShortArray &set)


invokes SparseGridDriver::push trial set()

int increment size () const


invokes SparseGridDriver::unique trial points()

void restore set ()


invokes SparseGridDriver::restore set()

void evaluate set ()


invokes SparseGridDriver::compute trial grid()

void decrement set ()


invokes SparseGridDriver::pop trial set()

void update sets (const UShortArray &set star)


invokes SparseGridDriver::update sets()

void print final sets (bool converged within tol)


invokes SparseGridDriver::print final sets(bool)

void finalize sets ()


invokes SparseGridDriver::finalize sets()

void evaluate grid increment ()


invokes SparseGridDriver::evaluate grid increment()

int num samples () const

Protected Member Functions


NonDSparseGrid (ProblemDescDB &problem db, Model &model)
constructor

NonDSparseGrid ()
destructor

void initialize grid (const std::vector< Pecos::BasisPolynomial > &poly basis)


initialize integration grid by drawing from polynomial basis settings

void get parameter sets (Model &model)


Returns one block of samples (ndim num samples)

void reset ()
restore initial state for repeated sub-iterator executions

void sampling reset (int min samples, bool all data flag, bool stats flag)

13.106. NONDSPARSEGRID CLASS REFERENCE

679

Private Attributes
Pecos::SparseGridDriver ssgDriver
convenience pointer to the numIntDriver representation

UShortArray ssgLevelSeqSpec
the user specification for the Smolyak sparse grid level, defining a sequence of refinement levels.

unsigned short ssgLevelRef


reference point (e.g., lower bound) for the Smolyak sparse grid level maintained within ssgDriver

Additional Inherited Members


13.106.1

Detailed Description

Derived nondeterministic class that generates N-dimensional Smolyak sparse grids for numerical evaluation of
expectation integrals over independent standard random variables.
This class is used by NonDPolynomialChaos and NonDStochCollocation, but could also be used for general numerical integration of moments. It employs 1-D Clenshaw-Curtis and Gaussian quadrature rules within
Smolyak sparse grids.

13.106.2

Constructor & Destructor Documentation

NonDSparseGrid ( Model & model, short exp coeffs approach, const UShortArray & ssg level seq,
const RealVector & dim pref, short growth rate = Pecos::MODERATE RESTRICTED GROWTH, short
refine control = Pecos::NO CONTROL, bool track uniq prod wts = true, bool track colloc indices =
true )
This alternate constructor is used for on-the-fly generation and evaluation of sparse grids within PCE and SC.
References NonDIntegration::numIntDriver, and NonDSparseGrid::ssgDriver.
NonDSparseGrid ( ProblemDescDB & problem db, Model & model ) [protected]
constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification. It is not currently
used, as there is not a separate sparse grid method specification.
References Model::aleatory distribution parameters(), NonDIntegration::check variables(), NonDIntegration::dimPrefSpec, ProblemDescDB::get bool(), ProblemDescDB::get short(), Iterator::iteratedModel, Iterator::maxEvalConcurrency, NonD::natafTransform, NonDIntegration::numIntDriver, Iterator::probDescDB, NonDSparseGrid::ssgDriver, and NonDSparseGrid::ssgLevelRef.

13.106.3

Member Function Documentation

int num samples (

) const [inline], [virtual]

Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References NonDSparseGrid::ssgDriver.

680

CHAPTER 13. CLASS DOCUMENTATION

void sampling reset ( int min samples, bool all data flag, bool stats flag ) [protected], [virtual]
used by DataFitSurrModel::build global() to publish the minimum number of points needed from the sparse grid
routine in order to build a particular global approximation.
Reimplemented from Iterator.
References NonDSparseGrid::ssgDriver, and NonDSparseGrid::ssgLevelRef.
The documentation for this class was generated from the following files:
NonDSparseGrid.hpp
NonDSparseGrid.cpp

13.107

NonDStochCollocation Class Reference

Nonintrusive stochastic collocation approaches to uncertainty quantification.


Inheritance diagram for NonDStochCollocation:
Iterator
Analyzer
NonD
NonDExpansion
NonDStochCollocation

Public Member Functions


NonDStochCollocation (ProblemDescDB &problem db, Model &model)
standard constructor

NonDStochCollocation (Model &model, short exp coeffs approach, unsigned short num int level, short
u space type, bool piecewise basis, bool use derivs)
alternate constructor

NonDStochCollocation ()
destructor

Protected Member Functions


void resolve inputs (short &u space type, short &data order)
perform error checks and mode overrides

void initialize u space model ()


initialize uSpaceModel polynomial approximations with PCE/SC data

void update expansion ()


update an expansion; avoids overhead in compute expansion()

13.107. NONDSTOCHCOLLOCATION CLASS REFERENCE

681

Real compute covariance metric ()


compute 2-norm of change in response covariance

Real compute final statistics metric ()


compute 2-norm of change in final statistics

Additional Inherited Members


13.107.1

Detailed Description

Nonintrusive stochastic collocation approaches to uncertainty quantification.


The NonDStochCollocation class uses a stochastic collocation (SC) approach to approximate the effect of
parameter uncertainties on response functions of interest. It utilizes the InterpPolyApproximation class to manage
multidimensional Lagrange polynomial interpolants.

13.107.2

Constructor & Destructor Documentation

NonDStochCollocation ( ProblemDescDB & problem db, Model & model )


standard constructor
This constructor is called for a standard letter-envelope iterator instantiation using the ProblemDescDB.
References Model::assign rep(), ParallelLibrary::command line check(), NonDExpansion::construct expansionsampler(), NonDExpansion::construct quadrature(), NonDExpansion::construct sparse grid(), NonDExpansion::expansionBasisType, NonDExpansion::expansionCoeffsApproach, ProblemDescDB::get bool(), ProblemDescDB::get rv(), ProblemDescDB::get short(), ProblemDescDB::get string(), ProblemDescDB::get usa(), NonDExpansion::initialize(), NonDStochCollocation::initialize u space model(), Iterator::iteratedModel, NonDExpansion::nestedRules, NonD::numContDesVars, NonD::numContEpistUncVars, NonD::numContStateVars, NonDExpansion::numSamplesOnModel, Iterator::outputLevel, ProblemDescDB::parallel library(), NonDExpansion::piecewiseBasis,
Iterator::probDescDB, NonDExpansion::refineControl, NonDStochCollocation::resolve inputs(), NonD::transformmodel(), and NonDExpansion::uSpaceModel.
NonDStochCollocation ( Model & model, short exp coeffs approach, unsigned short num int level, short
u space type, bool piecewise basis, bool use derivs )
alternate constructor
This constructor is used for helper iterator instantiation on the fly.
References Model::assign rep(), NonDExpansion::construct quadrature(), NonDExpansion::construct sparsegrid(), NonDExpansion::expansionBasisType, NonDExpansion::expansionCoeffsApproach, NonDExpansion::initialize(),
NonDStochCollocation::initialize u space model(), Iterator::iteratedModel, NonD::numContDesVars, NonD::numContEpistUncVars, NonD::numContStateVars, Iterator::outputLevel, NonDExpansion::piecewiseBasis, NonDStochCollocation::resolve inputs(), NonD::transform model(), and NonDExpansion::uSpaceModel.

13.107.3

Member Function Documentation

Real compute covariance metric (

) [protected], [virtual]

compute 2-norm of change in response covariance


computes the default refinement metric based on change in respCovariance
Reimplemented from NonDExpansion.

682

CHAPTER 13. CLASS DOCUMENTATION

References Model::approximations(), NonDExpansion::compute covariance metric(), PecosApproximation::delta covariance(), PecosApproximation::expansion coefficient flag(), NonDExpansion::expansionBasisType, NonDExpansion::initialPtU, NonD::numContDesVars, NonD::numContEpistUncVars, NonD::numContStateVars, Analyzer::numFunctions, NonDExpansion::respCovariance, and NonDExpansion::uSpaceModel.
Real compute final statistics metric (

) [protected], [virtual]

compute 2-norm of change in final statistics


computes a goal-oriented refinement metric employing finalStatistics
Reimplemented from NonDExpansion.
References Model::approximations(), NonD::cdfFlag, NonDExpansion::compute final statistics metric(), NonDExpansion::compute statistics(), PecosApproximation::delta beta(), PecosApproximation::delta z(), PecosApproximation::expansion coefficient flag(), NonDExpansion::expansionBasisType, NonD::finalStatistics, Response::functionvalues(), NonDExpansion::initialPtU, Response::num functions(), NonD::numContDesVars, NonD::numContEpistUncVars, NonD::numContStateVars, Analyzer::numFunctions, NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonD::respLevelTarget, and NonDExpansion::uSpaceModel.
The documentation for this class was generated from the following files:
NonDStochCollocation.hpp
NonDStochCollocation.cpp

13.108

NonlinearCGOptimizer Class Reference

Inheritance diagram for NonlinearCGOptimizer:


Iterator
Minimizer
Optimizer
NonlinearCGOptimizer

Public Member Functions


NonlinearCGOptimizer (ProblemDescDB &problem db, Model &model)
standard constructor

NonlinearCGOptimizer ()
destructor

Real linesearch eval (const Real &trial step, short req val=1)
evaluate the objective function given a particular step size (public for use in boost ls eval functor; could use friend)

13.108. NONLINEARCGOPTIMIZER CLASS REFERENCE

683

Protected Member Functions


void find optimum ()
Used within the optimizer branch for computing the optimal solution. Redefines the run virtual function for the
optimizer branch.

Private Member Functions


void parse options ()
constructor helper function to parse misc options from ProblemDescDB

void compute direction ()


compute next direction via choice of method

bool compute step ()


compute step: fixed, simple decrease, sufficient decrease

void bracket min (Real &xa, Real &xb, Real &xc, Real &fa, Real &fb, Real &fc)
bracket the 1-D minimum in the linesearch

Real brent minimize (Real a, Real b, Real tol)


Perform 1-D minimization for the stepLength using Brents method.

Private Attributes
Real initialStep
initial step length

Real linesearchTolerance
approximate accuracy of absissca in LS

unsigned linesearchType
type of line search (if any)

unsigned maxLinesearchIters
maximum evaluations in line search

Real relFunctionTol
stopping criterion for rel change in fn

Real relGradientTol
stopping criterion for rel reduction in g

bool resetStep
whether to reset step with each linesearch

unsigned restartIter
iter at which to reset to steepest descent

unsigned updateType
type of CG direction update

unsigned iterCurr
current iteration number

RealVector designVars
current decision variables in the major iteration

RealVector trialVars
decision variables in the linesearch

684

CHAPTER 13. CLASS DOCUMENTATION


Real functionCurr
current function value

Real functionPrev
previous function value

RealVector gradCurr
current gradient

RealVector gradPrev
previous gradient

RealVector gradDiff
temporary for gradient difference (gradCurr - gradPrev)

RealVector searchDirection
current aggregate search direction

Real stepLength
current step length parameter alpha

Real gradDotGrad init


initial gradient norm squared

Real gradDotGrad curr


gradCurr dot gradCurr

Real gradDotGrad prev


gradPrev dot gradPrev

Additional Inherited Members


13.108.1

Detailed Description

Experimental implementation of nonlinear CG optimization

13.108.2

Member Function Documentation

Real brent minimize ( Real a, Real b, Real tol ) [private]


Perform 1-D minimization for the stepLength using Brents method.
Perform 1-D minimization for the stepLength using Brents method. This is a C translation of fmin.f from
Netlib.
References NonlinearCGOptimizer::linesearch eval(), NonlinearCGOptimizer::maxLinesearchIters, and Iterator::outputLevel.
Referenced by NonlinearCGOptimizer::compute step().
The documentation for this class was generated from the following files:
NonlinearCGOptimizer.hpp
NonlinearCGOptimizer.cpp

13.109. NPSOLOPTIMIZER CLASS REFERENCE

13.109

685

NPSOLOptimizer Class Reference

Wrapper class for the NPSOL optimization library.


Inheritance diagram for NPSOLOptimizer:
Iterator
Minimizer
Optimizer

SOLBase

NPSOLOptimizer

Public Member Functions


NPSOLOptimizer (ProblemDescDB &problem db, Model &model)
standard constructor

NPSOLOptimizer (Model &model)


alternate constructor for Iterator instantiations by name

NPSOLOptimizer (Model &model, const int &derivative level, const Real &conv tol)
alternate constructor for instantiations on the fly

NPSOLOptimizer (const RealVector &initial point, const RealVector &var lower bnds, const RealVector
&var upper bnds, const RealMatrix &lin ineq coeffs, const RealVector &lin ineq lower bnds, const RealVector &lin ineq upper bnds, const RealMatrix &lin eq coeffs, const RealVector &lin eq targets, const
RealVector &nonlin ineq lower bnds, const RealVector &nonlin ineq upper bnds, const RealVector &nonlineq targets, void(user obj eval)(int &, int &, double , double &, double , int &), void(user con eval)(int
&, int &, int &, int &, int , double , double , double , int &), const int &derivative level, const Real
&conv tol)
alternate constructor for instantiations on the fly

NPSOLOptimizer ()
destructor

void find optimum ()


Used within the optimizer branch for computing the optimal solution. Redefines the run virtual function for the
optimizer branch.

Private Member Functions


void find optimum on model ()
called by find optimum for setUpType == model

void find optimum on user functions ()


called by find optimum for setUpType == user functions

686

CHAPTER 13. CLASS DOCUMENTATION

Static Private Member Functions


static void objective eval (int &mode, int &n, double x, double &f, double gradf, int &nstate)
OBJFUN in NPSOL manual: computes the value and first derivatives of the objective function (passed by function
pointer to NPSOL).

Private Attributes
String setUpType
controls iteration mode: model (normal usage) or user functions (user-supplied functions mode for on the
fly instantiations). NonDReliability currently uses the user functions mode.

RealVector initialPoint
holds initial point passed in for user functions mode.

RealVector lowerBounds
holds variable lower bounds passed in for user functions mode.

RealVector upperBounds
holds variable upper bounds passed in for user functions mode.

void( userObjectiveEval )(int &, int &, double , double &, double , int &)
holds function pointer for objective function evaluator passed in for user functions mode.

void( userConstraintEval )(int &, int &, int &, int &, int , double , double , double , int &)
holds function pointer for constraint function evaluator passed in for user functions mode.

Static Private Attributes


static NPSOLOptimizer npsolInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

Additional Inherited Members


13.109.1

Detailed Description

Wrapper class for the NPSOL optimization library.


The NPSOLOptimizer class provides a wrapper for NPSOL, a Fortran 77 sequential quadratic programming
library from Stanford University marketed by Stanford Business Associates. It uses a function pointer approach
for which passed functions must be either global functions or static member functions. Any attribute used within
static member functions must be either local to that function or accessed through a static pointer.
The user input mappings are as follows: max function evaluations is implemented directly in NPSOLOptimizers evaluator functions since there is no NPSOL parameter equivalent, and max iterations,
convergence tolerance, output verbosity, verify level, function precision, and linesearchtolerance are mapped into NPSOLs Major Iteration Limit, Optimality Tolerance, Major Print Level
(verbose: Major Print Level = 20; quiet: Major Print Level = 10), Verify Level, Function Precision, and
Linesearch Tolerance parameters, respectively, using NPSOLs npoptn() subroutine (as wrapped by npoptn2()
from the npoptn wrapper.f file). Refer to [Gill, P.E., Murray, W., Saunders, M.A., and Wright, M.H., 1986] for
information on NPSOLs optional input parameters and the npoptn() subroutine.

13.110. OPTDARTSOPTIMIZER CLASS REFERENCE

13.109.2

687

Constructor & Destructor Documentation

NPSOLOptimizer ( ProblemDescDB & problem db, Model & model )


standard constructor
This is the primary constructor. It accepts a Model reference.
References Minimizer::constraintTol, Iterator::convergenceTol, Model::fd gradient step size(), ProblemDescDB::get int(), ProblemDescDB::get real(), Model::gradient type(), Iterator::iteratedModel, Iterator::maxIterations,
Iterator::outputLevel, Iterator::probDescDB, SOLBase::set options(), Minimizer::speculativeFlag, and Minimizer::vendorNumericalGradFlag.
NPSOLOptimizer ( Model & model )
alternate constructor for Iterator instantiations by name
This is an alternate constructor which accepts a Model but does not have a supporting method specification
from the ProblemDescDB.
References Minimizer::constraintTol, Iterator::convergenceTol, Model::fd gradient step size(), Model::gradienttype(), Iterator::iteratedModel, Iterator::maxIterations, Iterator::outputLevel, SOLBase::set options(), Minimizer::speculativeFlag, and Minimizer::vendorNumericalGradFlag.
NPSOLOptimizer ( Model & model, const int & derivative level, const Real & conv tol )
alternate constructor for instantiations on the fly
This is an alternate constructor for instantiations on the fly using a Model but no ProblemDescDB.
NPSOLOptimizer ( const RealVector & initial point, const RealVector & var lower bnds,
const RealVector & var upper bnds, const RealMatrix & lin ineq coeffs, const RealVector &
lin ineq lower bnds, const RealVector & lin ineq upper bnds, const RealMatrix & lin eq coeffs,
const RealVector & lin eq targets, const RealVector & nonlin ineq lower bnds, const RealVector &
nonlin ineq upper bnds, const RealVector & nonlin eq targets, void()(int &, int &, double , double &,
double , int &) user obj eval, void()(int &, int &, int &, int &, int , double , double , double , int &)
user con eval, const int & derivative level, const Real & conv tol )
alternate constructor for instantiations on the fly
This is an alternate constructor for performing an optimization using the passed in objective function and
constraint function pointers.
References SOLBase::allocate arrays(), SOLBase::allocate workspace(), SOLBase::augment bounds(), NPSOLOptimizer::lowerBounds, Minimizer::numContinuousVars, Minimizer::numLinearConstraints, Minimizer::numNonlinearConstraints, and NPSOLOptimizer::upperBounds.
The documentation for this class was generated from the following files:
NPSOLOptimizer.hpp
NPSOLOptimizer.cpp

13.110

OptDartsOptimizer Class Reference

Wrapper class for OptDarts Optimizer.


Inheritance diagram for OptDartsOptimizer:

688

CHAPTER 13. CLASS DOCUMENTATION


Iterator
Minimizer
Optimizer
OptDartsOptimizer

Public Member Functions


OptDartsOptimizer (ProblemDescDB &problem db, Model &model)
Constructor.

OptDartsOptimizer (Model &model)


alternate constructor for Iterator instantiations by name

OptDartsOptimizer ()
Destructor.

void find optimum ()


Calls the OptDarts algorithm.

Private Member Functions


void load parameters (Model &model)
Convenience function for Parameter loading.

double opt darts f ()


Function evaluation.

void opt darts execute (size t num dim, size t budget, double xmin, double xmax, double TOL, size t
problem index, double fw MC, double fb MC)
Run the OPT-DARTS method.

void opt darts initiate (double xmin, double xmax)


Initialize OPT-DARTS.

void opt darts reset convex hull ()


size t opt darts pick candidate (size t ifunc)
Choose the next trial iterate.

void retrieve extended neighbors (size t icandidate)


void opt darts sample from candidate neighborhood (size t icandidate, size t ifunc)
void DIRECT sample from candidate neighborhood (size t icandidate)
void opt darts add dart ()
void opt darts update K h approximate Voronoi (size t isample)
void opt darts terminate ()
Release memory and exit cleanly.

void opt darts plot discs 2d (size t icandidate)


Convenience function for plotting iterates.

13.110. OPTDARTSOPTIMIZER CLASS REFERENCE

689

void opt darts plot hull 2d (size t icandidate, size t ifunc)


Convenience function for plotting convex hull.

void initiate random generator (unsigned long x)


double generate a random number ()
void sample uniformly from unit sphere surface (double dart, size t num dim)
bool trim line using Hyperplane (size t num dim, double st, double end, double qH, double nH)

Private Attributes

double xmin
double xmax
double dart
double st
double end
double tmp point
double qH
double nH
double x
double xc
double f
double K
double h
double r
size t neighbors
size t tmp neighbors
size t ext neighbors
size t num ext neighbors
bool use opt darts
bool estimate K
size t ib
size t num samples
size t budget
size t num dim
double diag
size t problem index
double fb
double fw
double fval
size t corner index
size t num corners
size t corners
double epsilon
double fb MC
double fw MC
double xm
double xp

690

CHAPTER 13. CLASS DOCUMENTATION


double alpha Deceptive
double Q [1220]
int indx
double cc
double c
double zc
double zx
double zy
size t qlen
bool use DIRECT
int numTotalVars
int randomSeed
int maxBlackBoxEvals
int maxIterations

Additional Inherited Members


13.110.1

Detailed Description

Wrapper class for OptDarts Optimizer.


The documentation for this class was generated from the following files:
OptDartsOptimizer.hpp
OptDartsOptimizer.cpp

13.111

Optimizer Class Reference

Base class for the optimizer branch of the iterator hierarchy.


Inheritance diagram for Optimizer:

13.111. OPTIMIZER CLASS REFERENCE

691

Iterator
Minimizer
Optimizer
APPSOptimizer
COLINOptimizer
CONMINOptimizer
DOTOptimizer
JEGAOptimizer
NCSUOptimizer
NLPQLPOptimizer
NomadOptimizer
NonlinearCGOptimizer
NPSOLOptimizer
OptDartsOptimizer
SNLLOptimizer

Static Public Member Functions


static void not available (const std::string &package name)
Static helper function: third-party opt packages which are not available.

Protected Member Functions


Optimizer ()
default constructor

Optimizer (ProblemDescDB &problem db, Model &model)


alternate constructor; accepts a model

Optimizer (unsigned short method name, Model &model)


alternate constructor for on the fly instantiations

Optimizer (unsigned short method name, size t num cv, size t num div, size t num drv, size t num lin ineq, size t num lin eq, size t num nln ineq, size t num nln eq)
alternate constructor for on the fly instantiations

Optimizer ()
destructor

692

CHAPTER 13. CLASS DOCUMENTATION


void initialize run ()
void core run ()
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post

void post run (std::ostream &s)


void finalize run ()
utility function to perform common operations following post run(); deallocation and resetting of instance pointers

void print results (std::ostream &s)


virtual void find optimum ()=0
Used within the optimizer branch for computing the optimal solution. Redefines the run virtual function for the
optimizer branch.

Protected Attributes
size t numObjectiveFns
number of objective functions (iterator view)

bool localObjectiveRecast
flag indicating whether local recasting to a single objective is used

Optimizer prevOptInstance
pointer containing previous value of optimizerInstance

Static Protected Attributes


static Optimizer optimizerInstance
pointer to Optimizer instance used in static member functions

Private Member Functions


void reduce model (bool local nls recast, bool require hessians)
Wrap iteratedModel in a RecastModel that performs (weighted) multi-objective or sum-of-squared residuals transformation.

void objective reduction (const Response &full response, const BoolDeque &sense, const RealVector &fullwts, Response &reduced response) const
forward mapping: maps multiple primary response functions to a single weighted objective for single-objective
optimizers

void local objective recast retrieve (const Variables &vars, Response &response) const
infers MOO/NLS solution from the solution of a single-objective optimizer

Static Private Member Functions


static void primary resp reducer (const Variables &full vars, const Variables &reduced vars, const Response &full response, Response &reduced response)
Recast callback to reduce multiple objectives or residuals to a single objective, with gradients and Hessians as
needed.

13.111. OPTIMIZER CLASS REFERENCE

693

Additional Inherited Members


13.111.1

Detailed Description

Base class for the optimizer branch of the iterator hierarchy.


The Optimizer class provides common data and functionality for DOTOptimizer, CONMINOptimizer, NPSOLOptimizer, SNLLOptimizer, NLPQLPOptimizer, COLINOptimizer, and JEGAOptimizer.

13.111.2

Member Function Documentation

void initialize run (

) [protected], [virtual]

Implements portions of initialize run specific to Optimizers. This function should be invoked (or reimplemented)
by any derived implementations of initialize run() (which would otherwise hide it).
Reimplemented from Minimizer.
Reimplemented in SNLLOptimizer, NLPQLPOptimizer, and DOTOptimizer.
References Minimizer::initialize run(), Iterator::iteratedModel, Minimizer::minimizerRecasts, Optimizer::optimizerInstance, Optimizer::prevOptInstance, and Model::update from subordinate model().
Referenced by DOTOptimizer::initialize run(), CONMINOptimizer::initialize run(), NLPQLPOptimizer::initializerun(), and SNLLOptimizer::initialize run().
void core run (

) [inline], [protected], [virtual]

core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References Optimizer::find optimum().
void post run ( std::ostream & s ) [protected], [virtual]
Implements portions of post run specific to Optimizers. This function should be invoked (or reimplemented) by
any derived implementations of post run() (which would otherwise hide it).
Reimplemented from Minimizer.
Reimplemented in SNLLOptimizer.
References Dakota::abort handler(), Response::active set request vector(), Iterator::bestResponseArray, Iterator::bestVariablesArray, Variables::continuous variables(), Response::copy(), Minimizer::cvScaleMultipliers, Minimizer::cvScaleOffsets, Minimizer::cvScaleTypes, Minimizer::expData, Response::function value(), Response::functionvalues(), Optimizer::local objective recast retrieve(), Optimizer::localObjectiveRecast, Minimizer::modify s2n(),
Minimizer::need resp trans byvars(), Minimizer::numExperiments, Minimizer::numNonlinearConstraints, Minimizer::numReplicates, Minimizer::numUserPrimaryFns, Minimizer::obsDataFlag, Minimizer::post run(), Minimizer::primaryRespScaleFlag, Minimizer::response modify s2n(), ExperimentData::scalar data(), Minimizer::secondaryRespScaleFlag, Response::update partial(), and Minimizer::varsScaleFlag.
Referenced by COLINOptimizer::post run(), and SNLLOptimizer::post run().
void finalize run (

) [inline], [protected], [virtual]

utility function to perform common operations following post run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class
must call its nearest parents finalize run(), typically after performing its own implementation steps.
Reimplemented from Minimizer.

694

CHAPTER 13. CLASS DOCUMENTATION


Reimplemented in SNLLOptimizer.
References Minimizer::finalize run(), Optimizer::optimizerInstance, and Optimizer::prevOptInstance.
Referenced by SNLLOptimizer::finalize run().

void print results ( std::ostream & s ) [protected], [virtual]


Redefines default iterator results printing to include optimization results (objective functions and constraints).
Reimplemented from Iterator.
References Dakota::abort handler(), Minimizer::archive allocate best(), Minimizer::archive best(), Iterator::bestResponseArray, Iterator::bestVariablesArray, Dakota::data pairs, Model::interface id(), Iterator::iteratedModel,
Dakota::lookup by val(), Minimizer::numContinuousVars, Minimizer::numFunctions, Minimizer::numNonlinearConstraints, Minimizer::optimizationFlag, Model::primary response fn weights(), Model::subordinate model(),
and Dakota::write precision.
void reduce model ( bool local nls recast, bool require hessians ) [private]
Wrap iteratedModel in a RecastModel that performs (weighted) multi-objective or sum-of-squared residuals transformation.
Reduce model for least-squares or multi-objective transformation. Doesnt map variables, or secondary responses. Maps active set for Gauss-Newton. Maps primary responses to single objective so user vs. iterated
matters.
References Iterator::activeSet, Model::assign rep(), Model::current response(), Minimizer::gnewton set recast(),
Model::hessian type(), Iterator::iteratedModel, Minimizer::numContinuousVars, Minimizer::numNonlinearConstraints,
Minimizer::numNonlinearIneqConstraints, Optimizer::numObjectiveFns, Minimizer::numRowsExpData, Minimizer::numUserPrimaryFns, Minimizer::obsDataFlag, Iterator::outputLevel, Optimizer::primary resp reducer(), Model::primary response fn sense(), Model::primary response fn weights(), ActiveSet::request vector(), Response::reshape(),
and Minimizer::secondary resp copier().
Referenced by Optimizer::Optimizer().
void primary resp reducer ( const Variables & full vars, const Variables & reduced vars, const Response
& full response, Response & reduced response ) [static], [private]
Recast callback to reduce multiple objectives or residuals to a single objective, with gradients and Hessians as
needed.
Objective function map from multiple primary responses (objective or residuals) to a single objective. Currently supports weighted sum; may later want more general transformations, e.g., goal-oriented
References Iterator::iteratedModel, Optimizer::objective reduction(), Optimizer::optimizerInstance, Iterator::outputLevel, Model::primary response fn sense(), Model::primary response fn weights(), and Model::subordinatemodel().
Referenced by Optimizer::reduce model().
void objective reduction ( const Response & full response, const BoolDeque & sense, const RealVector &
full wts, Response & reduced response ) const [private]
forward mapping: maps multiple primary response functions to a single weighted objective for single-objective
optimizers
This function is responsible for the mapping of multiple objective functions into a single objective for publishing to single-objective optimizers. Used in DOTOptimizer, NPSOLOptimizer, SNLLOptimizer, and SGOPTApplication on every function evaluation. The simple weighting approach (using primaryRespFnWts) is the

13.112. OUTPUTMANAGER CLASS REFERENCE

695

only technique supported currently. The weightings are used to scale function values, gradients, and Hessians as
needed.
References Response::active set request vector(), Response::function gradient view(), Response::function gradients(), Response::function hessian view(), Response::function hessians(), Response::function value(), Response::function values(), Response::num functions(), Minimizer::numConstraints, Minimizer::objective(), Minimizer::objective gradient(), Minimizer::objective hessian(), Iterator::outputLevel, and Dakota::write precision.
Referenced by Optimizer::primary resp reducer().
void local objective recast retrieve ( const Variables & vars, Response & response ) const [private]
infers MOO/NLS solution from the solution of a single-objective optimizer
Retrieve a MOO/NLS response based on the data returned by a single objective optimizer by performing a
data pairs search. This may get called even for a single user-specified function, since we may be recasting a single
NLS residual into a squared objective.
References Response::active set(), Dakota::data pairs, Response::function value(), Model::interface id(), Iterator::iteratedModel, Dakota::lookup by val(), Minimizer::numRowsExpData, Minimizer::numUserPrimaryFns, Minimizer::obsDataFlag, ActiveSet::reshape(), and Response::update().
Referenced by Optimizer::post run().
The documentation for this class was generated from the following files:
DakotaOptimizer.hpp
DakotaOptimizer.cpp

13.112

OutputManager Class Reference

Class to manage redirection of stdout/stderr, and keep track of current redir state, and manage rank 0 output.

Public Member Functions


OutputManager ()
Default constructor (needed for default environment ctors)

OutputManager (const ProgramOptions &prog opts, int dakota world rank=0, bool dakota mpirun flag=false)
Standard constructor, taking user-specified program options and optionally taking the rank of this process in
Dakotas MPI Comm.

OutputManager ()
Destructor that closes streams and other outputs.

void close streams ()


helper to close streams during destructor or abnormal abort

void parse (const ProblemDescDB &problem db)


Extract environment options from ProblemDescDB.

void startup message (const String &start msg)


Set the Dakota startup message (Running on...)

void file tag (const String &iterator tag)


Update the tag to use on files.

void redirect cout (const ProgramOptions &prog opts, bool force cout redirect=false)
Redirect cout based on program options filenames and force flag.

void redirect cerr (const ProgramOptions &prog opts)

696

CHAPTER 13. CLASS DOCUMENTATION


Redirect cerr based on program options filenames only.

void init resultsdb (ProgramOptions &prog opts)


Initialize results DB based on problem DB.

void init restart (const ProgramOptions &prog opts)


Initialize restart DB based on program options filenames.

void output version (std::ostream &os=Cout) const


Output the current Dakota version.

void output startup message (std::ostream &os=Cout) const


Output the startup header and time.

void output helper (const String &message, std::ostream &os) const


Output only on Dakota world rank 0 (for version, help, etc.)

void append restart (const ParamResponsePair &prp)


append a parameter/response set to the restart file

Public Attributes
bool graph2DFlag
flag for using 2D graphics plots

bool tabularDataFlag
flag for file tabulation of graphics data

bool resultsOutputFlag
whether to output results data

String tabularDataFile
filename for tabulation of graphics data

String resultsOutputFile
filename for results data

Private Member Functions


void redirect cout (const String &new filename)
implementation of cout redirection

void redirect cerr (const String &new filename)


implementation of cerr redirection

void read write restart (bool read restart flag, const String &read restart filename, size t stop restart eval,
const String &write restart filename)
conditionally import evaluations from restart file, then always create or overwrite restart file

Private Attributes
int worldRank
output manager handles rank 0 only output when needed

bool mpirunFlag
some output is only for MPI runs

String fileTag
tag for various input/output files (default none)

13.113. PARALLELCONFIGURATION CLASS REFERENCE

697

String startupMessage
message to print at startup when proceeding to instantiate objects

String coutFilename
current (potentially tagged) filename for output, ProgramOptions has root

String cerrFilename
current (potentially tagged) filename for error, ProgramOptions has root

std::ofstream output ofstream


tagged file redirection of stdout

std::ofstream error ofstream


tagged file redirection of stderr

std::ofstream restartOutputFS
Binary stream to which restart data is written.

boost::archive::binary oarchive restartOutputArchive


Binary output archive to which data is written (ptr as no default ctor)

13.112.1

Detailed Description

Class to manage redirection of stdout/stderr, and keep track of current redir state, and manage rank 0 output.

13.112.2

Constructor & Destructor Documentation

OutputManager ( const ProgramOptions & prog opts, int dakota world rank = 0, bool dakota mpirun flag
= false )
Standard constructor, taking user-specified program options and optionally taking the rank of this process in
Dakotas MPI Comm.
Only get minimal information off ProgramOptions as may be updated later by broadcast.
References OutputManager::mpirunFlag, ProgramOptions::output file(), OutputManager::redirect cout(), Dakota::start dakota heartbeat(), ProgramOptions::user stdout redirect(), and OutputManager::worldRank.
The documentation for this class was generated from the following files:
OutputManager.hpp
OutputManager.cpp

13.113

ParallelConfiguration Class Reference

Container class for a set of ParallelLevel list iterators that collectively identify a particular multilevel parallel
configuration.

Public Member Functions


ParallelConfiguration ()
default constructor

ParallelConfiguration (const ParallelConfiguration &pl)


copy constructor

ParallelConfiguration ()
destructor

698

CHAPTER 13. CLASS DOCUMENTATION


ParallelConfiguration & operator= (const ParallelConfiguration &pl)
assignment operator

const ParallelLevel & w parallel level () const


return the ParallelLevel corresponding to wPLIter

const ParallelLevel & si parallel level () const


return the ParallelLevel corresponding to siPLIter

const ParallelLevel & ie parallel level () const


return the ParallelLevel corresponding to iePLIter

const ParallelLevel & ea parallel level () const


return the ParallelLevel corresponding to eaPLIter

Private Member Functions


void assign (const ParallelConfiguration &pl)
assign the attributes of the incoming pl to this object

Private Attributes
short numParallelLevels
number of parallel levels

ParLevLIter wPLIter
list iterator for MPI COMM WORLD (not strictly required, but improves modularity by avoiding explicit usage of
MPI COMM WORLD)

ParLevLIter siPLIter
list iterator for concurrent iterator partitions (there may be more than one per parallel configuration instance)

ParLevLIter iePLIter
list iterator identifying the iterator-evaluation parallelLevel (there can only be one)

ParLevLIter eaPLIter
list iterator identifying the evaluation-analysis parallelLevel (there can only be one)

Friends
class ParallelLibrary
the ParallelLibrary class has special access priveleges in order to streamline implementation

13.113.1

Detailed Description

Container class for a set of ParallelLevel list iterators that collectively identify a particular multilevel parallel
configuration.
Rather than containing the multilevel parallel configuration directly, ParallelConfiguration instead provides a
set of list iterators which point into a combined list of ParallelLevels. This approach allows different configurations
to reuse ParallelLevels without copying them. A list of ParallelConfigurations is contained in ParallelLibrary
(ParallelLibrary::parallelConfigurations).
The documentation for this class was generated from the following file:
ParallelLibrary.hpp

13.114. PARALLELDIRECTAPPLICINTERFACE CLASS REFERENCE

13.114

699

ParallelDirectApplicInterface Class Reference

Sample derived interface class for testing parallel simulator plug-ins using assign rep().
Inheritance diagram for ParallelDirectApplicInterface:
Interface
ApplicationInterface
DirectApplicInterface
ParallelDirectApplicInterface

Public Member Functions


ParallelDirectApplicInterface (const Dakota::ProblemDescDB &problem db, const MPI Comm &analysiscomm)
constructor

ParallelDirectApplicInterface ()
destructor

Protected Member Functions


int derived map ac (const Dakota::String &ac name)
execute an analysis code portion of a direct evaluation invocation

void derived map asynch (const Dakota::ParamResponsePair &pair)


no-op hides base error; job batching occurs within wait local evaluations()

void wait local evaluations (Dakota::PRPQueue &prp queue)


evaluate the batch of jobs contained in prp queue

void test local evaluations (Dakota::PRPQueue &prp queue)


invokes wait local evaluations() (no special nowait support)

void set communicators checks (int max eval concurrency)


no-op hides default run-time error checks at DirectApplicInterface level

Private Member Functions


int text book (const Dakota::RealVector &c vars, const Dakota::ShortArray &asv, Dakota::RealVector &fnvals, Dakota::RealMatrix &fn grads, Dakota::RealSymMatrixArray &fn hessians)
demo evaluator function for parallel plug-ins

700

CHAPTER 13. CLASS DOCUMENTATION

Additional Inherited Members


13.114.1

Detailed Description

Sample derived interface class for testing parallel simulator plug-ins using assign rep().
The plug-in ParallelDirectApplicInterface resides in namespace SIM and uses a copy of textbook() to perform
parallel parameter to response mappings. It is used to demonstrate plugging in a parallel direct analysis driver
into Dakota in library mode. Test input files can then use an analysis driver of plugin textbook.

13.114.2

Member Function Documentation

void test local evaluations ( Dakota::PRPQueue & prp queue ) [inline], [protected]
invokes wait local evaluations() (no special nowait support)
For use by ApplicationInterface::serve evaluations asynch(), which can provide a batch processing capability within message passing schedulers (called using chain ApplicationInterface::serve evaluations() from Model::serve() from IteratorScheduler::run iterator()).
References ParallelDirectApplicInterface::wait local evaluations().
The documentation for this class was generated from the following files:
PluginParallelDirectApplicInterface.hpp
PluginParallelDirectApplicInterface.cpp

13.115

ParallelLevel Class Reference

Container class for the data associated with a single level of communicator partitioning.

Public Member Functions


ParallelLevel ()
default constructor

ParallelLevel (const ParallelLevel &pl)


copy constructor

ParallelLevel ()
destructor

ParallelLevel & operator= (const ParallelLevel &pl)


assignment operator

bool dedicated master () const


return dedicatedMasterFlag

bool communicator split () const


return commSplitFlag

bool server master () const


return serverMasterFlag

bool message pass () const


return messagePass

bool idle partition () const


return idlePartition

int num servers () const

13.115. PARALLELLEVEL CLASS REFERENCE


return numServers

int processors per server () const


return procsPerServer

int processor remainder () const


return procRemainder

const MPI Comm & server intra communicator () const


return serverIntraComm

int server communicator rank () const


return serverCommRank

int server communicator size () const


return serverCommSize

const MPI Comm & hub server intra communicator () const


return hubServerIntraComm

int hub server communicator rank () const


return hubServerCommRank

int hub server communicator size () const


return hubServerCommSize

const MPI Comm & hub server inter communicator () const


return hubServerInterComm

MPI Comm hub server inter communicators () const


return hubServerInterComms

int server id () const


return serverId

Private Member Functions


void assign (const ParallelLevel &pl)
assign the attributes of the incoming pl to this object

Private Attributes
bool dedicatedMasterFlag
signals dedicated master partitioning

bool commSplitFlag
signals a communicator split was used

bool serverMasterFlag
identifies master server processors

bool messagePass
flag for message passing at this level

bool idlePartition
identifies presence of an idle processor

< partition at this level

int numServers
number of servers

701

702

CHAPTER 13. CLASS DOCUMENTATION


int procsPerServer
processors per server

int procRemainder
proc remainder after equal distribution

MPI Comm serverIntraComm


intracomm. for each server partition

int serverCommRank
rank in serverIntraComm

int serverCommSize
size of serverIntraComm

MPI Comm hubServerIntraComm


intracomm for all serverCommRank==0

< w/i next higher level serverIntraComm

int hubServerCommRank
rank in hubServerIntraComm

int hubServerCommSize
size of hubServerIntraComm

MPI Comm hubServerInterComm


intercomm. between a server & the hub

< (on server partitions only)

MPI Comm hubServerInterComms


intercomm. array on hub processor

int serverId
server identifier

Friends
class ParallelLibrary
the ParallelLibrary class has special access priveleges in order to streamline implementation

13.115.1

Detailed Description

Container class for the data associated with a single level of communicator partitioning.
A list of these levels is contained in ParallelLibrary (ParallelLibrary::parallelLevels), which defines all of the
parallelism levels across one or more multilevel parallelism configurations.
The documentation for this class was generated from the following file:
ParallelLibrary.hpp

13.116

ParallelLibrary Class Reference

Class for partitioning multiple levels of parallelism and managing message passing within these levels.

13.116. PARALLELLIBRARY CLASS REFERENCE

703

Public Member Functions


ParallelLibrary ()
default constructor (used for dummy lib)

ParallelLibrary (const MPIManager &mpi mgr, ProgramOptions &prog opts, OutputManager &output mgr)
stand-alone and default library mode constructor; dont require options

ParallelLibrary ()
destructor

const ParallelLevel & init iterator communicators (int iterator servers, int procs per iterator, int min procsper iterator, int max procs per iterator, int max iterator concurrency, short default config, short iterator scheduling, bool peer dynamic avail)
split MPI COMM WORLD into iterator communicators

const ParallelLevel & init evaluation communicators (int evaluation servers, int procs per evaluation, int
min procs per eval, int max procs per eval, int max evaluation concurrency, int asynch local evaluation concurrency, short default config, short evaluation scheduling, bool peer dynamic avail)
split an iterator communicator into evaluation communicators

const ParallelLevel & init analysis communicators (int analysis servers, int procs per analysis, int min procs per analysis, int max procs per analysis, int max analysis concurrency, int asynch local analysis concurrency, short default config, short analysis scheduling, bool peer dynamic avail)
split an evaluation communicator into analysis communicators

void free iterator communicators ()


deallocate iterator communicators

void free evaluation communicators ()


deallocate evaluation communicators

void free analysis communicators ()


deallocate analysis communicators

void print configuration ()


print the parallel level settings for a particular parallel configuration

void manage outputs restart (const ParallelLevel &pl)


manage output streams and restart file(s) (both modes)

void write restart (const ParamResponsePair &prp)


write a parameter/response set to the restart file

ProgramOptions & program options ()


return programOptions reference

OutputManager & output manager ()


return outputManager reference

void terminate modelcenter ()


terminate ModelCenter if running

void abort helper (int code)


finalize MPI with correct communicator for abort

bool command line check () const


return checkFlag

bool command line pre run () const

704

CHAPTER 13. CLASS DOCUMENTATION


return preRunFlag

bool command line run () const


return runFlag

bool command line post run () const


return postRunFlag

bool command line user modes () const


return userModesFlag

const String & command line pre run input () const


preRunInput filename

const String & command line pre run output () const


preRunOutput filename

const String & command line run input () const


runInput filename

const String & command line run output () const


runOutput filename

const String & command line post run input () const


postRunInput filename

const String & command line post run output () const


postRunOutput fname

void send si (int &send int, int dest, int tag)


blocking send at the strategy-iterator communication level

void recv si (int &recv int, int source, int tag, MPI Status &status)
blocking receive at the strategy-iterator communication level

void send si (MPIPackBuffer &send buff, int dest, int tag)


blocking send at the strategy-iterator communication level

void isend si (MPIPackBuffer &send buff, int dest, int tag, MPI Request &send req)
nonblocking send at the strategy-iterator communication level

void recv si (MPIUnpackBuffer &recv buff, int source, int tag, MPI Status &status)
blocking receive at the strategy-iterator communication level

void irecv si (MPIUnpackBuffer &recv buff, int source, int tag, MPI Request &recv req)
nonblocking receive at the strategy-iterator communication level

void send ie (MPIPackBuffer &send buff, int dest, int tag)


blocking send at the iterator-evaluation communication level

void isend ie (MPIPackBuffer &send buff, int dest, int tag, MPI Request &send req)
nonblocking send at the iterator-evaluation communication level

void recv ie (MPIUnpackBuffer &recv buff, int source, int tag, MPI Status &status)
blocking receive at the iterator-evaluation communication level

void irecv ie (MPIUnpackBuffer &recv buff, int source, int tag, MPI Request &recv req)
nonblocking receive at the iterator-evaluation communication level

void send ea (int &send int, int dest, int tag)


blocking send at the evaluation-analysis communication level

void isend ea (int &send int, int dest, int tag, MPI Request &send req)
nonblocking send at the evaluation-analysis communication level

13.116. PARALLELLIBRARY CLASS REFERENCE


void recv ea (int &recv int, int source, int tag, MPI Status &status)
blocking receive at the evaluation-analysis communication level

void irecv ea (int &recv int, int source, int tag, MPI Request &recv req)
nonblocking receive at the evaluation-analysis communication level

void bcast (int &data, const ParallelLevel &pl)


broadcast an integer across the serverIntraComm of a ParallelLevel

void bcast w (int &data)


broadcast an integer across MPI COMM WORLD

void bcast i (int &data)


broadcast an integer across an iterator communicator

void bcast i (short &data)


broadcast a short integer across an iterator communicator

void bcast e (int &data)


broadcast an integer across an evaluation communicator

void bcast a (int &data)


broadcast an integer across an analysis communicator

void bcast si (int &data)


broadcast an integer across a strategy-iterator intra communicator

void bcast w (MPIPackBuffer &send buff)


broadcast a packed buffer across MPI COMM WORLD

void bcast i (MPIPackBuffer &send buff)


broadcast a packed buffer across an iterator communicator

void bcast e (MPIPackBuffer &send buff)


broadcast a packed buffer across an evaluation communicator

void bcast a (MPIPackBuffer &send buff)


broadcast a packed buffer across an analysis communicator

void bcast si (MPIPackBuffer &send buff)


broadcast a packed buffer across a strategy-iterator intra communicator

void bcast w (MPIUnpackBuffer &recv buff)


matching receive for packed buffer broadcast across MPI COMM WORLD

void bcast i (MPIUnpackBuffer &recv buff)


matching receive for packed buffer bcast across an iterator communicator

void bcast e (MPIUnpackBuffer &recv buff)


matching receive for packed buffer bcast across an evaluation communicator

void bcast a (MPIUnpackBuffer &recv buff)


matching receive for packed buffer bcast across an analysis communicator

void bcast si (MPIUnpackBuffer &recv buff)


matching recv for packed buffer bcast across a strat-iterator intra comm

void barrier w ()
enforce MPI Barrier on MPI COMM WORLD

void barrier i ()
enforce MPI Barrier on an iterator communicator

void barrier e ()

705

706

CHAPTER 13. CLASS DOCUMENTATION


enforce MPI Barrier on an evaluation communicator

void barrier a ()
enforce MPI Barrier on an analysis communicator

void reduce sum ea (double local vals, double sum vals, int num vals)
compute a sum over an eval-analysis intra-communicator using MPI Reduce

void reduce sum a (double local vals, double sum vals, int num vals)
compute a sum over an analysis communicator using MPI Reduce

void test (MPI Request &request, int &test flag, MPI Status &status)
test a nonblocking send/receive request for completion

void wait (MPI Request &request, MPI Status &status)


wait for a nonblocking send/receive request to complete

void waitall (int num recvs, MPI Request &recv reqs)


wait for all messages from a series of nonblocking receives

void waitsome (int num sends, MPI Request &recv requests, int &num recvs, int &index array, MPI Status &status array)
wait for at least one message from a series of nonblocking receives but complete all that are available

void free (MPI Request &request)


free an MPI Request

int world size () const


return Dakotas worldSize

int world rank () const


return Dakotas worldRank

bool mpirun flag () const


return mpirunFlag

bool is null () const


return dummyFlag

Real parallel time () const


returns current MPI wall clock time

void parallel configuration iterator (const ParConfigLIter &pc iter)


set the current ParallelConfiguration node

const ParConfigLIter & parallel configuration iterator () const


return the current ParallelConfiguration node

const ParallelConfiguration & parallel configuration () const


return the current ParallelConfiguration instance

size t num parallel configurations () const


returns the number of entries in parallelConfigurations

bool parallel configuration is complete ()


identifies if the current ParallelConfiguration has been fully populated

void increment parallel configuration ()


add a new node to parallelConfigurations and increment currPCIter

bool w parallel level defined () const


test current parallel configuration for definition of world parallel level

bool si parallel level defined () const

13.116. PARALLELLIBRARY CLASS REFERENCE

707

test current parallel configuration for definition of strategy-iterator parallel level

bool ie parallel level defined () const


test current parallel configuration for definition of iterator-evaluation parallel level

bool ea parallel level defined () const


test current parallel configuration for definition of evaluation-analysis parallel level

std::vector< MPI Comm > analysis intra communicators ()


return the set of analysis intra communicators for all parallel configurations (used for setting up direct simulation
interfaces prior to execution time).

Private Member Functions


void init mpi comm ()
convenience function for initializing DAKOTAs top-level MPI communicators, based on dakotaMPIComm

void initialize timers ()


initialize DAKOTA and UTILIB timers

void output timers ()


conditionally output timers in destructor

void init communicators (const ParallelLevel &parent pl, int num servers, int procs per server, int min procs per server, int max procs per server, int max concurrency, int asynch local concurrency, short defaultconfig, short scheduling override, bool peer dynamic avail)
split a parent communicator into child server communicators

void free communicators (ParallelLevel &pl)


deallocate intra/inter communicators for a particular ParallelLevel

void split communicator dedicated master (const ParallelLevel &parent pl, ParallelLevel &child pl)
split a parent communicator into a dedicated master processor and num servers child communicators

void split communicator peer partition (const ParallelLevel &parent pl, ParallelLevel &child pl)
split a parent communicator into num servers peer child communicators (no dedicated master processor)

void resolve inputs (ParallelLevel &child pl, int avail procs, int min procs per server, int max procs perserver, int max concurrency, int capacity multiplier, short default config, short scheduling override, bool
peer dynamic avail, bool print rank)
resolve user inputs into a sensible partitioning scheme

void send (MPIPackBuffer &send buff, int dest, int tag, ParallelLevel &parent pl, ParallelLevel &child pl)
blocking buffer send at the current communication level

void send (int &send int, int dest, int tag, ParallelLevel &parent pl, ParallelLevel &child pl)
blocking integer send at the current communication level

void isend (MPIPackBuffer &send buff, int dest, int tag, MPI Request &send req, ParallelLevel &parent pl, ParallelLevel &child pl)
nonblocking buffer send at the current communication level

void isend (int &send int, int dest, int tag, MPI Request &send req, ParallelLevel &parent pl, ParallelLevel
&child pl)
nonblocking integer send at the current communication level

void recv (MPIUnpackBuffer &recv buff, int source, int tag, MPI Status &status, ParallelLevel &parent pl,
ParallelLevel &child pl)
blocking buffer receive at the current communication level

708

CHAPTER 13. CLASS DOCUMENTATION


void recv (int &recv int, int source, int tag, MPI Status &status, ParallelLevel &parent pl, ParallelLevel
&child pl)
blocking integer receive at the current communication level

void irecv (MPIUnpackBuffer &recv buff, int source, int tag, MPI Request &recv req, ParallelLevel &parentpl, ParallelLevel &child pl)
nonblocking buffer receive at the current communication level

void irecv (int &recv int, int source, int tag, MPI Request &recv req, ParallelLevel &parent pl, ParallelLevel &child pl)
nonblocking integer receive at the current communication level

void bcast (int &data, const MPI Comm &comm)


broadcast an integer across a communicator

void bcast (short &data, const MPI Comm &comm)


broadcast a short integer across a communicator

void bcast (MPIPackBuffer &send buff, const MPI Comm &comm)


send a packed buffer across a communicator using a broadcast

void bcast (MPIUnpackBuffer &recv buff, const MPI Comm &comm)


matching receive for a packed buffer broadcast

void barrier (const MPI Comm &comm)


enforce MPI Barrier on comm

void reduce sum (double local vals, double sum vals, int num vals, const MPI Comm &comm)
compute a sum over comm using MPI Reduce

void check error (const String &err source, int err code)
check the MPI return code and abort if error

void inherit as server comm (const ParallelLevel &parent pl, ParallelLevel &child pl)
convenience function for updating child serverIntraComm from parent serverIntraComm

void inherit as hub server comm (const ParallelLevel &parent pl, ParallelLevel &child pl)
convenience function for updating child hubServerIntraComm from parent serverIntraComm

Private Attributes
const MPIManager & mpiManager
reference to the MPI manager with Dakotas MPI options

ProgramOptions & programOptions


programOptions is non-const due to updates from broadcast

OutputManager & outputManager


Non-const output handler to help with file redirection.

MPI Comm dakotaMPIComm


MPI Comm on which DAKOTA is running.

int worldRank
rank in MPI Comm in which DAKOTA is running

int worldSize
size of MPI Comm in which DAKOTA is running

bool mpirunFlag
flag for a parallel mpirun/yod launch

13.116. PARALLELLIBRARY CLASS REFERENCE

709

bool dummyFlag
prevents multiple MPI Finalize calls due to dummy lib

bool outputTimings
timing info only beyond help/version/check

Real startCPUTime
start reference for UTILIB CPU timer

Real startWCTime
start reference for UTILIB wall clock timer

Real startMPITime
start reference for MPI wall clock timer

long startClock
start reference for local clock() timer measuring

< parent+child CPU

std::list< ParallelLevel > parallelLevels


the complete set of parallelism levels for managing multilevel parallelism among one or more configurations

std::list< ParallelConfiguration > parallelConfigurations


the set of parallel configurations which manage list iterators for indexing into parallelLevels

ParLevLIter currPLIter
list iterator identifying the current node in parallelLevels

ParConfigLIter currPCIter
list iterator identifying the current node in parallelConfigurations

13.116.1

Detailed Description

Class for partitioning multiple levels of parallelism and managing message passing within these levels.
The ParallelLibrary class encapsulates all of the details of performing message passing within multiple levels
of parallelism. It provides functions for partitioning of levels according to user configuration input and functions
for passing messages within and across MPI communicators for each of the parallelism levels. If support for other
message-passing libraries beyond MPI becomes needed (PVM, ...), then ParallelLibrary would be promoted to a
base class with virtual functions to encapsulate the library-specific syntax.

13.116.2

Constructor & Destructor Documentation

ParallelLibrary (

default constructor (used for dummy lib)


This constructor is used for creation of the global dummy lib object, which is used to satisfy initialization
requirements when the real ParallelLibrary object is not available.
ParallelLibrary ( const MPIManager & mpi mgr, ProgramOptions & prog opts, OutputManager &
output mgr )
stand-alone and default library mode constructor; dont require options
library mode constructor accepting communicator
TODO: Update comment.
Same constructor is used for executable and library environments and sequencing of object construction is
ordered, so no need to separately get updates off command line (programOptions)
References ParallelLibrary::init mpi comm(), and ParallelLibrary::initialize timers().

710

13.116.3

CHAPTER 13. CLASS DOCUMENTATION

Member Function Documentation

void manage outputs restart ( const ParallelLevel & pl )


manage output streams and restart file(s) (both modes)
If the user has specified the use of files for DAKOTA standard output and/or standard error, then bind these
filenames to the Cout/Cerr macros. In addition, if concurrent iterators are to be used, create and tag multiple output
streams in order to prevent jumbled output. Manage restart file(s) by processing any incoming evaluations from
an old restart file and by setting up the binary output stream for new evaluations. Only master iterator processor(s)
read & write restart information. This function must follow init iterator communicators so that restart can be
managed properly for concurrent iterator strategies. In the case of concurrent iterators, each iterator has its own
restart file tagged with iterator number.
References ParallelLibrary::bcast(), ParallelLevel::dedicatedMasterFlag, OutputManager::file tag(), ParallelLevel::hubServerCommSize, ParallelLevel::hubServerIntraComm, OutputManager::init restart(), OutputManager::init resultsdb(), ParallelLevel::numServers, ParallelLibrary::outputManager, ParallelLibrary::programOptions,
OutputManager::redirect cerr(), OutputManager::redirect cout(), OutputManager::resultsOutputFile, OutputManager::resultsOutputFlag, ParallelLevel::serverCommRank, ParallelLevel::serverId, ParallelLevel::serverMasterFlag,
MPIPackBuffer::size(), OutputManager::tabularDataFile, OutputManager::tabularDataFlag, and ParallelLibrary::worldRank.
Referenced by IteratorScheduler::init iterator parallelism(), and IteratorScheduler::init serial iterators().
void terminate modelcenter (

terminate ModelCenter if running


Close streams associated with manage outputs and manage restart and terminate any additional services that
may be active.
References Dakota::abort handler(), Dakota::dc ptr int, and Dakota::mc ptr int.
Referenced by ParallelLibrary::ParallelLibrary().
void increment parallel configuration (

) [inline]

add a new node to parallelConfigurations and increment currPCIter


Called from the ParallelLibrary ctor and from Model::init communicators(). An increment is performed for
each Model initialization except the first (which inherits the world and strategy-iterator parallel levels from the
first partial configuration).
References ParallelLibrary::currPCIter, ParallelConfiguration::eaPLIter, ParallelConfiguration::iePLIter, ParallelConfiguration::numParallelLevels, ParallelLibrary::parallelConfigurations, ParallelLibrary::parallelLevels, ParallelConfiguration::siPLIter, and ParallelConfiguration::wPLIter.
Referenced by Model::init communicators(), and ParallelLibrary::init mpi comm().
void init mpi comm (

) [private]

convenience function for initializing DAKOTAs top-level MPI communicators, based on dakotaMPIComm
shared function for initializing based on passed MPI Comm
References Dakota::abort handler(), ParallelLibrary::currPLIter, ParallelLibrary::dakotaMPIComm, ParallelLibrary::increment parallel configuration(), ParallelLibrary::mpirunFlag, ParallelLibrary::outputManager, ParallelLibrary::parallelLevels, ParallelLevel::serverCommRank, ParallelLevel::serverCommSize, ParallelLevel::serverIntraComm, ParallelLibrary::startMPITime, OutputManager::startup message(), ParallelLibrary::worldRank, and
ParallelLibrary::worldSize.
Referenced by ParallelLibrary::ParallelLibrary().

13.117. PARAMRESPONSEPAIR CLASS REFERENCE

711

void init communicators ( const ParallelLevel & parent pl, int num servers, int procs per server, int
min procs per server, int max procs per server, int max concurrency, int asynch local concurrency, short
default config, short scheduling override, bool peer dynamic avail ) [private]
split a parent communicator into child server communicators
Split parent communicator into concurrent child server partitions as specified by the passed parameters. This
constructs new child intra-communicators and parent-child inter-communicators. This function is called from the
Strategy constructor for the concurrent iterator level and from ApplicationInterface::init communicators() for the
concurrent evaluation and concurrent analysis levels.
References ParallelLibrary::currPCIter, ParallelLibrary::currPLIter, ParallelLevel::dedicatedMasterFlag, ParallelLevel::messagePass, ParallelLevel::numServers, ParallelLibrary::parallelLevels, ParallelLevel::procsPerServer, ParallelLibrary::resolve inputs(), ParallelLevel::serverCommRank, ParallelLevel::serverCommSize, ParallelLibrary::splitcommunicator dedicated master(), and ParallelLibrary::split communicator peer partition().
Referenced by ParallelLibrary::init analysis communicators(), ParallelLibrary::init evaluation communicators(),
and ParallelLibrary::init iterator communicators().
void resolve inputs ( ParallelLevel & child pl, int avail procs, int min procs per server, int
max procs per server, int max concurrency, int capacity multiplier, short default config, short
scheduling override, bool peer dynamic avail, bool print rank ) [private]
resolve user inputs into a sensible partitioning scheme
This function is responsible for the auto-configure intelligence of DAKOTA. It resolves a variety of inputs
and overrides into a sensible partitioning configuration for a particular parallelism level. It also handles the general
case in which a users specification request does not divide out evenly with the number of available processors for
the level. If num servers & procs per server are both nondefault, then the former takes precedence.
References Dakota::abort handler(), ParallelLevel::dedicatedMasterFlag, ParallelLevel::numServers, ParallelLevel::procRemainder, and ParallelLevel::procsPerServer.
Referenced by ParallelLibrary::init communicators().
The documentation for this class was generated from the following files:
ParallelLibrary.hpp
ParallelLibrary.cpp

13.117

ParamResponsePair Class Reference

Container class for a variables object, a response object, and an evaluation id.

Public Member Functions


ParamResponsePair ()
default constructor

ParamResponsePair (const Variables &vars, const String &interface id, const Response &response, bool
deep copy=false)
alternate constructor for temporaries

ParamResponsePair (const Variables &vars, const String &interface id, const Response &response, const
int eval id, bool deep copy=true)
standard constructor for history uses

ParamResponsePair (const ParamResponsePair &pair)


copy constructor

712

CHAPTER 13. CLASS DOCUMENTATION


ParamResponsePair ()
destructor

ParamResponsePair & operator= (const ParamResponsePair &pair)


assignment operator

void read (std::istream &s)


read a ParamResponsePair object from an std::istream

void write (std::ostream &s) const


write a ParamResponsePair object to an std::ostream

void read annotated (std::istream &s)


read a ParamResponsePair object in annotated format from an std::istream

void write annotated (std::ostream &s) const


write a ParamResponsePair object in annotated format to an std::ostream

void write tabular (std::ostream &s) const


write a ParamResponsePair object in tabular format to an std::ostream

void read (MPIUnpackBuffer &s)


read a ParamResponsePair object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a ParamResponsePair object to a packed MPI buffer

int eval id () const


return the evaluation identifier

void eval id (int id)


set the evaluation identifier

const String & interface id () const


return the interface identifier from the response object

const IntStringPair & eval interface ids () const


return the aggregate eval/interface identifier from the response object

const Variables & prp parameters () const


return the parameters object

const Response & prp response () const


return the response object

void prp response (const Response &response)


set the response object

const ActiveSet & active set () const


return the active set object from the response object

void active set (const ActiveSet &set)


set the active set object within the response object

Private Member Functions


template<class Archive >
void serialize (Archive &ar, const unsigned int version)
serialize the PRP: write and read are symmetric for this class

13.117. PARAMRESPONSEPAIR CLASS REFERENCE

713

Private Attributes
Variables prPairParameters
the set of parameters for the function evaluation

Response prPairResponse
the response set for the function evaluation

IntStringPair evalInterfaceIds
the evalInterfaceIds aggregate

Friends
class boost::serialization::access
allow boost access to serialize this class

bool operator== (const ParamResponsePair &pair1, const ParamResponsePair &pair2)


equality operator

bool operator!= (const ParamResponsePair &pair1, const ParamResponsePair &pair2)


inequality operator

13.117.1

Detailed Description

Container class for a variables object, a response object, and an evaluation id.
ParamResponsePair provides a container class for association of the input for a particular function evaluation
(a variables object) with the output from this function evaluation (a response object), along with an evaluation
identifier. This container defines the basic unit used in the data pairs cache, in restart file operations, and in a
variety of scheduling algorithm queues. With the advent of STL, replacement of arrays of this class with map<>
and pair<> template constructs may be possible (using map<pair<int,String>, pair<Variables,Response> >,
for example), assuming that deep copies, I/O, alternate constructors, etc., can be adequately addressed. Boost
tuple<> may also be a candidate.

13.117.2

Constructor & Destructor Documentation

ParamResponsePair ( const Variables & vars, const String & interface id, const Response & response,
bool deep copy = false ) [inline]
alternate constructor for temporaries
Uses of this constructor often employ the standard Variables and Response copy constructors to share representations since this constructor is commonly used for search pairs (which are local instantiations that go out of
scope prior to any changes to values; i.e., they are not used for history).
ParamResponsePair ( const Variables & vars, const String & interface id, const Response & response,
const int eval id, bool deep copy = true ) [inline]
standard constructor for history uses
Uses of this constructor often do not share representations since deep copies are used when history mechanisms (e.g., data pairs and beforeSynchCorePRPQueue) are involved.

714

CHAPTER 13. CLASS DOCUMENTATION

13.117.3

Member Function Documentation

void read ( MPIUnpackBuffer & s ) [inline]


read a ParamResponsePair object from a packed MPI buffer
interfaceId is omitted since master processor retains interface ids and communicates asv and response data
only with slaves.
References ParamResponsePair::evalInterfaceIds, ParamResponsePair::prPairParameters, and ParamResponsePair::prPairResponse.
void write ( MPIPackBuffer & s ) const [inline]
write a ParamResponsePair object to a packed MPI buffer
interfaceId is omitted since master processor retains interface ids and communicates asv and response data
only with slaves.
References ParamResponsePair::evalInterfaceIds, ParamResponsePair::prPairParameters, and ParamResponsePair::prPairResponse.

13.117.4

Member Data Documentation

IntStringPair evalInterfaceIds [private]


the evalInterfaceIds aggregate
the function evaluation identifier (assigned from Interface::evalIdCntr) is paired with the interface used to
generate the response object. Used in PRPCache id vars set compare to prevent duplicate detection on results
from different interfaces. evalInterfaceIds belongs here rather than in Response since some Response objects
involve consolidation of several fn evals (e.g., Model::synchronize derivatives()) that are not, in total, generated
by a single interface. The prPair, on the other hand, is used for storage of all low level fn evals that get evaluated
in ApplicationInterface::map().
Referenced by ParamResponsePair::eval id(), ParamResponsePair::eval interface ids(), ParamResponsePair::interface id(), ParamResponsePair::operator=(), Dakota::operator==(), ParamResponsePair::read(), ParamResponsePair::write(), and ParamResponsePair::write tabular().
The documentation for this class was generated from the following file:
ParamResponsePair.hpp

13.118

ParamStudy Class Reference

Class for vector, list, centered, and multidimensional parameter studies.


Inheritance diagram for ParamStudy:
Iterator
Analyzer
PStudyDACE
ParamStudy

13.118. PARAMSTUDY CLASS REFERENCE

715

Public Member Functions


ParamStudy (ProblemDescDB &problem db, Model &model)
constructor

ParamStudy ()
destructor

void pre run ()


pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori

void extract trends ()


Mapping of the core run() virtual function for the PStudy/DACE branch.

void post input ()


read tabular data for post-run mode

void post run (std::ostream &s)


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way

Private Member Functions


void sample ()
performs the parameter study by sampling from a list of points

void vector loop ()


performs the parameter study by sampling along a vector, starting from an initial point followed by numSteps
increments along continous/discrete step vectors

void centered loop ()


performs a number of plus and minus offsets for each parameter centered about an initial point

void multidim loop ()


performs a full factorial combination for all intersections defined by a set of multidimensional partitions

bool load distribute points (const String &points filename, bool annotated)
template<typename OrdinalType , typename ScalarTypeA , typename ScalarTypeC , typename ScalarTypeDI , typename ScalarTypeDR >

bool distribute (const Teuchos::SerialDenseVector< OrdinalType, ScalarTypeA > &all data, Teuchos::SerialDenseVector< OrdinalType, ScalarTypeC > &c data, Teuchos::SerialDenseVector< OrdinalType,
ScalarTypeDI > &di data, Teuchos::SerialDenseVector< OrdinalType, ScalarTypeDR > &dr data)
distributes incoming all vector in standard variable ordering among continuous, discrete int, and discrete real
vectors

template<typename ScalarType >


bool distribute (const std::vector< ScalarType > &all data, std::vector< ScalarType > &c data, std::vector<
ScalarType > &di data, std::vector< ScalarType > &dr data)
distributes incoming all array in standard variable ordering among continuous, discrete int, and discrete real arrays

bool distribute list of points (const RealVector &list of pts)


distributes incoming list of pts among listCVPoints, listDIVPoints, and listDRVPoints

void final point to step vector ()


compute step vectors from finalPoint, initial points, and numSteps

void distribute partitions ()


compute step vectors from {cont,discInt,discReal}VarPartitions and global bounds

716

CHAPTER 13. CLASS DOCUMENTATION


bool check num steps (int num steps)
perform error checks on numSteps

bool check final point (const RealVector &final pt)


perform error checks on finalPoint

bool check steps per variable (const IntVector &steps per var)
perform error checks on stepsPerVariable

bool check variable partitions (const UShortArray &partitions)


perform error checks on variable partitions

bool check finite bounds ()


check for finite variable bounds within iteratedModel, as required for computing partitions of finite ranges

bool check ranges sets (int num steps)


sanity check for vector parameter study

bool check ranges sets (const IntVector &c steps, const IntVector &di steps, const IntVector &dr steps)
sanity check for centered parameter study

bool check sets (const IntVector &c steps, const IntVector &di steps, const IntVector &dr steps)
sanity check for increments along int/real set dimensions

int integer step (int range, int num steps) const


check for integer remainder and return step

int index step (size t start, size t end, int num steps) const
check for out of bounds and index remainder and return step

void c step (size t c index, int increment, Variables &vars)


helper function for performing a continuous step in one variable

void dri step (size t di index, int increment, Variables &vars)


helper function for performing a discrete step in an integer range variable

void dsi step (size t di index, int increment, const IntSet &values, Variables &vars)
helper function for performing a discrete step in an integer set variable

void dsr step (size t dr index, int increment, const RealSet &values, Variables &vars)
helper function for performing a discrete step in a real set variable

void reset (Variables &vars)


reset vars to initial point (center)

void centered header (const String &type, size t var index, int step, size t hdr index)
store a centered parameter study header within allHeaders

Private Attributes
size t numEvals
total number of parameter study evaluations computed from specification

RealVectorArray listCVPoints
array of continuous evaluation points for the list parameter study

IntVectorArray listDIVPoints
array of discrete int evaluation points for the list parameter study

RealVectorArray listDRVPoints
array of discrete real evaluation points for the list parameter study

13.118. PARAMSTUDY CLASS REFERENCE

717

RealVector initialCVPoint
the continuous starting point for vector and centered parameter studies

IntVector initialDIVPoint
the continuous starting point for vector and centered parameter studies

RealVector initialDRVPoint
the continuous starting point for vector and centered parameter studies

RealVector contStepVector
the n-dimensional continuous increment

IntVector discIntStepVector
the n-dimensional discrete value or index increment

IntVector discRealStepVector
the n-dimensional discrete real index increment

RealVector finalPoint
the ending point for vector parameter study (a specification option)

int numSteps
the number of times continuous/discrete step vectors are applied for vector parameter study (a specification option)

IntVector contStepsPerVariable
number of offsets in the plus and the minus direction for each continuous variable in a centered parameter study

IntVector discIntStepsPerVariable
number of offsets in the plus and the minus direction for each discrete integer variable in a centered parameter study

IntVector discRealStepsPerVariable
number of offsets in the plus and the minus direction for each discrete real variable in a centered parameter study

UShortArray contVarPartitions
number of partitions for each continuous variable in a multidim parameter study

UShortArray discIntVarPartitions
number of partitions for each discrete integer variable in a multidim parameter study

UShortArray discRealVarPartitions
number of partitions for each discrete real variable in a multidim parameter study

Additional Inherited Members


13.118.1

Detailed Description

Class for vector, list, centered, and multidimensional parameter studies.


The ParamStudy class contains several algorithms for performing parameter studies of different types. The
vector parameter study steps along an n-dimensional vector from an arbitrary initial point to an arbitrary final
point in a specified number of steps. The centered parameter study performs a number of plus and minus offsets
in each coordinate direction around a center point. A multidimensional parameter study fills an n-dimensional
hypercube based on bounds and a specified number of partitions for each dimension. And the list parameter study
provides for a user specification of a list of points to evaluate, which allows general parameter investigations not
fitting the structure of vector, centered, or multidim parameter studies.

718

CHAPTER 13. CLASS DOCUMENTATION

13.118.2

Member Function Documentation

void pre run (

) [virtual]

pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori
pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call
its nearest parents pre run(), if implemented, typically before performing its own implementation steps.
Reimplemented from Iterator.
References Dakota::abort handler(), SharedVariablesData::active components totals(), Analyzer::allHeaders,
Analyzer::allVariables, ParamStudy::centered loop(), Variables::continuous variables(), ParamStudy::contStepsPerVariable, ParamStudy::contStepVector, ParamStudy::contVarPartitions, Dakota::copy data(), Model::current variables(), ParamStudy::discIntStepsPerVariable, ParamStudy::discIntStepVector, ParamStudy::discIntVarPartitions,
ParamStudy::discRealStepsPerVariable, ParamStudy::discRealStepVector, ParamStudy::discRealVarPartitions, Variables::discrete int variables(), Variables::discrete real variables(), ParamStudy::distribute partitions(), ParamStudy::finalpoint to step vector(), ParamStudy::finalPoint, ParamStudy::initialCVPoint, ParamStudy::initialDIVPoint, ParamStudy::initialDRVPoint, Iterator::iteratedModel, Iterator::method enum to string(), Iterator::methodName, ParamStudy::multidim loop(), ParamStudy::numEvals, ParamStudy::numSteps, Iterator::outputLevel, Iterator::pre run(),
ParamStudy::sample(), Variables::shared data(), ParamStudy::vector loop(), and Dakota::write ordered().
void post run ( std::ostream & s ) [virtual]
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Analyzer.
References Analyzer::allResponses, Analyzer::allVariables, SensAnalysisGlobal::compute correlations(), Iterator::methodName, Analyzer::post run(), PStudyDACE::pStudyDACESensGlobal, and Iterator::subIteratorFlag.
bool load distribute points ( const String & points filename, bool annotated ) [private]
Load from file and distribute points; using this function to manage construction of the temporary array
References ParamStudy::distribute list of points(), Analyzer::numContinuousVars, Analyzer::numDiscreteIntVars, and Analyzer::numDiscreteRealVars.
Referenced by ParamStudy::ParamStudy().
The documentation for this class was generated from the following files:
ParamStudy.hpp
ParamStudy.cpp

13.119

partial prp equality Struct Reference

predicate for comparing ONLY the interfaceId and Vars attributes of PRPair

Public Member Functions


bool operator() (const ParamResponsePair &database pr, const ParamResponsePair &search pr) const
access operator

13.120. PARTIAL PRP HASH STRUCT REFERENCE

13.119.1

Detailed Description

predicate for comparing ONLY the interfaceId and Vars attributes of PRPair
The documentation for this struct was generated from the following file:
PRPMultiIndex.hpp

13.120

partial prp hash Struct Reference

wrapper to delegate to the ParamResponsePair hash value function

Public Member Functions


std::size t operator() (const ParamResponsePair &prp) const
access operator

13.120.1

Detailed Description

wrapper to delegate to the ParamResponsePair hash value function


The documentation for this struct was generated from the following file:
PRPMultiIndex.hpp

13.121

PecosApproximation Class Reference

Derived approximation class for global basis polynomials.


Inheritance diagram for PecosApproximation:

Approximation
PecosApproximation

Public Member Functions


PecosApproximation ()
default constructor

PecosApproximation (ProblemDescDB &problem db, const SharedApproxData &shared data)


standard ProblemDescDB-driven constructor

PecosApproximation (const SharedApproxData &shared data)


alternate constructor

PecosApproximation ()
destructor

void expansion coefficient flag (bool coeff flag)


set pecosBasisApprox.configOptions.expansionCoeffFlag

bool expansion coefficient flag () const

719

720

CHAPTER 13. CLASS DOCUMENTATION


get pecosBasisApprox.configOptions.expansionCoeffFlag

void expansion gradient flag (bool grad flag)


set pecosBasisApprox.configOptions.expansionGradFlag

bool expansion gradient flag () const


get pecosBasisApprox.configOptions.expansionGradFlag

RealVector dense coefficients () const


return expansion coefficients in a form consistent witn the shared multi-index

void compute component effects ()


Performs global sensitivity analysis using Sobol Indices by computing component (main and interaction) effects.

void compute total effects ()


Performs global sensitivity analysis using Sobol Indices by computing total effects.

const Pecos::RealVector & sobol indices () const


return polyApproxRep->sobolIndices

const Pecos::RealVector & total sobol indices () const


return polyApproxRep->totalSobolIndices

Pecos::ULongULongMap sparse sobol index map () const


return RegressOrthogPolyApproximation::sparseSobolIndexMap

const Pecos::RealVector & dimension decay rates () const


return OrthogPolyApproximation::decayRates

void allocate arrays ()


invoke Pecos::PolynomialApproximation::allocate arrays()

Real mean ()
return the mean of the expansion, treating all variables as random

Real mean (const Pecos::RealVector &x)


return the mean of the expansion for a given parameter vector, treating a subset of the variables as random

const Pecos::RealVector & mean gradient ()


return the gradient of the expansion mean for a given parameter vector, treating all variables as random

const Pecos::RealVector & mean gradient (const Pecos::RealVector &x, const Pecos::SizetArray &dvv)
return the gradient of the expansion mean for a given parameter vector and given DVV, treating a subset of the
variables as random

Real variance ()
return the variance of the expansion, treating all variables as random

Real variance (const Pecos::RealVector &x)


return the variance of the expansion for a given parameter vector, treating a subset of the variables as random

const Pecos::RealVector & variance gradient ()


return the gradient of the expansion variance for a given parameter vector, treating all variables as random

const Pecos::RealVector & variance gradient (const Pecos::RealVector &x, const Pecos::SizetArray &dvv)
return the gradient of the expansion variance for a given parameter vector and given DVV, treating a subset of the
variables as random

Real covariance (PecosApproximation pecos approx 2)


return the covariance between two response expansions, treating all variables as random

Real covariance (const Pecos::RealVector &x, PecosApproximation pecos approx 2)


return the covariance between two response expansions, treating a subset of the variables as random

13.121. PECOSAPPROXIMATION CLASS REFERENCE

721

Real delta covariance (PecosApproximation pecos approx 2)


return the change in covariance between two response expansions, treating all variables as random

Real delta covariance (const Pecos::RealVector &x, PecosApproximation pecos approx 2)


return the change in covariance between two response expansions, treating a subset of the variables as random

Real delta mean ()


return the change in mean between two response expansions, treating all variables as random

Real delta mean (const RealVector &x)


return the change in mean between two response expansions, treating a subset of variables as random

Real delta std deviation ()


return the change in standard deviation between two response expansions, treating all variables as random

Real delta std deviation (const RealVector &x)


return the change in standard deviation between two response expansions, treating a subset of variables as random

Real delta beta (bool cdf flag, Real z bar)


return the change in reliability index (mapped from z bar) between two response expansions, treating all variables
as random

Real delta beta (const RealVector &x, bool cdf flag, Real z bar)
return the change in reliability index (mapped from z bar) between two response expansions, treating a subset of
variables as random

Real delta z (bool cdf flag, Real beta bar)


return the change in response level (mapped from beta bar) between two response expansions, treating all variables
as random

Real delta z (const RealVector &x, bool cdf flag, Real beta bar)
return the change in response level (mapped from beta bar) between two response expansions, treating a subset of
the variables as random

void compute moments ()


compute moments up to the order supported by the Pecos polynomial approximation

void compute moments (const Pecos::RealVector &x)


compute moments in all-variables mode up to the order supported by the Pecos polynomial approximation

const RealVector & moments () const


return virtual Pecos::PolynomialApproximation::moments()

const RealVector & expansion moments () const


return Pecos::PolynomialApproximation::expansionMoments

const RealVector & numerical moments () const


return Pecos::PolynomialApproximation::numericalMoments

void standardize moments (const Pecos::RealVector &central moments, Pecos::RealVector &std moments)
standardize the central moments returned from Pecos

Pecos::BasisApproximation & pecos basis approximation ()


return pecosBasisApprox

722

CHAPTER 13. CLASS DOCUMENTATION

Protected Member Functions


Real value (const Variables &vars)
retrieve the approximate function value for a given parameter vector

const Pecos::RealVector & gradient (const Variables &vars)


retrieve the approximate function gradient for a given parameter vector

const Pecos::RealSymMatrix & hessian (const Variables &vars)


retrieve the approximate function Hessian for a given parameter vector

int min coefficients () const


return the minimum number of samples (unknowns) required to build the derived class approximation type in numVars dimensions

void build ()
builds the approximation from scratch

void rebuild ()
rebuilds the approximation incrementally

void pop (bool save data)


removes entries from end of SurrogateData::{vars,resp}Data (last points appended, or as specified in args)

void restore ()
restores state prior to previous append()

void finalize ()
finalize approximation by applying all remaining trial sets

void store ()
store current approximation for later combination

void combine (short corr type)


combine current approximation with previously stored approximation

void print coefficients (std::ostream &s, bool normalized=false)


print the coefficient array computed in build()/rebuild()

const RealVector & approximation coefficients () const


return the coefficient array computed by build()/rebuild()

void approximation coefficients (const RealVector &approx coeffs)


set the coefficient array from external sources, rather than computing with build()/rebuild()

void coefficient labels (std::vector< std::string > &coeff labels) const


print the coefficient array computed in build()/rebuild()

Private Member Functions


void approx type to basis type (const String &approx type, short &basis type)
utility to convert Dakota type string to Pecos type enumeration

Private Attributes
Pecos::BasisApproximation pecosBasisApprox
the Pecos basis approximation, encompassing OrthogPolyApproximation and InterpPolyApproximation

Pecos::PolynomialApproximation polyApproxRep
convenience pointer to representation of Pecos polynomial approximation

13.121. PECOSAPPROXIMATION CLASS REFERENCE

723

Additional Inherited Members


13.121.1

Detailed Description

Derived approximation class for global basis polynomials.


The PecosApproximation class provides a global approximation based on basis polynomials. This includes
orthogonal polynomials used for polynomial chaos expansions and interpolation polynomials used for stochastic
collocation.

13.121.2

Member Function Documentation

void build (

) [inline], [protected], [virtual]

builds the approximation from scratch


This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References Approximation::build(), and PecosApproximation::pecosBasisApprox.
void rebuild (

) [inline], [protected], [virtual]

rebuilds the approximation incrementally


This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References PecosApproximation::pecosBasisApprox.
void pop ( bool save data ) [inline], [protected], [virtual]
removes entries from end of SurrogateData::{vars,resp}Data (last points appended, or as specified in args)
This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References PecosApproximation::pecosBasisApprox, and Approximation::pop().
void restore (

) [inline], [protected], [virtual]

restores state prior to previous append()


This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References PecosApproximation::pecosBasisApprox, and Approximation::restore().
void finalize (

) [inline], [protected], [virtual]

finalize approximation by applying all remaining trial sets


This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References Approximation::finalize(), and PecosApproximation::pecosBasisApprox.
The documentation for this class was generated from the following files:

724

CHAPTER 13. CLASS DOCUMENTATION


PecosApproximation.hpp
PecosApproximation.cpp

13.122

ProblemDescDB Class Reference

The database containing information parsed from the DAKOTA input file.
Inheritance diagram for ProblemDescDB:
ProblemDescDB
NIDRProblemDescDB

Public Member Functions


ProblemDescDB ()
default constructor

ProblemDescDB (ParallelLibrary &parallel lib)


standard constructor

ProblemDescDB (const ProblemDescDB &db)


copy constructor

ProblemDescDB ()
destructor

ProblemDescDB operator= (const ProblemDescDB &db)


assignment operator

void parse inputs (const ProgramOptions &prog opts, DbCallbackFunctionPtr callback=NULL, void callbackdata=NULL)
Parses the input file or input string if present and executes callbacks. Does not perform any validation.

void check and broadcast (const ProgramOptions &prog opts)


performs check input, broadcast, and post process, but for now, allowing separate invocation through the public
API as well

void check input ()


verifies that there is at least one of each of the required keywords in the dakota input file

void broadcast ()
invokes send db buffer() and receive db buffer() to broadcast DB data across the processor allocation. Used by
manage inputs().

void post process ()


post-processes the (minimal) input specification to assign default variables/responses specification arrays. Used by
manage inputs().

void lock ()
Locks the database in order to prevent data access when the list nodes may not be set properly. Unlocked by a set
nodes operation.

void unlock ()
Explicitly unlocks the database. Use with care.

13.122. PROBLEMDESCDB CLASS REFERENCE

725

void set db list nodes (const String &method tag)


set dataMethodIter based on a method identifier string to activate a particular method specification in dataMethodList and use pointers from this method specification to set all other list iterators.

void set db list nodes (const size t &method index)


set dataMethodIter based on an index within dataMethodList to activate a particular method specification and use
pointers from this method specification to set all other list iterators.

void resolve top method ()


For a (default) environment lacking a top method pointer, this function is used to determine which of several potential method specifications corresponds to the top method and then sets the list nodes accordingly.

void set db method node (const String &method tag)


set dataMethodIter based on a method identifier string to activate a particular method specification (only).

void set db method node (const size t &method index)


set dataMethodIter based on an index within dataMethodList to activate a particular method specification (only).

size t get db method node ()


return the index of the active node in dataMethodList

void set db model nodes (const String &model tag)


set the model list iterators (dataModelIter, dataVariablesIter, dataInterfaceIter, and dataResponsesIter) based on
the model identifier string

void set db model nodes (const size t &model index)


set the model list iterators (dataModelIter, dataVariablesIter, dataInterfaceIter, and dataResponsesIter) based on
an index within dataModelList

size t get db model node ()


return the index of the active node in dataModelList

void set db variables node (const String &variables tag)


set dataVariablesIter based on the variables identifier string

void set db interface node (const String &interface tag)


set dataInterfaceIter based on the interface identifier string

void set db responses node (const String &responses tag)


set dataResponsesIter based on the responses identifier string

ParallelLibrary & parallel library () const


return the parallelLib reference

IteratorList & iterator list ()


return a list of all Iterator objects that have been instantiated

ModelList & model list ()


return a list of all Model objects that have been instantiated

VariablesList & variables list ()


return a list of all Variables objects that have been instantiated

InterfaceList & interface list ()


return a list of all Interface objects that have been instantiated

ResponseList & response list ()


return a list of all Response objects that have been instantiated

const RealVector & get rv (const String &entry name) const


get a RealVector out of the database based on an identifier string

const IntVector & get iv (const String &entry name) const

726

CHAPTER 13. CLASS DOCUMENTATION


get an IntVector out of the database based on an identifier string

const SizetArray & get sza (const String &entry name) const
get an SizetArray out of the database based on an identifier string

const UShortArray & get usa (const String &entry name) const
get an UShortArray out of the database based on an identifier string

const RealSymMatrix & get rsm (const String &entry name) const
get a RealSymMatrix out of the database based on an identifier string

const RealVectorArray & get rva (const String &entry name) const
get a RealVectorArray out of the database based on an identifier string

const IntVectorArray & get iva (const String &entry name) const
get an IntVectorArray out of the database based on an identifier string

const IntSet & get is (const String &entry name) const


get an IntSet out of the database based on an identifier string

const IntSetArray & get isa (const String &entry name) const
get an IntSetArray out of the database based on an identifier string

const RealSetArray & get rsa (const String &entry name) const
get a RealSetArray out of the database based on an identifier string

const IntRealMapArray & get irma (const String &entry name) const
get an IntRealMapArray out of the database based on an identifier string

const RealRealMapArray & get rrma (const String &entry name) const
get a RealRealMapArray out of the database based on an identifier string

const StringArray & get sa (const String &entry name) const


get a StringArray out of the database based on an identifier string

const String2DArray & get s2a (const String &entry name) const
get a String2DArray out of the database based on an identifier string

const String & get string (const String &entry name) const
get a String out of the database based on an identifier string

const Real & get real (const String &entry name) const
get a Real out of the database based on an identifier string

int get int (const String &entry name) const


get an int out of the database based on an identifier string

short get short (const String &entry name) const


get a short out of the database based on an identifier string

unsigned short get ushort (const String &entry name) const


get an unsigned short out of the database based on an identifier string

size t get sizet (const String &entry name) const


get a size t out of the database based on an identifier string

bool get bool (const String &entry name) const


get a bool out of the database based on an identifier string

void get voidss (const String &entry name) const


for getting a void, e.g., &dlLib

void insert node (const DataEnvironment &data env)


set the DataEnvironment object

13.122. PROBLEMDESCDB CLASS REFERENCE

727

void insert node (const DataMethod &data method)


add a DataMethod object to the dataMethodList

void insert node (const DataModel &data model)


add a DataModel object to the dataModelList

void insert node (DataVariables &data variables)


add a DataVariables object to the dataVariablesList

void insert node (const DataInterface &data interface)


add a DataInterface object to the dataInterfaceList

void insert node (const DataResponses &data responses)


add a DataResponses object to the dataResponsesList

void set (const String &entry name, const RealVector &rv)


set a RealVector within the database based on an identifier string

void set (const String &entry name, const IntVector &iv)


set an IntVector within the database based on an identifier string

void set (const String &entry name, const RealSymMatrix &rsm)


set a RealMatrix within the database based on an identifier string

void set (const String &entry name, const RealVectorArray &rva)


set a RealVectorArray within the database based on an identifier string

void set (const String &entry name, const IntVectorArray &iva)


set an IntVectorArray within the database based on an identifier string

void set (const String &entry name, const IntSetArray &isa)


set an IntSetArray within the database based on an identifier string

void set (const String &entry name, const RealSetArray &rsa)


set a RealSetArray within the database based on an identifier string

void set (const String &entry name, const IntRealMapArray &irma)


set an IntRealMapArray within the database based on an identifier string

void set (const String &entry name, const RealRealMapArray &rrma)


set a RealRealMapArray within the database based on an identifier string

void set (const String &entry name, const StringArray &sa)


set a StringArray within the database based on an identifier string

bool is null () const


function to check dbRep (does this envelope contain a letter)

Protected Member Functions


ProblemDescDB (BaseConstructor, ParallelLibrary &parallel lib)
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

virtual void derived parse inputs (const ProgramOptions &prog opts)


derived class specifics within parse inputs()

virtual void derived broadcast ()


derived class specifics within broadcast()

virtual void derived post process ()


derived class specifics within post process()

728

CHAPTER 13. CLASS DOCUMENTATION

Protected Attributes
DataEnvironment environmentSpec
the environment specification (only one allowed) resulting from a call to environment kwhandler() or insert node()

std::list< DataMethod > dataMethodList


list of method specifications, one for each call to method kwhandler() or insert node()

std::list< DataModel > dataModelList


list of model specifications, one for each call to model kwhandler() or insert node()

std::list< DataVariables > dataVariablesList


list of variables specifications, one for each call to variables kwhandler() or insert node()

std::list< DataInterface > dataInterfaceList


list of interface specifications, one for each call to interface kwhandler() or insert node()

std::list< DataResponses > dataResponsesList


list of responses specifications, one for each call to responses kwhandler() or insert node()

size t environmentCntr
counter for environment specifications used in check input

Private Member Functions


const Iterator & get iterator ()
retrieve an existing Iterator, if it exists, or instantiate a new one

const Iterator & get iterator (Model &model)


retrieve an existing Iterator, if it exists, or instantiate a new one

const Model & get model ()


retrieve an existing Model, if it exists, or instantiate a new one

const Variables & get variables ()


retrieve an existing Variables, if it exists, or instantiate a new one

const Interface & get interface ()


retrieve an existing Interface, if it exists, or instantiate a new one

const Response & get response (const Variables &vars)


retrieve an existing Response, if it exists, or instantiate a new one

ProblemDescDB get db (ParallelLibrary &parallel lib)


Used by the envelope constructor to instantiate the correct letter class.

void send db buffer ()


MPI send of a large buffer containing environmentSpec and all objects in dataMethodList, dataModelList, dataVariablesList, dataInterfaceList, and dataResponsesList. Used by manage inputs().

void receive db buffer ()


MPI receive of a large buffer containing environmentSpec and all objects in dataMethodList, dataModelList, dataVariablesList, dataInterfaceList, and dataResponsesList. Used by manage inputs().

void echo input file (const ProgramOptions &prog opts)


echo the (potentially) specified input file or string to stdout

13.122. PROBLEMDESCDB CLASS REFERENCE

729

Private Attributes
ParallelLibrary & parallelLib
reference to the parallel lib object passed from main

std::list< DataMethod >::iterator dataMethodIter


iterator identifying the active list node in dataMethodList

std::list< DataModel >::iterator dataModelIter


iterator identifying the active list node in dataModelList

std::list< DataVariables >


::iterator dataVariablesIter
iterator identifying the active list node in dataVariablesList

std::list< DataInterface >


::iterator dataInterfaceIter
iterator identifying the active list node in dataInterfaceList

std::list< DataResponses >


::iterator dataResponsesIter
iterator identifying the active list node in dataResponsesList

IteratorList iteratorList
list of iterator objects, one for each method specification

ModelList modelList
list of model objects, one for each model specification

VariablesList variablesList
list of variables objects, one for each variables specification

InterfaceList interfaceList
list of interface objects, one for each interface specification

ResponseList responseList
list of response objects, one for each responses specification

bool methodDBLocked
prevents use of get <type> retrieval and set <type> update functions prior to setting the list node for the active
method specification

bool modelDBLocked
prevents use of get <type> retrieval and set <type> update functions prior to setting the list node for the active
model specification

bool variablesDBLocked
prevents use of get <type> retrieval and set <type> update functions prior to setting the list node for the active
variables specification

bool interfaceDBLocked
prevents use of get <type> retrieval and set <type> update functions prior to setting the list node for the active
interface specification

bool responsesDBLocked
prevents use of get <type> retrieval and set <type> update functions prior to setting the list node for the active
responses specification

ProblemDescDB dbRep
pointer to the letter (initialized only for the envelope)

int referenceCount
number of objects sharing dbRep

730

CHAPTER 13. CLASS DOCUMENTATION

Friends
class Model
Model requires access to get variables() and get response()

class SingleModel
SingleModel requires access to get interface()

class HierarchSurrModel
HierarchSurrModel requires access to get model()

class DataFitSurrModel
DataFitSurrModel requires access to get iterator() and get model()

class NestedModel
NestedModel requires access to get interface(), get response(), get iterator(), and get model()

class Environment
Environment requires access to get iterator()

class IteratorScheduler
Environment requires access to get iterator()

class Iterator
Iterator requires access to get model()

class MetaIterator
Iterator requires access to get model()

class SeqHybridMetaIterator
SeqHybridMetaIterator requires access to get model()

class CollabHybridMetaIterator
CollabHybridMetaIterator requires access to get model()

class ConcurrentMetaIterator
ConcurrentMetaIterator requires access to get model()

class SurrBasedLocalMinimizer
SurrBasedLocalMinimizer requires access to get iterator()

class SurrBasedGlobalMinimizer
SurrBasedGlobalMinimizer requires access to get iterator()

13.122.1

Detailed Description

The database containing information parsed from the DAKOTA input file.
The ProblemDescDB class is a database for DAKOTA input file data that is populated by a parser defined in
a derived class. When the parser reads a complete keyword, it populates a data class object (DataEnvironment,
DataMethod, DataVariables, DataInterface, or DataResponses) and, for all cases except environment, appends the
object to a linked list (dataMethodList, dataVariablesList, dataInterfaceList, or dataResponsesList). No environment linked list is used since only one environment specification is allowed.

13.122.2

Constructor & Destructor Documentation

ProblemDescDB (

default constructor
The default constructor: dbRep is NULL in this case. This makes it necessary to check for NULL in the copy
constructor, assignment operator, and destructor.

13.122. PROBLEMDESCDB CLASS REFERENCE

731

ProblemDescDB ( ParallelLibrary & parallel lib )


standard constructor
This is the envelope constructor which uses problem db to build a fully populated db object. It only needs
to extract enough data to properly execute get db(problem db), since the constructor overloaded with BaseConstructor builds the actual base class data inherited by the derived classes.
References Dakota::abort handler(), ProblemDescDB::dbRep, and ProblemDescDB::get db().
ProblemDescDB ( const ProblemDescDB & db )
copy constructor
Copy constructor manages sharing of dbRep and incrementing of referenceCount.
References ProblemDescDB::dbRep, and ProblemDescDB::referenceCount.
ProblemDescDB (

destructor
Destructor decrements referenceCount and only deletes dbRep when referenceCount reaches zero.
References Dakota::Dak pddb, ProblemDescDB::dbRep, and ProblemDescDB::referenceCount.
ProblemDescDB ( BaseConstructor , ParallelLibrary & parallel lib ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get db() instantiates
a derived class letter and the derived constructor selects this base class constructor in its initialization list (to
avoid the recursion of the base class constructor calling get db() again). Since the letter IS the representation, its
representation pointer is set to NULL (an uninitialized pointer causes problems in ProblemDescDB).

13.122.3

Member Function Documentation

ProblemDescDB operator= ( const ProblemDescDB & db )


assignment operator
Assignment operator decrements referenceCount for old dbRep, assigns new dbRep, and increments referenceCount for new dbRep.
References ProblemDescDB::dbRep, and ProblemDescDB::referenceCount.
void parse inputs ( const ProgramOptions & prog opts, DbCallbackFunctionPtr callback = NULL, void
callback data = NULL )
Parses the input file or input string if present and executes callbacks. Does not perform any validation.
DB setup phase 1: parse the input file and execute callback functions if present. Rank 0 only.
DB setup phase 2: optionally insert additional data via late sets. Rank 0 only.
References Dakota::abort handler(), ProblemDescDB::dbRep, ProblemDescDB::derived parse inputs(), ProgramOptions::echo input(), ProblemDescDB::echo input file(), ProgramOptions::input file(), ProgramOptions::inputstring(), ProblemDescDB::parallelLib, ProblemDescDB::parse inputs(), and ParallelLibrary::world rank().
Referenced by Environment::parse(), and ProblemDescDB::parse inputs().

732

CHAPTER 13. CLASS DOCUMENTATION

void check and broadcast ( const ProgramOptions & prog opts )


performs check input, broadcast, and post process, but for now, allowing separate invocation through the public
API as well
DB setup phase 3: perform basic checks on keywords counts in current DB state, then sync to all processors.
References ProblemDescDB::broadcast(), ProblemDescDB::check and broadcast(), ProblemDescDB::checkinput(), ProblemDescDB::dbRep, ProblemDescDB::parallelLib, ProblemDescDB::post process(), and ParallelLibrary::world rank().
Referenced by ProblemDescDB::check and broadcast(), LibraryEnvironment::done modifying db(), and Environment::parse().
void check input (

verifies that there is at least one of each of the required keywords in the dakota input file
NOTE: when using library mode in a parallel application, check input() should either be called only on worldRank 0, or it should follow a matched send db buffer()/receive db buffer() pair.
References Dakota::abort handler(), ProblemDescDB::check input(), ParallelLibrary::command line post run input(), ParallelLibrary::command line post run output(), ParallelLibrary::command line pre run input(), ParallelLibrary::command line pre run output(), ParallelLibrary::command line run input(), ParallelLibrary::commandline run output(), ParallelLibrary::command line user modes(), ProblemDescDB::dataInterfaceList, ProblemDescDB::dataMethodList, ProblemDescDB::dataModelList, ProblemDescDB::dataResponsesList, ProblemDescDB::dataVariablesList, ProblemDescDB::dbRep, ProblemDescDB::environmentCntr, ProblemDescDB::parallelLib,
and Dakota::strbegins().
Referenced by ProblemDescDB::check and broadcast(), and ProblemDescDB::check input().
void post process (

post-processes the (minimal) input specification to assign default variables/responses specification arrays. Used
by manage inputs().
When using library mode in a parallel application, post process() should be called on all processors following
broadcast() of a minimal problem specification.
References ProblemDescDB::dbRep, and ProblemDescDB::derived post process().
Referenced by ProblemDescDB::check and broadcast().
ProblemDescDB get db ( ParallelLibrary & parallel lib ) [private]
Used by the envelope constructor to instantiate the correct letter class.
Initializes dbRep to the appropriate derived type. The standard derived class constructors are invoked.
References Dakota::Dak pddb.
Referenced by ProblemDescDB::ProblemDescDB().
The documentation for this class was generated from the following files:
ProblemDescDB.hpp
ProblemDescDB.cpp

13.123

ProcessApplicInterface Class Reference

Derived application interface class that spawns a simulation code using a separate process and communicates with
it through files.
Inheritance diagram for ProcessApplicInterface:

13.123. PROCESSAPPLICINTERFACE CLASS REFERENCE

733

Interface
ApplicationInterface
ProcessApplicInterface
ProcessHandleApplicInterface
ForkApplicInterface

SpawnApplicInterface

SysCallApplicInterface
GridApplicInterface

Public Member Functions


ProcessApplicInterface (const ProblemDescDB &problem db)
constructor

ProcessApplicInterface ()
destructor

Protected Member Functions


void derived map (const Variables &vars, const ActiveSet &set, Response &response, int fn eval id)
Called by map() and other functions to execute the simulation in synchronous mode. The portion of performing an
evaluation that is specific to a derived class.

void derived map asynch (const ParamResponsePair &pair)


Called by map() and other functions to execute the simulation in asynchronous mode. The portion of performing
an asynchronous evaluation that is specific to a derived class.

const StringArray & analysis drivers () const


retrieve the analysis drivers specification for application interfaces

void file cleanup () const


clean up any interface parameter/response files when aborting

virtual void map bookkeeping (pid t pid, int fn eval id)=0


bookkeeping of process and evaluation ids for asynchronous maps

virtual pid t create evaluation process (bool block flag)=0


Spawn the evaluation by managing the input filter, analysis drivers, and output filter. Called from derived map() &
derived map asynch().

void synchronous local analyses (int start, int end, int step)
execute analyses synchronously on the local processor

void define filenames (const String &eval id tag)


define modified filenames from user input by handling Unix temp file and optionally tagging with given eval id tag

void write parameters files (const Variables &vars, const ActiveSet &set, const Response &response, const
int id)
write the parameters data and response request data to one or more parameters files (using one or more invocations
of write parameters file()) in either standard or aprepro format

void read results files (Response &response, const int id, const String &eval id tag)
read the response object from one or more results files using full eval id tag passed

734

CHAPTER 13. CLASS DOCUMENTATION

Protected Attributes
bool fileTagFlag
flags tagging of parameter/results files

bool fileSaveFlag
flags retention of parameter/results files

bool commandLineArgs
flag indicating use of passing of filenames as command line arguments to the analysis drivers and input/output
filters

bool apreproFlag
flag indicating use of the APREPRO (the Sandia A PRE PROcessor utility) format for parameter files

bool multipleParamsFiles
flag indicating the need for separate parameters files for multiple analysis drivers

std::string iFilterName
the name of the input filter (input filter user specification)

std::string oFilterName
the name of the output filter (output filter user specification)

std::vector< String > programNames


the names of the analysis code programs (analysis drivers user specification)

std::string specifiedParamsFileName
the name of the parameters file from user specification

std::string paramsFileName
the parameters file name actually used (modified with tagging or temp files)

std::string specifiedResultsFileName
the name of the results file from user specification

std::string resultsFileName
the results file name actually used (modified with tagging or temp files)

std::string fullEvalId
complete evalIdTag, possibly including hierarchical tagging and final eval id, but not program numbers, for passing
to write parameters files

bool allowExistingResults
by default analysis code interfaces delete results files if they exist; user may override with this flag and well try to
gather and only fork if needed

std::string curWorkdir
working directory when useWorkdir is true

std::map< int, std::pair


< std::string, std::string > > fileNameMap
stores parameters and results file names used in spawning function evaluations. Map key is the function evaluation
identifier.

bool useWorkdir
whether to use a new or specified work directory

std::string workDir
its name, if specified...

bool dirTag

13.123. PROCESSAPPLICINTERFACE CLASS REFERENCE

735

whether to tag the working directory

bool dirSave
whether dir save was specified

bool dirDel
whether to delete the directory when Dakota terminates

bool haveWorkdir
for dirTag, whether we have workDir

std::string templateDir
template directory (if specified)

StringArray templateFiles
template files (if specified)

bool templateCopy
whether to force a copy (versus link) every time

bool templateReplace
whether to replace existing files

bool haveTemplateDir
state variable for template directory

std::string dakDir
Dakota directory (if needed)

Private Member Functions


void write parameters file (const Variables &vars, const ActiveSet &set, const Response &response, const
std::string &prog, const std::vector< String > &an comps, const std::string &params fname)
write the variables, active set vector, derivative variables vector, and analysis components to the specified parameters file in either standard or aprepro format

Private Attributes
String2DArray analysisComponents
the set of optional analysis components used by the analysis drivers (from the analysis components interface specification)

13.123.1

Detailed Description

Derived application interface class that spawns a simulation code using a separate process and communicates with
it through files.
ProcessApplicInterface is subclassed for process handles or file completion testing.

13.123.2

Member Function Documentation

void synchronous local analyses ( int start, int end, int step ) [inline], [protected]
execute analyses synchronously on the local processor
Execute analyses synchronously in succession on the local processor (start to end in step increments). Modeled
after ApplicationInterface::synchronous local evaluations().
References ApplicationInterface::synchronous local analysis().

736

CHAPTER 13. CLASS DOCUMENTATION


Referenced by ProcessHandleApplicInterface::create evaluation process().
The documentation for this class was generated from the following files:
ProcessApplicInterface.hpp
ProcessApplicInterface.cpp

13.124

ProcessHandleApplicInterface Class Reference

Derived application interface class that spawns a simulation code using a separate process, receives a process
identifier, and communicates with the spawned process through files.
Inheritance diagram for ProcessHandleApplicInterface:
Interface
ApplicationInterface
ProcessApplicInterface
ProcessHandleApplicInterface
ForkApplicInterface

SpawnApplicInterface

Public Member Functions


ProcessHandleApplicInterface (const ProblemDescDB &problem db)
constructor

ProcessHandleApplicInterface ()
destructor

Protected Member Functions

int synchronous local analysis (int analysis id)


void init communicators checks (int max eval concurrency)
void set communicators checks (int max eval concurrency)
void map bookkeeping (pid t pid, int fn eval id)
bookkeeping of process and evaluation ids for asynchronous maps

pid t create evaluation process (bool block flag)


virtual pid t create analysis process (bool block flag, bool new group)=0
spawn a child process for an analysis component within an evaluation

virtual size t wait local analyses ()=0


wait for asynchronous analyses on the local processor, completing at least one job

virtual size t test local analyses send (int analysis id)=0


test for asynchronous analysis completions on the local processor and return results for any completions by sending
messages

13.124. PROCESSHANDLEAPPLICINTERFACE CLASS REFERENCE

737

virtual void join evaluation process group (bool new group)


create (if new group) and join the process group for asynch evaluations

virtual void join analysis process group (bool new group)


create (if new group) and join the process group for asynch analyses

virtual void evaluation process group id (pid t pgid)


set evalProcGroupId

virtual pid t evaluation process group id () const


return evalProcGroupId

virtual void analysis process group id (pid t pgid)


set analysisProcGroupId

virtual pid t analysis process group id () const


return analysisProcGroupId

void process local evaluation (PRPQueue &prp queue, const pid t pid)
Common processing code used by {wait,test} local evaluations.

void check wait (pid t pid, int status)


check the exit status of a forked process and abort if an error code was returned

void asynchronous local analyses (int start, int end, int step)
execute analyses asynchronously on the local processor

void serve analyses asynch ()


serve the analysis scheduler and execute analysis jobs asynchronously

void ifilter argument list ()


set argList for execution of the input filter

void ofilter argument list ()


set argList for execution of the output filter

void driver argument list (int analysis id)


set argList for execution of the specified analysis driver

Protected Attributes
std::map< pid t, int > evalProcessIdMap
map of fork process ids to function evaluation ids for asynchronous evaluations

std::map< pid t, int > analysisProcessIdMap


map of fork process ids to analysis job ids for asynchronous analyses

std::vector< std::string > argList


an array of strings for use with execvp(const char , char const ). These are converted to an array of const
chars in fork program().

13.124.1

Detailed Description

Derived application interface class that spawns a simulation code using a separate process, receives a process
identifier, and communicates with the spawned process through files.
ProcessHandleApplicInterface is subclassed for fork/execvp/waitpid (Unix) and spawnvp (Windows).

738

13.124.2

CHAPTER 13. CLASS DOCUMENTATION

Member Function Documentation

int synchronous local analysis ( int analysis id ) [inline], [protected], [virtual]


This code provides the derived function used by ApplicationInterface:: serve analyses synch() as well as a convenience function for ProcessHandleApplicInterface::synchronous local analyses() below.
Reimplemented from ApplicationInterface.
References ProcessHandleApplicInterface::create analysis process(), and ProcessHandleApplicInterface::driverargument list().
void init communicators checks ( int max eval concurrency ) [inline], [protected], [virtual]
No derived interface plug-ins, so perform construct-time checks. However, process init issues as warnings since
some contexts (e.g., HierarchSurrModel) initialize more configurations than will be used.
Reimplemented from ApplicationInterface.
References ApplicationInterface::check multiprocessor analysis(), and ApplicationInterface::check multiprocessorasynchronous().
void set communicators checks ( int max eval concurrency ) [inline], [protected], [virtual]
Process run-time issues as hard errors.
Reimplemented from ApplicationInterface.
References Dakota::abort handler(), ApplicationInterface::check multiprocessor analysis(), and ApplicationInterface::check multiprocessor asynchronous().
pid t create evaluation process ( bool block flag ) [protected], [virtual]
Manage the input filter, 1 or more analysis programs, and the output filter in blocking or nonblocking mode as
governed by block flag. In the case of a single analysis and no filters, a single fork is performed, while in other
cases, an initial fork is reforked multiple times. Called from derived map() with block flag == BLOCK and from
derived map asynch() with block flag == FALL THROUGH. Uses create analysis process() to spawn individual
program components within the function evaluation.
Implements ProcessApplicInterface.
References Dakota::abort handler(), ProcessHandleApplicInterface::analysis process group id(), ApplicationInterface::analysisServerId, ApplicationInterface::asynchLocalAnalysisConcurrency, ApplicationInterface::asynchLocalAnalysisFlag, ProcessHandleApplicInterface::asynchronous local analyses(), ParallelLibrary::barrier e(), ProcessApplicInterface::commandLineArgs, ProcessHandleApplicInterface::create analysis process(), ProcessHandleApplicInterface::driver argument list(), ApplicationInterface::eaDedMasterFlag, ApplicationInterface::evalCommRank,
ApplicationInterface::evalCommSize, ProcessHandleApplicInterface::evalProcessIdMap, ProcessHandleApplicInterface::evaluation process group id(), ProcessHandleApplicInterface::ifilter argument list(), ProcessApplicInterface::iFilterName, ProcessHandleApplicInterface::join evaluation process group(), ApplicationInterface::master dynamicschedule analyses(), ProcessApplicInterface::multipleParamsFiles, ApplicationInterface::numAnalysisDrivers, ApplicationInterface::numAnalysisServers, ProcessHandleApplicInterface::ofilter argument list(), ProcessApplicInterface::oFilterName, ApplicationInterface::parallelLib, ProcessApplicInterface::paramsFileName, ProcessApplicInterface::programNames, ProcessApplicInterface::resultsFileName, ProcessHandleApplicInterface::serve analyses asynch(),
ApplicationInterface::serve analyses synch(), ApplicationInterface::suppressOutput, and ProcessApplicInterface::synchronous local analyses().
void check wait ( pid t pid, int status ) [protected]
check the exit status of a forked process and abort if an error code was returned

13.125. PROGRAMOPTIONS CLASS REFERENCE

739

Check to see if the process terminated abnormally (WIFEXITED(status)==0) or if either execvp or the application returned a status code of -1 (WIFEXITED(status)!=0 && (signed char)WEXITSTATUS(status)==-1).
If one of these conditions is detected, output a failure message and abort. Note: the application code should not
return a status code of -1 unless an immediate abort of dakota is wanted. If for instance, failure capturing is to be
used, the application code should write the word FAIL to the appropriate results file and return a status code of
0 through exit().
References Dakota::abort handler().
Referenced by ForkApplicInterface::create analysis process(), SpawnApplicInterface::test local analyses send(),
SpawnApplicInterface::test local evaluations(), ForkApplicInterface::wait(), SpawnApplicInterface::wait local analyses(), and SpawnApplicInterface::wait local evaluations().
void asynchronous local analyses ( int start, int end, int step ) [protected]
execute analyses asynchronously on the local processor
Schedule analyses asynchronously on the local processor using a dynamic scheduling approach (start to end
in step increments). Concurrency is limited by asynchLocalAnalysisConcurrency. Modeled after ApplicationInterface::asynchronous local evaluations(). NOTE: This function should be elevated to ApplicationInterface if
and when another derived interface class supports asynchronous local analyses.
References Dakota::abort handler(), ProcessHandleApplicInterface::analysisProcessIdMap, ApplicationInterface::asynchLocalAnalysisConcurrency, ProcessHandleApplicInterface::create analysis process(), ProcessHandleApplicInterface::driver argument list(), ApplicationInterface::numAnalysisDrivers, and ProcessHandleApplicInterface::wait local analyses().
Referenced by ProcessHandleApplicInterface::create evaluation process().
void serve analyses asynch (

) [protected]

serve the analysis scheduler and execute analysis jobs asynchronously


This code runs multiple asynch analyses on each server. It is modeled after ApplicationInterface::serve evaluations asynch(). NOTE: This fn should be elevated to ApplicationInterface if and when another derived
interface class supports hybrid analysis parallelism.
References Dakota::abort handler(), ProcessHandleApplicInterface::analysisProcessIdMap, ApplicationInterface::asynchLocalAnalysisConcurrency, ProcessHandleApplicInterface::create analysis process(), ProcessHandleApplicInterface::driver argument list(), ParallelLibrary::irecv ea(), ApplicationInterface::numAnalysisDrivers, ApplicationInterface::parallelLib, ParallelLibrary::recv ea(), ParallelLibrary::test(), and ProcessHandleApplicInterface::testlocal analyses send().
Referenced by ProcessHandleApplicInterface::create evaluation process().
The documentation for this class was generated from the following files:
ProcessHandleApplicInterface.hpp
ProcessHandleApplicInterface.cpp

13.125

ProgramOptions Class Reference

ProgramOptions stores options whether from the CLH or from library user; initially valid only on worldRank =
0, but then broadcast in ParallelLibrary::manage outputs restart.

Public Member Functions


ProgramOptions ()

740

CHAPTER 13. CLASS DOCUMENTATION


default constructor (needed for default environment ctors and could be used by library clients to late update data)

ProgramOptions (int argc, char argv[ ], int world rank)


standard constructor that uses a CommandLineHandler to parse user options

const String & input file () const


Dakota input file base name (no tag)

const String & input string () const


alternate Dakota input string literal

bool echo input () const


is input echo specified?

const String & parser options () const


(deprecated) NIDR parser options

String output file () const


output (user-provided or default) file base name (no tag)

const String & error file () const


error file base name (no tag)

const String & read restart file () const


restart file base name (no tag)

size t stop restart evals () const


eval ID at which to stop reading restart

String write restart file () const


write retart (user-provided or default) file base name (no tag)

bool help () const


is help mode active?

bool version () const


is version mode active?

bool check () const


is check mode active?

bool pre run () const


is pre-run mode active?

bool run () const


is run mode active?

bool post run () const


is post-run mode active?

bool user modes () const


are any non-default, user-specified run modes active?

const String & pre run input () const


filename for pre-run input

const String & pre run output () const


filename for pre-run output

const String & run input () const


filename for run input

const String & run output () const


filename for run output

13.125. PROGRAMOPTIONS CLASS REFERENCE


const String & post run input () const
filename for post-run input

const String & post run output () const


filename for post-run output

bool proceed to instantiate () const


whether steps beyond help/version are requested (instantiation required)

bool proceed to run () const


Whether steps beyond check are requested.

bool user stdout redirect () const


whether the user/client code requested a redirect of stdout

void input file (const String &in file)


set Dakota input file base name (no tag)

void input string (const String &in string)


set alternate Dakota input string literal

void echo input (bool echo flag)


set whether to echo input to output

void output file (const String &out file)


set base file name for Dakota output

void error file (const String &err file)


set base file name for Dakota errors

void read restart file (const String &read rst)


set base file name for restart file from which to read

void stop restart evals (size t stop rst)


set eval ID at which to stop reading restart

void write restart file (const String &write rst)


set base file name for restart file to write

void help (bool help flag)


set true to print help information and exit

void version (bool version flag)


set true to print version information and exit

void check (bool check flag)


set true to check input and instantiate objects, then exit

void pre run (bool pre run flag)


set to enable/disable pre-run phase

void run (bool run flag)


set to enable/disable run phase

void post run (bool post run flag)


set to enable/disable post-run phase

void pre run input (const String &pre run in)


Specify the pre-run phase input filename.

void pre run output (const String &pre run out)


Specify the pre-run phase output filename.

void run input (const String &run in)

741

742

CHAPTER 13. CLASS DOCUMENTATION


Specify the run phase input filename.

void run output (const String &run out)


Specify the run phase output filename.

void post run input (const String &post run in)


Specify the post-run phase input filename.

void post run output (const String &post run out)


Specify the post-run phase output filename.

void read (MPIUnpackBuffer &s)


helper function for reading some class data from MPI buffer

void write (MPIPackBuffer &s) const


helper function for writing some class data to MPI buffer

Private Member Functions


void parse environment options ()
any environment variables affecting global behavior get read here

void manage run modes (const CommandLineHandler &clh)


retrieve run mode options from the CLH

void split filenames (const char filenames, std::string &input filename, std::string &output filename)
manage pre/run/post filenames

void validate ()
verify consistency of user settings (helpful for library mode especially)

Private Attributes
String inputFile
Dakota input file name, e.g., dakota.in.

String inputString
alternate input means for library clients: input string (mutually exclusive with input file)

bool echoInput
whether to echo clients input file at parse

String parserOptions
Deprecated option for NIDR parser options.

String outputFile
Dakota output base file name, e.g., dakota.out.

String errorFile
Dakota error base file name, e.g., dakota.err.

String readRestartFile
e.g., dakota.old.rst

size t stopRestartEvals
eval number at which to stop restart read

String writeRestartFile
e.g., dakota.new.rst

bool helpFlag

13.125. PROGRAMOPTIONS CLASS REFERENCE

743

whether to print help message and exit

bool versionFlag
whether to print version message and exit

bool checkFlag
flags invocation with command line option -check

bool preRunFlag
flags invocation with command line option -pre run

bool runFlag
flags invocation with command line option -run

bool postRunFlag
flags invocation with command line option -post run

bool userModesFlag
whether any user run modes are active

String preRunInput
filename for pre run input

String preRunOutput
filename for pre run output

String runInput
filename for run input

String runOutput
filename for run output

String postRunInput
filename for post run input

String postRunOutput
filename for post run output

13.125.1

Detailed Description

ProgramOptions stores options whether from the CLH or from library user; initially valid only on worldRank =
0, but then broadcast in ParallelLibrary::manage outputs restart.

13.125.2

Member Function Documentation

void split filenames ( const char filenames, std::string & input filename, std::string & output filename )
[private]
manage pre/run/post filenames
Tokenize colon-delimited input and output filenames, returns unchanged strings if tokens not found.
Referenced by ProgramOptions::manage run modes().
The documentation for this class was generated from the following files:
ProgramOptions.hpp
ProgramOptions.cpp

744

CHAPTER 13. CLASS DOCUMENTATION

13.126

PStudyDACE Class Reference

Base class for managing common aspects of parameter studies and design of experiments methods.
Inheritance diagram for PStudyDACE:
Iterator
Analyzer
PStudyDACE
DDACEDesignCompExp

FSUDesignCompExp

ParamStudy

PSUADEDesignCompExp

Protected Member Functions


PStudyDACE (ProblemDescDB &problem db, Model &model)
constructor

PStudyDACE (unsigned short method name, Model &model)


alternate constructor for instantiations on the fly

PStudyDACE ()
destructor

void core run ()


core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post

void print results (std::ostream &s)


print the final iterator results

virtual void extract trends ()=0


Mapping of the core run() virtual function for the PStudy/DACE branch.

void volumetric quality (int ndim, int num samples, double sample points)
Calculation of volumetric quality measures.

Protected Attributes
SensAnalysisGlobal pStudyDACESensGlobal
initialize statistical post processing

bool volQualityFlag
flag which specifies evaluation of volumetric quality measures

bool varBasedDecompFlag
flag which specifies calculating variance based decomposition sensitivity analysis metrics

Private Attributes
double chiMeas
quality measure

double dMeas

13.126. PSTUDYDACE CLASS REFERENCE

745

quality measure

double hMeas
quality measure

double tauMeas
quality measure

Additional Inherited Members


13.126.1

Detailed Description

Base class for managing common aspects of parameter studies and design of experiments methods.
The PStudyDACE base class manages common data and functions, such as those involving the best solutions
located during the parameter set evaluations or the printing of final results.

13.126.2

Member Function Documentation

void core run (

) [inline], [protected], [virtual]

core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References Analyzer::bestVarsRespMap, and PStudyDACE::extract trends().
void print results ( std::ostream & s ) [protected], [virtual]
print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation
summary printed in finalize run().
Reimplemented from Analyzer.
References PStudyDACE::chiMeas, Analyzer::compactMode, Model::continuous variable labels(), SensAnalysisGlobal::correlations computed(), Model::discrete int variable labels(), Model::discrete real variable labels(), PStudyDACE::dMeas, PStudyDACE::hMeas, Iterator::iteratedModel, Analyzer::numLSqTerms, Analyzer::numObjFns, SensAnalysisGlobal::print correlations(), Analyzer::print results(), Analyzer::print sobol indices(), PStudyDACE::pStudyDACESensGlobal, Model::response labels(), PStudyDACE::tauMeas, PStudyDACE::varBasedDecompFlag, and PStudyDACE::volQualityFlag.
void volumetric quality ( int ndim, int num samples, double sample points ) [protected]
Calculation of volumetric quality measures.
Calculation of volumetric quality measures developed by FSU.
References PStudyDACE::chiMeas, PStudyDACE::dMeas, PStudyDACE::hMeas, and PStudyDACE::tauMeas.
Referenced by FSUDesignCompExp::get parameter sets(), and DDACEDesignCompExp::get parameter sets().
The documentation for this class was generated from the following files:
DakotaPStudyDACE.hpp
DakotaPStudyDACE.cpp

746

CHAPTER 13. CLASS DOCUMENTATION

13.127

PSUADEDesignCompExp Class Reference

Wrapper class for the PSUADE library.


Inheritance diagram for PSUADEDesignCompExp:
Iterator
Analyzer
PStudyDACE
PSUADEDesignCompExp

Public Member Functions


PSUADEDesignCompExp (ProblemDescDB &problem db, Model &model)
primary constructor for building a standard DACE iterator

PSUADEDesignCompExp ()
destructor

void pre run ()


pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori

void post input ()


read tabular data for post-run mode

void extract trends ()


Mapping of the core run() virtual function for the PStudy/DACE branch.

void post run (std::ostream &s)


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way

int num samples () const


void sampling reset (int min samples, bool all data flag, bool stats flag)
reset sampling iterator to use at least min samples

unsigned short sampling scheme () const


return sampling name

void vary pattern (bool pattern flag)


sets varyPattern in derived classes that support it

void get parameter sets (Model &model)


Returns one block of samples (ndim num samples)

Private Member Functions


void enforce input rules ()
enforce sanity checks/modifications for the user input specification

13.127. PSUADEDESIGNCOMPEXP CLASS REFERENCE

747

Private Attributes
int samplesSpec
initial specification of number of samples

int numSamples
current number of samples to be evaluated

const UShortArray & varPartitionsSpec


number of partitions in each variable direction

int numPartitions
number of partitions to pass to PSUADE (levels = partitions + 1)

bool allDataFlag
flag which triggers the update of allVars/allResponses for use by Iterator::all variables() and Iterator::all responses()

size t numDACERuns
counter for number of executions for this object

bool varyPattern
flag for generating a sequence of seed values within multiple get parameter sets() calls so that the sample sets are
not repeated, but are still repeatable

const int seedSpec


the user seed specification for the random number generator (allows repeatable results)

int randomSeed
current seed for the random number generator

Additional Inherited Members


13.127.1

Detailed Description

Wrapper class for the PSUADE library.


The PSUADEDesignCompExp class provides a wrapper for PSUADE, a C++ design of experiments library
from Lawrence Livermore National Laboratory. Currently this class only includes the PSUADE Morris One-ata-time (MOAT) method to uniformly sample the parameter space spanned by the active bounds of the current
Model. It returns all generated samples and their corresponding responses as well as the best sample found.

13.127.2

Constructor & Destructor Documentation

PSUADEDesignCompExp ( ProblemDescDB & problem db, Model & model )


primary constructor for building a standard DACE iterator
This constructor is called for a standard iterator built with data from probDescDB.
References Dakota::abort handler(), Iterator::maxEvalConcurrency, Iterator::methodName, and PSUADEDesignCompExp::numSamples.

13.127.3

Member Function Documentation

void pre run (

) [virtual]

pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori

748

CHAPTER 13. CLASS DOCUMENTATION

pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call
its nearest parents pre run(), if implemented, typically before performing its own implementation steps.
Reimplemented from Iterator.
References PSUADEDesignCompExp::get parameter sets(), and Iterator::iteratedModel.

void post run ( std::ostream & s ) [virtual]


post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Analyzer.
References Dakota::abort handler(), Analyzer::allResponses, Analyzer::allSamples, Model::continuous lowerbounds(), Model::continuous upper bounds(), Iterator::iteratedModel, Analyzer::numContinuousVars, Analyzer::numFunctions, PSUADEDesignCompExp::numSamples, and Analyzer::post run().

int num samples (

) const [inline], [virtual]

Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References PSUADEDesignCompExp::numSamples.

void enforce input rules (

) [private]

enforce sanity checks/modifications for the user input specification


Users may input a variety of quantities, but this function must enforce any restrictions imposed by the sampling
algorithms.
References Dakota::abort handler(), Iterator::methodName, Analyzer::numContinuousVars, PSUADEDesignCompExp::numPartitions, PSUADEDesignCompExp::numSamples, and PSUADEDesignCompExp::varPartitionsSpec.
Referenced by PSUADEDesignCompExp::get parameter sets().
The documentation for this class was generated from the following files:
PSUADEDesignCompExp.hpp
PSUADEDesignCompExp.cpp

13.128

PythonInterface Class Reference

Inheritance diagram for PythonInterface:

13.128. PYTHONINTERFACE CLASS REFERENCE

749

Interface
ApplicationInterface
DirectApplicInterface
PythonInterface

Public Member Functions


PythonInterface (const ProblemDescDB &problem db)
constructor

PythonInterface ()
destructor

Protected Member Functions


virtual int derived map ac (const String &ac name)
execute an analysis code portion of a direct evaluation invocation

int python run (const String &ac name)


direct interface to Python via API, BMA 07/02/07

template<class ArrayT , class Size >


bool python convert int (const ArrayT &src, Size size, PyObject dst)
convert arrays of integer types to Python list or numpy array

bool python convert (const RealVector &src, PyObject dst)


convert RealVector to Python list or numpy array

bool python convert (const RealVector &c src, const IntVector &di src, const RealVector &dr src, PyObject dst)
convert RealVector + IntVector + RealVector to Python mixed list or numpy double array

template<class StringArrayT >


bool python convert strlist (const StringArrayT &src, PyObject dst)
convert labels

bool python convert (const StringMultiArray &c src, const StringMultiArray &di src, const StringMultiArray &dr src, PyObject dst)
convert all labels to single list

bool python convert (PyObject pyv, RealVector &rv, const int &dim)
convert python [list of int or float] or [numpy array of double] to RealVector (for fns)

bool python convert (PyObject pyv, double rv, const int &dim)
convert python [list of int or float] or [numpy array of double] to double[], for use as helper in converting gradients

bool python convert (PyObject pym, RealMatrix &rm)


convert python [list of lists of int or float] or [numpy array of dbl] to RealMatrix (for gradients)

bool python convert (PyObject pym, RealSymMatrix &rm)

750

CHAPTER 13. CLASS DOCUMENTATION


convert python [list of lists of int or float] or [numpy array of dbl] to RealMatrix (used as helper in Hessian
conversion)

bool python convert (PyObject pyma, RealSymMatrixArray &rma)


convert python [list of lists of lists of int or float] or [numpy array of double] to RealSymMatrixArray (for Hessians)

Protected Attributes
bool userNumpyFlag
whether the user requested numpy data structures in the input file

13.128.1

Detailed Description

Specialization of DirectApplicInterface to link to Python analysis drivers. Includes convenience functions to map
data to/from Python

13.128.2

Member Function Documentation

int derived map ac ( const String & ac name ) [protected], [virtual]


execute an analysis code portion of a direct evaluation invocation
Python specialization of dervied analysis components.
Reimplemented from DirectApplicInterface.
References ApplicationInterface::analysisServerId, and PythonInterface::python run().
bool python convert int ( const ArrayT & src, Size sz, PyObject dst ) [protected]
convert arrays of integer types to Python list or numpy array
convert all integer array types including IntVector, ShortArray, and SizetArray to Python list of ints or numpy
array of ints
References PythonInterface::userNumpyFlag.
Referenced by PythonInterface::python run().
The documentation for this class was generated from the following files:
PythonInterface.hpp
PythonInterface.cpp

13.129

RecastBaseConstructor Struct Reference

Dummy struct for overloading constructors used in on-the-fly Model instantiations.

Public Member Functions


RecastBaseConstructor (int=0)
C++ structs can have constructors.

13.130. RECASTMODEL CLASS REFERENCE

13.129.1

751

Detailed Description

Dummy struct for overloading constructors used in on-the-fly Model instantiations.


RecastBaseConstructor is used to overload the constructor used for on-the-fly Model instantiations. Putting
this struct here avoids circular dependencies.
The documentation for this struct was generated from the following file:
dakota global defs.hpp

13.130

RecastModel Class Reference

Derived model class which provides a thin wrapper around a sub-model in order to recast the form of its inputs
and/or outputs.
Inheritance diagram for RecastModel:

Model
RecastModel

Public Member Functions


RecastModel (const Model &sub model, const Sizet2DArray &vars map indices, const SizetArray &varscomps total, bool nonlinear vars mapping, void(variables map)(const Variables &recast vars, Variables
&sub model vars), void(set map)(const Variables &recast vars, const ActiveSet &recast set, ActiveSet
&sub model set), const Sizet2DArray &primary resp map indices, const Sizet2DArray &secondary resp map indices, size t recast secondary offset, const BoolDequeArray &nonlinear resp mapping, void(primaryresp map)(const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response), void(secondary resp map)(const Variables &sub model vars, const
Variables &recast vars, const Response &sub model response, Response &recast response))
standard constructor

RecastModel (const Model &sub model, const SizetArray &vars comps totals, size t num recast primaryfns, size t num recast secondary fns, size t recast secondary offset)
alternate constructor

RecastModel ()
destructor

void initialize (const Sizet2DArray &vars map indices, bool nonlinear vars mapping, void(variables map)(const Variables &recast vars, Variables &sub model vars), void(set map)(const Variables &recastvars, const ActiveSet &recast set, ActiveSet &sub model set), const Sizet2DArray &primary resp map indices, const Sizet2DArray &secondary resp map indices, const BoolDequeArray &nonlinear resp mapping,
void(primary resp map)(const Variables &sub model vars, const Variables &recast vars, const Response
&sub model response, Response &recast response), void(secondary resp map)(const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response))
completes initialization of the RecastModel after alternate construction

752

CHAPTER 13. CLASS DOCUMENTATION


void inverse mappings (void(inv vars map)(const Variables &sub model vars, Variables &recast vars),
void(inv set map)(const Variables &sub model vars, const ActiveSet &sub model set, ActiveSet &recastset), void(inv pri resp map)(const Variables &recast vars, const Variables &sub model vars, const Response &recast resp, Response &sub model resp), void(inv sec resp map)(const Variables &recast vars,
const Variables &sub model vars, const Response &recast resp, Response &sub model resp))
provide optional inverse mappings

void transform variables (const Variables &recast vars, Variables &sub model vars)
perform transformation of Variables (recast > sub-model)

void transform set (const Variables &recast vars, const ActiveSet &recast set, ActiveSet &sub model set)
into sub model set for use with subModel.

void transform response (const Variables &recast vars, const Variables &sub model vars, const Response
&sub model resp, Response &recast resp)
perform transformation of Response (sub-model > recast)

void inverse transform variables (const Variables &sub model vars, Variables &recast vars)
perform inverse transformation of Variables (sub-model > recast)

void inverse transform set (const Variables &sub model vars, const ActiveSet &sub model set, ActiveSet
&recast set)
into sub model set for use with subModel.

void inverse transform response (const Variables &sub model vars, const Variables &recast vars, const
Response &recast resp, Response &sub model resp)
perform inverse transformation of Response (recast > sub-model)

void submodel supports derivative estimation (bool sed flag)


override the submodels derivative estimation behavior

Protected Member Functions


void derived compute response (const ActiveSet &set)
portion of compute response() specific to RecastModel (forward to subModel.compute response())

void derived asynch compute response (const ActiveSet &set)


portion of asynch compute response() specific to RecastModel (forward to subModel.asynch compute response())

const IntResponseMap & derived synchronize ()


portion of synchronize() specific to RecastModel (forward to subModel.synchronize())

const IntResponseMap & derived synchronize nowait ()


portion of synchronize nowait() specific to RecastModel (forward to subModel.synchronize nowait())

Iterator & subordinate iterator ()


return sub-iterator, if present, within subModel

Model & subordinate model ()


return subModel

Model & surrogate model ()


return surrogate model, if present, within subModel

Model & truth model ()


return truth model, if present, within subModel

void derived subordinate models (ModelList &ml, bool recurse flag)


add subModel to list and recurse into subModel

13.130. RECASTMODEL CLASS REFERENCE

753

void update from subordinate model (bool recurse flag=true)


pass request to subModel if recursing and then update from it

Interface & derived interface ()


return subModel interface

void primary response fn weights (const RealVector &wts, bool recurse flag=true)
set the relative weightings for multiple objective functions or least squares terms and optionally recurses into subModel

void surrogate function indices (const IntSet &surr fn indices)


update the subModels surrogate response function indices (DataFitSurrModel::surrogateFnIndices)

void surrogate response mode (short mode)


update the subModels surrogate response mode (SurrogateModel::responseMode)

void build approximation ()


builds the subModel approximation

bool build approximation (const Variables &vars, const IntResponsePair &response pr)
builds the subModel approximation

void update approximation (bool rebuild flag)


replaces data in the subModel approximation

void update approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuild flag)
replaces data in the subModel approximation

void update approximation (const VariablesArray &vars array, const IntResponseMap &resp map, bool
rebuild flag)
replaces data in the subModel approximation

void append approximation (bool rebuild flag)


appends data to the subModel approximation

void append approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuild flag)
appends data to the subModel approximation

void append approximation (const VariablesArray &vars array, const IntResponseMap &resp map, bool
rebuild flag)
appends data to the subModel approximation

void pop approximation (bool save surr data, bool rebuild flag=false)
remove the previous data set addition to a surrogate (e.g., due to a previous append approximation() call); flag
manages storing of surrogate data for use in a subsequent restore approximation()

void restore approximation ()


restore a previous approximation data state within a surrogate

bool restore available ()


query for whether a trial increment is restorable within a surrogate

void finalize approximation ()


finalize an approximation by applying all previous trial increments

void store approximation ()


move the current approximation into storage for later combination

void combine approximation (short corr type)


combine the current approximation with one previously stored

std::vector< Approximation > & approximations ()

754

CHAPTER 13. CLASS DOCUMENTATION


retrieve the set of Approximations from the subModel

const RealVectorArray & approximation coefficients ()


retrieve the approximation coefficients from the subModel

void approximation coefficients (const RealVectorArray &approx coeffs)


set the approximation coefficients within the subModel

const RealVector & approximation variances (const Variables &vars)


retrieve the approximation variances from the subModel

const Pecos::SurrogateData & approximation data (size t index)


retrieve the approximation data from the subModel

void component parallel mode (short mode)


RecastModel only supports parallelism in subModel, so this virtual function redefinition is simply a sanity check.

String local eval synchronization ()


return subModel local synchronization setting

int local eval concurrency ()


return subModel local evaluation concurrency

bool derived master overload () const


flag which prevents overloading the master with a multiprocessor evaluation (request forwarded to subModel)

void derived init communicators (int max eval concurrency, bool recurse flag=true)
set up RecastModel for parallel operations (request forwarded to subModel)

void derived init serial ()


set up RecastModel for serial operations (request forwarded to subModel).

void derived set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration within subModel

void derived free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for the RecastModel (request forwarded to subModel)

void serve (int max eval concurrency)


Service subModel job requests received from the master. Completes when a termination message is received from
stop servers().

void stop servers ()


executed by the master to terminate subModel server operations when RecastModel iteration is complete.

void inactive view (short view, bool recurse flag=true)


update the Models inactive view based on higher level (nested) context and optionally recurse into subModel

const String & interface id () const


return the subModel interface identifier

int evaluation id () const


return the current evaluation id for the RecastModel (request forwarded to subModel)

void set evaluation reference ()


set the evaluation counter reference points for the RecastModel (request forwarded to subModel)

void fine grained evaluation counters ()


request fine-grained evaluation reporting within subModel

void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true) const
print the evaluation summary for the RecastModel (request forwarded to subModel)

virtual void eval tag prefix (const String &eval id str)


set the hierarchical eval ID tag prefix

13.130. RECASTMODEL CLASS REFERENCE

755

Private Member Functions


void initialize data from submodel ()
code shared among constructors to initialize base class data from submodel

void update from sub model ()


update current variables/labels/bounds/targets from subModel

Private Attributes
Model subModel
the sub-model underlying the function pointers

Sizet2DArray varsMapIndices
For each subModel variable, identifies the indices of the recast variables used to define it (maps RecastModel
variables to subModel variables; data is packed with only the variable indices employed rather than a sparsely
filled N sm x N r matrix)

bool nonlinearVarsMapping
boolean set to true if the variables mapping involves a nonlinear transformation. Used in transform set() to manage
the requirement for gradients within the Hessian transformations. This does not require a BoolDeque for each
individual variable, since response gradients and Hessians are managed per function, not per variable.

bool respMapping
set to true if non-NULL primaryRespMapping or secondaryRespMapping are supplied

Sizet2DArray primaryRespMapIndices
For each recast primary function, identifies the indices of the subModel functions used to define it (maps subModel
response to RecastModel Response).

Sizet2DArray secondaryRespMapIndices
For each recast secondary function, identifies the indices of the subModel functions used to define it (maps subModel response to RecastModel response).

BoolDequeArray nonlinearRespMapping
array of BoolDeques, one for each recast response function. Each BoolDeque defines which subModel response
functions contribute to the recast function using a nonlinear mapping. Used in transform set() to augment the
subModel function value/gradient requirements.

IntActiveSetMap recastSetMap
map of recast active set passed to derived asynch compute response(). Needed for currentResponse update in
synchronization routines.

IntVariablesMap recastVarsMap
map of recast variables used by derived asynch compute response(). Needed for primaryRespMapping() and
secondaryRespMapping() in synchronization routines.

IntVariablesMap subModelVarsMap
map of subModel variables used by derived asynch compute response(). Needed for primaryRespMapping() and
secondaryRespMapping() in synchronization routines.

IntResponseMap recastResponseMap
map of recast responses used by RecastModel::derived synchronize() and RecastModel::derived synchronize nowait()

void( variablesMapping )(const Variables &recast vars, Variables &sub model vars)
holds pointer for variables mapping function passed in ctor/initialize

void( setMapping )(const Variables &recast vars, const ActiveSet &recast set, ActiveSet &sub model set)

756

CHAPTER 13. CLASS DOCUMENTATION


holds pointer for set mapping function passed in ctor/initialize

void( primaryRespMapping )(const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
holds pointer for primary response mapping function passed in ctor/initialize

void( secondaryRespMapping )(const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
holds pointer for secondary response mapping function passed in ctor/initialize

void( invVarsMapping )(const Variables &sub model vars, Variables &recast vars)
holds pointer for optional inverse variables mapping function passed in inverse mappings()

void( invSetMapping )(const Variables &sub model vars, const ActiveSet &sub model set, ActiveSet
&recast set)
holds pointer for optional inverse set mapping function passed in inverse mappings()

void( invPriRespMapping )(const Variables &recast vars, const Variables &sub model vars, const Response &recast resp, Response &sub model resp)
holds pointer for optional inverse primary response mapping function passed in inverse mappings()

void( invSecRespMapping )(const Variables &recast vars, const Variables &sub model vars, const Response &recast resp, Response &sub model resp)
holds pointer for optional inverse secondary response mapping function passed in inverse mappings()

Additional Inherited Members


13.130.1

Detailed Description

Derived model class which provides a thin wrapper around a sub-model in order to recast the form of its inputs
and/or outputs.
The RecastModel class uses function pointers to allow recasting of the subModel input/output into new problem forms. This is currently used to recast SBO approximate subproblems, but can be used for multiobjective,
input/output scaling, and other problem modifications in the future.

13.130.2

Constructor & Destructor Documentation

RecastModel ( const Model & sub model, const Sizet2DArray & vars map indices, const SizetArray
& vars comps totals, bool nonlinear vars mapping, void()(const Variables &recast vars, Variables
&sub model vars) variables map, void()(const Variables &recast vars, const ActiveSet &recast set,
ActiveSet &sub model set) set map, const Sizet2DArray & primary resp map indices, const
Sizet2DArray & secondary resp map indices, size t recast secondary offset, const BoolDequeArray &
nonlinear resp mapping, void()(const Variables &sub model vars, const Variables &recast vars, const
Response &sub model response, Response &recast response) primary resp map, void()(const Variables
&sub model vars, const Variables &recast vars, const Response &sub model response, Response
&recast response) secondary resp map )
standard constructor
Default recast model constructor. Requires full definition of the transformation. Parameter vars comps totals
indicates the number of each type of variable {4 types} x {3 domains} in the recast variable space. Note: recastsecondary offset is the start index for equality constraints, typically num nonlinear ineq constraints.
References Dakota::abort handler(), Constraints::copy(), Variables::copy(), Response::copy(), Model::currentresponse(), Model::current variables(), Model::currentResponse, Model::currentVariables, Variables::cv(), Response::function gradients(), Response::function hessians(), RecastModel::initialize data from submodel(), RecastModel::nonlinearRespMapping, Response::num functions(), Model::num functions(), Constraints::num linear eq constraints(),

13.130. RECASTMODEL CLASS REFERENCE

757

Constraints::num linear ineq constraints(), Constraints::num nonlinear eq constraints(), Constraints::num nonlinearineq constraints(), Model::numDerivVars, Model::numFns, RecastModel::primaryRespMapIndices, RecastModel::primaryRespMapping, Constraints::reshape(), Response::reshape(), RecastModel::respMapping, RecastModel::secondaryRespMapIndices, RecastModel::secondaryRespMapping, RecastModel::subModel, Model::user definedconstraints(), Model::userDefinedConstraints, Variables::variables components totals(), RecastModel::variablesMapping, and Variables::view().
RecastModel ( const Model & sub model, const SizetArray & vars comps totals, size t
num recast primary fns, size t num recast secondary fns, size t recast secondary offset )
alternate constructor
This alternate constructor defers initialization of the function pointers until a separate call to initialize(),
and accepts the minimum information needed to construct currentVariables, currentResponse, and userDefinedConstraints. The resulting model is sufficiently complete for passing to an Iterator. Parameter vars comps totals
indicates the number of each type of variable {4 types} x {3 domains} in the recast variable space. Note: recastsecondary offset is the start index for equality constraints, typically num nonlinear ineq constraints.
References Constraints::copy(), Variables::copy(), Response::copy(), Model::current response(), Model::currentvariables(), Model::currentResponse, Model::currentVariables, Variables::cv(), Response::function gradients(),
Response::function hessians(), RecastModel::initialize data from submodel(), Model::num functions(), Constraints::num linear eq constraints(), Constraints::num linear ineq constraints(), Constraints::num nonlinear eq constraints(),
Constraints::num nonlinear ineq constraints(), Model::numDerivVars, Model::numFns, Constraints::reshape(), Response::reshape(), RecastModel::subModel, Model::user defined constraints(), Model::userDefinedConstraints, Variables::variables components totals(), RecastModel::variablesMapping, and Variables::view().

13.130.3

Member Function Documentation

void initialize ( const Sizet2DArray & vars map indices, bool nonlinear vars mapping, void()(const
Variables &recast vars, Variables &sub model vars) variables map, void()(const Variables
&recast vars, const ActiveSet &recast set, ActiveSet &sub model set) set map, const Sizet2DArray &
primary resp map indices, const Sizet2DArray & secondary resp map indices, const BoolDequeArray &
nonlinear resp mapping, void()(const Variables &sub model vars, const Variables &recast vars, const
Response &sub model response, Response &recast response) primary resp map, void()(const Variables
&sub model vars, const Variables &recast vars, const Response &sub model response, Response
&recast response) secondary resp map )
completes initialization of the RecastModel after alternate construction
This function is used for late initialization of the recasting functions. It is used in concert with the alternate
constructor.
References Dakota::abort handler(), RecastModel::nonlinearRespMapping, RecastModel::nonlinearVarsMapping,
RecastModel::primaryRespMapIndices, RecastModel::primaryRespMapping, RecastModel::respMapping, RecastModel::secondaryRespMapIndices, RecastModel::secondaryRespMapping, RecastModel::setMapping, RecastModel::variablesMapping, and RecastModel::varsMapIndices.
Referenced by EffGlobalMinimizer::minimize surrogates on model(), NonDLocalReliability::mpp search(),
NonDGlobalReliability::optimize gaussian process(), NonDLocalInterval::quantify uncertainty(), NonDGlobalInterval::quantify uncertainty(), and Minimizer::scale model().
void derived compute response ( const ActiveSet & set ) [protected], [virtual]
portion of compute response() specific to RecastModel (forward to subModel.compute response())

758

CHAPTER 13. CLASS DOCUMENTATION

The RecastModel is evaluated by an Iterator for a recast problem formulation. Therefore, the currentVariables,
incoming active set, and output currentResponse all correspond to the recast inputs/outputs.
Reimplemented from Model.
References Response::active set(), Model::compute response(), Model::current response(), Model::currentvariables(), Model::currentResponse, Model::currentVariables, ParallelLibrary::parallel configuration iterator(),
Model::parallel configuration iterator(), Model::parallelLib, RecastModel::respMapping, RecastModel::subModel,
RecastModel::transform response(), RecastModel::transform set(), RecastModel::transform variables(), and Response::update().
void eval tag prefix ( const String & eval id str ) [inline], [protected], [virtual]
set the hierarchical eval ID tag prefix
RecastModel just forwards any tags to its subModel
Reimplemented from Model.
References Model::eval tag prefix(), and RecastModel::subModel.
void update from sub model (

) [private]

update current variables/labels/bounds/targets from subModel


Update inactive values and labels in currentVariables and inactive bound constraints in userDefinedConstraints
from variables and constraints data within subModel.
References Model::aleatDistParams, Model::aleatory distribution parameters(), Constraints::continuous lowerbounds(), Model::continuous lower bounds(), Constraints::continuous upper bounds(), Model::continuous upperbounds(), Variables::continuous variable labels(), Model::continuous variable labels(), Variables::continuous variables(), Model::continuous variables(), Model::currentResponse, Model::currentVariables, Model::discrete design set int values(), Model::discrete design set real values(), Constraints::discrete int lower bounds(), Model::discrete int lower bounds(), Constraints::discrete int upper bounds(), Model::discrete int upper bounds(), Variables::discrete int variable labels(), Model::discrete int variable labels(), Variables::discrete int variables(), Model::discrete int variables(), Constraints::discrete real lower bounds(), Model::discrete real lower bounds(), Constraints::discrete real upper bounds(), Model::discrete real upper bounds(), Variables::discrete real variable labels(), Model::discrete real variable labels(), Variables::discrete real variables(), Model::discrete real variables(), Model::discretestate set int values(), Model::discrete state set real values(), Model::discreteDesignSetIntValues, Model::discreteDesignSetRealValues, Model::discreteStateSetIntValues, Model::discreteStateSetRealValues, Model::epistDistParams, Model::epistemic distribution parameters(), Response::function label(), Constraints::inactive continuouslower bounds(), Model::inactive continuous lower bounds(), Constraints::inactive continuous upper bounds(),
Model::inactive continuous upper bounds(), Variables::inactive continuous variable labels(), Model::inactive continuousvariable labels(), Variables::inactive continuous variables(), Model::inactive continuous variables(), Constraints::inactive discrete int lower bounds(), Model::inactive discrete int lower bounds(), Constraints::inactive discreteint upper bounds(), Model::inactive discrete int upper bounds(), Variables::inactive discrete int variable labels(),
Model::inactive discrete int variable labels(), Variables::inactive discrete int variables(), Model::inactive discreteint variables(), Constraints::inactive discrete real lower bounds(), Model::inactive discrete real lower bounds(),
Constraints::inactive discrete real upper bounds(), Model::inactive discrete real upper bounds(), Variables::inactivediscrete real variable labels(), Model::inactive discrete real variable labels(), Variables::inactive discrete realvariables(), Model::inactive discrete real variables(), Constraints::linear eq constraint coeffs(), Model::linear eq constraint coeffs(), Constraints::linear eq constraint targets(), Model::linear eq constraint targets(), Constraints::linear ineq constraint coeffs(), Model::linear ineq constraint coeffs(), Constraints::linear ineq constraint lowerbounds(), Model::linear ineq constraint lower bounds(), Constraints::linear ineq constraint upper bounds(), Model::linear ineq constraint upper bounds(), Constraints::nonlinear eq constraint targets(), Model::nonlinear eq constrainttargets(), Constraints::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraint lower bounds(),

13.131. RELAXEDVARCONSTRAINTS CLASS REFERENCE

759

Constraints::nonlinear ineq constraint upper bounds(), Model::nonlinear ineq constraint upper bounds(), Model::num functions(), Model::num linear eq constraints(), Model::num linear ineq constraints(), Constraints::numnonlinear eq constraints(), Model::num nonlinear eq constraints(), Constraints::num nonlinear ineq constraints(),
Model::num nonlinear ineq constraints(), Model::numFns, Model::primary response fn sense(), Model::primaryresponse fn weights(), Model::primaryRespFnSense, Model::primaryRespFnWts, RecastModel::primaryRespMapping, Model::response labels(), RecastModel::secondaryRespMapping, RecastModel::subModel, Model::userDefinedConstraints, and RecastModel::variablesMapping.
Referenced by RecastModel::update from subordinate model().
The documentation for this class was generated from the following files:
RecastModel.hpp
RecastModel.cpp

13.131

RelaxedVarConstraints Class Reference

Derived class within the Constraints hierarchy which employs relaxation of discrete variables.
Inheritance diagram for RelaxedVarConstraints:

Constraints
RelaxedVarConstraints

Public Member Functions


RelaxedVarConstraints (const SharedVariablesData &svd)
lightweight constructor

RelaxedVarConstraints (const ProblemDescDB &problem db, const SharedVariablesData &svd)


standard constructor

RelaxedVarConstraints ()
destructor

void write (std::ostream &s) const


write a variable constraints object to an std::ostream

void read (std::istream &s)


read a variable constraints object from an std::istream

Protected Member Functions


void reshape (const SizetArray &vc totals)
reshape the lower/upper bound arrays within the Constraints hierarchy

void build active views ()


construct active views of all variables bounds arrays

void build inactive views ()


construct inactive views of all variables bounds arrays

760

CHAPTER 13. CLASS DOCUMENTATION

Additional Inherited Members


13.131.1

Detailed Description

Derived class within the Constraints hierarchy which employs relaxation of discrete variables.
Derived variable constraints classes take different views of the design, uncertain, and state variable types and
the continuous and discrete domain types. The RelaxedVarConstraints derived class combines continuous and
discrete domain types through integer relaxation. The branch and bound method uses this approach (see Variables::get variables(problem db) for variables type selection; variables type is passed to the Constraints constructor in
Model).

13.131.2

Constructor & Destructor Documentation

RelaxedVarConstraints ( const ProblemDescDB & problem db, const SharedVariablesData & svd )
standard constructor
In this class, a relaxed data approach is used in which continuous and discrete arrays are combined into a
single continuous array (integrality is relaxed; the converse of truncating reals is not currently supported but could
be in the future if needed). Iterators which use this class include: BranchBndOptimizer.
References Constraints::allContinuousLowerBnds, Constraints::allContinuousUpperBnds, Constraints::buildviews(), SharedVariablesData::components totals(), Dakota::copy data partial(), ProblemDescDB::get iv(), ProblemDescDB::get rv(), Constraints::manage linear constraints(), Dakota::merge data partial(), Constraints::sharedVarsData, SharedVariablesData::vc lookup(), and SharedVariablesData::view().

13.131.3

Member Function Documentation

void reshape ( const SizetArray & vc totals ) [protected], [virtual]


reshape the lower/upper bound arrays within the Constraints hierarchy
Resizes the derived bounds arrays.
Reimplemented from Constraints.
References Constraints::allContinuousLowerBnds, Constraints::allContinuousUpperBnds, Constraints::buildviews(), and Constraints::reshape().
Referenced by RelaxedVarConstraints::RelaxedVarConstraints().
The documentation for this class was generated from the following files:
RelaxedVarConstraints.hpp
RelaxedVarConstraints.cpp

13.132

RelaxedVariables Class Reference

Derived class within the Variables hierarchy which employs the relaxation of discrete variables.
Inheritance diagram for RelaxedVariables:

Variables
RelaxedVariables

13.132. RELAXEDVARIABLES CLASS REFERENCE

761

Public Member Functions


RelaxedVariables (const ProblemDescDB &problem db, const std::pair< short, short > &view)
standard constructor

RelaxedVariables (const SharedVariablesData &svd)


lightweight constructor

RelaxedVariables ()
destructor

Protected Member Functions


void read (std::istream &s)
read a variables object from an std::istream

void write (std::ostream &s) const


write a variables object to an std::ostream

void write aprepro (std::ostream &s) const


write a variables object to an std::ostream in aprepro format

void read tabular (std::istream &s)


void write tabular (std::ostream &s) const
write a variables object in tabular format to an std::ostream

void reshape (const SizetArray &vc totals)


reshapes an existing Variables object based on the incoming variablesComponents

void build active views ()


construct active views of all variables arrays

void build inactive views ()


construct inactive views of all variables arrays

Additional Inherited Members


13.132.1

Detailed Description

Derived class within the Variables hierarchy which employs the relaxation of discrete variables.
Derived variables classes take different views of the design, uncertain, and state variable types and the continuous and discrete domain types. The RelaxedVariables derived class combines continuous and discrete domain
types but separates design, uncertain, and state variable types. The branch and bound method uses this approach
(see Variables::get variables(problem db)).

13.132.2

Constructor & Destructor Documentation

RelaxedVariables ( const ProblemDescDB & problem db, const std::pair< short, short > & view )
standard constructor
In this class, a relaxed data approach is used in which continuous and discrete arrays are combined into a single
continuous array (integrality is relaxed; the converse of truncating reals is not currently supported but could be in
the future if needed). Iterators/strategies which use this class include: BranchBndOptimizer. Extract fundamental
variable types and labels and merge continuous and discrete domains to create aggregate arrays and views.
References Variables::allContinuousVars, Variables::build views(), SharedVariablesData::components totals(),
Dakota::copy data partial(), ProblemDescDB::get iv(), ProblemDescDB::get rv(), Dakota::merge data partial(),
Variables::sharedVarsData, SharedVariablesData::vc lookup(), and SharedVariablesData::view().

762

CHAPTER 13. CLASS DOCUMENTATION

13.132.3

Member Function Documentation

void read tabular ( std::istream & s ) [protected], [virtual]


Presumes variables object is appropriately sized to receive data
Reimplemented from Variables.
References Variables::allContinuousVars, SharedVariablesData::components totals(), and Variables::sharedVarsData.
The documentation for this class was generated from the following files:
RelaxedVariables.hpp
RelaxedVariables.cpp

13.133

Response Class Reference

Container class for response functions and their derivatives. Response provides the handle class.

Public Member Functions


Response ()
default constructor

Response (const Variables &vars, const ProblemDescDB &problem db)


standard constructor built from problem description database

Response (const ActiveSet &set)


alternate constructor using limited data

Response (const Response &response)


copy constructor

Response ()
destructor

Response operator= (const Response &response)


assignment operator

size t num functions () const


return the number of response functions

const ActiveSet & active set () const


return the active set

void active set (const ActiveSet &set)


set the active set

const ShortArray & active set request vector () const


return the active set request vector

void active set request vector (const ShortArray &asrv)


set the active set request vector

const SizetArray & active set derivative vector () const


return the active set derivative vector

void active set derivative vector (const SizetArray &asdv)


set the active set derivative vector

const String & responses id () const

13.133. RESPONSE CLASS REFERENCE


return the response identifier

const String & function label (size t i) const


return a response function identifier string

const StringArray & function labels () const


return the response function identifier strings

void function label (const String &label, size t i)


set a response function identifier string

void function labels (const StringArray &labels)


set the response function identifier strings

const Real & function value (size t i) const


return a function value

Real & function value view (size t i)


return a view of a function value for updating in place

const RealVector & function values () const


return all function values

RealVector function values view ()


return all function values as a view for updating in place

void function value (const Real &function val, size t i)


set a function value

void function values (const RealVector &function vals)


set all function values

const Real function gradient (const int &i) const


return the i-th function gradient as a const Real

RealVector function gradient view (const int &i) const


return the i-th function gradient as a SerialDenseVector Teuchos::View (shallow copy) for updating in place

RealVector function gradient copy (const int &i) const


return the i-th function gradient as a SerialDenseVector Teuchos::Copy (deep copy)

const RealMatrix & function gradients () const


return all function gradients

RealMatrix function gradients view ()


return all function gradients as a view for updating in place

void function gradient (const RealVector &function grad, const int &i)
set a function gradient

void function gradients (const RealMatrix &function grads)


set all function gradients

const RealSymMatrix & function hessian (size t i) const


return the i-th function Hessian

RealSymMatrix function hessian view (size t i) const


return the i-th function Hessian as a Teuchos::View (shallow copy) for updating in place

const RealSymMatrixArray & function hessians () const


return all function Hessians

RealSymMatrixArray function hessians view ()


return all function Hessians as Teuchos::Views (shallow copies) for updating in place

763

764

CHAPTER 13. CLASS DOCUMENTATION


void function hessian (const RealSymMatrix &function hessian, size t i)
set a function Hessian

void function hessians (const RealSymMatrixArray &function hessians)


set all function Hessians

void read (std::istream &s)


read a response object from an std::istream

void write (std::ostream &s) const


write a response object to an std::ostream

void read annotated (std::istream &s)


read a response object in annotated format from an std::istream

void write annotated (std::ostream &s) const


write a response object in annotated format to an std::ostream

void read tabular (std::istream &s)


read responseRep::functionValues in tabular format from an std::istream

void write tabular (std::ostream &s) const


write responseRep::functionValues in tabular format to an std::ostream

void read (MPIUnpackBuffer &s)


read a response object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a response object to a packed MPI buffer

Response copy () const


a deep copy for use in history mechanisms

int data size ()


handle class forward to corresponding body class member function

void read data (double response data)


handle class forward to corresponding body class member function

void write data (double response data)


handle class forward to corresponding body class member function

void overlay (const Response &response)


handle class forward to corresponding body class member function

void update (const Response &response)


Used in place of operator= when only results data updates are desired (functionValues/functionGradients/functionHessians are updated, ASV/labels/ids/etc. are not). Care is taken to allow different derivative array sizing between
the two response objects.

void update (const RealVector &source fn vals, const RealMatrix &source fn grads, const RealSymMatrixArray &source fn hessians, const ActiveSet &source set)
Overloaded form which allows update from components of a response object. Care is taken to allow different
derivative array sizing.

void update partial (size t start index target, size t num items, const Response &response, size t start index source)
partial update of this response object from another response object. The response objects may have different
numbers of response functions.

void update partial (size t start index target, size t num items, const RealVector &source fn vals, const
RealMatrix &source fn grads, const RealSymMatrixArray &source fn hessians, const ActiveSet &sourceset, size t start index source)

13.133. RESPONSE CLASS REFERENCE

765

Overloaded form which allows partial update from components of a response object. The response objects may
have different numbers of response functions.

void reshape (size t num fns, size t num params, bool grad flag, bool hess flag)
rehapes response data arrays

void reset ()
handle class forward to corresponding body class member function

void reset inactive ()


handle class forward to corresponding body class member function

bool is null () const


function to check responseRep (does this handle contain a body)

template<class Archive >


void load (Archive &ar, const unsigned int version)
template<class Archive >
void save (Archive &ar, const unsigned int version) const

Private Member Functions


template<class Archive >
void load (Archive &ar, const unsigned int version)
read a Response from an archive

template<class Archive >


void save (Archive &ar, const unsigned int version) const
write a Response to an archive

BOOST SERIALIZATION SPLIT MEMBER () ResponseRep responseRep


pointer to the body (handle-body idiom)

Friends
class boost::serialization::access
bool operator== (const Response &resp1, const Response &resp2)
equality operator

bool operator!= (const Response &resp1, const Response &resp2)


inequality operator

13.133.1

Detailed Description

Container class for response functions and their derivatives. Response provides the handle class.
The Response class is a container class for an abstract set of functions (functionValues) and their first (functionGradients) and second (functionHessians) derivatives. The functions may involve objective and constraint functions (optimization data set), least squares terms (parameter estimation data set), or generic response functions
(uncertainty quantification data set). It is not currently part of a class hierarchy, since the abstraction has been
sufficiently general and has not required specialization. For memory efficiency, it employs the handle-body idiom approach to reference counting and representation sharing (see Coplien Advanced C++, p. 58), for which
Response serves as the handle and ResponseRep serves as the body.

766

CHAPTER 13. CLASS DOCUMENTATION

13.133.2

Member Function Documentation

void load ( Archive & ar, const unsigned int version )


Implementation of serialization load for the Response handle
void save ( Archive & ar, const unsigned int version ) const
Implementation of serialization save for the Response handle
The documentation for this class was generated from the following files:
DakotaResponse.hpp
DakotaResponse.cpp

13.134

ResponseRep Class Reference

Container class for response functions and their derivatives. ResponseRep provides the body class.

Public Member Functions


template<class Archive , typename OrdinalType , typename ScalarType >
void write sdm col (Archive &ar, int col, const Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >
&sdm) const
convenience fnction to write a serial dense matrix column to an Archive

template<class Archive , typename OrdinalType , typename ScalarType >


void read sdm col (Archive &ar, int col, Teuchos::SerialDenseMatrix< OrdinalType, ScalarType > &sdm)
convenience fnction to read a serial dense matrix column from an Archive

template<class Archive >


void load (Archive &ar, const unsigned int version)
template<class Archive >
void save (Archive &ar, const unsigned int version) const

Private Member Functions


ResponseRep ()
default constructor

ResponseRep (const Variables &vars, const ProblemDescDB &problem db)


standard constructor built from problem description database

ResponseRep (const ActiveSet &set)


alternate constructor using limited data

ResponseRep ()
destructor

void read (std::istream &s)


read a responseRep object from an std::istream

void write (std::ostream &s) const


write a responseRep object to an std::ostream

void read annotated (std::istream &s)


read a responseRep object from an std::istream (annotated format)

13.134. RESPONSEREP CLASS REFERENCE

767

void write annotated (std::ostream &s) const


write a responseRep object to an std::ostream (annotated format)

void read tabular (std::istream &s)


read functionValues from an std::istream (tabular format)

void write tabular (std::ostream &s) const


write functionValues to an std::ostream (tabular format)

void read (MPIUnpackBuffer &s)


read a responseRep object from a packed MPI buffer

void write (MPIPackBuffer &s) const


write a responseRep object to a packed MPI buffer

template<class Archive , typename OrdinalType , typename ScalarType >


void write sdm col (Archive &ar, int col, const Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >
&sdm) const
write a column of a SerialDenseMatrix

template<class Archive , typename OrdinalType , typename ScalarType >


void read sdm col (Archive &ar, int col, Teuchos::SerialDenseMatrix< OrdinalType, ScalarType > &sdm)
read a column of a SerialDenseMatrix

template<class Archive >


void load (Archive &ar, const unsigned int version)
read a ResponseRep from an archive

template<class Archive >


void save (Archive &ar, const unsigned int version) const
write a ResponseRep to an archive

BOOST SERIALIZATION SPLIT MEMBER () int data size()


return the number of doubles active in response. Used for sizing double response data arrays passed into read data and write data.

void read data (double response data)


read from an incoming double array

void write data (double response data)


write to an incoming double array

void overlay (const Response &response)


add incoming response to functionValues/Gradients/Hessians

void update (const RealVector &source fn vals, const RealMatrix &source fn grads, const RealSymMatrixArray &source fn hessians, const ActiveSet &source set)
update this response object from components of another response object

void update partial (size t start index target, size t num items, const RealVector &source fn vals, const
RealMatrix &source fn grads, const RealSymMatrixArray &source fn hessians, const ActiveSet &sourceset, size t start index source)
partially update this response object partial components of another response object

void reshape (size t num fns, size t num params, bool grad flag, bool hess flag)
rehapes response data arrays

void reset ()
resets all response data to zero

void reset inactive ()

768

CHAPTER 13. CLASS DOCUMENTATION


resets all inactive response data to zero

void active set request vector (const ShortArray &asrv)


set the active set request vector and verify consistent number of response functions

void active set derivative vector (const SizetArray &asdv)


set the active set derivative vector and reshape functionGradients/functionHessians if needed

Private Attributes
int referenceCount
number of handle objects sharing responseRep

RealVector functionValues
abstract set of response functions

RealMatrix functionGradients
first derivatives of the response functions

RealSymMatrixArray functionHessians
second derivatives of the response functions

ActiveSet responseActiveSet
copy of the ActiveSet used by the Model to generate a Response instance

StringArray functionLabels
response function identifiers used to improve output readability

String responsesId
response identifier string from the input file

Friends
class boost::serialization::access
for serializing private data members

class Response
the handle class can access attributes of the body class directly

bool operator== (const ResponseRep &rep1, const ResponseRep &rep2)


equality operator

13.134.1

Detailed Description

Container class for response functions and their derivatives. ResponseRep provides the body class.
The ResponseRep class is the representation of the response container class. It is the body portion of
the handle-body idiom (see Coplien Advanced C++, p. 58). The handle class (Response) provides for
memory efficiency in management of multiple response objects through reference counting and representation
sharing. The body class (ResponseRep) actually contains the response data (functionValues, functionGradients,
functionHessians, etc.). The representation is hidden in that an instance of ResponseRep may only be created
by Response. Therefore, programmers create instances of the Response handle class, and only need to be aware
of the handle/body mechanisms when it comes to managing shallow copies (shared representation) versus deep
copies (separate representation used for history mechanisms).

13.134. RESPONSEREP CLASS REFERENCE

13.134.2

769

Constructor & Destructor Documentation

ResponseRep ( const Variables & vars, const ProblemDescDB & problem db ) [private]
standard constructor built from problem description database
The standard constructor used by Dakota::ModelRep.
References Variables::continuous variable ids(), Variables::cv(), ActiveSet::derivative vector(), ResponseRep::functionGradients, ResponseRep::functionHessians, ResponseRep::functionValues, ProblemDescDB::get sizet(),
ProblemDescDB::get string(), ActiveSet::request vector(), and ResponseRep::responseActiveSet.
ResponseRep ( const ActiveSet & set ) [private]
alternate constructor using limited data
Used for building a response object of the correct size on the fly (e.g., by slave analysis servers performing
execute() on a local response). functionLabels is not needed for this purpose since its not passed in the MPI
send/recv buffers. However, NPSOLOptimizers user-defined functions option uses this constructor to build bestResponseArray.front() and bestResponseArray.front() needs functionLabels for I/O, so construction of functionLabels has been added.
References Dakota::build labels(), ActiveSet::derivative vector(), ResponseRep::functionGradients, ResponseRep::functionHessians, ResponseRep::functionLabels, and ActiveSet::request vector().

13.134.3

Member Function Documentation

void read ( std::istream & s ) [private]


read a responseRep object from an std::istream
ASCII version of read needs capabilities for capturing data omissions or formatting errors (resulting from user
error or asynch race condition) and analysis failures (resulting from nonconvergence, instability, etc.).
References ResponseRep::functionGradients, ResponseRep::functionHessians, ResponseRep::functionValues,
Dakota::re match(), ActiveSet::request vector(), ResponseRep::reset(), and ResponseRep::responseActiveSet.
void read annotated ( std::istream & s ) [private]
read a responseRep object from an std::istream (annotated format)
read annotated() is used for neutral file translation of restart files. Since objects are built solely from this data,
annotations are used. This version closely mirrors the BiStream version.
References ResponseRep::functionGradients, ResponseRep::functionHessians, ResponseRep::functionLabels,
ResponseRep::functionValues, ActiveSet::request vector(), ResponseRep::reset(), ActiveSet::reshape(), ResponseRep::reshape(), and ResponseRep::responseActiveSet.
void write annotated ( std::ostream & s ) const [private]
write a responseRep object to an std::ostream (annotated format)
write annotated() is used for neutral file translation of restart files. Since objects need to be build solely from
this data, annotations are used. This version closely mirrors the BoStream version, with the exception of the use
of white space between fields.
References ActiveSet::derivative vector(), ResponseRep::functionGradients, ResponseRep::functionHessians,
ResponseRep::functionValues, ActiveSet::request vector(), ResponseRep::responseActiveSet, and ActiveSet::writeannotated().

770

CHAPTER 13. CLASS DOCUMENTATION

void read tabular ( std::istream & s ) [private]


read functionValues from an std::istream (tabular format)
read tabular is used to read functionValues in tabular format. It is currently only used by ApproximationInterfaces in reading samples from a file. There is insufficient data in a tabular file to build complete response
objects; rather, the response object must be constructed a priori and then its functionValues can be set.
References ResponseRep::functionValues.
void write tabular ( std::ostream & s ) const [private]
write functionValues to an std::ostream (tabular format)
write tabular is used for output of functionValues in a tabular format for convenience in post-processing/plotting
of DAKOTA results.
References ResponseRep::functionValues, ActiveSet::request vector(), ResponseRep::responseActiveSet, and
Dakota::write precision.
void read ( MPIUnpackBuffer & s ) [private]
read a responseRep object from a packed MPI buffer
UnpackBuffer version differs from BiStream version in the omission of functionLabels. Master processor
retains labels and interface ids and communicates asv and response data only with slaves.
References ResponseRep::functionGradients, ResponseRep::functionHessians, ResponseRep::functionValues,
ResponseRep::reset(), ResponseRep::reshape(), and ResponseRep::responseActiveSet.
void update ( const RealVector & source fn vals, const RealMatrix & source fn grads, const
RealSymMatrixArray & source fn hessians, const ActiveSet & source set ) [private]
update this response object from components of another response object
Copy function values/gradients/Hessians data only. Prevents unwanted overwriting of responseActiveSet,
functionLabels, etc. Also, care is taken to account for differences in derivative variable matrix sizing.
References Dakota::abort handler(), ActiveSet::derivative vector(), ResponseRep::functionGradients, ResponseRep::functionHessians, ActiveSet::request vector(), and ResponseRep::reset inactive().
void update partial ( size t start index target, size t num items, const RealVector & source fn vals, const
RealMatrix & source fn grads, const RealSymMatrixArray & source fn hessians, const ActiveSet &
source set, size t start index source ) [private]
partially update this response object partial components of another response object
Copy function values/gradients/Hessians data only. Prevents unwanted overwriting of responseActiveSet,
functionLabels, etc. Also, care is taken to account for differences in derivative variable matrix sizing.
References Dakota::abort handler(), ActiveSet::derivative vector(), ResponseRep::functionGradients, ResponseRep::functionHessians, ActiveSet::request vector(), and ResponseRep::reset inactive().
void reshape ( size t num fns, size t num params, bool grad flag, bool hess flag ) [private]
rehapes response data arrays
Reshape functionValues, functionGradients, and functionHessians according to num fns, num params, grad flag, and hess flag.
References Dakota::build labels(), ResponseRep::functionGradients, and ResponseRep::functionHessians.
Referenced by ResponseRep::active set derivative vector(), ResponseRep::load(), ResponseRep::read(), and
ResponseRep::read annotated().

13.134. RESPONSEREP CLASS REFERENCE


void reset (

771

) [private]

resets all response data to zero


Reset all numerical response data (not labels, ids, or active set) to zero.
References ResponseRep::functionGradients, and ResponseRep::functionHessians.
Referenced by ResponseRep::load(), ResponseRep::read(), and ResponseRep::read annotated().
void reset inactive (

) [private]

resets all inactive response data to zero


Used to clear out any inactive data left over from previous evaluations.
References ResponseRep::functionGradients, and ResponseRep::functionHessians.
Referenced by ResponseRep::update(), and ResponseRep::update partial().
void load ( Archive & ar, const unsigned int version )
Binary version differs from ASCII version in 2 primary ways: (1) it lacks formatting. (2) the Response has not
been sized a priori. In reading data from the binary restart file, a ParamResponsePair was constructed with its
default constructor which called the Response default constructor. Therefore, we must first read sizing data and
resize all of the arrays.
References ResponseRep::functionGradients, ResponseRep::functionHessians, ResponseRep::functionLabels,
ResponseRep::read sdm col(), ResponseRep::reset(), ResponseRep::reshape(), and ResponseRep::responseActiveSet.
void save ( Archive & ar, const unsigned int version ) const
Binary version differs from ASCII version in 2 primary ways: (1) It lacks formatting. (2) In reading data from the
binary restart file, ParamResponsePairs are constructed with their default constructor which calls the Response
default constructor. Therefore, we must first write sizing data so that ResponseRep::read(BoStream& s) can resize
the arrays.
References ResponseRep::functionGradients, ResponseRep::functionHessians, ResponseRep::functionLabels,
ResponseRep::responseActiveSet, and ResponseRep::write sdm col().

13.134.4

Member Data Documentation

RealMatrix functionGradients [private]


first derivatives of the response functions
the gradient vectors (plural) are column vectors in the matrix (singular) with (row, col) = (variable index,
response fn index).
Referenced by ResponseRep::active set derivative vector(), ResponseRep::load(), ResponseRep::overlay(),
ResponseRep::read(), ResponseRep::read annotated(), ResponseRep::read data(), ResponseRep::reset(), ResponseRep::reset inactive(), ResponseRep::reshape(), ResponseRep::ResponseRep(), ResponseRep::save(), ResponseRep::update(), ResponseRep::update partial(), ResponseRep::write annotated(), and ResponseRep::write data().
The documentation for this class was generated from the following files:
DakotaResponse.hpp
DakotaResponse.cpp

772

CHAPTER 13. CLASS DOCUMENTATION

13.135

ResultsDBAny Class Reference

Public Member Functions


template<typename StoredType >
void array allocate (const StrStrSizet &iterator id, const std::string &data name, size t array size, const
MetaDataType &metadata)
allocate an entry with sized array of the StoredType, e.g., array across response functions or optimization results
sets

template<typename StoredType >


void array insert (const StrStrSizet &iterator id, const std::string &data name, size t index, const StoredType &sent data)
insert sent data in specified position in previously allocated array

template<typename StoredType >


StoredType get data (const StrStrSizet &iterator id, const std::string &data name) const
return requested data by value in StoredType

template<typename StoredType >


StoredType get array data (const StrStrSizet &iterator id, const std::string &data name, size t index) const
return requested data from array by value in StoredType

template<typename StoredType >


const StoredType get data ptr (const StrStrSizet &iterator id, const std::string &result key) const
return pointer to stored data entry

template<typename StoredType >


const StoredType get array data ptr (const StrStrSizet &iterator id, const std::string &data name, size t
index) const
return pointer to stored data at given array location

void insert (const StrStrSizet &iterator id, const std::string &data name, const boost::any &result, const
MetaDataType &metadata)
record addition with metadata map

void dump data (std::ostream &output stream)


coarsely dump the data to the passed output stream

void print data (std::ostream &output stream)


pretty print the data to the passed output stream

Private Member Functions


const ResultsValueType & lookup data (const StrStrSizet &iterator id, const std::string &data name) const
attempt to find the requested data, erroring if not found

template<typename StoredType >


StoredType cast data (const boost::any &dataholder) const
cast the reference to the any data to the requested type

template<typename StoredType >


const StoredType cast data ptr (const boost::any dataholder) const
cast the pointer to the any data to the requested type

13.135. RESULTSDBANY CLASS REFERENCE

773

void print metadata (std::ostream &os, const MetaDataType &md)


print metadata to ostream

void extract data (const boost::any &dataholder, std::ostream &os)


determine the type of contained data and output it to ostream

void output data (const std::vector< double > &data, std::ostream &os)
output data to ostream

void output data (const std::vector< RealVector > &data, std::ostream &os)
output data to ostream

void output data (const std::vector< std::string > &data, std::ostream &os)
output data to ostream

void output data (const std::vector< std::vector< std::string > > &data, std::ostream &os)
output data to ostream

void output data (const std::vector< RealMatrix > &data, std::ostream &os)
output data to ostream

void output data (const RealMatrix &data, std::ostream &os)


output data to ostream

Private Attributes
std::map< ResultsKeyType,
ResultsValueType > iteratorData
core data storage (map from key to value type)

13.135.1

Detailed Description

Class: ResultsDBAny Description: A map-based container to store DAKOTA Iterator results in underlying boost::anys, with optional metadata

13.135.2

Member Function Documentation

void array insert ( const StrStrSizet & iterator id, const std::string & data name, size t index, const
StoredType & sent data )
insert sent data in specified position in previously allocated array
insert requires previous allocation, and does not allow metadata update
References Dakota::abort handler(), ResultsDBAny::iteratorData, and Dakota::make key().
void insert ( const StrStrSizet & iterator id, const std::string & data name, const boost::any & result,
const MetaDataType & metadata )
record addition with metadata map
Add or update existing entry
References ResultsDBAny::iteratorData, and Dakota::make key().
Referenced by ResultsDBAny::array allocate().

774

CHAPTER 13. CLASS DOCUMENTATION

void extract data ( const boost::any & dataholder, std::ostream & os ) [private]
determine the type of contained data and output it to ostream
Extract the data from the held any and map to supported concrete types int double RealVector (Teuchos::SerialDenseVector<int,double) RealMatrix (Teuchos::SerialDenseMatrix<int,double)
References ResultsDBAny::output data().
Referenced by ResultsDBAny::dump data(), and ResultsDBAny::print data().
The documentation for this class was generated from the following files:
ResultsDBAny.hpp
ResultsDBAny.cpp

13.136

ResultsEntry< StoredType > Class Template Reference

Class to manage in-core vs. file database lookups.

Public Member Functions


ResultsEntry (const ResultsManager &results mgr, const StrStrSizet &iterator id, const std::string &data name)
Construct ResultsEntry containing retrieved item of StoredType.

ResultsEntry (const ResultsManager &results mgr, const StrStrSizet &iterator id, const std::string &data name, size t array index)
Construct ResultsEntry to retrieve item array index from array of StoredType.

Private Member Functions


ResultsEntry ()
return a reference to the stored data, whether from core or file

Private Attributes
bool coreActive
whether the ResultsManager has an active in-core database

StoredType dbData
data retrieved from file data base

const StoredType dbDataPtr


non-const pointer to const data we dont own in the core case

13.136.1

Detailed Description

template<typename StoredType>class Dakota::ResultsEntry< StoredType >


Class to manage in-core vs. file database lookups.
ResultsEntry manages database lookups. If a core database is available, will return a reference directly to the
stored data; if disk, will return reference to a local copy contained in this class. Allows disk-stored data to persist
for minimum time during lookup to support true out-of-core use cases.

13.137. RESULTSID CLASS REFERENCE

13.136.2

775

Constructor & Destructor Documentation

ResultsEntry (

) [private]

return a reference to the stored data, whether from core or file


default construction disallowed: data must be initialized from DB lookup if needed
The documentation for this class was generated from the following file:
ResultsManager.hpp

13.137

ResultsID Class Reference

Get a globally unique 1-based execution number for a given iterator name (combination of methodName and
methodID) for use in results DB. Each Iterator::run() call creates or increments this count for its string identifier.

Public Member Functions


size t increment id (const std::string &method name, const std::string &method id)
explicitly increment the iterator results ID, init to 1 if needed

size t get id (const std::string &method name, const std::string &method id)
get (possibly creating) a unique iterator results ID for the passed name

size t get id (const std::string &method name, const std::string &method id) const
get a unique iterator results ID for the passed name (const version errors if not found)

Static Public Member Functions


static ResultsID & instance ()
get the single unique instance of ResultsID

Private Member Functions


ResultsID ()
Private constructor for ResultsID.

ResultsID ()
Private destructor for ResultsID.

ResultsID (ResultsID const &)


Private copy constructor for ResultsID.

ResultsID & operator= (ResultsID const &)


Private assignment operator for ResultsID.

Private Attributes
std::map< std::pair
< std::string, std::string >
, size t > idMap
storage for the results IDs

776

CHAPTER 13. CLASS DOCUMENTATION

13.137.1

Detailed Description

Get a globally unique 1-based execution number for a given iterator name (combination of methodName and
methodID) for use in results DB. Each Iterator::run() call creates or increments this count for its string identifier.
The documentation for this class was generated from the following files:
ResultsManager.hpp
ResultsManager.cpp

13.138

ResultsManager Class Reference

Results manager for iterator final data.

Public Member Functions


ResultsManager ()
default constructor: no databases active until initialize called

void initialize (const std::string &base filename)


initialize the results manager to manage an in-core database, writing to the specified file name

bool active () const


whether any databases are active

void write databases ()


Write in-core databases to file.

template<typename StoredType >


void insert (const StrStrSizet &iterator id, const std::string &data name, const StoredType &sent data,
const MetaDataType metadata=MetaDataType())
insert data

void insert (const StrStrSizet &iterator id, const std::string &data name, StringMultiArrayConstView smalabels, const MetaDataType metadata=MetaDataType())
template<typename StoredType >
void array allocate (const StrStrSizet &iterator id, const std::string &data name, size t array size, const
MetaDataType metadata=MetaDataType())
allocate an entry with array of StoredType of array size for future insertion; likely move to non-templated accessors
for these

template<typename StoredType >


void array insert (const StrStrSizet &iterator id, const std::string &data name, size t index, const StoredType &sent data)
insert into a previously allocated array of StoredType at index specified; metadata must be specified at allocation

Public Attributes
ResultsNames results names
Copy of valid results names for when manager is passed around.

13.138. RESULTSMANAGER CLASS REFERENCE

777

Private Member Functions


template<typename StoredType >
StoredType core lookup (const StrStrSizet &iterator id, const std::string &data name) const
retrieve in-core entry given by id and name

template<typename StoredType >


StoredType core lookup ptr (const StrStrSizet &iterator id, const std::string &data name) const
retrieve data via pointer to avoid copy; work-around for Boost any use of pointer (could use utilib::Any)

template<typename StoredType >


StoredType core lookup (const StrStrSizet &iterator id, const std::string &data name, size t index) const
retrieve data from in-core array of StoredType at given index

template<typename StoredType >


const StoredType core lookup ptr (const StrStrSizet &iterator id, const std::string &data name, size t
index) const
retrieve data via pointer to entry in in-core array

template<typename StoredType >


void file lookup (StoredType &db data, const StrStrSizet &iterator id, const std::string &data name) const
retrieve requested data into provided db data StoredType

Private Attributes
bool coreDBActive
whether the in-core database in active

std::string coreDBFilename
filename for the in-core database

bool hdf5DBActive
whether the file database is active

boost::scoped ptr< ResultsDBAny > coreDB


In-core database, with option to flush to file at end.

boost::shared ptr< ResultsDBHDF5 > hdf5DB


File-based database; using shared ptr due to potentially incomplete type and requirements for checked delete in
debug builds.

Friends
template<typename StoredType >
class ResultsEntry
ResultsEntry is a friend of ResultsManager.

13.138.1

Detailed Description

Results manager for iterator final data.


The results manager provides the API for posting and retrieving iterator results data (and eventually run
config/statistics). It can manage a set of underlying results databases, in or out of core, depending on configuration
The key for a results entry is documented in results types.hpp, e.g., tuple<std::string, std::string, size t, std::string>

778

CHAPTER 13. CLASS DOCUMENTATION

For now, using concrete types for most insertion, since underlying databases like HDF5 might need concrete
types; though template parameter for array allocation and retrieval.
All insertions overwrite any previous data.
The documentation for this class was generated from the following files:
ResultsManager.hpp
ResultsManager.cpp

13.139

ResultsNames Class Reference

List of valid names for iterator results.

Public Member Functions


ResultsNames ()
Default constructor initializes all valid names.

Public Attributes

size t namesVersion
std::string best cv
std::string best div
std::string best drv
std::string best fns
std::string moments std
std::string moments central
std::string moments std num
std::string moments central num
std::string moments std exp
std::string moments central exp
std::string moment cis
std::string extreme values
std::string map resp prob
std::string map resp rel
std::string map resp genrel
std::string map prob resp
std::string map rel resp
std::string map genrel resp
std::string pdf histograms
std::string correl simple all
std::string correl simple io
std::string correl partial io
std::string correl simple rank all
std::string correl simple rank io
std::string correl partial rank io
std::string pce coeffs
std::string pce coeff labels

13.140. RICHEXTRAPVERIFICATION CLASS REFERENCE

std::string cv labels
std::string div labels
std::string drv labels
std::string fn labels

13.139.1

Detailed Description

List of valid names for iterator results.


All data in the ResultsNames class is public, basically just a struct
The documentation for this class was generated from the following file:
ResultsManager.hpp

13.140

RichExtrapVerification Class Reference

Class for Richardson extrapolation for code and solution verification.


Inheritance diagram for RichExtrapVerification:
Iterator
Analyzer
Verification
RichExtrapVerification

Public Member Functions


RichExtrapVerification (ProblemDescDB &problem db, Model &model)
constructor

RichExtrapVerification ()
destructor

void perform verification ()


Redefines the core run() virtual function for the Verification branch.

void print results (std::ostream &s)


print the final iterator results

Private Member Functions


void estimate order ()
perform a single estimation of convOrder using extrapolation()

void converge order ()


iterate using extrapolation() until convOrder stabilizes

void converge qoi ()

779

780

CHAPTER 13. CLASS DOCUMENTATION


iterate using extrapolation() until QOIs stabilize

void extrapolation (const RealVector &refine triple, RealMatrix &qoi triples)


estimate convOrder from refinement and quantity of interest (QOI) triples

void extrapolate result (const RealVector &refine triple, const RealMatrix &qoi triples)
predict the converged value based on the convergence rate and the value of Phi

Private Attributes
unsigned short studyType
internal code for extrapolation study type: SUBMETHOD {CONVERGE ORDER,CONVERGE QOI,ESTIMATEORDER}

size t numFactors
number of refinement factors defined from active state variables

RealVector initialCVars
initial reference values for refinement factors

size t factorIndex
the index of the active factor

Real refinementRate
rate of mesh refinement (default = 2.)

RealMatrix convOrder
the orders of convergence of the QOIs (numFunctions by numFactors)

RealMatrix extrapQOI
the extrapolated value of the QOI (numFunctions by numFactors)

RealMatrix numErrorQOI
the numerical uncertainty associated with level of refinement (numFunctions by numFactors)

RealVector refinementRefPt
This is a reference point reported for the converged extrapQOI and numErrorQOI. It currently corresponds to the
coarsest mesh in the final refinement triple.

Additional Inherited Members


13.140.1

Detailed Description

Class for Richardson extrapolation for code and solution verification.


The RichExtrapVerification class contains several algorithms for performing Richardson extrapolation.

13.140.2

Member Function Documentation

void print results ( std::ostream & s ) [virtual]


print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation
summary printed in finalize run().
Reimplemented from Verification.
References Model::continuous variable labels(), RichExtrapVerification::convOrder, Dakota::copy data(), RichExtrapVerification::extrapQOI, Iterator::iteratedModel, RichExtrapVerification::numErrorQOI, Verification::printresults(), RichExtrapVerification::refinementRate, RichExtrapVerification::refinementRefPt, and Model::responselabels().

13.141. SCILABINTERFACE CLASS REFERENCE


void estimate order (

781

) [private]

perform a single estimation of convOrder using extrapolation()


This algorithm executes a single refinement triple and returns convergence order estimates.
References RichExtrapVerification::extrapolate result(), RichExtrapVerification::extrapolation(), RichExtrapVerification::extrapQOI, RichExtrapVerification::factorIndex, RichExtrapVerification::initialCVars, RichExtrapVerification::numErrorQOI, RichExtrapVerification::numFactors, Analyzer::numFunctions, RichExtrapVerification::refinementRate, and RichExtrapVerification::refinementRefPt.
Referenced by RichExtrapVerification::perform verification().
void converge order (

) [private]

iterate using extrapolation() until convOrder stabilizes


This algorithm continues to refine until the convergence order estimate converges.
References Iterator::convergenceTol, RichExtrapVerification::convOrder, Dakota::copy data(), RichExtrapVerification::extrapolate result(), RichExtrapVerification::extrapolation(), RichExtrapVerification::extrapQOI, RichExtrapVerification::factorIndex, RichExtrapVerification::initialCVars, Iterator::maxIterations, RichExtrapVerification::numErrorQOI, RichExtrapVerification::numFactors, Analyzer::numFunctions, Iterator::outputLevel, RichExtrapVerification::refinementRate, and RichExtrapVerification::refinementRefPt.
Referenced by RichExtrapVerification::perform verification().
void converge qoi (

) [private]

iterate using extrapolation() until QOIs stabilize


This algorithm continues to refine until the discretization error lies within a prescribed tolerance.
References Iterator::convergenceTol, RichExtrapVerification::extrapolate result(), RichExtrapVerification::extrapolation(),
RichExtrapVerification::extrapQOI, RichExtrapVerification::factorIndex, RichExtrapVerification::initialCVars, Iterator::maxIterations, RichExtrapVerification::numErrorQOI, RichExtrapVerification::numFactors, Analyzer::numFunctions,
Iterator::outputLevel, RichExtrapVerification::refinementRate, and RichExtrapVerification::refinementRefPt.
Referenced by RichExtrapVerification::perform verification().
The documentation for this class was generated from the following files:
RichExtrapVerification.hpp
RichExtrapVerification.cpp

13.141

ScilabInterface Class Reference

Inheritance diagram for ScilabInterface:


Interface
ApplicationInterface
DirectApplicInterface
ScilabInterface

782

CHAPTER 13. CLASS DOCUMENTATION

Public Member Functions


ScilabInterface (const ProblemDescDB &problem db)
Constructor: start Matlab engine.

ScilabInterface ()
Destructor: close Matlab engine.

Protected Member Functions


virtual int derived map ac (const String &ac name)
execute an analysis code portion of a direct evaluation invocation

int scilab engine run (const String &ac name)


principal Scilab execute function

Protected Attributes
int scilabEngine
identifier for the running Scilab enginer

13.141.1

Detailed Description

Specialization of DirectApplicInterface to link to Scilab analysis drivers. Includes convenience functions to map
data to/from Scilab
The documentation for this class was generated from the following files:
ScilabInterface.hpp
ScilabInterface.cpp

13.142

SensAnalysisGlobal Class Reference

Class for a utility class containing correlation calculations and variance-based decomposition.

Public Member Functions


SensAnalysisGlobal ()
constructor

SensAnalysisGlobal ()
destructor

void compute correlations (const VariablesArray &vars samples, const IntResponseMap &resp samples)
computes four correlation matrices for input and output data simple, partial, simple rank, and partial rank

void compute correlations (const RealMatrix &vars samples, const IntResponseMap &resp samples)
computes four correlation matrices for input and output data simple, partial, simple rank, and partial rank

void archive correlations (const StrStrSizet &run identifier, ResultsManager &iterator results, StringMultiArrayConstView cv labels, StringMultiArrayConstView div labels, StringMultiArrayConstView drv labels,
const StringArray &resp labels) const
save correlations to database

bool correlations computed () const

13.142. SENSANALYSISGLOBAL CLASS REFERENCE

783

returns corrComputed to indicate whether compute correlations() has been invoked

void print correlations (std::ostream &s, StringMultiArrayConstView cv labels, StringMultiArrayConstView div labels, StringMultiArrayConstView drv labels, const StringArray &resp labels) const
prints the correlations computed in compute correlations()

Private Member Functions


void simple corr (RealMatrix &total data, bool rank on, const int &num in)
computes simple correlations

void partial corr (RealMatrix &total data, bool rank on, const int &num in)
computes partial correlations

Static Private Member Functions


static bool rank sort (const int &x, const int &y)
sort algorithm to compute ranks for rank correlations

Private Attributes
RealMatrix simpleCorr
matrix to hold simple raw correlations

RealMatrix simpleRankCorr
matrix to hold simple rank correlations

RealMatrix partialCorr
matrix to hold partial raw correlations

RealMatrix partialRankCorr
matrix to hold partial rank correlations

size t numFns
number of responses

size t numVars
number of inputs

bool numericalIssuesRaw
flag indicating numerical issues in partial raw correlation calculations

bool numericalIssuesRank
flag indicating numerical issues in partial rank correlation calculations

bool corrComputed
flag indictaing whether correlations have been computed

Static Private Attributes


static RealArray rawData = RealArray()
array to hold temporary data before sort

784

CHAPTER 13. CLASS DOCUMENTATION

13.142.1

Detailed Description

Class for a utility class containing correlation calculations and variance-based decomposition.
This class provides code for several of the sampling methods both in the NonD branch and in the PStudyDACE branch. Currently, the utility functions provide global sensitivity analysis through correlation calculations
(e.g. simple, partial, rank, raw) as well as variance-based decomposition.
The documentation for this class was generated from the following files:
SensAnalysisGlobal.hpp
SensAnalysisGlobal.cpp

13.143

SeqHybridMetaIterator Class Reference

Method for sequential hybrid iteration using multiple optimization and nonlinear least squares methods on multiple models of varying fidelity.
Inheritance diagram for SeqHybridMetaIterator:

Iterator
MetaIterator
SeqHybridMetaIterator

Public Member Functions


SeqHybridMetaIterator (ProblemDescDB &problem db)
standard constructor

SeqHybridMetaIterator (ProblemDescDB &problem db, Model &model)


alternate constructor

SeqHybridMetaIterator ()
destructor

Protected Member Functions


void core run ()
Performs the hybrid iteration by executing a sequence of iterators, using a similar sequence of models that may
vary in fidelity.

void print results (std::ostream &s)


print the final iterator results

const Variables & variables results () const


return the final solution from selectedIterators (variables)

const Response & response results () const


return the final solution from selectedIterators (response)

void initialize iterator (int job index)

13.143. SEQHYBRIDMETAITERATOR CLASS REFERENCE

785

used by IteratorScheduler to set the starting data for a run

void pack parameters buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack starting data for an iterator run

void unpack parameters buffer (MPIUnpackBuffer &recv buffer)


used by IteratorScheduler to unpack starting data for an iterator run

void pack results buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack results data from an iterator run

void unpack results buffer (MPIUnpackBuffer &recv buffer, int job index)
used by IteratorScheduler to unpack results data from an iterator run

void update local results (int job index)


used by IteratorScheduler to update local results arrays

Private Member Functions


void run sequential ()
run a sequential hybrid

void run sequential adaptive ()


run a sequential adaptive hybrid

void partition sets (size t num sets, int job index, size t &start index, size t &job size)
convert num sets and job index into a start index and job size for extraction from parameterSets

void extract parameter sets (int job index, VariablesArray &partial param sets)
extract partial param sets from parameterSets based on job index

void update local results (PRPArray &prp results, int job id)
update the partial set of final results from the local iterator execution

void initialize iterator (const VariablesArray &param sets)


called by unpack parameters buffer(MPIUnpackBuffer) and initialize iterator(int) to update the active Model and
Iterator

Private Attributes
String seqHybridType
empty (default) or adaptive

StringArray methodList
the list of method name identifiers

bool lightwtCtor
indicates use of lightweight Iterator ctors

IteratorArray selectedIterators
the set of iterators, one for each entry in methodList

ModelArray selectedModels
the set of models, one for each iterator (if not lightweight construction)

size t seqCount
hybrid sequence counter: 0 to numIterators-1

Real progressMetric
the amount of progress made in a single iterator++ cycle within a sequential adaptive hybrid

786

CHAPTER 13. CLASS DOCUMENTATION


Real progressThreshold
when the progress metric falls below this threshold, the sequential adaptive hybrid switches to the next method

PRP2DArray prpResults
2-D array of results corresponding to numIteratorJobs, one set of results per job (iterators may return multiple final
solutions)

VariablesArray parameterSets
1-D array of variable starting points for the iterator jobs

Additional Inherited Members


13.143.1

Detailed Description

Method for sequential hybrid iteration using multiple optimization and nonlinear least squares methods on multiple models of varying fidelity.
Sequential hybrid meta-iteration supports two approaches: (1) the non-adaptive sequential hybrid runs one
method to completion, passes its best results as the starting point for a subsequent method, and continues this
succession until all methods have been executed (the stopping rules are controlled internally by each iterator), and
(2) the adaptive sequential hybrid uses adaptive stopping rules for the iterators that are controlled externally by
this method. Any iterator may be used so long as it defines the notion of a final solution which can be passed as
starting data for subsequent iterators.

13.143.2

Member Function Documentation

void print results ( std::ostream & s ) [protected], [virtual]


print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation
summary printed in finalize run().
Reimplemented from Iterator.
References Response::function values(), Variables::is null(), Response::is null(), MetaIterator::iterSched, IteratorScheduler::messagePass, and SeqHybridMetaIterator::prpResults.
void run sequential (

) [private]

run a sequential hybrid


In the sequential nonadaptive case, there is no interference with the iterators. Each runs until its own convergence criteria is satisfied. Status: fully operational.
References Iterator::accepts multiple points(), ParallelLibrary::bcast i(), ParallelLibrary::bcast si(), Iterator::initialize graphics(), Model::interface id(), Iterator::iteratedModel, IteratorScheduler::iterator message lengths(),
IteratorScheduler::iteratorCommRank, IteratorScheduler::iteratorCommSize, IteratorScheduler::iteratorScheduling,
IteratorScheduler::iteratorServerId, MetaIterator::iterSched, SeqHybridMetaIterator::lightwtCtor, IteratorScheduler::messagePass, SeqHybridMetaIterator::methodList, Iterator::num final solutions(), IteratorScheduler::numIteratorJobs, IteratorScheduler::numIteratorServers, SeqHybridMetaIterator::pack parameters buffer(), IteratorScheduler::parallelLib, SeqHybridMetaIterator::parameterSets, SeqHybridMetaIterator::prpResults, ParallelLibrary::recv si(), Iterator::response results(), IteratorScheduler::schedule iterators(), SeqHybridMetaIterator::selectedIterators,
SeqHybridMetaIterator::selectedModels, ParallelLibrary::send si(), SeqHybridMetaIterator::seqCount, MPIPackBuffer::size(), Iterator::summaryOutputFlag, and Iterator::variables results().
Referenced by SeqHybridMetaIterator::core run().

13.144. SERIALDIRECTAPPLICINTERFACE CLASS REFERENCE


void run sequential adaptive (

787

) [private]

run a sequential adaptive hybrid


In the sequential adaptive case, there is interference with the iterators through the use of the ++ overloaded operator. iterator++ runs the iterator for one cycle, after which a progress metric is computed. This progress metric
is used to dictate method switching instead of each iterators internal convergence criteria. Status: incomplete.
References Iterator::finalize run(), Iterator::initialize graphics(), Iterator::initialize run(), IteratorScheduler::iteratorCommRank, IteratorScheduler::iteratorServerId, MetaIterator::iterSched, SeqHybridMetaIterator::methodList, IteratorScheduler::numIteratorServers, ParallelLibrary::parallel configuration(), IteratorScheduler::parallelLib, SeqHybridMetaIterator::progressMetric, SeqHybridMetaIterator::progressThreshold, Iterator::response results(),
IteratorScheduler::run iterator(), SeqHybridMetaIterator::selectedIterators, SeqHybridMetaIterator::selectedModels,
SeqHybridMetaIterator::seqCount, ParallelConfiguration::si parallel level(), Iterator::summaryOutputFlag, and
Iterator::variables results().
Referenced by SeqHybridMetaIterator::core run().
void extract parameter sets ( int job index, VariablesArray & partial param sets ) [inline],
[private]
extract partial param sets from parameterSets based on job index
This convenience function is executed on an iterator master (static scheduling) or a meta-iterator master (self
scheduling) at run initialization time and has access to the full parameterSets array (this is All-Reduced for all
peers at the completion of each cycle in run sequential()).
References SeqHybridMetaIterator::parameterSets, and SeqHybridMetaIterator::partition sets().
Referenced by SeqHybridMetaIterator::initialize iterator(), and SeqHybridMetaIterator::pack parameters buffer().
The documentation for this class was generated from the following files:
SeqHybridMetaIterator.hpp
SeqHybridMetaIterator.cpp

13.144

SerialDirectApplicInterface Class Reference

Sample derived interface class for testing serial simulator plug-ins using assign rep().
Inheritance diagram for SerialDirectApplicInterface:
Interface
ApplicationInterface
DirectApplicInterface
SerialDirectApplicInterface

Public Member Functions


SerialDirectApplicInterface (const Dakota::ProblemDescDB &problem db)
constructor

788

CHAPTER 13. CLASS DOCUMENTATION


SerialDirectApplicInterface ()
destructor

Protected Member Functions


int derived map ac (const Dakota::String &ac name)
execute an analysis code portion of a direct evaluation invocation

void derived map asynch (const Dakota::ParamResponsePair &pair)


no-op hides base error; job batching occurs within wait local evaluations()

void wait local evaluations (Dakota::PRPQueue &prp queue)


evaluate the batch of jobs contained in prp queue

void test local evaluations (Dakota::PRPQueue &prp queue)


invokes wait local evaluations() (no special nowait support)

void set communicators checks (int max eval concurrency)


no-op hides default run-time error checks at DirectApplicInterface level

Private Member Functions


int rosenbrock (const Dakota::RealVector &c vars, short asv, Dakota::Real &fn val, Dakota::RealVector
&fn grad, Dakota::RealSymMatrix &fn hess)
Rosenbrock plug-in test function.

Additional Inherited Members


13.144.1

Detailed Description

Sample derived interface class for testing serial simulator plug-ins using assign rep().
The plug-in SerialDirectApplicInterface resides in namespace SIM and uses a copy of rosenbrock() to perform
serial parameter to response mappings. It is used to demonstrate plugging in a serial direct analysis driver into
Dakota in library mode. Test input files can then use an analysis driver of plugin rosenbrock.

13.144.2

Member Function Documentation

void test local evaluations ( Dakota::PRPQueue & prp queue ) [inline], [protected]
invokes wait local evaluations() (no special nowait support)
For use by ApplicationInterface::serve evaluations asynch(), which can provide a batch processing capability
within message passing schedulers (called using chain IteratorScheduler::run iterator() > Model::serve() >
ApplicationInterface::serve evaluations() > ApplicationInterface::serve evaluations asynch()).
References SerialDirectApplicInterface::wait local evaluations().
The documentation for this class was generated from the following files:
PluginSerialDirectApplicInterface.hpp
PluginSerialDirectApplicInterface.cpp

13.145. SHAREDAPPROXDATA CLASS REFERENCE

13.145

789

SharedApproxData Class Reference

Base class for the shared approximation data class hierarchy.


Inheritance diagram for SharedApproxData:

SharedApproxData
SharedPecosApproxData

SharedSurfpackApproxData

Public Member Functions


SharedApproxData ()
default constructor

SharedApproxData (ProblemDescDB &problem db, size t num vars)


standard constructor for envelope

SharedApproxData (const String &approx type, const UShortArray &approx order, size t num vars, short
data order, short output level)
alternate constructor for envelope

SharedApproxData (const SharedApproxData &approx)


copy constructor

virtual SharedApproxData ()
destructor

SharedApproxData operator= (const SharedApproxData &approx)


assignment operator

virtual void build ()


builds the shared approximation data from scratch

virtual void rebuild ()


rebuilds the shared approximation data incrementally

virtual void pop (bool save surr data)


back out the previous increment to the shared approximation data

virtual bool restore available ()


queries availability of restoration for trial set

virtual size t restoration index ()


return index of trial set within restorable bookkeeping sets

virtual void pre restore ()


restore a previous state of the shared approximation data

virtual void post restore ()


clean up saved storage following restoration

virtual size t finalization index (size t i)


return index of i-th trailing trial set within restorable bookkeeping sets

virtual void pre finalize ()


finalize the shared approximation data following a set of increments

790

CHAPTER 13. CLASS DOCUMENTATION


virtual void post finalize ()
clean up saved storage following aggregation

virtual void store ()


store the current state of the shared approximation data for later combination

virtual void pre combine (short corr type)


aggregate the shared approximation data from current and saved states

virtual void post combine (short corr type)


clean up saved storage after aggregation

void set bounds (const RealVector &c l bnds, const RealVector &c u bnds, const IntVector &di l bnds,
const IntVector &di u bnds, const RealVector &dr l bnds, const RealVector &dr u bnds)
set approximation lower and upper bounds (currently only used by graphics)

SharedApproxData data rep () const


returns dataRep for access to derived class member functions that are not mapped to the top SharedApproxData
level

Protected Member Functions


SharedApproxData (BaseConstructor, ProblemDescDB &problem db, size t num vars)
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

SharedApproxData (NoDBBaseConstructor, const String &approx type, size t num vars, short data order,
short output level)
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

Protected Attributes
size t numVars
number of variables in the approximation

String approxType
approximation type identifier

short buildDataOrder
order of the data used for surrogate construction, in ActiveSet request vector 3-bit format.

short outputLevel
output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG} OUTPUT

RealVector approxCLowerBnds
approximation continuous lower bounds (used by 3D graphics and Surfpack KrigingModel)

RealVector approxCUpperBnds
approximation continuous upper bounds (used by 3D graphics and Surfpack KrigingModel)

IntVector approxDILowerBnds
approximation continuous lower bounds

IntVector approxDIUpperBnds
approximation continuous upper bounds

RealVector approxDRLowerBnds
approximation continuous lower bounds

RealVector approxDRUpperBnds
approximation continuous upper bounds

13.145. SHAREDAPPROXDATA CLASS REFERENCE

791

Private Member Functions


SharedApproxData get shared data (ProblemDescDB &problem db, size t num vars)
Used only by the standard envelope constructor to initialize dataRep to the appropriate derived type.

SharedApproxData get shared data (const String &approx type, const UShortArray &approx order, sizet num vars, short data order, short output level)
Used only by the alternate envelope constructor to initialize dataRep to the appropriate derived type.

Private Attributes
SharedApproxData dataRep
pointer to the letter (initialized only for the envelope)

int referenceCount
number of objects sharing dataRep

Friends

class Approximation
class TaylorApproximation
class TANA3Approximation
class GaussProcApproximation
class SurfpackApproximation
class PecosApproximation

13.145.1

Detailed Description

Base class for the shared approximation data class hierarchy.


The SharedApproxData class is the base class for the shared approximation data class hierarchy in DAKOTA.
For memory efficiency and enhanced polymorphism, the approximation hierarchy employs the letter/envelope
idiom (see Coplien Advanced C++, p. 133), for which the base class (SharedApproxData) serves as the
envelope and one of the derived classes (selected in SharedApproxData::get shared data()) serves as the letter.

13.145.2

Constructor & Destructor Documentation

SharedApproxData (

default constructor
For the default constructor, dataRep is NULL. This makes it necessary to check for NULL in the copy constructor, assignment operator, and destructor.
Referenced by SharedApproxData::get shared data().
SharedApproxData ( ProblemDescDB & problem db, size t num vars )
standard constructor for envelope
Envelope constructor only needs to extract enough data to properly execute get shared data, since SharedApproxData(BaseConstructor, problem db) builds the actual base class data for the derived approximations.
References Dakota::abort handler(), SharedApproxData::dataRep, and SharedApproxData::get shared data().

792

CHAPTER 13. CLASS DOCUMENTATION

SharedApproxData ( const String & approx type, const UShortArray & approx order, size t num vars,
short data order, short output level )
alternate constructor for envelope
This is the alternate envelope constructor for instantiations on the fly. Since it does not have access to problemdb, it utilizes the NoDBBaseConstructor constructor chain.
References Dakota::abort handler(), SharedApproxData::dataRep, and SharedApproxData::get shared data().
SharedApproxData ( const SharedApproxData & shared data )
copy constructor
Copy constructor manages sharing of dataRep and incrementing of referenceCount.
References SharedApproxData::dataRep, and SharedApproxData::referenceCount.
SharedApproxData (

) [virtual]

destructor
Destructor decrements referenceCount and only deletes dataRep when referenceCount reaches zero.
References SharedApproxData::dataRep, and SharedApproxData::referenceCount.
SharedApproxData ( BaseConstructor , ProblemDescDB & problem db, size t num vars )
[protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get shared data()
instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization
list (to avoid recursion in the base class constructor calling get shared data() again). Since the letter IS the
representation, its rep pointer is set to NULL (an uninitialized pointer causes problems in SharedApproxData).
References SharedApproxData::approxType, SharedApproxData::buildDataOrder, ProblemDescDB::get bool(),
ProblemDescDB::get db model node(), ProblemDescDB::get string(), ProblemDescDB::set db model nodes(),
Dakota::strbegins(), and Dakota::strends().
SharedApproxData ( NoDBBaseConstructor , const String & approx type, size t num vars, short
data order, short output level ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get shared data()
instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization
list (to avoid recursion in the base class constructor calling get shared data() again). Since the letter IS the
representation, its rep pointer is set to NULL (an uninitialized pointer causes problems in SharedApproxData).
References SharedApproxData::approxType, SharedApproxData::buildDataOrder, Dakota::strbegins(), and
Dakota::strends().

13.145.3

Member Function Documentation

SharedApproxData operator= ( const SharedApproxData & shared data )


assignment operator

13.146. SHAREDPECOSAPPROXDATA CLASS REFERENCE

793

Assignment operator decrements referenceCount for old dataRep, assigns new dataRep, and increments referenceCount for new dataRep.
References SharedApproxData::dataRep, and SharedApproxData::referenceCount.
SharedApproxData get shared data ( ProblemDescDB & problem db, size t num vars ) [private]
Used only by the standard envelope constructor to initialize dataRep to the appropriate derived type.
Used only by the envelope constructor to initialize dataRep to the appropriate derived type.
References ProblemDescDB::get string(), SharedApproxData::SharedApproxData(), and Dakota::strends().
Referenced by SharedApproxData::SharedApproxData().
SharedApproxData get shared data ( const String & approx type, const UShortArray & approx order,
size t num vars, short data order, short output level ) [private]
Used only by the alternate envelope constructor to initialize dataRep to the appropriate derived type.
Used only by the envelope constructor to initialize dataRep to the appropriate derived type.
References SharedApproxData::SharedApproxData(), and Dakota::strends().

13.145.4

Member Data Documentation

short buildDataOrder [protected]


order of the data used for surrogate construction, in ActiveSet request vector 3-bit format.
This setting distinguishes derivative data intended for use in construction (includes derivatives w.r.t. the build
variables) from derivative data that may be approximated separately (excludes derivatives w.r.t. auxilliary variables). This setting should also not be inferred directly from the responses specification, since we may need
gradient support for evaluating gradients at a single point (e.g., the center of a trust region), but not require gradient evaluations at every point.
Referenced by SharedSurfpackApproxData::add sd to surfdata(), TaylorApproximation::build(), TaylorApproximation::gradient(), TaylorApproximation::hessian(), TaylorApproximation::min coefficients(), Approximation::min points(),
Approximation::recommended points(), SharedApproxData::SharedApproxData(), SharedPecosApproxData::SharedPecosApproxData(), SurfpackApproximation::SurfpackApproximation(), SurfpackApproximation::surrogates tosurf data(), TANA3Approximation::TANA3Approximation(), and TaylorApproximation::value().
The documentation for this class was generated from the following files:
SharedApproxData.hpp
SharedApproxData.cpp

13.146

SharedPecosApproxData Class Reference

Derived approximation class for global basis polynomials.


Inheritance diagram for SharedPecosApproxData:

SharedApproxData
SharedPecosApproxData

794

CHAPTER 13. CLASS DOCUMENTATION

Public Member Functions


SharedPecosApproxData ()
default constructor

SharedPecosApproxData (const String &approx type, const UShortArray &approx order, size t num vars,
short data order, short output level)
alternate constructor

SharedPecosApproxData (ProblemDescDB &problem db, size t num vars)


standard ProblemDescDB-driven constructor

SharedPecosApproxData ()
destructor

void random variables key (const Pecos::BitArray &random vars key)


set pecosBasisApprox.randomVarsKey

void integration iterator (const Iterator &iterator)


set pecosBasisApprox.driverRep

void construct basis (const Pecos::ShortArray &u types, const Pecos::AleatoryDistParams &adp)
invoke Pecos::SharedOrthogPolyApproxData::construct basis()

void polynomial basis (const std::vector< Pecos::BasisPolynomial > &poly basis)


set Pecos::SharedOrthogPolyApproxData::polynomialBasis

const std::vector
< Pecos::BasisPolynomial > & polynomial basis () const
get Pecos::SharedOrthogPolyApproxData::polynomialBasis

void allocate (const UShort2DArray &mi)


set Pecos::SharedOrthogPolyApproxData::multiIndex and allocate associated arrays

const UShort2DArray & multi index () const


get Pecos::SharedOrthogPolyApproxData::multiIndex

const Pecos::BitArrayULongMap & sobol index map () const


return Pecos::SharedPolyApproxData::sobolIndexMap

void cross validation (bool flag)


invoke Pecos::SharedOrthogPolyApproxData::cross validation()

void coefficients norms flag (bool flag)


invoke Pecos::SharedOrthogPolyApproxData::coefficients norms flag()

size t expansion terms () const


return Pecos::SharedOrthogPolyApproxData::expansion terms()

const UShortArray & expansion order () const


return Pecos::SharedOrthogPolyApproxData::expansion order()

void expansion order (const UShortArray &order)


invokes Pecos::SharedOrthogPolyApproxData::expansion order(UShortArray&)

void increment order ()


invokes Pecos::SharedOrthogPolyApproxData::increment order()

void configuration options (const Pecos::ExpansionConfigOptions &ec options)


set the expansion configuration options within Pecos::SharedPolyApproxData

void configuration options (const Pecos::BasisConfigOptions &bc options)


set the basis configuration options within Pecos::SharedPolyApproxData

13.146. SHAREDPECOSAPPROXDATA CLASS REFERENCE


void noise tolerance (const RealVector &noise tol)
set the noise tolerance(s) for compressed sensing algorithms

void l2 penalty (Real l2 pen)


set the L2 penalty parameter for LASSO (elastic net variant)

Protected Member Functions


void build ()
builds the shared approximation data from scratch

void rebuild ()
rebuilds the shared approximation data incrementally

void pop (bool save surr data)


back out the previous increment to the shared approximation data

bool restore available ()


queries availability of restoration for trial set

size t restoration index ()


return index of trial set within restorable bookkeeping sets

void pre restore ()


restore a previous state of the shared approximation data

void post restore ()


clean up saved storage following restoration

size t finalization index (size t i)


return index of i-th trailing trial set within restorable bookkeeping sets

void pre finalize ()


finalize the shared approximation data following a set of increments

void post finalize ()


clean up saved storage following aggregation

void store ()
store the current state of the shared approximation data for later combination

void pre combine (short corr type)


aggregate the shared approximation data from current and saved states

void post combine (short corr type)


clean up saved storage after aggregation

Private Member Functions


Pecos::SharedBasisApproxData & pecos shared data ()
return pecosSharedData

void approx type to basis type (const String &approx type, short &basis type)
utility to convert Dakota type string to Pecos type enumeration

795

796

CHAPTER 13. CLASS DOCUMENTATION

Private Attributes
Pecos::SharedBasisApproxData pecosSharedData
the Pecos shared approximation data

Pecos::SharedPolyApproxData pecosSharedDataRep
convenience pointer to derived letter within pecosSharedData

Friends
class PecosApproximation

Additional Inherited Members


13.146.1

Detailed Description

Derived approximation class for global basis polynomials.


The SharedPecosApproxData class provides a global approximation based on basis polynomials. This includes orthogonal polynomials used for polynomial chaos expansions and interpolation polynomials used for
stochastic collocation.
The documentation for this class was generated from the following files:
SharedPecosApproxData.hpp
SharedPecosApproxData.cpp

13.147

SharedSurfpackApproxData Class Reference

Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
Inheritance diagram for SharedSurfpackApproxData:

SharedApproxData
SharedSurfpackApproxData

Public Member Functions


SharedSurfpackApproxData ()
default constructor

SharedSurfpackApproxData (const String &approx type, const UShortArray &approx order, size t num vars, short data order, short output level)
alternate constructor

SharedSurfpackApproxData (ProblemDescDB &problem db, size t num vars)


standard constructor: Surfpack surface of appropriate type will be created

SharedSurfpackApproxData ()
destructor

13.147. SHAREDSURFPACKAPPROXDATA CLASS REFERENCE

797

Private Member Functions


void add sd to surfdata (const Pecos::SurrogateDataVars &sdv, const Pecos::SurrogateDataResp &sdr, short
fail code, SurfData &surf data)
add Pecos::SurrogateData::SurrogateData{Vars,Resp} to SurfData, accounting for buildDataOrder available

void copy matrix (const RealSymMatrix &rsm, SurfpackMatrix< Real > &surfpack matrix)
copy RealSymMatrix to SurfpackMatrix (Real type only)

void merge variable arrays (const RealVector &cv, const IntVector &div, const RealVector &drv, RealArray
&ra)
merge cv, div, and drv vectors into a single ra array

void sdv to realarray (const Pecos::SurrogateDataVars &sdv, RealArray &ra)


aggregate {continuous,discrete int,discrete real} variables from SurrogateDataVars into ra

void vars to realarray (const Variables &vars, RealArray &ra)


aggregate {active,all} {continuous,discrete int,discrete real} variables into ra

Private Attributes
unsigned short approxOrder
order of polynomial approximation

String exportModelName
A Surfpack model name for saving the surrogate model.

StringArray diagnosticSet
set of diagnostic metrics

bool crossValidateFlag
whether to perform cross validation

unsigned numFolds
number of folds for CV

Real percentFold
percentage of data for CV

bool pressFlag
whether to perform PRESS

Friends
class SurfpackApproximation

Additional Inherited Members


13.147.1

Detailed Description

Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
The SharedSurfpackApproxData class is the interface between Dakota and Surfpack. Based on the information in the ProblemDescDB that is passed in through the constructor, SharedSurfpackApproxData builds a
Surfpack Surface object that corresponds to one of the following data-fitting techniques: polynomial regression,
kriging, artificial neural networks, radial basis function network, or multivariate adaptaive regression splines (MARS).

798

CHAPTER 13. CLASS DOCUMENTATION

13.147.2

Constructor & Destructor Documentation

SharedSurfpackApproxData ( const String & approx type, const UShortArray & approx order, size t
num vars, short data order, short output level )
alternate constructor
On-the-fly constructor which uses mostly Surfpack model defaults.
References Dakota::abort handler(), SharedSurfpackApproxData::approxOrder, and SharedApproxData::approxType.
SharedSurfpackApproxData ( ProblemDescDB & problem db, size t num vars )
standard constructor: Surfpack surface of appropriate type will be created
Initialize the embedded Surfpack surface object and configure it using the specifications from the input file.
Data for the surface is created later.
References SharedSurfpackApproxData::approxOrder, SharedApproxData::approxType, ProblemDescDB::getshort(), and ProblemDescDB::get string().
The documentation for this class was generated from the following files:
SharedSurfpackApproxData.hpp
SharedSurfpackApproxData.cpp

13.148

SharedVariablesData Class Reference

Container class encapsulating variables data that can be shared among a set of Variables instances.

Public Member Functions


SharedVariablesData ()
default constructor

SharedVariablesData (const ProblemDescDB &problem db, const std::pair< short, short > &view)
standard constructor

SharedVariablesData (const std::pair< short, short > &view, const SizetArray &vars comps totals)
lightweight constructor

SharedVariablesData (const SharedVariablesData &svd)


copy constructor

SharedVariablesData ()
destructor

SharedVariablesData & operator= (const SharedVariablesData &svd)


assignment operator

SharedVariablesData copy () const


create a deep copy of the current object and return by value

void size all continuous labels (bool relax)


size labels for all of the continuous variables, with or without discrete relaxation

void initialize all continuous types (bool relax)


initialize types for all of the continuous variables, with or without discrete relaxation

void initialize all continuous ids (bool relax)

13.148. SHAREDVARIABLESDATA CLASS REFERENCE


initialize ids for all of the continuous variables, with or without discrete relaxation

void size all discrete int labels ()


size labels for all of the discrete integer variables

void initialize all discrete int types ()


initialize types for all of the discrete integer variables

void size all discrete real labels ()


size labels for all of the discrete real variables

void initialize all discrete real types ()


initialize types for all of the discrete real variables

void initialize active components ()


initialize the active components totals given active variable counts

void initialize inactive components ()


initialize the inactive components totals given inactive variable counts

StringMultiArrayView all continuous labels (size t start, size t num items) const
get num items continuous labels beginning at index start

void all continuous labels (StringMultiArrayConstView cv labels, size t start, size t num items)
set num items continuous labels beginning at index start

void all continuous label (const String &cv label, size t index)
set continuous label at index start

StringMultiArrayView all discrete int labels (size t start, size t num items) const
get num items discrete integer labels beginning at index start

void all discrete int labels (StringMultiArrayConstView div labels, size t start, size t num items)
set num items discrete integer labels beginning at index start

void all discrete int label (const String &div label, size t index)
set discrete integer label at index start

StringMultiArrayView all discrete real labels (size t start, size t num items) const
get num items discrete real labels beginning at index start

void all discrete real labels (StringMultiArrayConstView drv labels, size t start, size t num items)
set num items discrete real labels beginning at index start

void all discrete real label (const String &drv label, size t index)
set discrete real label at index start

UShortMultiArrayConstView all continuous types (size t start, size t num items) const
get num items continuous types beginning at index start

void all continuous types (UShortMultiArrayConstView cv types, size t start, size t num items)
set num items continuous types beginning at index start

void all continuous type (unsigned short cv type, size t index)


set continuous type at index

UShortMultiArrayConstView all discrete int types (size t start, size t num items) const
get num items discrete integer types beginning at index start

void all discrete int types (UShortMultiArrayConstView div types, size t start, size t num items)
set num items discrete integer types beginning at index start

void all discrete int type (unsigned short div type, size t index)
set discrete integer type at index

799

800

CHAPTER 13. CLASS DOCUMENTATION


UShortMultiArrayConstView all discrete real types (size t start, size t num items) const
get num items discrete real types beginning at index start

void all discrete real types (UShortMultiArrayConstView drv types, size t start, size t num items)
set num items discrete real types beginning at index start

void all discrete real type (unsigned short drv type, size t index)
set discrete real type at index

SizetMultiArrayConstView all continuous ids (size t start, size t num items) const
get num items continuous ids beginning at index start

void all continuous ids (SizetMultiArrayConstView cv ids, size t start, size t num items)
set num items continuous ids beginning at index start

void all continuous id (size t id, size t index)


set num items continuous ids beginning at index start

const SizetArray & relaxed discrete ids () const


get ids of discrete variables that have been relaxed into continuous variable arrays

const String & id () const


return the user-provided or default Variables identifier

const SizetArray & components totals () const


return variable type counts for {continuous,discrete integer,discrete real} {design,aleatory uncertain,epistemic
uncertain,state}

const SizetArray & active components totals () const


return active variable type counts for {continuous,discrete integer,discrete real} {design,aleatory uncertain,epistemic
uncertain,state}

const SizetArray & inactive components totals () const


return inactive variable type counts for {continuous,discrete integer,discrete real} {design,aleatory uncertain,epistemic
uncertain,state}

size t vc lookup (unsigned short key) const


retrieve the variables type count within svdRep->variablesComponents corresponding to (a fine-grain variables
type) key

const std::pair< short, short > & view () const


retreive the Variables view

void inactive view (short view2)


set the inactive Variables view

size t cv () const
get number of active continuous vars

size t cv start () const


get start index of active continuous vars

size t div () const


get number of active discrete int vars

size t div start () const


get start index of active discrete int vars

size t drv () const


get number of active discrete real vars

size t drv start () const


get start index of active discrete real vars

13.148. SHAREDVARIABLESDATA CLASS REFERENCE


size t icv () const
get number of inactive continuous vars

size t icv start () const


get start index of inactive continuous vars

size t idiv () const


get number of inactive discrete int vars

size t idiv start () const


get start index of inactive discrete int vars

size t idrv () const


get number of inactive discrete real vars

size t idrv start () const


get start index of inactive discrete real vars

void cv (size t ncv)


set number of active continuous vars

void cv start (size t cvs)


set start index of active continuous vars

void div (size t ndiv)


set number of active discrete int vars

void div start (size t divs)


set start index of active discrete int vars

void drv (size t ndrv)


set number of active discrete real vars

void drv start (size t drvs)


set start index of active discrete real vars

void icv (size t nicv)


set number of inactive continuous vars

void icv start (size t icvs)


set start index of inactive continuous vars

void idiv (size t nidiv)


set number of inactive discrete int vars

void idiv start (size t idivs)


set start index of inactive disc int vars

void idrv (size t nidrv)


set number of inactive discrete real vars

void idrv start (size t idrvs)


set start index of inactive disc real vars

Private Attributes
SharedVariablesDataRep svdRep
pointer to the body (handle-body idiom)

801

802

CHAPTER 13. CLASS DOCUMENTATION

13.148.1

Detailed Description

Container class encapsulating variables data that can be shared among a set of Variables instances.
An array of Variables objects (e.g., Analyzer::allVariables) contains repeated configuration data (ids, labels,
counts). SharedVariablesData employs a handle-body idiom to allow this shared data to be managed in a single
object with many references to it, one per Variables object in the array. This allows scaling to larger sample sets.

13.148.2

Member Function Documentation

SharedVariablesData copy (

) const

create a deep copy of the current object and return by value


Deep copies are used when recasting changes the nature of a Variables set.
References SharedVariablesDataRep::activeVarsCompsTotals, SharedVariablesDataRep::allContinuousIds, SharedVariablesDataRep::allContinuousLabels, SharedVariablesDataRep::allContinuousTypes, SharedVariablesDataRep::allDiscreteIntLabels, SharedVariablesDataRep::allDiscreteIntTypes, SharedVariablesDataRep::allDiscreteRealLabels, SharedVariablesDataRep::allDiscreteRealTypes, SharedVariablesDataRep::cvStart, SharedVariablesDataRep::divStart, SharedVariablesDataRep::drvStart, SharedVariablesDataRep::icvStart, SharedVariablesDataRep::idivStart, SharedVariablesDataRep::idrvStart, SharedVariablesDataRep::inactiveVarsCompsTotals, SharedVariablesDataRep::numCV, SharedVariablesDataRep::numDIV, SharedVariablesDataRep::numDRV, SharedVariablesDataRep::numICV, SharedVariablesDataRep::numIDIV, SharedVariablesDataRep::numIDRV, SharedVariablesDataRep::relaxedDiscreteIds, SharedVariablesData::svdRep, SharedVariablesDataRep::variablesComponents, SharedVariablesDataRep::variablesCompsTotals, SharedVariablesDataRep::variablesId, and SharedVariablesDataRep::variablesView.
The documentation for this class was generated from the following files:
SharedVariablesData.hpp
SharedVariablesData.cpp

13.149

SharedVariablesDataRep Class Reference

The representation of a SharedVariablesData instance. This representation, or body, may be shared by multiple
SharedVariablesData handle instances.

Private Member Functions


SharedVariablesDataRep (const ProblemDescDB &problem db, const std::pair< short, short > &view)
standard constructor

SharedVariablesDataRep (const std::pair< short, short > &view, const std::map< unsigned short, size t >
&vars comps)
medium weight constructor

SharedVariablesDataRep (const std::pair< short, short > &view, const SizetArray &vars comps totals)
lightweight constructor

SharedVariablesDataRep ()
default constructor

SharedVariablesDataRep ()
destructor

void components to totals ()

13.149. SHAREDVARIABLESDATAREP CLASS REFERENCE

803

update variablesCompsTotals from variablesComponents

void size all continuous labels (bool relax)


size allContinuousLabels, with or without discrete relaxation

void initialize all continuous types (bool relax)


initialize allContinuousTypes, with or without discrete relaxation

void initialize all continuous ids (bool relax)


initialize allContinuousIds, with or without discrete relaxation

void size all discrete int labels ()


size allDiscreteIntLabels

void initialize all discrete int types ()


initialize allDiscreteIntTypes

void size all discrete real labels ()


size allDiscreteRealLabels

void initialize all discrete real types ()


initialize allDiscreteRealTypes

void initialize active components ()


initialize activeVarsCompsTotals given {c,di,dr}vStart and num{C,DI,DR}V

void initialize inactive components ()


initialize inactiveVarsCompsTotals given i{c,di,dr}vStart and numI{C,DI,DR}V

size t vc lookup (unsigned short key) const


retrieve the count within variablesComponents corresponding to key

Private Attributes
String variablesId
variables identifier string from the input file

std::map< unsigned short, size t > variablesComponents


map linking variable types to counts

SizetArray variablesCompsTotals
totals for variable type counts for {continuous,discrete integer,discrete real} {design,aleatory uncertain,epistemic
uncertain,state}

SizetArray activeVarsCompsTotals
totals for active variable type counts for {continuous,discrete integer,discrete real} {design,aleatory uncertain,epistemic
uncertain,state}

SizetArray inactiveVarsCompsTotals
totals for inactive variable type counts for {continuous,discrete integer,discrete real} {design,aleatory uncertain,epistemic uncertain,state}

std::pair< short, short > variablesView


the variables view pair containing active (first) and inactive (second) view enumerations

size t cvStart
start index of active continuous variables within allContinuousVars

size t divStart
start index of active discrete integer variables within allDiscreteIntVars

size t drvStart

804

CHAPTER 13. CLASS DOCUMENTATION


start index of active discrete real variables within allDiscreteRealVars

size t icvStart
start index of inactive continuous variables within allContinuousVars

size t idivStart
start index of inactive discrete integer variables w/i allDiscreteIntVars

size t idrvStart
start index of inactive discrete real variables within allDiscreteRealVars

size t numCV
number of active continuous variables

size t numDIV
number of active discrete integer variables

size t numDRV
number of active discrete real variables

size t numICV
number of inactive continuous variables

size t numIDIV
number of inactive discrete integer variables

size t numIDRV
number of inactive discrete real variables

StringMultiArray allContinuousLabels
array of variable labels for all of the continuous variables

StringMultiArray allDiscreteIntLabels
array of variable labels for all of the discrete integer variables

StringMultiArray allDiscreteRealLabels
array of variable labels for all of the discrete real variables

UShortMultiArray allContinuousTypes
array of variable types for all of the continuous variables

UShortMultiArray allDiscreteIntTypes
array of variable types for all of the discrete integer variables

UShortMultiArray allDiscreteRealTypes
array of variable types for all of the discrete real variables

SizetMultiArray allContinuousIds
array of 1-based position identifiers for the all continuous variables array

SizetArray relaxedDiscreteIds
array of discrete variable identifiers for which the discrete requirement is relaxed by merging them into a continuous
array

int referenceCount
number of handle objects sharing svdRep

Friends
class SharedVariablesData

13.150. SINGLEMODEL CLASS REFERENCE

13.149.1

805

Detailed Description

The representation of a SharedVariablesData instance. This representation, or body, may be shared by multiple
SharedVariablesData handle instances.
The SharedVariablesData/SharedVariablesDataRep pairs utilize a handle-body idiom (Coplien, Advanced
C++).

13.149.2

Constructor & Destructor Documentation

SharedVariablesDataRep ( const ProblemDescDB & problem db, const std::pair< short, short > & view
) [private]
standard constructor
This constructor is the one which must build the base class data for all derived classes. get variables() instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization
list (to avoid the recursion of the base class constructor calling get variables() again). Since the letter IS the
representation, its representation pointer is set to NULL (an uninitialized pointer causes problems in Variables).
References SharedVariablesDataRep::allContinuousLabels, SharedVariablesDataRep::allDiscreteIntLabels, SharedVariablesDataRep::allDiscreteRealLabels, Dakota::copy data partial(), ProblemDescDB::get sa(), ProblemDescDB::get sizet(), SharedVariablesDataRep::initialize all continuous ids(), SharedVariablesDataRep::initialize allcontinuous types(), SharedVariablesDataRep::initialize all discrete int types(), SharedVariablesDataRep::initializeall discrete real types(), SharedVariablesDataRep::variablesComponents, SharedVariablesDataRep::variablesCompsTotals, and SharedVariablesDataRep::variablesView.

13.149.3

Member Data Documentation

SizetMultiArray allContinuousIds [private]


array of 1-based position identifiers for the all continuous variables array
These identifiers define positions of the all continuous variables array within the total variable sequence.
Referenced by SharedVariablesData::all continuous id(), SharedVariablesData::all continuous ids(), SharedVariablesData::copy(), and SharedVariablesDataRep::initialize all continuous ids().
The documentation for this class was generated from the following files:
SharedVariablesData.hpp
SharedVariablesData.cpp

13.150

SingleModel Class Reference

Derived model class which utilizes a single interface to map variables into responses.
Inheritance diagram for SingleModel:

Model
SingleModel

806

CHAPTER 13. CLASS DOCUMENTATION

Public Member Functions


SingleModel (ProblemDescDB &problem db)
constructor

SingleModel ()
destructor

Protected Member Functions


Interface & derived interface ()
return userDefinedInterface

void derived compute response (const ActiveSet &set)


portion of compute response() specific to SingleModel (invokes a synchronous map() on userDefinedInterface)

void derived asynch compute response (const ActiveSet &set)


portion of asynch compute response() specific to SingleModel (invokes an asynchronous map() on userDefinedInterface)

const IntResponseMap & derived synchronize ()


portion of synchronize() specific to SingleModel (invokes synch() on userDefinedInterface)

const IntResponseMap & derived synchronize nowait ()


portion of synchronize nowait() specific to SingleModel (invokes synch nowait() on userDefinedInterface)

void component parallel mode (short mode)


SingleModel only supports parallelism in userDefinedInterface, so this virtual function redefinition is simply a
sanity check.

String local eval synchronization ()


return userDefinedInterface synchronization setting

int local eval concurrency ()


return userDefinedInterface asynchronous evaluation concurrency

bool derived master overload () const


flag which prevents overloading the master with a multiprocessor evaluation (request forwarded to userDefinedInterface)

void derived init communicators (int max eval concurrency, bool recurse flag=true)
set up SingleModel for parallel operations (request forwarded to userDefinedInterface)

void derived init serial ()


set up SingleModel for serial operations (request forwarded to userDefinedInterface).

void derived set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration for the SingleModel (request forwarded to userDefinedInterface)

void derived free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for the SingleModel (request forwarded to userDefinedInterface)

void serve (int max eval concurrency)


Service userDefinedInterface job requests received from the master. Completes when a termination message is
received from stop servers().

void stop servers ()


executed by the master to terminate userDefinedInterface server operations when SingleModel iteration is complete.

const String & interface id () const


return the userDefinedInterface identifier

13.151. SNLLBASE CLASS REFERENCE

807

int evaluation id () const


return the current evaluation id for the SingleModel (request forwarded to userDefinedInterface)

bool evaluation cache () const


return flag indicated usage of an evaluation cache by the SingleModel (request forwarded to userDefinedInterface)

void set evaluation reference ()


set the evaluation counter reference points for the SingleModel (request forwarded to userDefinedInterface)

void fine grained evaluation counters ()


request fine-grained evaluation reporting within the userDefinedInterface

void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true) const
print the evaluation summary for the SingleModel (request forwarded to userDefinedInterface)

virtual void eval tag prefix (const String &eval id str)


set the hierarchical eval ID tag prefix

Private Attributes
Interface userDefinedInterface
the interface used for mapping variables to responses

Additional Inherited Members


13.150.1

Detailed Description

Derived model class which utilizes a single interface to map variables into responses.
The SingleModel class is the simplest of the derived model classes. It provides the capabilities of the original
Model class, prior to the development of surrogate and nested model extensions. The derived response computation and synchronization functions utilize a single interface to perform the function evaluations.

13.150.2

Member Function Documentation

void eval tag prefix ( const String & eval id str ) [protected], [virtual]
set the hierarchical eval ID tag prefix
SingleModel doesnt need to change the tagging, so just forward to Interface
Reimplemented from Model.
References Interface::eval tag prefix(), and SingleModel::userDefinedInterface.
The documentation for this class was generated from the following files:
SingleModel.hpp
SingleModel.cpp

13.151

SNLLBase Class Reference

Base class for OPT++ optimization and least squares methods.


Inheritance diagram for SNLLBase:

808

CHAPTER 13. CLASS DOCUMENTATION

SNLLBase
SNLLLeastSq

SNLLOptimizer

Public Member Functions


SNLLBase ()
default constructor

SNLLBase (ProblemDescDB &problem db)


standard constructor

SNLLBase ()
destructor

Protected Member Functions


void copy con vals dak to optpp (const RealVector &local fn vals, RealVector &g, size t offset)
convenience function for copying local fn vals to g; used by constraint evaluator functions

void copy con vals optpp to dak (const RealVector &g, RealVector &local fn vals, size t offset)
convenience function for copying g to local fn vals; used in final solution logging

void copy con grad (const RealMatrix &local fn grads, RealMatrix &grad g, size t offset)
convenience function for copying local fn grads to grad g; used by constraint evaluator functions

void copy con hess (const RealSymMatrixArray &local fn hessians, OPTPP::OptppArray< RealSymMatrix
> &hess g, size t offset)
convenience function for copying local fn hessians to hess g; used by constraint evaluator functions

void snll pre instantiate (bool bound constr flag, int num constr)
convenience function for setting OPT++ options prior to the method instantiation

void snll post instantiate (int num cv, bool vendor num grad flag, const String &finite diff type, const
RealVector &fdss, int max iter, int max fn evals, Real conv tol, Real grad tol, Real max step, bool boundconstr flag, int num constr, short output lev, OPTPP::OptimizeClass the optimizer, OPTPP::NLP0 nlfobjective, OPTPP::FDNLF1 fd nlf1, OPTPP::FDNLF1 fd nlf1 con)
convenience function for setting OPT++ options after the method instantiation

void snll initialize run (OPTPP::NLP0 nlf objective, OPTPP::NLP nlp constraint, const RealVector &initpt, bool bound constr flag, const RealVector &lower bnds, const RealVector &upper bnds, const RealMatrix &lin ineq coeffs, const RealVector &lin ineq l bnds, const RealVector &lin ineq u bnds, const
RealMatrix &lin eq coeffs, const RealVector &lin eq targets, const RealVector &nln ineq l bnds, const
RealVector &nln ineq u bnds, const RealVector &nln eq targets)
convenience function for OPT++ configuration prior to the method invocation

void snll post run (OPTPP::NLP0 nlf objective)


convenience function for setting OPT++ options after the method instantiations

Static Protected Member Functions


static void init fn (int n, RealVector &x)
An initialization mechanism provided by OPT++ (not currently used).

13.151. SNLLBASE CLASS REFERENCE

809

Protected Attributes
String searchMethod
value based line search, gradient based line search, trust region, or tr pds

OPTPP::SearchStrategy searchStrat
enum: LineSearch, TrustRegion, or TrustPDS

OPTPP::MeritFcn meritFn
enum: NormFmu, ArgaezTapia, or VanShanno

Real maxStep
value from max step specification

Real stepLenToBndry
value from steplength to boundary specification

Real centeringParam
value from centering parameter specification

bool constantASVFlag
flags a user selection of active set vector == constant. By mapping this into mode override, reliance on duplicate
detection can be avoided.

Static Protected Attributes


static Minimizer optLSqInstance
pointer to the active base class object instance used within the static evaluator functions in order to avoid the need
for static data

static bool modeOverrideFlag


flags OPT++ mode override (for combining value, gradient, and Hessian requests)

static EvalType lastFnEvalLocn


an enum used to track whether an nlf evaluator or a constraint evaluator was the last location of a function evaluation

static int lastEvalMode


copy of mode from constraint evaluators

static RealVector lastEvalVars


copy of variables from constraint evaluators

13.151.1

Detailed Description

Base class for OPT++ optimization and least squares methods.


The SNLLBase class provides a common base class for SNLLOptimizer and SNLLLeastSq, both of which
are wrappers for OPT++, a C++ optimization library from the Computational Sciences and Mathematics Research
(CSMR) department at Sandias Livermore CA site.
The documentation for this class was generated from the following files:
SNLLBase.hpp
SNLLBase.cpp

810

CHAPTER 13. CLASS DOCUMENTATION

13.152

SNLLLeastSq Class Reference

Wrapper class for the OPT++ optimization library.


Inheritance diagram for SNLLLeastSq:
Iterator
Minimizer
LeastSq

SNLLBase

SNLLLeastSq

Public Member Functions


SNLLLeastSq (ProblemDescDB &problem db, Model &model)
standard constructor

SNLLLeastSq (const String &method name, Model &model)


alternate constructor for instantiations without ProblemDescDB support

SNLLLeastSq ()
destructor

void minimize residuals ()


Performs the iterations to determine the least squares solution.

Protected Member Functions


void initialize run ()
invokes LeastSq::initialize run(), SNLLBase::snll initialize run(), and performs other set-up

void post run (std::ostream &s)


invokes snll post run and re-implements post run (does not call parent) and performs other solution processing

void finalize run ()


restores instances

Static Private Member Functions


static void nlf2 evaluator gn (int mode, int n, const RealVector &x, double &f, RealVector &grad f, RealSymMatrix &hess f, int &result mode)
objective function evaluator function which obtains values and gradients for least square terms and computes
objective function value, gradient, and Hessian using the Gauss-Newton approximation.

static void constraint1 evaluator gn (int mode, int n, const RealVector &x, RealVector &g, RealMatrix
&grad g, int &result mode)
constraint evaluator function which provides constraint values and gradients to OPT++ Gauss-Newton methods.

static void constraint2 evaluator gn (int mode, int n, const RealVector &x, RealVector &g, RealMatrix
&grad g, OPTPP::OptppArray< RealSymMatrix > &hess g, int &result mode)

13.152. SNLLLEASTSQ CLASS REFERENCE

811

constraint evaluator function which provides constraint values, gradients, and Hessians to OPT++ Gauss-Newton
methods.

Private Attributes
SNLLLeastSq prevSnllLSqInstance
pointer to the previously active object instance used for restoration in the case of iterator/model recursion

OPTPP::NLP0 nlfObjective
objective NLF base class pointer

OPTPP::NLP0 nlfConstraint
constraint NLF base class pointer

OPTPP::NLP nlpConstraint
constraint NLP pointer

OPTPP::NLF2 nlf2
pointer to objective NLF for full Newton optimizers

OPTPP::NLF2 nlf2Con
pointer to constraint NLF for full Newton optimizers

OPTPP::NLF1 nlf1Con
pointer to constraint NLF for Quasi Newton optimizers

OPTPP::OptimizeClass theOptimizer
optimizer base class pointer

OPTPP::OptNewton optnewton
Newton optimizer pointer.

OPTPP::OptBCNewton optbcnewton
Bound constrained Newton optimizer ptr.

OPTPP::OptDHNIPS optdhnips
Disaggregated Hessian NIPS optimizer ptr.

Static Private Attributes


static SNLLLeastSq snllLSqInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

Additional Inherited Members


13.152.1

Detailed Description

Wrapper class for the OPT++ optimization library.


The SNLLLeastSq class provides a wrapper for OPT++, a C++ optimization library of nonlinear programming
and pattern search techniques from the Computational Sciences and Mathematics Research (CSMR) department
at Sandias Livermore CA site. It uses a function pointer approach for which passed functions must be either
global functions or static member functions. Any attribute used within static member functions must be either
local to that function, a static member, or accessed by static pointer.
The user input mappings are as follows: max iterations, max function evaluations, convergencetolerance, max step, gradient tolerance, search method, and search scheme size are

812

CHAPTER 13. CLASS DOCUMENTATION

set using OPT++s setMaxIter(), setMaxFeval(), setFcnTol(), setMaxStep(), setGradTol(), setSearchStrategy(),


and setSSS() member functions, respectively; output verbosity is used to toggle OPT++s debug mode using the setDebug() member function. Internal to OPT++, there are 3 search strategies, while the DAKOTA search method specification supports 4 (value based line search, gradient based line search, trust region, or tr pds). The difference stems from the is expensive flag in OPT++. If the
search strategy is LineSearch and is expensive is turned on, then the value based line search is used.
Otherwise (the is expensive default is off), the algorithm will use the gradient based line search. Refer to [Meza, J.C., 1994] and to the OPT++ source in the Dakota/packages/OPTPP directory for information on
OPT++ class member functions.

13.152.2

Member Function Documentation

void post run ( std::ostream & s ) [protected], [virtual]


invokes snll post run and re-implements post run (does not call parent) and performs other solution processing
SNLLLeastSq requires fn DB lookup, so overrides LeastSq::post run and directly invokes Iterator::post run
when complete.
Reimplemented from LeastSq.
References Iterator::activeSet, Iterator::bestResponseArray, Iterator::bestVariablesArray, SNLLBase::copy con vals optpp to dak(), Dakota::copy data partial(), Minimizer::cvScaleMultipliers, Minimizer::cvScaleOffsets,
Minimizer::cvScaleTypes, Dakota::data pairs, Minimizer::expData, LeastSq::get confidence intervals(), Model::interface id(), Iterator::iteratedModel, Dakota::lookup by val(), Minimizer::modify s2n(), Minimizer::need resptrans byvars(), SNLLLeastSq::nlfObjective, Minimizer::numExperiments, Minimizer::numFunctions, LeastSq::numLeastSqTerms, Minimizer::numNonlinearConstraints, Minimizer::numReplicates, Minimizer::numUserPrimaryFns, Minimizer::obsDataFlag, Minimizer::post run(), ActiveSet::request values(), ActiveSet::request vector(), Minimizer::responseScaleMultipliers, Minimizer::responseScaleOffsets, Minimizer::responseScaleTypes, ExperimentData::scalar data(), Minimizer::secondaryRespScaleFlag, SNLLBase::snll post run(), SNLLLeastSq::theOptimizer, and
Minimizer::varsScaleFlag.
void nlf2 evaluator gn ( int mode, int n, const RealVector & x, double & f, RealVector & grad f,
RealSymMatrix & hess f, int & result mode ) [static], [private]
objective function evaluator function which obtains values and gradients for least square terms and computes
objective function value, gradient, and Hessian using the Gauss-Newton approximation.
This nlf2 evaluator function is used for the Gauss-Newton method in order to exploit the special structure
of the nonlinear least squares problem. Here, fx = sum (T i - Tbar i) 2 and Response is made up of residual
functions and their gradients along with any nonlinear constraints. The objective function and its gradient vector
and Hessian matrix are computed directly from the residual functions and their derivatives (which are returned
from the Response object).
References Dakota::abort handler(), Iterator::activeSet, Model::compute response(), Model::continuous variables(),
Model::current response(), Response::function gradients(), Response::function values(), Iterator::iteratedModel,
SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numFunctions, LeastSq::numLeastSqTerms, Minimizer::numNonlinearConstraints, Iterator::outputLevel, ActiveSet::request vector(),
SNLLLeastSq::snllLSqInstance, and Dakota::write precision.
Referenced by SNLLLeastSq::SNLLLeastSq().
void constraint1 evaluator gn ( int mode, int n, const RealVector & x, RealVector & g, RealMatrix &
grad g, int & result mode ) [static], [private]
constraint evaluator function which provides constraint values and gradients to OPT++ Gauss-Newton methods.

13.153. SNLLOPTIMIZER CLASS REFERENCE

813

While it does not employ the Gauss-Newton approximation, it is distinct from constraint1 evaluator() due to
its need to anticipate the required modes for the least squares terms. This constraint evaluator function is used
with diaggregated Hessian NIPS and is currently active.
References Dakota::abort handler(), Iterator::activeSet, Model::compute response(), Model::continuous variables(),
SNLLBase::copy con grad(), SNLLBase::copy con vals dak to optpp(), Model::current response(), Response::function gradients(), Response::function values(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numFunctions, LeastSq::numLeastSqTerms, Iterator::outputLevel, ActiveSet::request vector(), and SNLLLeastSq::snllLSqInstance.
Referenced by SNLLLeastSq::SNLLLeastSq().
void constraint2 evaluator gn ( int mode, int n, const RealVector & x, RealVector & g, RealMatrix
& grad g, OPTPP::OptppArray< RealSymMatrix > & hess g, int & result mode ) [static],
[private]
constraint evaluator function which provides constraint values, gradients, and Hessians to OPT++ Gauss-Newton
methods.
While it does not employ the Gauss-Newton approximation, it is distinct from constraint2 evaluator() due to
its need to anticipate the required modes for the least squares terms. This constraint evaluator function is used
with full Newton NIPS and is currently inactive.
References Dakota::abort handler(), Iterator::activeSet, Model::compute response(), Model::continuous variables(),
SNLLBase::copy con grad(), SNLLBase::copy con hess(), SNLLBase::copy con vals dak to optpp(), Model::currentresponse(), Response::function gradients(), Response::function hessians(), Response::function values(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, SNLLBase::modeOverrideFlag, Minimizer::numFunctions, LeastSq::numLeastSqTerms, Iterator::outputLevel, ActiveSet::request vector(), and SNLLLeastSq::snllLSqInstance.
The documentation for this class was generated from the following files:
SNLLLeastSq.hpp
SNLLLeastSq.cpp

13.153

SNLLOptimizer Class Reference

Wrapper class for the OPT++ optimization library.


Inheritance diagram for SNLLOptimizer:
Iterator
Minimizer
Optimizer

SNLLBase

SNLLOptimizer

Public Member Functions


SNLLOptimizer (ProblemDescDB &problem db, Model &model)

814

CHAPTER 13. CLASS DOCUMENTATION


standard constructor

SNLLOptimizer (const String &method string, Model &model)


alternate constructor for instantiations on the fly

SNLLOptimizer (const RealVector &initial pt, const RealVector &var l bnds, const RealVector &var u bnds, const RealMatrix &lin ineq coeffs, const RealVector &lin ineq l bnds, const RealVector &lin inequ bnds, const RealMatrix &lin eq coeffs, const RealVector &lin eq tgts, const RealVector &nln ineq l bnds, const RealVector &nln ineq u bnds, const RealVector &nln eq tgts, void(user obj eval)(int mode,
int n, const RealVector &x, double &f, RealVector &grad f, int &result mode), void(user con eval)(int
mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad g, int &result mode))
alternate constructor for instantiations on the fly

SNLLOptimizer ()
destructor

void find optimum ()


Performs the iterations to determine the optimal solution.

Protected Member Functions


void initialize run ()
invokes Optimizer::initialize run(), SNLLBase::snll initialize run(), and performs other set-up

void post run (std::ostream &s)


performs data recovery and calls Optimizer::post run()

void finalize run ()


performs cleanup, restores instances and calls parent finalize

Static Private Member Functions


static void nlf0 evaluator (int n, const RealVector &x, double &f, int &result mode)
objective function evaluator function for OPT++ methods which require only function values.

static void nlf1 evaluator (int mode, int n, const RealVector &x, double &f, RealVector &grad f, int &resultmode)
objective function evaluator function which provides function values and gradients to OPT++ methods.

static void nlf2 evaluator (int mode, int n, const RealVector &x, double &f, RealVector &grad f, RealSymMatrix &hess f, int &result mode)
objective function evaluator function which provides function values, gradients, and Hessians to OPT++ methods.

static void constraint0 evaluator (int n, const RealVector &x, RealVector &g, int &result mode)
constraint evaluator function for OPT++ methods which require only constraint values.

static void constraint1 evaluator (int mode, int n, const RealVector &x, RealVector &g, RealMatrix &gradg, int &result mode)
constraint evaluator function which provides constraint values and gradients to OPT++ methods.

static void constraint2 evaluator (int mode, int n, const RealVector &x, RealVector &g, RealMatrix &gradg, OPTPP::OptppArray< RealSymMatrix > &hess g, int &result mode)
constraint evaluator function which provides constraint values, gradients, and Hessians to OPT++ methods.

13.153. SNLLOPTIMIZER CLASS REFERENCE

Private Attributes
SNLLOptimizer prevSnllOptInstance
pointer to the previously active object instance used for restoration in the case of iterator/model recursion

OPTPP::NLP0 nlfObjective
objective NLF base class pointer

OPTPP::NLP0 nlfConstraint
constraint NLF base class pointer

OPTPP::NLP nlpConstraint
constraint NLP pointer

OPTPP::NLF0 nlf0
pointer to objective NLF for nongradient optimizers

OPTPP::NLF1 nlf1
pointer to objective NLF for (analytic) gradient-based optimizers

OPTPP::NLF1 nlf1Con
pointer to constraint NLF for (analytic) gradient-based optimizers

OPTPP::FDNLF1 fdnlf1
pointer to objective NLF for (finite diff) gradient-based optimizers

OPTPP::FDNLF1 fdnlf1Con
pointer to constraint NLF for (finite diff) gradient-based optimizers

OPTPP::NLF2 nlf2
pointer to objective NLF for full Newton optimizers

OPTPP::NLF2 nlf2Con
pointer to constraint NLF for full Newton optimizers

OPTPP::OptimizeClass theOptimizer
optimizer base class pointer

OPTPP::OptPDS optpds
PDS optimizer pointer.

OPTPP::OptCG optcg
CG optimizer pointer.

OPTPP::OptLBFGS optlbfgs
L-BFGS optimizer pointer.

OPTPP::OptNewton optnewton
Newton optimizer pointer.

OPTPP::OptQNewton optqnewton
Quasi-Newton optimizer pointer.

OPTPP::OptFDNewton optfdnewton
Finite Difference Newton opt pointer.

OPTPP::OptBCNewton optbcnewton
Bound constrained Newton opt pointer.

OPTPP::OptBCQNewton optbcqnewton
Bnd constrained Quasi-Newton opt ptr.

OPTPP::OptBCFDNewton optbcfdnewton

815

816

CHAPTER 13. CLASS DOCUMENTATION


Bnd constrained FD-Newton opt ptr.

OPTPP::OptNIPS optnips
NIPS optimizer pointer.

OPTPP::OptQNIPS optqnips
Quasi-Newton NIPS optimizer pointer.

OPTPP::OptFDNIPS optfdnips
Finite Difference NIPS opt pointer.

String setUpType
flag for iteration mode: model (normal usage) or user functions (user-supplied functions mode for on the
fly instantiations). NonDReliability currently uses the user functions mode.

RealVector initialPoint
holds initial point passed in for user functions mode.

RealVector lowerBounds
holds variable lower bounds passed in for user functions mode.

RealVector upperBounds
holds variable upper bounds passed in for user functions mode.

Static Private Attributes


static SNLLOptimizer snllOptInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

Additional Inherited Members


13.153.1

Detailed Description

Wrapper class for the OPT++ optimization library.


The SNLLOptimizer class provides a wrapper for OPT++, a C++ optimization library of nonlinear programming and pattern search techniques from the Computational Sciences and Mathematics Research (CSMR) department at Sandias Livermore CA site. It uses a function pointer approach for which passed functions must be either
global functions or static member functions. Any attribute used within static member functions must be either
local to that function, a static member, or accessed by static pointer.
The user input mappings are as follows: max iterations, max function evaluations, convergencetolerance, max step, gradient tolerance, search method, and search scheme size are
set using OPT++s setMaxIter(), setMaxFeval(), setFcnTol(), setMaxStep(), setGradTol(), setSearchStrategy(),
and setSSS() member functions, respectively; output verbosity is used to toggle OPT++s debug mode using the setDebug() member function. Internal to OPT++, there are 3 search strategies, while the DAKOTA search method specification supports 4 (value based line search, gradient based line search, trust region, or tr pds). The difference stems from the is expensive flag in OPT++. If the
search strategy is LineSearch and is expensive is turned on, then the value based line search is used.
Otherwise (the is expensive default is off), the algorithm will use the gradient based line search. Refer to [Meza, J.C., 1994] and to the OPT++ source in the Dakota/packages/OPTPP directory for information on
OPT++ class member functions.

13.153. SNLLOPTIMIZER CLASS REFERENCE

13.153.2

817

Constructor & Destructor Documentation

SNLLOptimizer ( ProblemDescDB & problem db, Model & model )


standard constructor
This constructor is used for normal instantiations using data from the ProblemDescDB.
References Dakota::abort handler(), Minimizer::boundConstraintFlag, SNLLBase::centeringParam, SNLLOptimizer::constraint0 evaluator(), SNLLOptimizer::constraint1 evaluator(), SNLLOptimizer::constraint2 evaluator(),
Iterator::convergenceTol, Model::fd gradient step size(), SNLLOptimizer::fdnlf1, SNLLOptimizer::fdnlf1Con,
ProblemDescDB::get int(), ProblemDescDB::get real(), SNLLBase::init fn(), Model::interval type(), Iterator::iteratedModel, Dakota::LARGE SCALE, Iterator::maxEvalConcurrency, Iterator::maxFunctionEvals, Iterator::maxIterations,
SNLLBase::maxStep, SNLLBase::meritFn, Iterator::method enum to string(), Iterator::methodName, SNLLOptimizer::nlf0, SNLLOptimizer::nlf0 evaluator(), SNLLOptimizer::nlf1, SNLLOptimizer::nlf1 evaluator(), SNLLOptimizer::nlf1Con, SNLLOptimizer::nlf2, SNLLOptimizer::nlf2 evaluator(), SNLLOptimizer::nlf2Con, SNLLOptimizer::nlfConstraint, SNLLOptimizer::nlfObjective, SNLLOptimizer::nlpConstraint, Minimizer::numConstraints, Minimizer::numContinuousVars, Minimizer::numNonlinearConstraints, SNLLOptimizer::optbcfdnewton, SNLLOptimizer::optbcnewton, SNLLOptimizer::optbcqnewton, SNLLOptimizer::optcg, SNLLOptimizer::optfdnewton, SNLLOptimizer::optfdnips, SNLLOptimizer::optlbfgs, SNLLOptimizer::optnewton, SNLLOptimizer::optnips, SNLLOptimizer::optpds, SNLLOptimizer::optqnewton, SNLLOptimizer::optqnips, Iterator::outputLevel, Iterator::probDescDB, SNLLBase::searchStrat, SNLLBase::snll post instantiate(), SNLLBase::snll pre instantiate(), SNLLBase::stepLenToBndry, SNLLOptimizer::theOptimizer, and Minimizer::vendorNumericalGradFlag.
SNLLOptimizer ( const String & method string, Model & model )
alternate constructor for instantiations on the fly
This is an alternate constructor for instantiations on the fly using a Model but no ProblemDescDB.
References Minimizer::boundConstraintFlag, SNLLOptimizer::constraint1 evaluator(), Iterator::convergenceTol, Model::fd gradient step size(), SNLLBase::init fn(), Model::interval type(), Iterator::iteratedModel, Dakota::LARGE SCALE, Iterator::maxFunctionEvals, Iterator::maxIterations, SNLLBase::meritFn, Iterator::methodName, SNLLOptimizer::nlf1, SNLLOptimizer::nlf1 evaluator(), SNLLOptimizer::nlf1Con, SNLLOptimizer::nlfConstraint, SNLLOptimizer::nlfObjective, SNLLOptimizer::nlpConstraint, Minimizer::numConstraints, Minimizer::numContinuousVars, Minimizer::numNonlinearConstraints, SNLLOptimizer::optbcqnewton, SNLLOptimizer::optlbfgs, SNLLOptimizer::optqnewton, SNLLOptimizer::optqnips, Iterator::outputLevel, SNLLBase::searchStrat, SNLLBase::snll post instantiate(), SNLLBase::snll pre instantiate(), SNLLOptimizer::theOptimizer, and
Minimizer::vendorNumericalGradFlag.
SNLLOptimizer ( const RealVector & initial pt, const RealVector & var l bnds, const RealVector &
var u bnds, const RealMatrix & lin ineq coeffs, const RealVector & lin ineq l bnds, const RealVector &
lin ineq u bnds, const RealMatrix & lin eq coeffs, const RealVector & lin eq tgts, const RealVector &
nln ineq l bnds, const RealVector & nln ineq u bnds, const RealVector & nln eq tgts, void()(int mode,
int n, const RealVector &x, double &f, RealVector &grad f, int &result mode) user obj eval, void()(int
mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad g, int &result mode) user con eval )
alternate constructor for instantiations on the fly
This is an alternate constructor for performing an optimization using the passed in objective function and
constraint function pointers.
References Minimizer::bigRealBoundSize, Minimizer::boundConstraintFlag, SNLLBase::init fn(), SNLLOptimizer::initialPoint, Dakota::LARGE SCALE, SNLLOptimizer::lowerBounds, SNLLBase::meritFn, SNLLOptimizer::nlf1, SNLLOptimizer::nlf1Con, SNLLOptimizer::nlfConstraint, SNLLOptimizer::nlfObjective, SNLLOptimizer::nlpConstraint, Minimizer::numConstraints, Minimizer::numContinuousVars, Minimizer::numNonlinearConstraints,
SNLLOptimizer::optbcqnewton, SNLLOptimizer::optlbfgs, SNLLOptimizer::optqnewton, SNLLOptimizer::optqnips,

818

CHAPTER 13. CLASS DOCUMENTATION

Iterator::outputLevel, SNLLBase::searchStrat, SNLLBase::snll initialize run(), SNLLBase::snll post instantiate(),


SNLLBase::snll pre instantiate(), SNLLOptimizer::theOptimizer, and SNLLOptimizer::upperBounds.

13.153.3

Member Function Documentation

void nlf0 evaluator ( int n, const RealVector & x, double & f, int & result mode ) [static],
[private]
objective function evaluator function for OPT++ methods which require only function values.
For use when DAKOTA computes f and gradients are not directly available. This is used by nongradient-based
optimizers such as PDS and by gradient-based optimizers in vendor numerical gradient mode (opt++s internal
finite difference routine is used).
References Model::compute response(), Model::continuous variables(), Model::current response(), Response::function value(), Iterator::iteratedModel, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numNonlinearConstraints, Iterator::outputLevel, Model::primary response fn sense(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
void nlf1 evaluator ( int mode, int n, const RealVector & x, double & f, RealVector & grad f, int &
result mode ) [static], [private]
objective function evaluator function which provides function values and gradients to OPT++ methods.
For use when DAKOTA computes f and df/dX (regardless of gradient type). Vendor numerical gradient case
is handled by nlf0 evaluator.
References Iterator::activeSet, Model::compute response(), Model::continuous variables(), Model::current response(), Response::function gradient copy(), Response::function value(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numNonlinearConstraints, Iterator::outputLevel, Model::primary response fn sense(), ActiveSet::request values(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
void nlf2 evaluator ( int mode, int n, const RealVector & x, double & f, RealVector & grad f,
RealSymMatrix & hess f, int & result mode ) [static], [private]
objective function evaluator function which provides function values, gradients, and Hessians to OPT++ methods.
For use when DAKOTA receives f, df/dX, & d 2f/dx 2 from the ApplicationInterface (analytic only). Finite
differencing does not make sense for a full Newton approach, since lack of analytic gradients & Hessian should
dictate the use of quasi-newton or fd-newton. Thus, there is no fdnlf2 evaluator for use with full Newton approaches, since it is preferable to use quasi-newton or fd-newton with nlf1. Gauss-Newton does not fit this model;
it uses nlf2 evaluator gn instead of nlf2 evaluator.
References Iterator::activeSet, Model::compute response(), Model::continuous variables(), Model::current response(), Response::function gradient copy(), Response::function hessian(), Response::function value(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numNonlinearConstraints, Iterator::outputLevel, Model::primary response fn sense(), ActiveSet::request values(),
and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
void constraint0 evaluator ( int n, const RealVector & x, RealVector & g, int & result mode )
[static], [private]
constraint evaluator function for OPT++ methods which require only constraint values.

13.154. SOLBASE CLASS REFERENCE

819

For use when DAKOTA computes g and gradients are not directly available. This is used by nongradientbased optimizers and by gradient-based optimizers in vendor numerical gradient mode (opt++s internal finite
difference routine is used).
References Model::compute response(), Model::continuous variables(), SNLLBase::copy con vals dak to optpp(), Model::current response(), Response::function values(), Iterator::iteratedModel, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Optimizer::numObjectiveFns, Iterator::outputLevel, and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
void constraint1 evaluator ( int mode, int n, const RealVector & x, RealVector & g, RealMatrix &
grad g, int & result mode ) [static], [private]
constraint evaluator function which provides constraint values and gradients to OPT++ methods.
For use when DAKOTA computes g and dg/dX (regardless of gradient type). Vendor numerical gradient case
is handled by constraint0 evaluator.
References Iterator::activeSet, Model::compute response(), Model::continuous variables(), SNLLBase::copycon grad(), SNLLBase::copy con vals dak to optpp(), Model::current response(), Response::function gradients(),
Response::function values(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Optimizer::numObjectiveFns, Iterator::outputLevel, ActiveSet::request values(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
void constraint2 evaluator ( int mode, int n, const RealVector & x, RealVector & g, RealMatrix
& grad g, OPTPP::OptppArray< RealSymMatrix > & hess g, int & result mode ) [static],
[private]
constraint evaluator function which provides constraint values, gradients, and Hessians to OPT++ methods.
For use when DAKOTA computes g, dg/dX, & d 2g/dx 2 (analytic only).
References Iterator::activeSet, Model::compute response(), Model::continuous variables(), SNLLBase::copycon grad(), SNLLBase::copy con hess(), SNLLBase::copy con vals dak to optpp(), Model::current response(),
Response::function gradients(), Response::function hessians(), Response::function values(), Iterator::iteratedModel,
SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Optimizer::numObjectiveFns,
Iterator::outputLevel, ActiveSet::request values(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
The documentation for this class was generated from the following files:
SNLLOptimizer.hpp
SNLLOptimizer.cpp

13.154

SOLBase Class Reference

Base class for Stanford SOL software.


Inheritance diagram for SOLBase:

SOLBase
NLSSOLLeastSq

NPSOLOptimizer

820

CHAPTER 13. CLASS DOCUMENTATION

Public Member Functions


SOLBase ()
default constructor

SOLBase (Model &model)


standard constructor

SOLBase ()
destructor

Protected Member Functions


void allocate arrays (int num cv, size t num nln con, const RealMatrix &lin ineq coeffs, const RealMatrix
&lin eq coeffs)
Allocates miscellaneous arrays for the SOL algorithms.

void deallocate arrays ()


Deallocates memory previously allocated by allocate arrays().

void allocate workspace (int num cv, int num nln con, int num lin con, int num lsq)
Allocates real and integer workspaces for the SOL algorithms.

void set options (bool speculative flag, bool vendor num grad flag, short output lev, int verify lev, Real
fn prec, Real linesrch tol, int max iter, Real constr tol, Real conv tol, const std::string &grad type, const
RealVector &fdss)
Sets SOL method options using calls to npoptn2.

void augment bounds (RealVector &augmented l bnds, RealVector &augmented u bnds, const RealVector
&lin ineq l bnds, const RealVector &lin ineq u bnds, const RealVector &lin eq targets, const RealVector
&nln ineq l bnds, const RealVector &nln ineq u bnds, const RealVector &nln eq targets)
augments variable bounds with linear and nonlinear constraint bounds.

Static Protected Member Functions


static void constraint eval (int &mode, int &ncnln, int &n, int &nrowj, int needc, double x, double c,
double cjac, int &nstate)
CONFUN in NPSOL manual: computes the values and first derivatives of the nonlinear constraint functions.

Protected Attributes
int realWorkSpaceSize
size of realWorkSpace

int intWorkSpaceSize
size of intWorkSpace

RealArray realWorkSpace
real work space for NPSOL/NLSSOL

IntArray intWorkSpace
int work space for NPSOL/NLSSOL

int nlnConstraintArraySize
used for non-zero array sizing (nonlinear constraints)

int linConstraintArraySize

13.154. SOLBASE CLASS REFERENCE

821

used for non-zero array sizing (linear constraints)

RealArray cLambda
CLAMBDA from NPSOL manual: Langrange multipliers.

IntArray constraintState
ISTATE from NPSOL manual: constraint status.

int informResult
INFORM from NPSOL manual: optimization status on exit.

int numberIterations
ITER from NPSOL manual: number of (major) iterations performed.

int boundsArraySize
length of augmented bounds arrays (variable bounds plus linear and nonlinear constraint bounds)

double linConstraintMatrixF77
[A] matrix from NPSOL manual: linear constraint coefficients

double upperFactorHessianF77
[R] matrix from NPSOL manual: upper Cholesky factor of the Hessian of the Lagrangian.

double constraintJacMatrixF77
[CJAC] matrix from NPSOL manual: nonlinear constraint Jacobian

int fnEvalCntr
counter for testing against maxFunctionEvals

size t constrOffset
used in constraint eval() to bridge NLSSOLLeastSq::numLeastSqTerms and NPSOLOptimizer::numObjectiveFns

Static Protected Attributes


static SOLBase solInstance
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static
data

static Minimizer optLSqInstance


pointer to the active base class object instance used within the static evaluator functions in order to avoid the need
for static data

13.154.1

Detailed Description

Base class for Stanford SOL software.


The SOLBase class provides a common base class for NPSOLOptimizer and NLSSOLLeastSq, both of which
are Fortran 77 sequential quadratic programming algorithms from Stanford University marketed by Stanford
Business Associates.
The documentation for this class was generated from the following files:
SOLBase.hpp
SOLBase.cpp

822

CHAPTER 13. CLASS DOCUMENTATION

13.155

SpawnApplicInterface Class Reference

Derived application interface class which spawns simulation codes using spawnvp.
Inheritance diagram for SpawnApplicInterface:
Interface
ApplicationInterface
ProcessApplicInterface
ProcessHandleApplicInterface
SpawnApplicInterface

Public Member Functions


SpawnApplicInterface (const ProblemDescDB &problem db)
constructor

SpawnApplicInterface ()
destructor

Protected Member Functions


void wait local evaluations (PRPQueue &prp queue)
For asynchronous function evaluations, this method is used to detect completion of jobs and process their results.
It provides the processing code that is specific to derived classes. This version waits for at least one completion.

void test local evaluations (PRPQueue &prp queue)


For asynchronous function evaluations, this method is used to detect completion of jobs and process their results. It
provides the processing code that is specific to derived classes. This version is nonblocking and will return without
any completions if none are immediately available.

pid t create analysis process (bool block flag, bool new group)
spawn a child process for an analysis component within an evaluation

size t wait local analyses ()


wait for asynchronous analyses on the local processor, completing at least one job

size t test local analyses send (int analysis id)


test for asynchronous analysis completions on the local processor and return results for any completions by sending
messages

Additional Inherited Members


13.155.1

Detailed Description

Derived application interface class which spawns simulation codes using spawnvp.

13.156. SURFPACKAPPROXIMATION CLASS REFERENCE

823

SpawnApplicInterface is used on Windows systems and is a peer to ForkApplicInterface for Unix systems.
The documentation for this class was generated from the following files:
SpawnApplicInterface.hpp
SpawnApplicInterface.cpp

13.156

SurfpackApproximation Class Reference

Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
Inheritance diagram for SurfpackApproximation:

Approximation
SurfpackApproximation

Public Member Functions


SurfpackApproximation ()
default constructor

SurfpackApproximation (const ProblemDescDB &problem db, const SharedApproxData &shared data)


standard constructor: Surfpack surface of appropriate type will be created

SurfpackApproximation (const SharedApproxData &shared data)


alternate constructor

SurfpackApproximation ()
destructor

Protected Member Functions


int min coefficients () const
return the minimum number of samples (unknowns) required to build the derived class approximation type in numVars dimensions

int recommended coefficients () const


return the recommended number of samples (unknowns) required to build the derived class approximation type in
numVars dimensions

void build ()
SurfData object will be created from Dakotas SurrogateData, and the appropriate Surfpack build method will be
invoked.

Real value (const Variables &vars)


Return the value of the Surfpack surface for a given parameter vector x.

const RealVector & gradient (const Variables &vars)


retrieve the approximate function gradient for a given parameter vector x

const RealSymMatrix & hessian (const Variables &vars)


retrieve the approximate function Hessian for a given parameter vector x

Real prediction variance (const Variables &vars)

824

CHAPTER 13. CLASS DOCUMENTATION


retrieve the variance of the predicted value for a given parameter set x (KrigingModel only)

bool diagnostics available ()


check if the diagnostics are available (true for the Surfpack types)

Real diagnostic (const String &metric type)


retrieve a single diagnostic metric for the diagnostic type specified on the primary model and data

Real diagnostic (const String &metric type, const SurfpackModel &model, const SurfData &data)
retrieve a single diagnostic metric for the diagnostic type specified on the given model and data

void primary diagnostics (int fn index)


compute and print all requested diagnostics and cross-validation

void challenge diagnostics (const RealMatrix &challenge points, int fn index)


compute and print all requested diagnostics for user provided challenge pts

Private Member Functions


SurfData surrogates to surf data ()
copy from SurrogateData to SurfPoint/SurfData

void add anchor to surfdata (SurfData &surf data)


set the anchor point (including gradient and hessian if present) into surf data

Private Attributes
SurfpackModel model
The native Surfpack approximation.

SurfpackModelFactory factory
factory for the SurfpackModel instance

SurfData surfData
The data used to build the approximation, in Surfpack format.

Additional Inherited Members


13.156.1

Detailed Description

Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
The SurfpackApproximation class is the interface between Dakota and Surfpack. Based on the information in
the ProblemDescDB that is passed in through the constructor, SurfpackApproximation builds a Surfpack Surface
object that corresponds to one of the following data-fitting techniques: polynomial regression, kriging, artificial
neural networks, radial basis function network, or multivariate adaptaive regression splines (MARS).

13.156.2

Constructor & Destructor Documentation

SurfpackApproximation ( const ProblemDescDB & problem db, const SharedApproxData & shared data
)
standard constructor: Surfpack surface of appropriate type will be created
Initialize the embedded Surfpack surface object and configure it using the specifications from the input file.
Data for the surface is created later.
References Dakota::abort handler(), SharedSurfpackApproxData::approxOrder, SharedApproxData::approxType, SharedApproxData::buildDataOrder, Dakota::copy data(), SharedSurfpackApproxData::crossValidateFlag,

13.156. SURFPACKAPPROXIMATION CLASS REFERENCE

825

SharedSurfpackApproxData::diagnosticSet, SharedSurfpackApproxData::exportModelName, SurfpackApproximation::factory, ProblemDescDB::get real(), ProblemDescDB::get rv(), ProblemDescDB::get short(), ProblemDescDB::get string(), SharedSurfpackApproxData::numFolds, SharedApproxData::numVars, SharedApproxData::outputLevel, SharedSurfpackApproxData::percentFold, Approximation::sharedDataRep, and Dakota::strends().
SurfpackApproximation ( const SharedApproxData & shared data )
alternate constructor
On-the-fly constructor which uses mostly Surfpack model defaults.
References Dakota::abort handler(), SharedSurfpackApproxData::approxOrder, SharedApproxData::approxType, SharedApproxData::buildDataOrder, SurfpackApproximation::factory, SharedApproxData::numVars, SharedApproxData::outputLevel, and Approximation::sharedDataRep.

13.156.3
void build (

Member Function Documentation


) [protected], [virtual]

SurfData object will be created from Dakotas SurrogateData, and the appropriate Surfpack build method will be
invoked.
surfData will be deleted in dtor
Todo Right now, were completely deleting the old data and then recopying the current data into a SurfData
object. This was just the easiest way to arrive at a solution that would build and run. This function is
frequently called from addPoint rebuild, however, and its not good to go through this whole process every
time one more data point is added.
Reimplemented from Approximation.
References Dakota::abort handler(), SharedApproxData::approxCLowerBnds, SharedApproxData::approxCUpperBnds, SharedApproxData::approxDILowerBnds, SharedApproxData::approxDIUpperBnds, SharedApproxData::approxDRLowerBnds, SharedApproxData::approxDRUpperBnds, Approximation::build(), SharedSurfpackApproxData::exportModelName, SurfpackApproximation::factory, SharedSurfpackApproxData::merge variablearrays(), SurfpackApproximation::model, SharedApproxData::outputLevel, Approximation::sharedDataRep, SurfpackApproximation::surfData, and SurfpackApproximation::surrogates to surf data().
const RealSymMatrix & hessian ( const Variables & vars ) [protected], [virtual]
retrieve the approximate function Hessian for a given parameter vector x
Todo Make this acceptably efficient
Reimplemented from Approximation.
References Dakota::abort handler(), Approximation::approxHessian, SharedApproxData::approxType, Variables::cv(), SurfpackApproximation::model, and Approximation::sharedDataRep.
Referenced by SurfpackApproximation::add anchor to surfdata().
SurfData surrogates to surf data (

) [private]

copy from SurrogateData to SurfPoint/SurfData


Copy the data stored in Dakota-style SurrogateData into Surfpack-style SurfPoint and SurfData objects.
References SurfpackApproximation::add anchor to surfdata(), SharedSurfpackApproxData::add sd to surfdata(),
Approximation::approxData, SharedApproxData::buildDataOrder, SurfpackApproximation::factory, SharedApproxData::outputLevel, and Approximation::sharedDataRep.
Referenced by SurfpackApproximation::build().

826

CHAPTER 13. CLASS DOCUMENTATION

void add anchor to surfdata ( SurfData & surf data ) [private]


set the anchor point (including gradient and hessian if present) into surf data
If there is an anchor point, add an equality constraint for its response value. Also add constraints for gradient
and hessian, if applicable.
References Dakota::abort handler(), Approximation::approxData, Dakota::copy data(), SharedSurfpackApproxData::copy matrix(), SurfpackApproximation::gradient(), SurfpackApproximation::hessian(), SharedApproxData::outputLevel, SharedSurfpackApproxData::sdv to realarray(), and Approximation::sharedDataRep.
Referenced by SurfpackApproximation::surrogates to surf data().
The documentation for this class was generated from the following files:
SurfpackApproximation.hpp
SurfpackApproximation.cpp

13.157

SurrBasedGlobalMinimizer Class Reference

The global surrogate-based minimizer which sequentially minimizes and updates a global surrogate model without
trust region controls.
Inheritance diagram for SurrBasedGlobalMinimizer:
Iterator
Minimizer
SurrBasedMinimizer
SurrBasedGlobalMinimizer

Public Member Functions


SurrBasedGlobalMinimizer (ProblemDescDB &problem db, Model &model)
constructor

SurrBasedGlobalMinimizer ()
destructor

Protected Member Functions


void init communicators ()
initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

bool returns multiple points () const


Global surrogate-based methods can return multiple points.

13.158. SURRBASEDLOCALMINIMIZER CLASS REFERENCE

827

Private Member Functions


void minimize surrogates ()
Performs global surrogate-based optimization by repeatedly optimizing on and improving surrogates of the response
functions.

Private Attributes
bool replacePoints
flag for replacing the previous iterations point additions, rather than continuing to append, during construction of
the next surrogate

Additional Inherited Members


13.157.1

Detailed Description

The global surrogate-based minimizer which sequentially minimizes and updates a global surrogate model without
trust region controls.
This method uses a SurrogateModel to perform minimization (optimization or nonlinear least squares) through
a set of iterations. At each iteration, a surrogate is built, the surrogate is minimized, and the optimal points from
the surrogate are then evaluated with the true function, to generate new points upon which the surrogate for the
next iteration is built.
The documentation for this class was generated from the following files:
SurrBasedGlobalMinimizer.hpp
SurrBasedGlobalMinimizer.cpp

13.158

SurrBasedLocalMinimizer Class Reference

Class for provably-convergent local surrogate-based optimization and nonlinear least squares.
Inheritance diagram for SurrBasedLocalMinimizer:
Iterator
Minimizer
SurrBasedMinimizer
SurrBasedLocalMinimizer

Public Member Functions


SurrBasedLocalMinimizer (ProblemDescDB &problem db, Model &model)
constructor

SurrBasedLocalMinimizer ()
destructor

828

CHAPTER 13. CLASS DOCUMENTATION

Protected Member Functions


void init communicators ()
initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models

void free communicators ()


free the communicators associated with iteratedModel as well as any subordinate iterators or subordinate models

void reset ()
reset convergence controls in case of multiple SBLM executions

Private Member Functions


void minimize surrogates ()
Performs local surrogate-based minimization by minimizing local, global, or hierarchical surrogates over a series
of trust regions.

bool tr bounds (const RealVector &global lower bnds, const RealVector &global upper bnds, RealVector
&tr lower bnds, RealVector &tr upper bnds)
compute current trust region bounds

void find center truth (const Iterator &dace iterator, Model &truth model)
retrieve responseCenterTruth if possible, evaluate it if not

void find center approx ()


retrieve responseCenter approx if possible, evaluate it if not

void hard convergence check (const Response &response truth, const RealVector &c vars, const RealVector &lower bnds, const RealVector &upper bnds)
check for hard convergence (norm of projected gradient of merit function near zero)

void tr ratio check (const RealVector &c vars star, const RealVector &tr lower bounds, const RealVector
&tr upper bounds)
compute trust region ratio (for SBLM iterate acceptance and trust region resizing) and check for soft convergence
(diminishing returns)

void update penalty (const RealVector &fns center truth, const RealVector &fns star truth)
initialize and update the penaltyParameter

void relax constraints (const RealVector &lower bnds, const RealVector &upper bnds)
relax constraints by updating bounds when current iterate is infeasible

Static Private Member Functions


static void approx subprob objective eval (const Variables &surrogate vars, const Variables &recast vars,
const Response &surrogate response, Response &recast response)
static function used to define the approximate subproblem objective.

static void approx subprob constraint eval (const Variables &surrogate vars, const Variables &recast vars,
const Response &surrogate response, Response &recast response)
static function used to define the approximate subproblem constraints.

static void hom objective eval (int &mode, int &n, double tau and x, double &f, double grad f, int &)
static function used by NPSOL as the objective function in the homotopy constraint relaxation formulation.

static void hom constraint eval (int &mode, int &ncnln, int &n, int &nrowj, int needc, double tau and x,
double c, double cjac, int &nstate)
static function used by NPSOL as the constraint function in the homotopy constraint relaxation formulation.

13.158. SURRBASEDLOCALMINIMIZER CLASS REFERENCE

829

Private Attributes
Real origTrustRegionFactor
original user specification for trustRegionFactor

Real trustRegionFactor
the trust region factor is used to compute the total size of the trust region it is a percentage, e.g. for trustRegionFactor = 0.1, the actual size of the trust region will be 10% of the global bounds (upper bound - lower bound for
each design variable).

Real minTrustRegionFactor
a soft convergence control: stop SBLM when the trust region factor is reduced below the value of minTrustRegionFactor

Real trRatioContractValue
trust region ratio min value: contract tr if ratio below this value

Real trRatioExpandValue
trust region ratio sufficient value: expand tr if ratio above this value

Real gammaContract
trust region contraction factor

Real gammaExpand
trust region expansion factor

short approxSubProbObj
type of approximate subproblem objective: ORIGINAL OBJ, LAGRANGIAN OBJ, or AUGMENTED LAGRANGIAN OBJ

short approxSubProbCon
type of approximate subproblem constraints: NO CON, LINEARIZED CON, or ORIGINAL CON

Model approxSubProbModel
the approximate sub-problem formulation solved on each approximate minimization cycle: may be a shallow copy
of iteratedModel, or may involve a RecastModel recursion applied to iteratedModel

bool recastSubProb
flag to indicate when approxSubProbModel involves a RecastModel recursion

short trConstraintRelax
type of trust region constraint relaxation for infeasible starting points: NO RELAX or HOMOTOPY

short meritFnType
type of merit function used in trust region ratio logic: PENALTY MERIT, ADAPTIVE PENALTY MERIT, LAGRANGIAN MERIT, or AUGMENTED LAGRANGIAN MERIT

short acceptLogic
type of iterate acceptance test logic: FILTER or TR RATIO

int penaltyIterOffset
iteration offset used to update the scaling of the penalty parameter for adaptive penalty merit functions

short convergenceFlag
code indicating satisfaction of hard or soft convergence conditions

short softConvCount
number of consecutive candidate point rejections. If the count reaches softConvLimit, stop SBLM.

short softConvLimit
the limit on consecutive candidate point rejections. If exceeded by softConvCount, stop SBLM.

bool truthGradientFlag

830

CHAPTER 13. CLASS DOCUMENTATION


flags the use/availability of truth gradients within the SBLM process

bool approxGradientFlag
flags the use/availability of surrogate gradients within the SBLM process

bool truthHessianFlag
flags the use/availability of truth Hessians within the SBLM process

bool approxHessianFlag
flags the use/availability of surrogate Hessians within the SBLM process

short correctionType
flags the use of surrogate correction techniques at the center of each trust region

bool globalApproxFlag
flags the use of a global data fit surrogate (rsm, ann, mars, kriging)

bool multiptApproxFlag
flags the use of a multipoint data fit surrogate (TANA)

bool localApproxFlag
flags the use of a local data fit surrogate (Taylor series)

bool hierarchApproxFlag
flags the use of a model hierarchy/multifidelity surrogate

bool newCenterFlag
flags the acceptance of a candidate point and the existence of a new trust region center

bool daceCenterPtFlag
flags the availability of the center point in the DACE evaluations for global approximations (CCD, Box-Behnken)

bool multiLayerBypassFlag
flags the simultaneous presence of two conditions: (1) additional layerings w/i actual model (e.g., surrogateModel
= layered/nested/layered -> actual model = nested/layered), and (2) a user-specification to bypass all layerings
within actual model for the evaluation of truth data (responseCenterTruth and responseStarTruth).

bool useDerivsFlag
flag for the use derivatives specification for which derivatives are to be evaluated at each DACE point in global
surrogate builds.

RealVector nonlinIneqLowerBndsSlack
individual violations of nonlinear inequality constraint lower bounds

RealVector nonlinIneqUpperBndsSlack
individual violations of nonlinear inequality constraint upper bounds

RealVector nonlinEqTargetsSlack
individual violations of nonlinear equality constraint targets

Real tau
constraint relaxation parameter

Real alpha
constraint relaxation parameter backoff parameter (multiplier)

Variables varsCenter
variables at the trust region center

Response responseCenterApprox
approx response at trust region center

Response responseStarApprox
approx response at SBLM cycle minimum

13.158. SURRBASEDLOCALMINIMIZER CLASS REFERENCE

831

IntResponsePair responseCenterTruth
truth response at trust region center

IntResponsePair responseStarTruth
truth response at SBLM cycle minimum

Static Private Attributes


static SurrBasedLocalMinimizer sblmInstance
pointer to SBLM instance used in static member functions

Additional Inherited Members


13.158.1

Detailed Description

Class for provably-convergent local surrogate-based optimization and nonlinear least squares.
This minimizer uses a SurrogateModel to perform minimization based on local, global, or hierarchical surrogates. It achieves provable convergence through the use of a sequence of trust regions and the application of
surrogate corrections at the trust region centers.

13.158.2

Member Function Documentation

void minimize surrogates (

) [private], [virtual]

Performs local surrogate-based minimization by minimizing local, global, or hierarchical surrogates over a series
of trust regions.
Trust region-based strategy to perform surrogate-based optimization in subregions (trust regions) of the parameter space. The minimizer operates on approximations in lieu of the more expensive simulation-based response
functions. The size of the trust region is varied according to the goodness of the agreement between the approximations and the true response functions.
Implements SurrBasedMinimizer.
References Dakota::abort handler(), Iterator::active set(), Response::active set(), Model::active variables(),
Graphics::add datapoint(), DiscrepancyCorrection::apply(), SurrBasedLocalMinimizer::approxGradientFlag, SurrBasedLocalMinimizer::approxHessianFlag, SurrBasedMinimizer::approxSubProbMinimizer, SurrBasedLocalMinimizer::approxSubProbModel, Iterator::bestResponseArray, Iterator::bestVariablesArray, Model::build approximation(),
Model::component parallel mode(), DiscrepancyCorrection::compute(), Model::compute response(), Model::continuouslower bounds(), Model::continuous upper bounds(), Variables::continuous variables(), Model::continuous variables(),
SurrBasedLocalMinimizer::convergenceFlag, Variables::copy(), Dakota::copy data(), SurrBasedLocalMinimizer::correctionType, Model::current response(), Model::current variables(), SurrBasedLocalMinimizer::daceCenterPtFlag, Dakota::dakota graphics, Model::discrepancy correction(), Model::evaluation id(), SurrBasedLocalMinimizer::find center approx(), SurrBasedLocalMinimizer::find center truth(), SurrBasedLocalMinimizer::globalApproxFlag, SurrBasedLocalMinimizer::hard convergence check(), Iterator::is null(), Iterator::iteratedModel, SurrBasedLocalMinimizer::localApproxFlag, Iterator::maxIterations, SurrBasedLocalMinimizer::minTrustRegionFactor, SurrBasedLocalMinimizer::multiLayerBypassFlag, SurrBasedLocalMinimizer::multiptApproxFlag, SurrBasedLocalMinimizer::newCenterFlag, Model::nonlinear eq constraint targets(), Model::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraint upper bounds(), Minimizer::numContinuousVars, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, SurrBasedLocalMinimizer::recastSubProb, SurrBasedLocalMinimizer::relax constraints(), ActiveSet::request values(), SurrBasedLocalMinimizer::reset(), Iterator::response results(), SurrBasedLocalMinimizer::responseCenterApprox, SurrBasedLocalMinimizer::responseCenterTruth, SurrBasedLocalMinimizer::responseStarApprox, SurrBasedLocalMinimizer::responseStarTruth, Iterator::run(), Iterator::sampling scheme(), SurrBased-

832

CHAPTER 13. CLASS DOCUMENTATION

Minimizer::sbIterNum, SurrBasedLocalMinimizer::sblmInstance, SurrBasedLocalMinimizer::softConvCount, SurrBasedLocalMinimizer::softConvLimit, Model::subordinate iterator(), Model::surrogate model(), Model::surrogateresponse mode(), SurrBasedLocalMinimizer::tr bounds(), SurrBasedLocalMinimizer::tr ratio check(), SurrBasedLocalMinimizer::trConstraintRelax, SurrBasedLocalMinimizer::trustRegionFactor, Model::truth model(), SurrBasedLocalMinimizer::truthGradientFlag, SurrBasedLocalMinimizer::truthHessianFlag, Response::update(), SurrBasedLocalMinimizer::useDerivsFlag, Iterator::variables results(), and SurrBasedLocalMinimizer::varsCenter.

void hard convergence check ( const Response & response truth, const RealVector & c vars, const
RealVector & lower bnds, const RealVector & upper bnds ) [private]
check for hard convergence (norm of projected gradient of merit function near zero)
The hard convergence check computes the gradient of the merit function at the trust region center, performs
a projection for active bound constraints (removing any gradient component directed into an active bound), and
signals convergence if the 2-norm of this projected gradient is less than convergenceTol.
References SurrBasedLocalMinimizer::acceptLogic, SurrBasedLocalMinimizer::approxSubProbObj, SurrBasedMinimizer::constraint violation(), Minimizer::constraintTol, SurrBasedLocalMinimizer::convergenceFlag, Iterator::convergenceTol, Response::function gradients(), Response::function values(), Iterator::iteratedModel, SurrBasedMinimizer::lagrangian gradient(), SurrBasedLocalMinimizer::meritFnType, Minimizer::numContinuousVars, Minimizer::numNonlinearConstraints, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, Model::primary response fn sense(), Model::primary response fn weights(), SurrBasedMinimizer::sbIterNum, SurrBasedLocalMinimizer::truthGradientFlag, SurrBasedMinimizer::update augmented lagrange multipliers(), SurrBasedMinimizer::update filter(), and SurrBasedMinimizer::update lagrange multipliers().
Referenced by SurrBasedLocalMinimizer::minimize surrogates().

void tr ratio check ( const RealVector & c vars star, const RealVector & tr lower bnds, const RealVector
& tr upper bnds ) [private]
compute trust region ratio (for SBLM iterate acceptance and trust region resizing) and check for soft convergence
(diminishing returns)
Assess acceptance of SBLM iterate (trust region ratio or filter) and compute soft convergence metrics (number
of consecutive failures, min trust region size, etc.) to assess whether the convergence rate has decreased to a point
where the process should be terminated (diminishing returns).
References SurrBasedLocalMinimizer::acceptLogic, SurrBasedLocalMinimizer::approxSubProbObj, SurrBasedMinimizer::augmented lagrangian merit(), SurrBasedMinimizer::constraint violation(), Minimizer::constraintTol,
Iterator::convergenceTol, SurrBasedMinimizer::etaSequence, Response::function values(), SurrBasedLocalMinimizer::gammaContract, SurrBasedLocalMinimizer::gammaExpand, SurrBasedLocalMinimizer::globalApproxFlag, Iterator::iteratedModel, SurrBasedMinimizer::lagrangian merit(), SurrBasedLocalMinimizer::meritFnType, SurrBasedLocalMinimizer::newCenterFlag, Minimizer::numContinuousVars, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, SurrBasedMinimizer::penalty merit(), Model::primary response fn sense(), Model::primary response fn weights(), SurrBasedLocalMinimizer::responseCenterApprox, SurrBasedLocalMinimizer::responseCenterTruth, SurrBasedLocalMinimizer::responseStarApprox, SurrBasedLocalMinimizer::responseStarTruth, SurrBasedLocalMinimizer::softConvCount,
SurrBasedLocalMinimizer::trRatioContractValue, SurrBasedLocalMinimizer::trRatioExpandValue, SurrBasedLocalMinimizer::trustRegionFactor, SurrBasedMinimizer::update augmented lagrange multipliers(), SurrBasedMinimizer::update filter(), and SurrBasedLocalMinimizer::update penalty().
Referenced by SurrBasedLocalMinimizer::minimize surrogates().

13.158. SURRBASEDLOCALMINIMIZER CLASS REFERENCE

833

void update penalty ( const RealVector & fns center truth, const RealVector & fns star truth )
[private]
initialize and update the penaltyParameter
Scaling of the penalty value is important to avoid rejecting SBLM iterates which must increase the objective
to achieve a reduction in constraint violation. In the basic penalty case, the penalty is ramped exponentially based
on the iteration counter. In the adaptive case, the ratio of relative change between center and star points for the
objective and constraint violation values is used to rescale penalty values.
References SurrBasedMinimizer::alphaEta, SurrBasedLocalMinimizer::approxSubProbObj, SurrBasedMinimizer::constraint violation(), Minimizer::constraintTol, SurrBasedMinimizer::eta, SurrBasedMinimizer::etaSequence,
Iterator::iteratedModel, SurrBasedLocalMinimizer::meritFnType, Minimizer::objective(), SurrBasedLocalMinimizer::penaltyIterOffset, SurrBasedMinimizer::penaltyParameter, Model::primary response fn sense(), Model::primaryresponse fn weights(), and SurrBasedMinimizer::sbIterNum.
Referenced by SurrBasedLocalMinimizer::tr ratio check().
void approx subprob objective eval ( const Variables & surrogate vars, const Variables & recast vars,
const Response & surrogate response, Response & recast response ) [static], [private]
static function used to define the approximate subproblem objective.
Objective functions evaluator for solution of approximate subproblem using a RecastModel.
References Response::active set request vector(), SurrBasedLocalMinimizer::approxSubProbCon, SurrBasedLocalMinimizer::approxSubProbModel, SurrBasedLocalMinimizer::approxSubProbObj, SurrBasedMinimizer::augmentedlagrangian gradient(), SurrBasedMinimizer::augmented lagrangian merit(), Response::function gradient(), Response::function gradient view(), Response::function gradients(), Response::function value(), Response::function values(),
Iterator::iteratedModel, SurrBasedMinimizer::lagrangian gradient(), SurrBasedMinimizer::lagrangian merit(), Model::nonlinear eq constraint targets(), Model::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraintupper bounds(), Minimizer::numUserPrimaryFns, Minimizer::objective(), Minimizer::objective gradient(), SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, Model::primary response fn sense(), Model::primary response fn weights(), and SurrBasedLocalMinimizer::sblmInstance.
Referenced by SurrBasedLocalMinimizer::SurrBasedLocalMinimizer().
void approx subprob constraint eval ( const Variables & surrogate vars, const Variables & recast vars,
const Response & surrogate response, Response & recast response ) [static], [private]
static function used to define the approximate subproblem constraints.
Constraint functions evaluator for solution of approximate subproblem using a RecastModel.
References Response::active set derivative vector(), Response::active set request vector(), SurrBasedLocalMinimizer::approxSubProbCon, SurrBasedLocalMinimizer::approxSubProbObj, Variables::continuous variables(),
Response::function gradient(), Response::function gradient view(), Response::function gradients(), Response::functionvalue(), Response::function values(), Minimizer::numUserPrimaryFns, SurrBasedLocalMinimizer::responseCenterApprox, SurrBasedLocalMinimizer::sblmInstance, and SurrBasedLocalMinimizer::varsCenter.
Referenced by SurrBasedLocalMinimizer::SurrBasedLocalMinimizer().
void hom objective eval ( int & mode, int & n, double tau and x, double & f, double grad f, int & )
[static], [private]
static function used by NPSOL as the objective function in the homotopy constraint relaxation formulation.
NPSOL objective functions evaluator for solution of homotopy constraint relaxation parameter optimization.
This constrained optimization problem performs the update of the tau parameter in the homotopy heuristic approach used to relax the constraints in the original problem .

834

CHAPTER 13. CLASS DOCUMENTATION


Referenced by SurrBasedLocalMinimizer::relax constraints().

void hom constraint eval ( int & mode, int & ncnln, int & n, int & nrowj, int needc, double
tau and x, double c, double cjac, int & nstate ) [static], [private]
static function used by NPSOL as the constraint function in the homotopy constraint relaxation formulation.
NPSOL constraint functions evaluator for solution of homotopy constraint relaxation parameter optimization. This constrained optimization problem performs the update of the tau parameter in the homotopy heuristic
approach used to relax the constraints in the original problem.
References Response::active set(), SurrBasedLocalMinimizer::approxSubProbModel, Model::compute response(),
Model::continuous variables(), Model::current response(), Response::function gradients(), Response::functionvalues(), SurrBasedLocalMinimizer::nonlinEqTargetsSlack, SurrBasedLocalMinimizer::nonlinIneqLowerBndsSlack, SurrBasedLocalMinimizer::nonlinIneqUpperBndsSlack, Model::num functions(), Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, ActiveSet::request vector(), SurrBasedLocalMinimizer::sblmInstance, and SurrBasedLocalMinimizer::tau.
Referenced by SurrBasedLocalMinimizer::relax constraints().
The documentation for this class was generated from the following files:
SurrBasedLocalMinimizer.hpp
SurrBasedLocalMinimizer.cpp

13.159

SurrBasedMinimizer Class Reference

Base class for local/global surrogate-based optimization/least squares.


Inheritance diagram for SurrBasedMinimizer:
Iterator
Minimizer
SurrBasedMinimizer
EffGlobalMinimizer

SurrBasedGlobalMinimizer

SurrBasedLocalMinimizer

Protected Member Functions


SurrBasedMinimizer (ProblemDescDB &problem db, Model &model)
constructor

SurrBasedMinimizer ()
destructor

void initialize graphics (int iterator server id=1)


initialize graphics customized for surrogate-based iteration

void core run ()


core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post

void print results (std::ostream &s)

13.159. SURRBASEDMINIMIZER CLASS REFERENCE

835

virtual void minimize surrogates ()=0


Used for computing the optimal solution using a surrogate-based approach. Redefines the Iterator::core run()
virtual function.

void update lagrange multipliers (const RealVector &fn vals, const RealMatrix &fn grads)
initialize and update Lagrange multipliers for basic Lagrangian

void update augmented lagrange multipliers (const RealVector &fn vals)


initialize and update the Lagrange multipliers for augmented Lagrangian

bool update filter (const RealVector &fn vals)


update a filter from a set of function values

Real lagrangian merit (const RealVector &fn vals, const BoolDeque &sense, const RealVector &primarywts, const RealVector &nln ineq l bnds, const RealVector &nln ineq u bnds, const RealVector &nln eq tgts)
compute a Lagrangian function from a set of function values

void lagrangian gradient (const RealVector &fn vals, const RealMatrix &fn grads, const BoolDeque &sense,
const RealVector &primary wts, const RealVector &nln ineq l bnds, const RealVector &nln ineq u bnds,
const RealVector &nln eq tgts, RealVector &lag grad)
compute the gradient of the Lagrangian function

Real augmented lagrangian merit (const RealVector &fn vals, const BoolDeque &sense, const RealVector
&primary wts, const RealVector &nln ineq l bnds, const RealVector &nln ineq u bnds, const RealVector
&nln eq tgts)
compute an augmented Lagrangian function from a set of function values

void augmented lagrangian gradient (const RealVector &fn vals, const RealMatrix &fn grads, const BoolDeque &sense, const RealVector &primary wts, const RealVector &nln ineq l bnds, const RealVector
&nln ineq u bnds, const RealVector &nln eq tgts, RealVector &alag grad)
compute the gradient of the augmented Lagrangian function

Real penalty merit (const RealVector &fn vals, const BoolDeque &sense, const RealVector &primary wts)
compute a penalty function from a set of function values

void penalty gradient (const RealVector &fn vals, const RealMatrix &fn grads, const BoolDeque &sense,
const RealVector &primary wts, RealVector &pen grad)
compute the gradient of the penalty function

Real constraint violation (const RealVector &fn vals, const Real &constraint tol)
compute the constraint violation from a set of function values

Protected Attributes
Iterator approxSubProbMinimizer
the minimizer used on the surrogate model to solve the approximate subproblem on each surrogate-based iteration

int sbIterNum
surrogate-based minimization iteration number

RealVectorList sbFilter
Set of response function vectors defining a filter (objective vs. constraint violation) for iterate selection/rejection.

RealVector lagrangeMult
Lagrange multipliers for basic Lagrangian calculations.

RealVector augLagrangeMult
Lagrange multipliers for augmented Lagrangian calculations.

836

CHAPTER 13. CLASS DOCUMENTATION


Real penaltyParameter
the penalization factor for violated constraints used in quadratic penalty calculations; increased in update penalty()

RealVector origNonlinIneqLowerBnds
original nonlinear inequality constraint lower bounds (no relaxation)

RealVector origNonlinIneqUpperBnds
original nonlinear inequality constraint upper bounds (no relaxation)

RealVector origNonlinEqTargets
original nonlinear equality constraint targets (no relaxation)

Real eta
constant used in etaSequence updates

Real alphaEta
power for etaSequence updates when updating penalty

Real betaEta
power for etaSequence updates when updating multipliers

Real etaSequence
decreasing sequence of allowable constraint violation used in augmented Lagrangian updates (refer to Conn,
Gould, and Toint, section 14.4)

Additional Inherited Members


13.159.1

Detailed Description

Base class for local/global surrogate-based optimization/least squares.


These minimizers use a SurrogateModel to perform optimization based either on local trust region methods or
global updating methods.

13.159.2

Member Function Documentation

void core run (

) [inline], [protected], [virtual]

core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References SurrBasedMinimizer::minimize surrogates().
void print results ( std::ostream & s ) [protected], [virtual]
Redefines default iterator results printing to include optimization results (objective functions and constraints).
Reimplemented from Iterator.
References Dakota::abort handler(), Iterator::activeSet, Minimizer::archive allocate best(), Minimizer::archivebest(), Iterator::bestResponseArray, Iterator::bestVariablesArray, Dakota::data pairs, Model::interface id(), Iterator::iteratedModel, Dakota::lookup by val(), Iterator::methodName, Minimizer::numFunctions, Minimizer::numUserPrimaryFns, Minimizer::optimizationFlag, ActiveSet::request values(), and Model::truth model().

13.159. SURRBASEDMINIMIZER CLASS REFERENCE

837

void update lagrange multipliers ( const RealVector & fn vals, const RealMatrix & fn grads )
[protected]
initialize and update Lagrange multipliers for basic Lagrangian
For the Rockafellar augmented Lagrangian, simple Lagrange multiplier updates are available which do not
require the active constraint gradients. For the basic Lagrangian, Lagrange multipliers are estimated through
solution of a nonnegative linear least squares problem.
References Dakota::abort handler(), Minimizer::bigRealBoundSize, Minimizer::constraintTol, Iterator::iteratedModel, SurrBasedMinimizer::lagrangeMult, Minimizer::numContinuousVars, Minimizer::numNonlinearEqConstraints,
Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, Minimizer::objective gradient(), SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, Model::primaryresponse fn sense(), and Model::primary response fn weights().
Referenced by SurrBasedLocalMinimizer::hard convergence check().
void update augmented lagrange multipliers ( const RealVector & fn vals ) [protected]
initialize and update the Lagrange multipliers for augmented Lagrangian
For the Rockafellar augmented Lagrangian, simple Lagrange multiplier updates are available which do not
require the active constraint gradients. For the basic Lagrangian, Lagrange multipliers are estimated through
solution of a nonnegative linear least squares problem.
References SurrBasedMinimizer::augLagrangeMult, SurrBasedMinimizer::betaEta, Minimizer::bigRealBoundSize, SurrBasedMinimizer::etaSequence, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, and SurrBasedMinimizer::penaltyParameter.
Referenced by SurrBasedLocalMinimizer::hard convergence check(), EffGlobalMinimizer::minimize surrogateson model(), and SurrBasedLocalMinimizer::tr ratio check().
bool update filter ( const RealVector & fn vals ) [protected]
update a filter from a set of function values
Update the sbFilter with fn vals if new iterate is non-dominated.
References SurrBasedMinimizer::constraint violation(), Iterator::iteratedModel, Minimizer::numNonlinearConstraints, Minimizer::objective(), Model::primary response fn sense(), Model::primary response fn weights(),
and SurrBasedMinimizer::sbFilter.
Referenced by SurrBasedLocalMinimizer::hard convergence check(), and SurrBasedLocalMinimizer::tr ratiocheck().
Real lagrangian merit ( const RealVector & fn vals, const BoolDeque & sense, const RealVector &
primary wts, const RealVector & nln ineq l bnds, const RealVector & nln ineq u bnds, const RealVector
& nln eq tgts ) [protected]
compute a Lagrangian function from a set of function values
The Lagrangian function computation sums the objective function and the Lagrange multipler terms for inequality/equality constraints. This implementation follows the convention in Vanderplaats with g<=0 and h=0.
The bounds/targets passed in may reflect the original constraints or the relaxed constraints.
References Minimizer::bigRealBoundSize, Minimizer::constraintTol, SurrBasedMinimizer::lagrangeMult, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, and
Minimizer::objective().
Referenced by SurrBasedLocalMinimizer::approx subprob objective eval(), and SurrBasedLocalMinimizer::tr ratio check().

838

CHAPTER 13. CLASS DOCUMENTATION

Real augmented lagrangian merit ( const RealVector & fn vals, const BoolDeque & sense, const
RealVector & primary wts, const RealVector & nln ineq l bnds, const RealVector & nln ineq u bnds,
const RealVector & nln eq tgts ) [protected]
compute an augmented Lagrangian function from a set of function values
The Rockafellar augmented Lagrangian function sums the objective function, Lagrange multipler terms for
inequality/equality constraints, and quadratic penalty terms for inequality/equality constraints. This implementation follows the convention in Vanderplaats with g<=0 and h=0. The bounds/targets passed in may reflect the
original constraints or the relaxed constraints.
References SurrBasedMinimizer::augLagrangeMult, Minimizer::bigRealBoundSize, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, Minimizer::objective(),
and SurrBasedMinimizer::penaltyParameter.
Referenced by SurrBasedLocalMinimizer::approx subprob objective eval(), EffGlobalMinimizer::get best sample(), EffGlobalMinimizer::minimize surrogates on model(), and SurrBasedLocalMinimizer::tr ratio check().
Real penalty merit ( const RealVector & fn vals, const BoolDeque & sense, const RealVector &
primary wts ) [protected]
compute a penalty function from a set of function values
The penalty function computation applies a quadratic penalty to any constraint violations and adds this to the
objective function(s) p = f + r p cv.
References SurrBasedMinimizer::constraint violation(), Minimizer::constraintTol, Minimizer::objective(), and
SurrBasedMinimizer::penaltyParameter.
Referenced by SurrBasedLocalMinimizer::tr ratio check().
Real constraint violation ( const RealVector & fn vals, const Real & constraint tol ) [protected]
compute the constraint violation from a set of function values
Compute the quadratic constraint violation defined as cv = g+ T g+
h+ T h+. This implementation supports equality constraints and 2-sided inequalities. The constraint tol
allows for a small constraint infeasibility (used for penalty methods, but not Lagrangian methods).
References Minimizer::bigRealBoundSize, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, and SurrBasedMinimizer::origNonlinIneqUpperBnds.
Referenced by SurrBasedLocalMinimizer::hard convergence check(), EffGlobalMinimizer::minimize surrogateson model(), SurrBasedMinimizer::penalty merit(), SurrBasedLocalMinimizer::relax constraints(), SurrBasedLocalMinimizer::tr ratio check(), SurrBasedMinimizer::update filter(), and SurrBasedLocalMinimizer::update penalty().
The documentation for this class was generated from the following files:
SurrBasedMinimizer.hpp
SurrBasedMinimizer.cpp

13.160

SurrogateModel Class Reference

Base class for surrogate models (DataFitSurrModel and HierarchSurrModel).


Inheritance diagram for SurrogateModel:

13.160. SURROGATEMODEL CLASS REFERENCE

839

Model
SurrogateModel
DataFitSurrModel

HierarchSurrModel

Protected Member Functions


SurrogateModel (ProblemDescDB &problem db)
constructor

SurrogateModel (ParallelLibrary &parallel lib, const SharedVariablesData &svd, const ActiveSet &set,
short output level)
alternate constructor

SurrogateModel ()
destructor

Model & subordinate model ()


return truth model()

short surrogate response mode () const


return responseMode

DiscrepancyCorrection & discrepancy correction ()


return deltaCorr

void check submodel compatibility (const Model &sub model)


verify compatibility between SurrogateModel attributes and attributes of the submodel (DataFitSurrModel::actualModel or HierarchSurrModel::highFidelityModel)

bool force rebuild ()


evaluate whether a rebuild of the approximation should be forced based on changes in the inactive data

void asv mapping (const ShortArray &orig asv, ShortArray &actual asv, ShortArray &approx asv, bool
build flag)
distributes the incoming orig asv among actual asv and approx asv

void asv mapping (const ShortArray &actual asv, const ShortArray &approx asv, ShortArray &combinedasv)
reconstitutes a combined asv from actual asv and approx asv

void response mapping (const Response &actual response, const Response &approx response, Response
&combined response)
overlays actual response and approx response to update combined response

Protected Attributes
IntSet surrogateFnIndices
for mixed response sets, this array specifies the response function subset that is approximated

IntResponseMap surrResponseMap
map of surrogate responses used in derived synchronize() and derived synchronize nowait() functions

IntVariablesMap rawVarsMap

840

CHAPTER 13. CLASS DOCUMENTATION


map of raw continuous variables used by apply correction(). Model::varsList cannot be used for this purpose since
it does not contain lower level variables sets from finite differencing.

IntIntMap truthIdMap
map from actualModel/highFidelityModel evaluation ids to DataFitSurrModel.hppierarchSurrModel ids

IntIntMap surrIdMap
map from approxInterface/lowFidelityModel evaluation ids to DataFitSurrModel.hppierarchSurrModel ids

IntResponseMap cachedApproxRespMap
map of approximate responses retrieved in derived synchronize nowait() that could not be returned since corresponding truth model response portions were still pending.

short responseMode
an enumeration that controls the response calculation mode in {DataFit,Hierarch}SurrModel approximate response computations

size t approxBuilds
number of calls to build approximation()

RealVector referenceCLBnds
stores a reference copy of active continuous lower bounds when the approximation is built; used to detect when a
rebuild is required.

RealVector referenceCUBnds
stores a reference copy of active continuous upper bounds when the approximation is built; used to detect when a
rebuild is required.

IntVector referenceDILBnds
stores a reference copy of active discrete int lower bounds when the approximation is built; used to detect when a
rebuild is required.

IntVector referenceDIUBnds
stores a reference copy of active discrete int upper bounds when the approximation is built; used to detect when a
rebuild is required.

RealVector referenceDRLBnds
stores a reference copy of active discrete real lower bounds when the approximation is built; used to detect when a
rebuild is required.

RealVector referenceDRUBnds
stores a reference copy of active discrete real upper bounds when the approximation is built; used to detect when a
rebuild is required.

RealVector referenceICVars
stores a reference copy of the inactive continuous variables when the approximation is built using a Distinct view;
used to detect when a rebuild is required.

IntVector referenceIDIVars
stores a reference copy of the inactive discrete int variables when the approximation is built using a Distinct view;
used to detect when a rebuild is required.

RealVector referenceIDRVars
stores a reference copy of the inactive discrete real variables when the approximation is built using a Distinct view;
used to detect when a rebuild is required.

DiscrepancyCorrection deltaCorr
manages construction and application of correction functions that are applied to a surrogate model (DataFitSurr
or HierarchSurr) in order to reproduce high fidelity data.

13.160. SURROGATEMODEL CLASS REFERENCE

841

Private Attributes
Variables truthModelVars
copy of the truth model variables object used to simplify conversion among differing variable views in force rebuild()

Constraints truthModelCons
copy of the truth model constraints object used to simplify conversion among differing variable views in force rebuild()

Additional Inherited Members


13.160.1

Detailed Description

Base class for surrogate models (DataFitSurrModel and HierarchSurrModel).


The SurrogateModel class provides common functions to derived classes for computing and applying corrections to approximations.

13.160.2

Member Function Documentation

bool force rebuild (

) [protected], [virtual]

evaluate whether a rebuild of the approximation should be forced based on changes in the inactive data
This function forces a rebuild of the approximation according to the sub-model variables view, the approximation type, and whether the active approximation bounds or inactive variable values have changed since the last
approximation build.
Reimplemented from Model.
References Constraints::all continuous lower bounds(), Constraints::all continuous upper bounds(), Variables::all continuous variables(), Constraints::all discrete int lower bounds(), Constraints::all discrete int upper bounds(),
Variables::all discrete int variables(), Constraints::all discrete real lower bounds(), Constraints::all discrete realupper bounds(), Variables::all discrete real variables(), Constraints::continuous lower bounds(), Model::continuouslower bounds(), Constraints::continuous upper bounds(), Model::continuous upper bounds(), Variables::continuousvariables(), Constraints::copy(), Variables::copy(), Model::current variables(), Model::currentVariables, Constraints::discrete int lower bounds(), Model::discrete int lower bounds(), Constraints::discrete int upper bounds(), Model::discrete int upper bounds(), Variables::discrete int variables(), Constraints::discrete real lower bounds(), Model::discrete real lower bounds(), Constraints::discrete real upper bounds(), Model::discrete real upper bounds(), Variables::discrete real variables(), Variables::inactive continuous variables(), Variables::inactive discrete int variables(),
Variables::inactive discrete real variables(), Constraints::is null(), Variables::is null(), Model::is null(), Model::model type(), SurrogateModel::referenceCLBnds, SurrogateModel::referenceCUBnds, SurrogateModel::referenceDILBnds, SurrogateModel::referenceDIUBnds, SurrogateModel::referenceDRLBnds, SurrogateModel::referenceDRUBnds, SurrogateModel::referenceICVars, SurrogateModel::referenceIDIVars, SurrogateModel::referenceIDRVars, Dakota::strbegins(), Model::subordinate model(), Model::surrogateType, Model::truth model(), SurrogateModel::truthModelCons, SurrogateModel::truthModelVars, Model::user defined constraints(), Model::userDefinedConstraints, and Variables::view().
Referenced by HierarchSurrModel::derived asynch compute response(), DataFitSurrModel::derived asynchcompute response(), HierarchSurrModel::derived compute response(), and DataFitSurrModel::derived computeresponse().

842

CHAPTER 13. CLASS DOCUMENTATION

13.160.3

Member Data Documentation

short responseMode [protected]


an enumeration that controls the response calculation mode in {DataFit,Hierarch}SurrModel approximate response computations
SurrBasedLocalMinimizer toggles this mode since compute correction() does not back out old corrections.
Referenced by HierarchSurrModel::derived asynch compute response(), DataFitSurrModel::derived asynchcompute response(), HierarchSurrModel::derived compute response(), DataFitSurrModel::derived compute response(),
HierarchSurrModel::derived set communicators(), HierarchSurrModel::derived synchronize(), DataFitSurrModel::derived synchronize(), HierarchSurrModel::derived synchronize nowait(), DataFitSurrModel::derived synchronizenowait(), HierarchSurrModel::serve(), SurrogateModel::surrogate response mode(), HierarchSurrModel::surrogateresponse mode(), and DataFitSurrModel::surrogate response mode().

size t approxBuilds [protected]


number of calls to build approximation()
used as a flag to automatically build the approximation if one of the derived compute response functions is
called prior to build approximation().
Referenced by DataFitSurrModel::append approximation(), DataFitSurrModel::approximation coefficients(),
HierarchSurrModel::build approximation(), DataFitSurrModel::build approximation(), HierarchSurrModel::derivedasynch compute response(), DataFitSurrModel::derived asynch compute response(), HierarchSurrModel::derivedcompute response(), DataFitSurrModel::derived compute response(), DataFitSurrModel::pop approximation(),
and DataFitSurrModel::update approximation().
The documentation for this class was generated from the following files:
SurrogateModel.hpp
SurrogateModel.cpp

13.161

SysCallApplicInterface Class Reference

Derived application interface class which spawns simulation codes using system calls.
Inheritance diagram for SysCallApplicInterface:
Interface
ApplicationInterface
ProcessApplicInterface
SysCallApplicInterface
GridApplicInterface

13.161. SYSCALLAPPLICINTERFACE CLASS REFERENCE

843

Public Member Functions


SysCallApplicInterface (const ProblemDescDB &problem db)
constructor

SysCallApplicInterface ()
destructor

Protected Member Functions

void wait local evaluations (PRPQueue &prp queue)


void test local evaluations (PRPQueue &prp queue)
int synchronous local analysis (int analysis id)
void init communicators checks (int max eval concurrency)
void set communicators checks (int max eval concurrency)
void map bookkeeping (pid t pid, int fn eval id)
bookkeeping of process and evaluation ids for asynchronous maps

pid t create evaluation process (bool block flag)


Spawn the evaluation by managing the input filter, analysis drivers, and output filter. Called from derived map() &
derived map asynch().

Private Member Functions


bool system call file test (const std::string &root file)
detect completion of a function evaluation through existence of the necessary results file(s)

void spawn evaluation to shell (bool block flag)


spawn a complete function evaluation

void spawn input filter to shell (bool block flag)


spawn the input filter portion of a function evaluation

void spawn analysis to shell (int analysis id, bool block flag)
spawn a single analysis as part of a function evaluation

void spawn output filter to shell (bool block flag)


spawn the output filter portion of a function evaluation

Private Attributes
IntSet sysCallSet
set of function evaluation ids for active asynchronous system call evaluations

IntShortMap failCountMap
map linking function evaluation ids to number of response read failures

Additional Inherited Members


13.161.1

Detailed Description

Derived application interface class which spawns simulation codes using system calls.
system() is part of the C API and can be used on both Windows and Unix systems.

844

13.161.2

CHAPTER 13. CLASS DOCUMENTATION

Member Function Documentation

void wait local evaluations ( PRPQueue & prp queue ) [inline], [protected], [virtual]
Check for completion of active asynch jobs (tracked with sysCallSet). Wait for at least one completion and
complete all jobs that have returned. This satisifies a fairness principle, in the sense that a completed job will
always be processed (whereas accepting only a single completion could always accept the same completion - the
case of very inexpensive fn. evals. - and starve some servers).
Reimplemented from ApplicationInterface.
References ApplicationInterface::completionSet, and SysCallApplicInterface::test local evaluations().
void test local evaluations ( PRPQueue & prp queue ) [protected], [virtual]
Check for completion of active asynch jobs (tracked with sysCallSet). Make one pass through sysCallSet &
complete all jobs that have returned.
Reimplemented from ApplicationInterface.
References Dakota::abort handler(), Response::active set(), ApplicationInterface::completionSet, SysCallApplicInterface::failCountMap, ProcessApplicInterface::fileNameMap, Interface::final eval id tag(), Dakota::lookup by eval id(), ApplicationInterface::manage failure(), ProcessApplicInterface::read results files(), SysCallApplicInterface::sysCallSet, and SysCallApplicInterface::system call file test().
Referenced by SysCallApplicInterface::wait local evaluations().
int synchronous local analysis ( int analysis id ) [inline], [protected], [virtual]
This code provides the derived function used by ApplicationInterface::serve analyses synch().
Reimplemented from ApplicationInterface.
References SysCallApplicInterface::spawn analysis to shell().
void init communicators checks ( int max eval concurrency ) [inline], [protected], [virtual]
No derived interface plug-ins, so perform construct-time checks. However, process init issues as warnings since
some contexts (e.g., HierarchSurrModel) initialize more configurations than will be used.
Reimplemented from ApplicationInterface.
References ApplicationInterface::check multiprocessor analysis().
void set communicators checks ( int max eval concurrency ) [inline], [protected], [virtual]
Process run-time issues as hard errors.
Reimplemented from ApplicationInterface.
References Dakota::abort handler(), and ApplicationInterface::check multiprocessor analysis().
void spawn evaluation to shell ( bool block flag ) [private]
spawn a complete function evaluation
Put the SysCallApplicInterface to the shell. This function is used when all portions of the function evaluation
(i.e., all analysis drivers) are executed on the local processor.
References CommandShell::asynch flag(), ProcessApplicInterface::commandLineArgs, ProcessApplicInterface::curWorkdir, Dakota::flush(), ProcessApplicInterface::iFilterName, ProcessApplicInterface::multipleParamsFiles,
ProcessApplicInterface::oFilterName, ProcessApplicInterface::paramsFileName, ProcessApplicInterface::programNames, ProcessApplicInterface::resultsFileName, CommandShell::suppress output flag(), ApplicationInterface::suppressOutput, and ProcessApplicInterface::useWorkdir.
Referenced by SysCallApplicInterface::create evaluation process().

13.162. TANA3APPROXIMATION CLASS REFERENCE

845

void spawn input filter to shell ( bool block flag ) [private]


spawn the input filter portion of a function evaluation
Put the input filter to the shell. This function is used when multiple analysis drivers are spread between
processors. No need to check for a Null input filter, as this is checked externally. Use of nonblocking shells is
supported in this fn, although its use is currently prevented externally.
References CommandShell::asynch flag(), ProcessApplicInterface::commandLineArgs, ProcessApplicInterface::curWorkdir, Dakota::flush(), ProcessApplicInterface::iFilterName, ProcessApplicInterface::paramsFileName, ProcessApplicInterface::resultsFileName, CommandShell::suppress output flag(), ApplicationInterface::suppressOutput,
and ProcessApplicInterface::useWorkdir.
Referenced by SysCallApplicInterface::create evaluation process().
void spawn analysis to shell ( int analysis id, bool block flag ) [private]
spawn a single analysis as part of a function evaluation
Put a single analysis to the shell. This function is used when multiple analysis drivers are spread between
processors. Use of nonblocking shells is supported in this fn, although its use is currently prevented externally.
References CommandShell::asynch flag(), ProcessApplicInterface::commandLineArgs, ProcessApplicInterface::curWorkdir, Dakota::flush(), ProcessApplicInterface::multipleParamsFiles, ProcessApplicInterface::paramsFileName, ProcessApplicInterface::programNames, ProcessApplicInterface::resultsFileName, CommandShell::suppressoutput flag(), ApplicationInterface::suppressOutput, and ProcessApplicInterface::useWorkdir.
Referenced by SysCallApplicInterface::create evaluation process(), SysCallApplicInterface::synchronous local analysis(), and GridApplicInterface::synchronous local analysis().
void spawn output filter to shell ( bool block flag ) [private]
spawn the output filter portion of a function evaluation
Put the output filter to the shell. This function is used when multiple analysis drivers are spread between
processors. No need to check for a Null output filter, as this is checked externally. Use of nonblocking shells is
supported in this fn, although its use is currently prevented externally.
References CommandShell::asynch flag(), ProcessApplicInterface::commandLineArgs, ProcessApplicInterface::curWorkdir, Dakota::flush(), ProcessApplicInterface::oFilterName, ProcessApplicInterface::paramsFileName,
ProcessApplicInterface::resultsFileName, CommandShell::suppress output flag(), ApplicationInterface::suppressOutput, and ProcessApplicInterface::useWorkdir.
Referenced by SysCallApplicInterface::create evaluation process().
The documentation for this class was generated from the following files:
SysCallApplicInterface.hpp
SysCallApplicInterface.cpp

13.162

TANA3Approximation Class Reference

Derived approximation class for TANA-3 two-point exponential approximation (a multipoint approximation).
Inheritance diagram for TANA3Approximation:
Approximation
TANA3Approximation

846

CHAPTER 13. CLASS DOCUMENTATION

Public Member Functions


TANA3Approximation ()
default constructor

TANA3Approximation (ProblemDescDB &problem db, const SharedApproxData &shared data)


standard constructor

TANA3Approximation (const SharedApproxData &shared data)


alternate constructor

TANA3Approximation ()
destructor

Protected Member Functions


int min coefficients () const
return the minimum number of samples (unknowns) required to build the derived class approximation type in numVars dimensions

int num constraints () const


return the number of constraints to be enforced via an anchor point

void build ()
builds the approximation from scratch

Real value (const Variables &vars)


retrieve the approximate function value for a given parameter vector

const RealVector & gradient (const Variables &vars)


retrieve the approximate function gradient for a given parameter vector

void clear current ()

Private Member Functions


void find scaled coefficients ()
compute TANA coefficients based on scaled inputs

void offset (const RealVector &x, RealVector &s)


based on minX, apply offset scaling to x to define s

Private Attributes
RealVector pExp
vector of exponent values

RealVector minX
vector of minimum parameter values used in scaling

RealVector scX1
vector of scaled x1 values

RealVector scX2
vector of scaled x2 values

Real H
the scalar Hessian value in the TANA-3 approximation

13.163. TAYLORAPPROXIMATION CLASS REFERENCE

847

Additional Inherited Members


13.162.1

Detailed Description

Derived approximation class for TANA-3 two-point exponential approximation (a multipoint approximation).
The TANA3Approximation class provides a multipoint approximation based on matching value and gradient
data from two points (typically the current and previous iterates) in parameter space. It forms an exponential
approximation in terms of intervening variables.

13.162.2
void build (

Member Function Documentation


) [protected], [virtual]

builds the approximation from scratch


This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References Dakota::abort handler(), Approximation::approxData, Approximation::build(), TANA3Approximation::find scaled coefficients(), TANA3Approximation::minX, SharedApproxData::numVars, TANA3Approximation::pExp, and Approximation::sharedDataRep.
void clear current (

) [inline], [protected], [virtual]

Redefine default implementation to support history mechanism.


Reimplemented from Approximation.
References Approximation::approxData.
The documentation for this class was generated from the following files:
TANA3Approximation.hpp
TANA3Approximation.cpp

13.163

TaylorApproximation Class Reference

Derived approximation class for first- or second-order Taylor series (a local approximation).
Inheritance diagram for TaylorApproximation:

Approximation
TaylorApproximation

Public Member Functions


TaylorApproximation ()
default constructor

TaylorApproximation (ProblemDescDB &problem db, const SharedApproxData &shared data)


standard constructor

TaylorApproximation (const SharedApproxData &shared data)

848

CHAPTER 13. CLASS DOCUMENTATION


alternate constructor

TaylorApproximation ()
destructor

Protected Member Functions


int min coefficients () const
return the minimum number of samples (unknowns) required to build the derived class approximation type in numVars dimensions

void build ()
builds the approximation from scratch

Real value (const Variables &vars)


retrieve the approximate function value for a given parameter vector

const RealVector & gradient (const Variables &vars)


retrieve the approximate function gradient for a given parameter vector

const RealSymMatrix & hessian (const Variables &vars)


retrieve the approximate function Hessian for a given parameter vector

Additional Inherited Members


13.163.1

Detailed Description

Derived approximation class for first- or second-order Taylor series (a local approximation).
The TaylorApproximation class provides a local approximation based on data from a single point in parameter
space. It uses a zeroth-, first- or second-order Taylor series expansion: f(x) = f(x c) for zeroth-order, plus grad(xc) (x - x c) for first- and second-order, and plus (x - x c) Hess(x c) (x - x c) / 2 for second-order.

13.163.2
void build (

Member Function Documentation


) [protected], [virtual]

builds the approximation from scratch


This is the common base class portion of the virtual fn and is insufficient on its own; derived implementations
should explicitly invoke (or reimplement) this base class contribution.
Reimplemented from Approximation.
References Dakota::abort handler(), Approximation::approxData, Approximation::build(), SharedApproxData::buildDataOrder, SharedApproxData::numVars, and Approximation::sharedDataRep.
The documentation for this class was generated from the following files:
TaylorApproximation.hpp
TaylorApproximation.cpp

13.164

TestDriverInterface Class Reference

Inheritance diagram for TestDriverInterface:

13.164. TESTDRIVERINTERFACE CLASS REFERENCE


Interface
ApplicationInterface
DirectApplicInterface
TestDriverInterface

Public Member Functions


TestDriverInterface (const ProblemDescDB &problem db)
constructor

TestDriverInterface ()
destructor

Protected Member Functions


virtual int derived map ac (const Dakota::String &ac name)
execute an analysis code portion of a direct evaluation invocation

Private Member Functions


int cantilever ()
scaled cantilever test function for optimization

int mod cantilever ()


unscaled cantilever test function for UQ

int cyl head ()


the cylinder head constrained optimization test fn

int multimodal ()
multimodal UQ test function

int log ratio ()


the log ratio UQ test function

int short column ()


the short column UQ/OUU test function

int lf short column ()


a low fidelity short column test function

int mf short column ()


alternate short column formulations for < multifidelity or model form studies

int alternate short column forms (int form)


helper fn for alternate forms

int side impact cost ()


the side impact cost UQ/OUU test function

849

850

CHAPTER 13. CLASS DOCUMENTATION


int side impact perf ()
the side impact perf UQ/OUU test function

int rosenbrock ()
the Rosenbrock optimization and least squares test fn

int generalized rosenbrock ()


n-dimensional Rosenbrock (Schittkowski)

int extended rosenbrock ()


n-dimensional Rosenbrock (Nocedal/Wright)

int lf rosenbrock ()
a low fidelity version of the Rosenbrock function

int mf rosenbrock ()
alternate Rosenbrock formulations for < multifidelity or model form studies

int gerstner ()
the isotropic/anisotropic Gerstner test function family

int scalable gerstner ()


scalable versions of the Gerstner test family

void get genz coefficients (int num dims, Real factor, int c type, RealVector &c, RealVector &w)
define coefficients needs for genz model

int genz ()
scalable test functions from the Genz test suite

int steel column cost ()


the steel column cost UQ/OUU test function

int steel column perf ()


the steel column perf UQ/OUU test function

int sobol rational ()


Sobol SA rational test function.

int sobol g function ()


Sobol SA discontinuous test function.

int sobol ishigami ()


Sobol SA transcendental test function.

int text book ()


the text book constrained optimization test function

int text book1 ()


portion of text book() evaluating the objective fn

int text book2 ()


portion of text book() evaluating constraint 1

int text book3 ()


portion of text book() evaluating constraint 2

int text book ouu ()


the text book ouu OUU test function

int scalable text book ()


scalable version of the text book test function

int scalable monomials ()

13.164. TESTDRIVERINTERFACE CLASS REFERENCE

851

simple monomials for UQ exactness testing

void herbie1D (size t der mode, Real xc loc, std::vector< Real > &w and ders)
1D components of herbie function

void smooth herbie1D (size t der mode, Real xc loc, std::vector< Real > &w and ders)
1D components of smooth herbie function

void shubert1D (size t der mode, Real xc loc, std::vector< Real > &w and ders)
1D components of shubert function

int herbie ()
returns the N-D herbie function

int smooth herbie ()


returns the N-D smooth herbie function

int shubert ()
returns the N-D shubert function

void separable combine (Real mult scale factor, std::vector< Real > &w, std::vector< Real > &d1w, std::vector< Real > &d2w)
utility to combine components of separable fns

int salinas ()
direct interface to the SALINAS structural dynamics code

int mc api run ()


direct interface to ModelCenter via API, HKIM 4/3/03

Additional Inherited Members


13.164.1

Detailed Description

Specialization of DirectApplicInterface to embed algebraic test function drivers directly in Dakota

13.164.2

Member Function Documentation

int derived map ac ( const Dakota::String & ac name ) [protected], [virtual]


execute an analysis code portion of a direct evaluation invocation
Derived map to evaluate a particular built-in test analysis function
Reimplemented from DirectApplicInterface.
References Dakota::abort handler(), ApplicationInterface::analysisServerId, TestDriverInterface::cantilever(),
TestDriverInterface::cyl head(), DirectApplicInterface::driverTypeMap, TestDriverInterface::extended rosenbrock(),
TestDriverInterface::generalized rosenbrock(), TestDriverInterface::genz(), TestDriverInterface::gerstner(), TestDriverInterface::herbie(), TestDriverInterface::lf rosenbrock(), TestDriverInterface::lf short column(), TestDriverInterface::log ratio(), TestDriverInterface::mc api run(), TestDriverInterface::mf rosenbrock(), TestDriverInterface::mf short column(), TestDriverInterface::mod cantilever(), TestDriverInterface::multimodal(), TestDriverInterface::rosenbrock(), TestDriverInterface::salinas(), TestDriverInterface::scalable gerstner(), TestDriverInterface::scalablemonomials(), TestDriverInterface::scalable text book(), TestDriverInterface::short column(), TestDriverInterface::shubert(), TestDriverInterface::side impact cost(), TestDriverInterface::side impact perf(), TestDriverInterface::smooth herbie(), TestDriverInterface::sobol g function(), TestDriverInterface::sobol ishigami(), TestDriverInterface::sobol rational(), TestDriverInterface::steel column cost(), TestDriverInterface::steel column perf(), TestDriverInterface::text book(), TestDriverInterface::text book1(), TestDriverInterface::text book2(), TestDriverInterface::text book3(), and TestDriverInterface::text book ouu().

852

CHAPTER 13. CLASS DOCUMENTATION

void herbie1D ( size t der mode, Real xc loc, std::vector< Real > & w and ders ) [private]
1D components of herbie function
1D Herbie function and its derivatives (apart from a multiplicative factor)
Referenced by TestDriverInterface::herbie().
void smooth herbie1D ( size t der mode, Real xc loc, std::vector< Real > & w and ders ) [private]
1D components of smooth herbie function
1D Smoothed Herbie= 1DHerbie minus the high frequency sine term, and its derivatives (apart from a multiplicative factor)
Referenced by TestDriverInterface::smooth herbie().
void shubert1D ( size t der mode, Real xc loc, std::vector< Real > & w and ders ) [private]
1D components of shubert function
1D Shubert function and its derivatives (apart from a multiplicative factor)
Referenced by TestDriverInterface::shubert().
int herbie (

) [private]

returns the N-D herbie function


N-D Herbie function and its derivatives.
References DirectApplicInterface::directFnASV, DirectApplicInterface::directFnDVV, TestDriverInterface::herbie1D(), DirectApplicInterface::numDerivVars, DirectApplicInterface::numVars, TestDriverInterface::separable combine(),
and DirectApplicInterface::xC.
Referenced by TestDriverInterface::derived map ac().
int smooth herbie (

) [private]

returns the N-D smooth herbie function


N-D Smoothed Herbie function and its derivatives.
References DirectApplicInterface::directFnASV, DirectApplicInterface::directFnDVV, DirectApplicInterface::numDerivVars, DirectApplicInterface::numVars, TestDriverInterface::separable combine(), TestDriverInterface::smooth herbie1D(), and DirectApplicInterface::xC.
Referenced by TestDriverInterface::derived map ac().
void separable combine ( Real mult scale factor, std::vector< Real > & w, std::vector< Real > & d1w,
std::vector< Real > & d2w ) [private]
utility to combine components of separable fns
this function combines N 1D functions and their derivatives to compute a N-D separable function and its
derivatives, logic is general enough to support different 1D functions in different dimensions (can mix and match)
References DirectApplicInterface::directFnASV, DirectApplicInterface::directFnDVV, DirectApplicInterface::fnGrads, DirectApplicInterface::fnHessians, DirectApplicInterface::fnVals, DirectApplicInterface::numDerivVars, and DirectApplicInterface::numVars.
Referenced by TestDriverInterface::herbie(), TestDriverInterface::shubert(), and TestDriverInterface::smoothherbie().

13.165. TRACKERHTTP CLASS REFERENCE


int mc api run (

853

) [private]

direct interface to ModelCenter via API, HKIM 4/3/03


The ModelCenter interface doesnt have any specific construct vs. run time functions. For now, we manage it
along with the integrated test drivers
References Dakota::abort handler(), DirectApplicInterface::analysisComponents, DirectApplicInterface::analysisDriverIndex, Dakota::dc ptr int, DirectApplicInterface::directFnASV, Interface::fnLabels, DirectApplicInterface::fnVals, Dakota::mc ptr int, ApplicationInterface::multiProcAnalysisFlag, DirectApplicInterface::numACV, DirectApplicInterface::numADIV, DirectApplicInterface::numADRV, DirectApplicInterface::numFns, DirectApplicInterface::xC, DirectApplicInterface::xCLabels, DirectApplicInterface::xDI, DirectApplicInterface::xDILabels, DirectApplicInterface::xDR, and DirectApplicInterface::xDRLabels.
Referenced by TestDriverInterface::derived map ac().
The documentation for this class was generated from the following files:
TestDriverInterface.hpp
TestDriverInterface.cpp

13.165

TrackerHTTP Class Reference

TrackerHTTP: a usage tracking module that uses HTTP/HTTPS via the curl library.

Public Member Functions


TrackerHTTP (int world rank=0)
standard constructor with ProblemDescDB, rank

TrackerHTTP ()
destructor to free handles

void post start (ProblemDescDB &problem db)


post the start of an analysis and archive start time

void post finish (unsigned runtime=0)


post the completion of an analysis including elapsed time

Private Member Functions


void initialize (int world rank=0)
shared initialization functions across constructors

void url add field (std::string &url, const char keyword, const std::string &value, bool delimit=true) const
append keyword/value pair to url in GET style (with &keyword=value); set delimit = false to omit the &

void build default data (std::string &url, std::time t &rawtime, const std::string &mode) const
construct URL with shared information for start/finish

void send data using get (const std::string &urltopost) const


transmit data to the web server using GET

void send data using post (const std::string &datatopost) const


POST separate location and query; datatopost=name=daniel&project=curl.

void populate method list (ProblemDescDB &problem db)


extract list of methods from problem database

854

CHAPTER 13. CLASS DOCUMENTATION


std::string get uid () const
get the real user ID

std::string get username () const


get the username as reported by the environment

std::string get hostname () const


get the system hostname

std::string get os () const


get the operating system

std::string get datetime (const std::time t &rawtime) const


get the date and time as a string YYYYMMDDHHMMSS

Private Attributes
CURL curlPtr
pointer to the curl handler instance

FILE devNull
pointer to /dev/null

std::string trackerLocation
base URL for the tracker

std::string proxyLocation
if empty, proxy may still be specified via environment variables (unlike default CURL behavior)

long timeoutSeconds
seconds until the request will timeout (may have issues with signals)

std::string methodList
list of active methods

std::string dakotaVersion
DAKOTA version.

std::time t startTime
cached starting time in raw seconds

short outputLevel
verbosity control

13.165.1

Detailed Description

TrackerHTTP: a usage tracking module that uses HTTP/HTTPS via the curl library.

13.165.2

Member Function Documentation

void send data using get ( const std::string & urltopost ) const [private]
transmit data to the web server using GET
whole url including location&fields
References TrackerHTTP::curlPtr, and TrackerHTTP::outputLevel.

13.166. VARIABLES CLASS REFERENCE

855

void send data using post ( const std::string & datatopost ) const [private]
POST separate location and query; datatopost=name=daniel&project=curl.
separate location and query; datatopost=name=daniel&project=curl
References TrackerHTTP::curlPtr, TrackerHTTP::outputLevel, and TrackerHTTP::trackerLocation.
Referenced by TrackerHTTP::post finish(), and TrackerHTTP::post start().
The documentation for this class was generated from the following files:
TrackerHTTP.hpp
TrackerHTTP.cpp

13.166

Variables Class Reference

Base class for the variables class hierarchy.


Inheritance diagram for Variables:

Variables
MixedVariables

RelaxedVariables

Public Member Functions


Variables ()
default constructor

Variables (const ProblemDescDB &problem db)


standard constructor

Variables (const SharedVariablesData &svd)


alternate constructor for instantiations on the fly

Variables (const Variables &vars)


copy constructor

virtual Variables ()
destructor

Variables operator= (const Variables &vars)


assignment operator

virtual void reshape (const SizetArray &vc totals)


reshapes an existing Variables object based on the incoming variablesComponents

virtual void read (std::istream &s)


read a variables object from an std::istream

virtual void write (std::ostream &s) const


write a variables object to an std::ostream

virtual void write aprepro (std::ostream &s) const


write a variables object to an std::ostream in aprepro format

virtual void read annotated (std::istream &s)

856

CHAPTER 13. CLASS DOCUMENTATION


read a variables object in annotated format from an istream

virtual void write annotated (std::ostream &s) const


write a variables object in annotated format to an std::ostream

virtual void read tabular (std::istream &s)


read a variables object in tabular format from an istream

virtual void write tabular (std::ostream &s) const


write a variables object in tabular format to an std::ostream

virtual void read (MPIUnpackBuffer &s)


read a variables object from a packed MPI buffer

virtual void write (MPIPackBuffer &s) const


write a variables object to a packed MPI buffer

size t tv () const
total number of vars

size t cv () const
number of active continuous vars

size t cv start () const


start index of active continuous vars

size t div () const


number of active discrete int vars

size t div start () const


start index of active discrete int vars

size t drv () const


number of active discrete real vars

size t drv start () const


start index of active discrete real vars

size t icv () const


number of inactive continuous vars

size t icv start () const


start index of inactive continuous vars

size t idiv () const


number of inactive discrete int vars

size t idiv start () const


start index of inactive discrete int vars

size t idrv () const


number of inactive discrete real vars

size t idrv start () const


start index of inactive discrete real vars

size t acv () const


total number of continuous vars

size t adiv () const


total number of discrete integer vars

size t adrv () const


total number of discrete real vars

13.166. VARIABLES CLASS REFERENCE

857

const SharedVariablesData & shared data () const


return sharedVarsData

SharedVariablesData & shared data ()


return sharedVarsData

Real continuous variable (size t index) const


return an active continuous variable

const RealVector & continuous variables () const


return the active continuous variables (Note: returns a view by const reference, but initializing a RealVector from
this reference invokes the Teuchos matrix copy constructor to create a Teuchos::Copy instance; to obtain a mutable
view, use continuous variables view())

void continuous variable (Real c var, size t index)


set an active continuous variable

void continuous variables (const RealVector &c vars)


set the active continuous variables

int discrete int variable (size t index) const


return an active discrete integer variable

const IntVector & discrete int variables () const


return the active discrete integer variables (Note: returns a view by const reference, but initializing an IntVector
from this reference invokes the Teuchos matrix copy constructor to create a Teuchos::Copy instance; to obtain a
mutable view, use discrete int variables view())

void discrete int variable (int di var, size t index)


set an active discrete integer variable

void discrete int variables (const IntVector &di vars)


set the active discrete integer variables

Real discrete real variable (size t index) const


return an active discrete real variable

const RealVector & discrete real variables () const


return the active discrete real variables (Note: returns a view by const reference, but initializing a RealVector from
this reference invokes the Teuchos matrix copy constructor to create a Teuchos::Copy instance; to obtain a mutable
view, use discrete real variables view())

void discrete real variable (Real dr var, size t index)


set an active discrete real variable

void discrete real variables (const RealVector &dr vars)


set the active discrete real variables

void active variables (const Variables &vars)


copy the active cv/div/drv variables from vars

RealVector continuous variables view () const


return a mutable view of the active continuous variables

IntVector discrete int variables view () const


return a mutable view of the active discrete integer variables

RealVector discrete real variables view () const


return a mutable view of the active discrete real variables

StringMultiArrayConstView continuous variable labels () const


return the active continuous variable labels

858

CHAPTER 13. CLASS DOCUMENTATION


void continuous variable labels (StringMultiArrayConstView cv labels)
set the active continuous variable labels

void continuous variable label (const String &cv label, size t index)
set an active continuous variable label

StringMultiArrayConstView discrete int variable labels () const


return the active discrete integer variable labels

void discrete int variable labels (StringMultiArrayConstView div labels)


set the active discrete integer variable labels

void discrete int variable label (const String &div label, size t index)
set an active discrete integer variable label

StringMultiArrayConstView discrete real variable labels () const


return the active discrete real variable labels

void discrete real variable labels (StringMultiArrayConstView drv labels)


set the active discrete real variable labels

void discrete real variable label (const String &drv label, size t index)
set an active discrete real variable label

UShortMultiArrayConstView continuous variable types () const


return the active continuous variable types

void continuous variable types (UShortMultiArrayConstView cv types)


set the active continuous variable types

void continuous variable type (unsigned short cv type, size t index)


set an active continuous variable type

UShortMultiArrayConstView discrete int variable types () const


return the active discrete integer variable types

void discrete int variable types (UShortMultiArrayConstView div types)


set the active discrete integer variable types

void discrete int variable type (unsigned short div type, size t index)
set an active discrete integer variable type

UShortMultiArrayConstView discrete real variable types () const


return the active discrete real variable types

void discrete real variable types (UShortMultiArrayConstView drv types)


set the active discrete real variable types

void discrete real variable type (unsigned short drv type, size t index)
set an active discrete real variable type

SizetMultiArrayConstView continuous variable ids () const


return the active continuous variable position identifiers

void continuous variable ids (SizetMultiArrayConstView cv ids)


set the active continuous variable position identifiers

void continuous variable id (size t cv id, size t index)


set an active continuous variable position identifier

const SizetArray & relaxed discrete ids () const


returns the set of discrete variable ids relaxed into a continuous array

const RealVector & inactive continuous variables () const

13.166. VARIABLES CLASS REFERENCE


return the inactive continuous variables

void inactive continuous variables (const RealVector &ic vars)


set the inactive continuous variables

const IntVector & inactive discrete int variables () const


return the inactive discrete variables

void inactive discrete int variables (const IntVector &idi vars)


set the inactive discrete variables

const RealVector & inactive discrete real variables () const


return the inactive discrete variables

void inactive discrete real variables (const RealVector &idr vars)


set the inactive discrete variables

StringMultiArrayConstView inactive continuous variable labels () const


return the inactive continuous variable labels

void inactive continuous variable labels (StringMultiArrayConstView ic vars)


set the inactive continuous variable labels

StringMultiArrayConstView inactive discrete int variable labels () const


return the inactive discrete variable labels

void inactive discrete int variable labels (StringMultiArrayConstView idi vars)


set the inactive discrete variable labels

StringMultiArrayConstView inactive discrete real variable labels () const


return the inactive discrete variable labels

void inactive discrete real variable labels (StringMultiArrayConstView idr vars)


set the inactive discrete variable labels

UShortMultiArrayConstView inactive continuous variable types () const


return the inactive continuous variable types

UShortMultiArrayConstView inactive discrete int variable types () const


return the inactive discrete integer variable types

UShortMultiArrayConstView inactive discrete real variable types () const


return the inactive discrete real variable types

SizetMultiArrayConstView inactive continuous variable ids () const


return the inactive continuous variable position identifiers

const RealVector & all continuous variables () const


returns a single array with all continuous variables

void all continuous variables (const RealVector &ac vars)


sets all continuous variables using a single array

void all continuous variable (Real ac var, size t index)


set a variable within the all continuous array

const IntVector & all discrete int variables () const


returns a single array with all discrete variables

void all discrete int variables (const IntVector &adi vars)


sets all discrete variables using a single array

void all discrete int variable (int adi var, size t index)
set a variable within the all discrete array

859

860

CHAPTER 13. CLASS DOCUMENTATION


const RealVector & all discrete real variables () const
returns a single array with all discrete variables

void all discrete real variables (const RealVector &adr vars)


sets all discrete variables using a single array

void all discrete real variable (Real adr var, size t index)
set a variable within the all discrete array

StringMultiArrayView all continuous variable labels () const


returns a single array with all continuous variable labels

void all continuous variable labels (StringMultiArrayConstView acv labels)


sets all continuous variable labels using a single array

void all continuous variable label (const String &acv label, size t index)
set a label within the all continuous label array

StringMultiArrayView all discrete int variable labels () const


returns a single array with all discrete variable labels

void all discrete int variable labels (StringMultiArrayConstView adiv labels)


sets all discrete variable labels using a single array

void all discrete int variable label (const String &adiv label, size t index)
set a label within the all discrete label array

StringMultiArrayView all discrete real variable labels () const


returns a single array with all discrete variable labels

void all discrete real variable labels (StringMultiArrayConstView adrv labels)


sets all discrete variable labels using a single array

void all discrete real variable label (const String &adrv label, size t index)
set a label within the all discrete label array

UShortMultiArrayConstView all continuous variable types () const


return all continuous variable types

UShortMultiArrayConstView all discrete int variable types () const


return all discrete variable types

UShortMultiArrayConstView all discrete real variable types () const


return all discrete variable types

SizetMultiArrayConstView all continuous variable ids () const


return all continuous variable position identifiers

Variables copy (bool deep svd=false) const


for use when a deep copy is needed (the representation is not shared)

const std::pair< short, short > & view () const


returns variablesView

std::pair< short, short > get view (const ProblemDescDB &problem db) const
defines variablesView from problem db attributes

void inactive view (short view2)


sets the inactive view based on higher level (nested) context

const String & variables id () const


returns the variables identifier string

const SizetArray & variables components totals () const

13.166. VARIABLES CLASS REFERENCE

861

returns the number of variables for each of the constitutive components

bool is null () const


function to check variablesRep (does this envelope contain a letter)

Protected Member Functions


Variables (BaseConstructor, const ProblemDescDB &problem db, const std::pair< short, short > &view)
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

Variables (BaseConstructor, const SharedVariablesData &svd)


constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)

virtual void build active views ()


construct active views of all variables arrays

virtual void build inactive views ()


construct inactive views of all variables arrays

void build views ()


construct active/inactive views of all variables arrays

Protected Attributes
SharedVariablesData sharedVarsData
reference-counted instance of shared variables data: ids, labels, counts

RealVector allContinuousVars
array combining all of the continuous variables (design, uncertain, state)

IntVector allDiscreteIntVars
array combining all of the discrete integer variables (design, state)

RealVector allDiscreteRealVars
array combining all of the discrete real variables (design, state)

RealVector continuousVars
the active continuous variables array view

IntVector discreteIntVars
the active discrete integer variables array view

RealVector discreteRealVars
the active discrete real variables array view

RealVector inactiveContinuousVars
the inactive continuous variables array view

IntVector inactiveDiscreteIntVars
the inactive discrete integer variables array view

RealVector inactiveDiscreteRealVars
the inactive discrete real variables array view

862

CHAPTER 13. CLASS DOCUMENTATION

Private Member Functions


Variables get variables (const ProblemDescDB &problem db)
Used by the standard envelope constructor to instantiate the correct letter class.

Variables get variables (const SharedVariablesData &svd) const


Used by the alternate envelope constructors, by read functions, and by copy() to instantiate a new letter class.

short method map (short view spec, bool relaxed) const


infer domain from method selection

short method domain (const ProblemDescDB &problem db) const


infer domain from method selection

short method view (const ProblemDescDB &problem db) const


infer view from method selection

short response view (const ProblemDescDB &problem db) const


infer view from type of response data set

void check view compatibility ()


perform sanity checks on view.first and view.second after update

template<class Archive >


void load (Archive &ar, const unsigned int version)
read a Variables object from an archive

template<class Archive >


void save (Archive &ar, const unsigned int version) const
write a Variables object to an archive

BOOST SERIALIZATION SPLIT MEMBER () Variables variablesRep


pointer to the letter (initialized only for the envelope)

Private Attributes
int referenceCount
number of objects sharing variablesRep

Friends
class boost::serialization::access
for serializing private data members

bool operator== (const Variables &vars1, const Variables &vars2)


strict equality operator (for boost hash-based lookups)

bool operator!= (const Variables &vars1, const Variables &vars2)


strict inequality operator

bool nearby (const Variables &vars1, const Variables &vars2, Real rel tol)
tolerance-based equality operator

std::size t hash value (const Variables &vars)


hash value

13.167. VERIFICATION CLASS REFERENCE

13.166.1

863

Detailed Description

Base class for the variables class hierarchy.


The Variables class is the base class for the class hierarchy providing design, uncertain, and state variables
for continuous and discrete domains within a Model. Using the fundamental arrays from the input specification,
different derived classes define different views of the data. For memory efficiency and enhanced polymorphism,
the variables hierarchy employs the letter/envelope idiom (see Coplien Advanced C++, p. 133), for which the
base class (Variables) serves as the envelope and one of the derived classes (selected in Variables::get variables())
serves as the letter.

13.166.2

Member Function Documentation

void build views (

) [inline], [protected]

construct active/inactive views of all variables arrays


= EMPTY)
= EMPTY)
References Variables::build active views(), Variables::build inactive views(), Variables::sharedVarsData, Variables::view(), and SharedVariablesData::view().
Referenced by MixedVariables::MixedVariables(), RelaxedVariables::RelaxedVariables(), MixedVariables::reshape(),
and RelaxedVariables::reshape().
The documentation for this class was generated from the following file:
DakotaVariables.hpp

13.167

Verification Class Reference

Base class for managing common aspects of verification studies.


Inheritance diagram for Verification:
Iterator
Analyzer
Verification
RichExtrapVerification

Protected Member Functions


Verification (ProblemDescDB &problem db, Model &model)
constructor

Verification (unsigned short method name, Model &model)


alternate constructor for instantiations on the fly

Verification ()
destructor

864

CHAPTER 13. CLASS DOCUMENTATION


void core run ()
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post

void print results (std::ostream &s)


print the final iterator results

virtual void perform verification ()=0


Redefines the core run() virtual function for the Verification branch.

Additional Inherited Members


13.167.1

Detailed Description

Base class for managing common aspects of verification studies.


The Verification base class manages common data and functions, such as those involving ...

13.167.2

Member Function Documentation

void core run (

) [inline], [protected], [virtual]

core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References Verification::perform verification().
void print results ( std::ostream & s ) [protected], [virtual]
print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation
summary printed in finalize run().
Reimplemented from Analyzer.
Reimplemented in RichExtrapVerification.
References Analyzer::print results().
Referenced by RichExtrapVerification::print results().
The documentation for this class was generated from the following files:
DakotaVerification.hpp
DakotaVerification.cpp

Chapter 14

File Documentation
14.1

dakota dll api.cpp File Reference

This file contains a DakotaRunner class, which launches DAKOTA.

Namespaces
Dakota
The primary namespace for DAKOTA.

Constant Groups
Dakota
The primary namespace for DAKOTA.

Functions
void DAKOTA DLL FN dakota create (int dakota ptr int, const char logname)
create and configure a new DakotaRunner, adding it to list of instances

int DAKOTA DLL FN dakota readInput (int id, const char dakotaInput)
command DakotaRunner instance id to read from file dakotaInput

void DAKOTA DLL FN dakota get variable info (int id, char pVarNames, int pNumVarNames, char
pRespNames, int pNumRespNames)
return the variable and response names

int DAKOTA DLL FN dakota start (int id)


command DakotaRunner instance id to start (plugin interface and run strategy)

void DAKOTA DLL FN dakota destroy (int id)


delete Dakota runner instance id and remove from active list

void DAKOTA DLL FN dakota stop (int id)


command DakotaRunner instance id to stop execution

const char DAKOTA DLL FN dakota getStatus (int id)


return current results output as a string

int get mc ptr int ()


865

866

CHAPTER 14. FILE DOCUMENTATION


get the DAKOTA pointer to ModelCenter

void set mc ptr int (int ptr int)


set the DAKOTA pointer to ModelCenter

int get dc ptr int ()


get the DAKOTA pointer to ModelCenter current design point

void set dc ptr int (int ptr int)


set the DAKOTA pointer to ModelCenter current design point

14.1.1

Detailed Description

This file contains a DakotaRunner class, which launches DAKOTA.

14.1.2

Function Documentation

void DAKOTA DLL FN dakota stop ( int id )


command DakotaRunner instance id to stop execution
TODO: trick application to quit through the syscall interface or throw exception.

14.2

dakota dll api.h File Reference

API for DLL interactions.

Functions
void DAKOTA DLL FN dakota create (int dakota ptr int, const char logname)
create and configure a new DakotaRunner, adding it to list of instances

int DAKOTA DLL FN dakota readInput (int id, const char dakotaInput)
command DakotaRunner instance id to read from file dakotaInput

int DAKOTA DLL FN dakota start (int id)


command DakotaRunner instance id to start (plugin interface and run strategy)

void DAKOTA DLL FN dakota destroy (int id)


delete Dakota runner instance id and remove from active list

void DAKOTA DLL FN dakota stop (int id)


command DakotaRunner instance id to stop execution

const char DAKOTA DLL FN dakota getStatus (int id)


return current results output as a string

int DAKOTA DLL FN get mc ptr int ()


get the DAKOTA pointer to ModelCenter

void DAKOTA DLL FN set mc ptr int (int ptr int)


set the DAKOTA pointer to ModelCenter

int DAKOTA DLL FN get dc ptr int ()


get the DAKOTA pointer to ModelCenter current design point

void DAKOTA DLL FN set dc ptr int (int ptr int)


set the DAKOTA pointer to ModelCenter current design point

14.3. DAKOTA TABULAR IO.HPP FILE REFERENCE

867

void DAKOTA DLL FN dakota get variable info (int id, char pVarNames, int pNumVarNames, char
pRespNames, int pNumRespNames)
return the variable and response names

14.2.1

Detailed Description

API for DLL interactions.

14.2.2

Function Documentation

void DAKOTA DLL FN dakota stop ( int id )


command DakotaRunner instance id to stop execution
TODO: trick application to quit through the syscall interface or throw exception.

14.3

dakota tabular io.hpp File Reference

Utility functions for reading and writing tabular data files Emerging utilities for tabular file I/O. For now, just
extraction of capability from separate contexts to faciliate rework. These augment (and leverage) those in data util.h.

Namespaces
Dakota
The primary namespace for DAKOTA.

Constant Groups
Dakota
The primary namespace for DAKOTA.

Functions
void open file (std::ifstream &data file, const std::string &input filename, const std::string &context message)
open the file specified by name for reading, using passed input stream, presenting context-specific error on failure

void open file (std::ofstream &data file, const std::string &output filename, const std::string &context message)
open the file specified by name for writing, using passed output stream, presenting context-specific error on failure

void write header tabular (std::ostream &tabular ostream, const Variables &vars, const Response &response, const std::string &counter label, bool active only=false, bool response labels=true)
output the header row (labels) for a tabular data file used by Analyzer and Graphics

void write data tabular (std::ostream &tabular ostream, const Variables &vars, const Response &response,
size t counter= NPOS, bool active only=false, bool write responses=true)
output a row of tabular data from variables and response object used by graphics to append to tabular file during
iteration

void write data tabular (const std::string &output filename, const std::string &context message, const
RealVectorArray &output coeffs, const UShort2DArray &output indices)

868

CHAPTER 14. FILE DOCUMENTATION


PCE export: write freeform format file with whitespace-separated data where each row has num fns reals from
coeffs, followed by num vars unsigned shorts from indices.

bool exists extra data (std::istream &tabular file)


Check if an input stream contains unexpected additional data.

void read header tabular (std::istream &input stream)


read and discard header line from the stream

void read data tabular (const std::string &input filename, const std::string &context message, RealVector
&input data, size t num entries, bool annotated)
read possibly header-annotated whitespace-separated data into a vector of length num entries; if annotated then
its a column vector for now

void read data tabular (const std::string &input filename, const std::string &context message, RealArray
&input vector, bool annotated, size t num vars)
read possibly header-annotated whitespace-separated data into a dynamic vector with minimal error checking

void read data tabular (const std::string &input filename, const std::string &context message, RealVectorArray &input coeffs, UShort2DArray &input indices, bool annotated, size t num vars, size t num fns)
PCE import: read possibly header-annotated whitespace-separated data of unknown length where each row has
num fns reals followed by num vars unsigned shorts; append data to arrays passed by reference.

void read data tabular (const std::string &input filename, const std::string &context message, VariablesList &input vars, ResponseList &input resp, const SharedVariablesData &svd, size t num c vars, const
ActiveSet &temp set, bool annotated, bool verbose=false)
read whitespace-separated data with optional row and column headers into lists of Variables (using provided SVD)
and Responses until out of data; continuous variables only

void read data tabular (const std::string &input filename, const std::string &context message, RealMatrix
&input matrix, size t num rows, size t num cols, bool annotated, bool verbose=false)
read whitespace-separated data with optional row and column headers into a single matrix

14.3.1

Detailed Description

Utility functions for reading and writing tabular data files Emerging utilities for tabular file I/O. For now, just
extraction of capability from separate contexts to faciliate rework. These augment (and leverage) those in data util.h. Design/capability goals: Ability to read / write data with row/col headers or in free-form Detect premature
end of file, report if extra data More consistent and reliable checks for file open errors Require right number of
cols in header mode; only total data checking in free-form (likely) Allow comment character for header rows or
even in data? variables vs. variables/responses for both read and write Should we support CSV? delimiter = ,;
other? Verify treatment of trailing newline without reading a zero Allow reading into the transpose of the data
structure

14.4

dll tester.cpp File Reference

Test the DLL with a DAKOTA input file.

Functions
int main (int argc, char argv[ ])
The main program for exercising the DLL API with a simple command-line.

14.5. JEGAOPTIMIZER.CPP FILE REFERENCE

14.4.1

869

Detailed Description

Test the DLL with a DAKOTA input file.

14.5

JEGAOptimizer.cpp File Reference

Contains the implementation of the JEGAOptimizer class.

Classes
class JEGAOptimizer::Evaluator
An evaluator specialization that knows how to interact with Dakota.

class JEGAOptimizer::EvaluatorCreator
A specialization of the JEGA::FrontEnd::EvaluatorCreator that creates a new instance of a Evaluator.

class JEGAOptimizer::Driver
A subclass of the JEGA front end driver that exposes the individual protected methods to execute the algorithm.

Namespaces
Dakota
The primary namespace for DAKOTA.

Constant Groups
Dakota
The primary namespace for DAKOTA.

Functions
template<typename T >
string asstring (const T &val)
Creates a string from the argument val using an ostringstream.

14.5.1

Detailed Description

Contains the implementation of the JEGAOptimizer class.

14.6

JEGAOptimizer.hpp File Reference

Contains the definition of the JEGAOptimizer class.

Classes
class JEGAOptimizer
A version of Dakota::Optimizer for instantiation of John Eddys Genetic Algorithms (JEGA).

870

CHAPTER 14. FILE DOCUMENTATION

Namespaces
Dakota
The primary namespace for DAKOTA.

Constant Groups
Dakota
The primary namespace for DAKOTA.

14.6.1

Detailed Description

Contains the definition of the JEGAOptimizer class.

14.7

library mode.cpp File Reference

file containing a mock simulator main for testing Dakota in library mode

Classes
struct callback data

Functions
void fpinit ASL ()
void run dakota parse (const char dakota input file)
Run a Dakota LibraryEnvironment, mode 1: parsing an input file.

void run dakota data ()


Run a Dakota LibraryEnvironment, mode 2: from C++ API inserted data.

void run dakota mixed (const char dakota input file, bool mpirun flag)
Run a Dakota LibraryEnvironment, from string or input file input, supplemented with additional C++ API adjustments.

void serial interface plugin (Dakota::LibraryEnvironment &env)


Convenience function with simplest example of interface plugin: plugin a serial DirectApplicInterface that can be
constructed independent of Dakotas configuration details.

void parallel interface plugin (Dakota::LibraryEnvironment &env)


Convenience function to plug a library clients interface into the appropriate model, demonstrating use of Dakota
parallel configuration in constructing the plugin Interface on the right MPI Comm.

static void callback function (Dakota::ProblemDescDB db, void ptr)


Example: user-provided post-parse callback (Dakota::DbCallbackFunction)

int main (int argc, char argv[ ])


A mock simulator main for testing Dakota in library mode.

14.7. LIBRARY MODE.CPP FILE REFERENCE

871

Variables
static const char serial input [ ]
Default Dakota input string for serial case (rosenbrock):

static const char parallel input [ ]


Default Dakota input string for parallel case (text book)

14.7.1

Detailed Description

file containing a mock simulator main for testing Dakota in library mode

14.7.2

Function Documentation

void fpinit ASL (

Floating-point initialization from AMPL: switch to 53-bit rounding if appropriate, to eliminate some crossplatform differences.
Referenced by main().
void run dakota parse ( const char dakota input file )
Run a Dakota LibraryEnvironment, mode 1: parsing an input file.
Simplest library case: this function parses from an input file to define the ProblemDescDB data.
References Environment::execute(), ProgramOptions::input file(), Environment::mpi manager(), MPIManager::mpirun flag(), parallel interface plugin(), serial interface plugin(), and MPIManager::world rank().
Referenced by main().
void run dakota data (

Run a Dakota LibraryEnvironment, mode 2: from C++ API inserted data.


Rather than parsing from an input file, this function populates Data class objects directly using a minimal
specification and relies on constructor defaults and post-processing in post process() to fill in the rest.
References DataInterface::data rep(), DataResponses::data rep(), DataVariables::data rep(), DataMethod::datarep(), LibraryEnvironment::done modifying db(), Environment::execute(), DataResponsesRep::gradientType, DataResponsesRep::hessianType, LibraryEnvironment::insert nodes(), DataMethodRep::methodName, Environment::mpi manager(), MPIManager::mpirun flag(), ParallelLibrary::mpirun flag(), DataVariablesRep::numContinuousDesVars, DataResponsesRep::numNonlinearIneqConstraints, DataResponsesRep::numObjectiveFunctions, parallelinterface plugin(), Environment::parallel library(), serial interface plugin(), and ParallelLibrary::world rank().
Referenced by main().
void run dakota mixed ( const char dakota input file, bool mpirun flag )
Run a Dakota LibraryEnvironment, from string or input file input, supplemented with additional C++ API adjustments.
Function to encapsulate the Dakota object instantiations for mode 3: mixed parsing and direct updating.
This function showcases multiple features. For parsing, either an input file (dakota input file != NULL) or a
default input string (dakota input file == NULL) are shown. This parsed input is then mixed with input from three
sources: (1) input from a user-supplied callback function, (2) updates to the DB prior to Environment instantiation,
(3) updates directly to Iterators/Models following Environment instantiation.
References callback function(), LibraryEnvironment::done modifying db(), ProgramOptions::echo input(), Environment::execute(), LibraryEnvironment::filtered model list(), ProblemDescDB::get sa(), ProgramOptions::input file(),

872

CHAPTER 14. FILE DOCUMENTATION

ProgramOptions::input string(), Environment::mpi manager(), MPIManager::mpirun flag(), parallel input, parallelinterface plugin(), Environment::parallel library(), Environment::problem description db(), ProblemDescDB::resolvetop method(), callback data::rosen cdv upper bd, serial input, serial interface plugin(), ProblemDescDB::set(),
and ParallelLibrary::world rank().
Referenced by main().
void serial interface plugin ( Dakota::LibraryEnvironment & env )
Convenience function with simplest example of interface plugin: plugin a serial DirectApplicInterface that can be
constructed independent of Dakotas configuration details.
Demonstration of simple plugin where client code doesnt require access to detailed Dakota data (such as
Model-based parallel configuration information) to construct the DirectApplicInterface. This example plugs-in a
derived serial direct application interface instance (plugin rosenbrock).
References Dakota::abort handler(), LibraryEnvironment::plugin interface(), and Environment::problem descriptiondb().
Referenced by run dakota data(), run dakota mixed(), and run dakota parse().
void parallel interface plugin ( Dakota::LibraryEnvironment & env )
Convenience function to plug a library clients interface into the appropriate model, demonstrating use of Dakota
parallel configuration in constructing the plugin Interface on the right MPI Comm.
From a filtered list of Model candidates, plug-in a derived direct application interface instance (plugin textbook for parallel). This approach provides more complete access to the Model, e.g., for access to analysis
communicators.
References Dakota::abort handler(), Interface::assign rep(), LibraryEnvironment::filtered model list(), Environment::problem description db(), and ProblemDescDB::set db model nodes().
Referenced by run dakota data(), run dakota mixed(), and run dakota parse().
static void callback function ( Dakota::ProblemDescDB db, void ptr ) [static]
Example: user-provided post-parse callback (Dakota::DbCallbackFunction)
Example of user-provided callback function (an instance of Dakota::DbCallbackFunction) to override input
provided by parsed Dakota input file or input string data.
References Dakota::contains(), ProblemDescDB::get sa(), ProblemDescDB::get string(), ProblemDescDB::resolve top method(), callback data::rosen cdv upper bd, and ProblemDescDB::set().
Referenced by run dakota mixed().
int main ( int argc, char argv[ ] )
A mock simulator main for testing Dakota in library mode.
Overall Usage: dakota library mode [-mixed] [dakota.in]
Uses alternative instantiation syntax as described in the library mode documentation within the Developers
Manual. Tests several problem specification modes:
(1) run dakota parse: reads all problem specification data from a Dakota input file. Usage: dakota library mode dakota.in
(2) run dakota data: creates all problem specification from direct Data instance instantiations in the C++ code.
Usage: dakota library mode
(3) run dakota mixed: a mixture of input parsing and direct data updates, where the data updates occur: (a)
via the DB during Environment instantiation, and (b) via Iterators/Models following Environment instantiation.

14.8. LIBRARY SPLIT.CPP FILE REFERENCE

873

Usage: dakota library mode -mixed (input from default string) dakota library mode -mixed dakota.in (input from
specified file)
Serial cases use a plugin rosenbrock model, while parallel cases use textbook.
References MPIManager::detect parallel launch(), fpinit ASL(), Dakota::mpi debug hold(), run dakota data(),
run dakota mixed(), and run dakota parse().

14.7.3

Variable Documentation

const char serial input[ ] [static]


Initial value:
=
"
"
"
"
"
"
"
"
"
"
"
"
"
"

method,"
optpp q newton"
max iterations = 50"
convergence tolerance = 1e-4"
variables,"
continuous design = 2"
descriptors x1 x2"
interface,"
direct"
analysis driver = plugin rosenbrock"
responses,"
num objective functions = 1"
analytic gradients"
no hessians"

Default Dakota input string for serial case (rosenbrock):


Referenced by run dakota mixed().
const char parallel input[ ] [static]
Initial value:
=
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"

method,"
optpp q newton"
max iterations = 50"
convergence tolerance = 1e-4"
variables,"
continuous design = 2"
descriptors x1 x2"
interface,"
direct"
analysis driver = plugin text book"
responses,"
num objective functions = 1"
num nonlinear inequality constraints = 2"
analytic gradients"
no hessians"

Default Dakota input string for parallel case (text book)


Referenced by run dakota mixed().

14.8

library split.cpp File Reference

file containing a mock simulator main for testing DAKOTA in library mode on a split communicator

874

CHAPTER 14. FILE DOCUMENTATION

Functions
void manage mpi (MPI Comm &my comm, int &color)
Split MPI COMM WORLD, returning the comm and color.

void gen dakota input (const int &color, std::string &input)


Return the appropriate DAKOTA input based on color (1 or 2)

void run dakota (const MPI Comm &comm, const std::string &input, const int &color)
Launch DAKOTA on passed communicator, tagging output/error with color.

void collect results ()


Wait for and collect results from DAKOTA runs.

int main (int argc, char argv[ ])


Driver routine for testing library mode with partitioned MPI Comm. This test fixture requires MPI and can be run
on 38 processors.

14.8.1

Detailed Description

file containing a mock simulator main for testing DAKOTA in library mode on a split communicator

14.9

main.cpp File Reference

file containing the main program for DAKOTA

Functions
void fpinit ASL ()
int main (int argc, char argv[ ])
The main DAKOTA program.

14.9.1

Detailed Description

file containing the main program for DAKOTA

14.9.2

Function Documentation

void fpinit ASL (

Floating-point initialization from AMPL: switch to 53-bit rounding if appropriate, to eliminate some crossplatform differences.
int main ( int argc, char argv[ ] )
The main DAKOTA program.
Manage command line inputs, input files, restart file(s), output streams, and top level parallel iterator communicators. Instantiate the ExecutableEnvironment and invoke its execute() virtual function.
References Environment::check(), ExecutableEnvironment::execute(), fpinit ASL(), Dakota::mpi debug hold(),
and Dakota::register signal handlers().

14.10. RESTART UTIL.CPP FILE REFERENCE

14.10

875

restart util.cpp File Reference

file containing the DAKOTA restart utility main program

Namespaces
Dakota
The primary namespace for DAKOTA.

Constant Groups
Dakota
The primary namespace for DAKOTA.

Functions
void print restart (int argc, char argv, String print dest)
print a restart file

void print restart pdb (int argc, char argv, String print dest)
print a restart file (PDB format)

void print restart tabular (int argc, char argv, String print dest)
print a restart file (tabular format)

void read neutral (int argc, char argv)


read a restart file (neutral file format)

void repair restart (int argc, char argv, String identifier type)
repair a restart file by removing corrupted evaluations

void concatenate restart (int argc, char argv)


concatenate multiple restart files

int nidr save exedir (const char , int)


Use NIDR to add exedir and . to $PATH.

int main (int argc, char argv[ ])


The main program for the DAKOTA restart utility.

14.10.1

Detailed Description

file containing the DAKOTA restart utility main program

14.10.2

Function Documentation

int main ( int argc, char argv[ ] )


The main program for the DAKOTA restart utility.
Parse command line inputs and invoke the appropriate utility function (print restart(), print restart tabular(),
read neutral(), repair restart(), or concatenate restart()).
References Dakota::concatenate restart(), nidr save exedir(), Dakota::print restart(), Dakota::print restart pdb(), Dakota::print restart tabular(), Dakota::read neutral(), and Dakota::repair restart().

Index
Approximation
Dakota::Approximation, 310
Constraints
Dakota::Constraints, 350
DataFitSurrModel
Dakota::DataFitSurrModel, 360
EffGlobalMinimizer
Dakota::EffGlobalMinimizer, 421
Environment
Dakota::Environment, 429
Interface
Dakota::Interface, 468
Iterator
Dakota::Iterator, 477
Model
Dakota::Model, 539
NonDAdaptiveSampling
Dakota::NonDAdaptiveSampling, 598
ProblemDescDB
Dakota::ProblemDescDB, 731
SharedApproxData
Dakota::SharedApproxData, 792
initPts
Dakota::JEGAOptimizer, 494
model
Dakota::JEGAOptimizer::Evaluator, 437
A
Dakota::CONMINOptimizer, 342
APPSEvalMgr, 317
Dakota::APPSEvalMgr, 319
APPSOptimizer, 320
abort handler t
Dakota, 135
accepts multiple points
Dakota::JEGAOptimizer, 493
ActiveSet, 283
actualModel
Dakota::DataFitSurrModel, 365
add anchor to surfdata
Dakota::SurfpackApproximation, 825

add datapoint
Dakota::Graphics, 455
algorithm space model
Dakota::Analyzer, 290
Dakota::EffGlobalMinimizer, 421
Dakota::Minimizer, 511
Dakota::NonDBayesCalibration, 600
Dakota::NonDExpansion, 613
Dakota::NonDGlobalInterval, 620
Dakota::NonDReliability, 670
allContinuousIds
Dakota::SharedVariablesDataRep, 805
Analyzer, 285
anisotropic order to dimension preference
Dakota::NonDIntegration, 634
append approximation
Dakota::ApproximationInterface, 316
Dakota::DataFitSurrModel, 362, 363
ApplicationInterface, 291
approx subprob constraint eval
Dakota::SurrBasedLocalMinimizer, 833
approx subprob objective eval
Dakota::SurrBasedLocalMinimizer, 833
approxBuilds
Dakota::SurrogateModel, 842
Approximation, 306
Dakota::Approximation, 309, 310
ApproximationInterface, 312
array insert
Dakota::ResultsDBAny, 773
assess reconstruction
Dakota::EfficientSubspaceMethod, 424
assign rep
Dakota::Interface, 469
Dakota::Iterator, 480
Dakota::Model, 544
asstring
Dakota, 137
asynchronous local analyses
Dakota::ProcessHandleApplicInterface, 739
876

INDEX
asynchronous local evaluations
Dakota::ApplicationInterface, 303
asynchronous local evaluations nowait
Dakota::ApplicationInterface, 304
augmented lagrangian merit
Dakota::SurrBasedMinimizer, 837
B
Dakota::CONMINOptimizer, 342
BaseConstructor, 322
brent minimize
Dakota::NonlinearCGOptimizer, 684
build
Dakota::Approximation, 310
Dakota::PecosApproximation, 723
Dakota::SurfpackApproximation, 825
Dakota::TANA3Approximation, 847
Dakota::TaylorApproximation, 848
build approximation
Dakota::ApproximationInterface, 316
Dakota::DataFitSurrModel, 361
build global
Dakota::DataFitSurrModel, 364
build local multipoint
Dakota::DataFitSurrModel, 364
build views
Dakota::Constraints, 351
Dakota::Variables, 863
buildDataOrder
Dakota::SharedApproxData, 793
C
Dakota::CONMINOptimizer, 342
CAUVLbl
Dakota, 277
CEUVLbl
Dakota, 278
COLINApplication, 323
COLINOptimizer, 326
Dakota::COLINOptimizer, 328
CONMINOptimizer, 336
CT
Dakota::CONMINOptimizer, 341
callback data, 323
callback function
library mode.cpp, 872
ccv index map
Dakota::NestedModel, 562
cdiv index map
Dakota::NestedModel, 562

877
cdrv index map
Dakota::NestedModel, 562
check and broadcast
Dakota::ProblemDescDB, 731
check input
Dakota::ProblemDescDB, 732
check variables
Dakota::NonDIntegration, 634
check wait
Dakota::ProcessHandleApplicInterface, 738
clear all
Dakota::Approximation, 312
clear current
Dakota::Approximation, 311
Dakota::TANA3Approximation, 847
Clone
Dakota::JEGAOptimizer::Evaluator, 436
colin cache lookup
Dakota::COLINOptimizer, 330
colin request to dakota request
Dakota::COLINApplication, 325
CollabHybridMetaIterator, 330
collect evaluation impl
Dakota::COLINApplication, 325
CommandLineHandler, 332
CommandShell, 333
compute
Dakota::DiscrepancyCorrection, 413
compute covariance metric
Dakota::NonDExpansion, 614
Dakota::NonDStochCollocation, 681
compute final statistics metric
Dakota::NonDExpansion, 614
Dakota::NonDStochCollocation, 682
compute statistics
Dakota::NonDExpansion, 614
concatenate restart
Dakota, 139
ConcurrentMetaIterator, 334
conminInfo
Dakota::CONMINOptimizer, 340
constraint0 evaluator
Dakota::SNLLOptimizer, 818
constraint1 evaluator
Dakota::SNLLOptimizer, 819
constraint1 evaluator gn
Dakota::SNLLLeastSq, 812
constraint2 evaluator
Dakota::SNLLOptimizer, 819

878
constraint2 evaluator gn
Dakota::SNLLLeastSq, 813
constraint violation
Dakota::COLINOptimizer, 330
Dakota::SurrBasedMinimizer, 838
constraintMappingIndices
Dakota::CONMINOptimizer, 340
Dakota::DOTOptimizer, 416
constraintMappingMultipliers
Dakota::CONMINOptimizer, 340
Dakota::DOTOptimizer, 416
constraintMappingOffsets
Dakota::CONMINOptimizer, 340
Dakota::DOTOptimizer, 417
constraintValues
Dakota::CONMINOptimizer, 340
Dakota::DOTOptimizer, 416
Constraints, 343
Dakota::Constraints, 350
converge order
Dakota::RichExtrapVerification, 781
converge qoi
Dakota::RichExtrapVerification, 781
copy
Dakota::Constraints, 351
Dakota::SharedVariablesData, 802
copy data
Dakota::DDACEDesignCompExp, 405
core run
Dakota::Iterator, 478
Dakota::LeastSq, 496
Dakota::NonD, 587
Dakota::Optimizer, 693
Dakota::PStudyDACE, 745
Dakota::SurrBasedMinimizer, 836
Dakota::Verification, 864
create evaluation process
Dakota::ProcessHandleApplicInterface, 738
create plots 2d
Dakota::Graphics, 455
create tabular datastream
Dakota::Graphics, 455
CreateEvaluator
Dakota::JEGAOptimizer::EvaluatorCreator, 438
cv index map
Dakota::NestedModel, 561
DAUIVLbl
Dakota, 278
DAURVLbl

INDEX
Dakota, 278
DDACEDesignCompExp, 402
Dakota::DDACEDesignCompExp, 404
DEUIVLbl
Dakota, 278
DEURVLbl
Dakota, 278
DF
Dakota::CONMINOptimizer, 342
DOTOptimizer, 413
DakFuncs0
Dakota, 140
Dakota, 67
abort handler t, 135
asstring, 137
CAUVLbl, 277
CEUVLbl, 278
concatenate restart, 139
DAUIVLbl, 278
DAURVLbl, 278
DEUIVLbl, 278
DEURVLbl, 278
DakFuncs0, 140
DiscSetLbl, 279
FIELD NAMES, 140
flush, 135
get npath, 135
getRmax, 136
getdist, 136
id vars exact compare, 137
kw 1, 140, 214
kw 10, 142, 215
kw 100, 163, 232
kw 101, 163, 232
kw 102, 163, 232
kw 103, 163, 232
kw 104, 163, 232
kw 105, 164, 232
kw 106, 164, 233
kw 107, 164, 233
kw 108, 164, 233
kw 109, 164, 233
kw 11, 142, 215
kw 110, 165, 233
kw 111, 165, 233
kw 112, 165, 234
kw 113, 165, 234
kw 114, 165, 234
kw 115, 165, 234

INDEX
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

879
116, 166, 234
117, 166, 234
118, 166, 235
119, 166, 235
12, 143, 216
120, 166, 235
121, 167, 235
122, 167, 235
123, 167, 235
124, 167, 236
125, 167, 236
126, 167, 236
127, 168, 236
128, 168, 236
129, 168, 237
13, 143, 216
130, 168, 237
131, 168, 237
132, 169, 237
133, 169, 237
134, 169, 237
135, 169, 237
136, 169, 238
137, 170, 238
138, 170, 238
139, 170, 238
14, 143, 216
140, 170, 238
141, 170, 238
142, 170, 239
143, 171, 239
144, 171, 239
145, 171, 239
146, 171, 239
147, 171, 239
148, 172, 240
149, 172, 240
15, 144, 216
150, 172, 240
151, 172, 240
152, 173, 240
153, 173, 240
154, 173, 241
155, 173, 241
156, 173, 241
157, 174, 241
158, 174, 241
159, 174, 242
16, 144, 216

kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

160, 174, 242


161, 174, 242
162, 175, 242
163, 175, 242
164, 175, 243
165, 176, 243
166, 176, 243
167, 176, 243
168, 176, 243
169, 176, 244
17, 144, 217
170, 177, 244
171, 177, 244
172, 177, 244
173, 177, 244
174, 178, 244
175, 178, 245
176, 178, 245
177, 178, 245
178, 178, 245
179, 179, 245
18, 144, 217
180, 179, 246
181, 179, 246
182, 179, 246
183, 179, 246
184, 179, 246
185, 180, 247
186, 180, 247
187, 180, 247
188, 180, 247
189, 181, 247
19, 144, 217
190, 181, 247
191, 181, 248
192, 181, 248
193, 181, 248
194, 182, 248
195, 182, 248
196, 182, 248
197, 182, 249
198, 249
199, 182, 249
2, 141, 214
20, 145, 217
200, 183, 249
201, 183, 249
202, 183, 250
203, 183, 250

880

INDEX
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

204, 183, 250


205, 184, 250
206, 184, 250
207, 184, 251
208, 184, 251
209, 184, 251
21, 145, 217
210, 184, 251
211, 185, 251
212, 185, 251
213, 186, 252
214, 186, 252
215, 186, 252
216, 187, 252
217, 187, 253
218, 187, 253
219, 187, 253
22, 145, 217
220, 188, 253
221, 188, 253
222, 188, 253
223, 188, 254
224, 189, 254
225, 189, 254
226, 189, 254
227, 189, 255
228, 190, 255
229, 190, 255
23, 145, 218
230, 190, 255
231, 190, 255
232, 191, 255
233, 191, 256
234, 192, 256
235, 192, 256
236, 192, 256
237, 192, 256
238, 192, 257
239, 193, 257
24, 145, 218
240, 193, 257
241, 257
242, 193, 257
243, 193, 257
244, 194, 258
245, 194, 258
246, 194, 258
247, 194, 258
248, 194, 258

kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

249, 195, 259


25, 145, 218
250, 195, 259
251, 195, 259
252, 195, 259
253, 195, 259
254, 195, 260
255, 196, 260
256, 196, 260
257, 196
258, 196, 260
259, 196, 260
26, 146, 218
260, 197, 261
261, 197, 261
262, 197, 261
263, 197, 261
264, 197, 261
265, 198, 261
266, 198, 262
267, 198, 262
268, 199, 262
269, 199, 262
27, 146, 218
270, 199, 262
271, 199, 262
272, 200, 263
273, 200, 263
274, 200, 263
275, 201, 263
276, 201, 263
277, 201, 263
278, 201, 264
279, 202, 264
28, 146, 218
280, 202, 264
281, 202, 264
282, 202, 265
283, 202, 265
284, 203, 265
285, 203, 265
286, 203, 265
287, 204, 265
288, 204, 266
289, 204, 266
29, 146, 219
290, 204, 266
291, 205, 266
292, 205, 267

INDEX
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

881
293, 205, 267
294, 206, 267
295, 206, 267
296, 206, 268
297, 207, 268
298, 207, 268
299, 207, 268
3, 141, 214
30, 146, 219
300, 207, 268
301, 208, 268
302, 208, 269
303, 208, 269
304, 208, 269
305, 209, 269
306, 209, 270
307, 209, 270
308, 209, 270
309, 210, 270
31, 147, 219
310, 210, 271
311, 210, 271
312, 211, 271
313, 211, 271
314, 211, 272
315, 211, 272
316, 212, 272
317, 212, 272
318, 212, 273
319, 212, 273
32, 147, 219
320, 213, 273
321, 213, 273
322, 213, 273
323, 274
324, 213, 274
325, 274
326, 274
327, 274
328, 275
329, 275
33, 147, 219
330, 275
331, 275
332, 275
333, 276
334, 276
335, 276
336, 276

kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

337, 277
338, 277
339, 277
34, 148, 219
341, 277
35, 148, 220
36, 148, 220
37, 148, 220
38, 148, 220
39, 149, 221
4, 141, 214
40, 149, 221
41, 149, 221
42, 149, 221
43, 149, 221
44, 150, 221
45, 150, 222
46, 150, 222
47, 150, 222
48, 150, 222
49, 150, 222
5, 141, 214
50, 151, 222
51, 151, 223
52, 151, 223
53, 151, 223
54, 151, 223
55, 151, 223
56, 152, 223
57, 152, 224
58, 152, 224
59, 152, 224
6, 141, 215
60, 153, 224
61, 153, 224
62, 153, 224
63, 153, 225
64, 154, 225
65, 154, 225
66, 154, 225
67, 154, 225
68, 154, 225
69, 155, 226
7, 142, 215
70, 155, 226
71, 155, 226
72, 155, 226
73, 156, 226
74, 157, 227

882

INDEX
kw 75, 157, 227
kw 76, 157, 227
kw 77, 157, 227
kw 78, 158, 227
kw 79, 158, 228
kw 8, 142, 215
kw 80, 158, 228
kw 81, 159, 228
kw 82, 159, 228
kw 83, 159, 228
kw 84, 159, 229
kw 85, 160, 229
kw 86, 160, 229
kw 87, 160, 229
kw 88, 160, 229
kw 89, 161, 230
kw 9, 142, 215
kw 90, 161, 230
kw 91, 161, 230
kw 92, 161, 230
kw 93, 161, 230
kw 94, 161, 230
kw 95, 162, 231
kw 96, 162, 231
kw 97, 162, 231
kw 98, 162, 231
kw 99, 162, 231
lookup by val, 138
mindist, 136
mindistindx, 136
mpi debug hold, 135
my cp, 135
NUMBER OF FIELDS, 140
operator==, 135137
PRPMultiIndexCache, 134
PRPMultiIndexQueue, 134
perform analysis, 137
print restart, 138
print restart pdb, 138
print restart tabular, 138
read neutral, 139
register signal handlers, 135
repair restart, 139
SUBMETHOD COLLABORATIVE, 134
SCI FIELD NAMES, 281
set compare, 137
slmap, 139
start dakota heartbeat, 135
start grid computing, 136

stop grid computing, 137


VLI, 279
VLR, 279
var mp cbound, 281
var mp check cau, 280
var mp check ceu, 281
var mp check cv, 280
var mp check daui, 280
var mp check daur, 280
var mp check deui, 281
var mp check deur, 281
var mp check dset, 280
var mp drange, 281
Vlch, 279
Dakota::GetLongOpt
MandatoryValue, 452
OptionalValue, 452
Valueless, 452
Dakota::APPSEvalMgr
APPSEvalMgr, 319
isReadyForWork, 319
recv, 319
submit, 319
Dakota::APPSOptimizer
find optimum, 321
initialize variables and constraints, 322
set apps parameters, 322
Dakota::ActiveSet
derivVarsVector, 285
requestVector, 285
Dakota::Analyzer
algorithm space model, 290
evaluate parameter sets, 290
initialize run, 289
num samples, 289
post run, 289
pre output, 289
print results, 290
print sobol indices, 291
read variables responses, 291
variance based decomp, 290
Dakota::ApplicationInterface
asynchronous local evaluations, 303
asynchronous local evaluations nowait, 304
duplication detect, 301
init communicators checks, 300
init serial, 299
map, 299
master dynamic schedule analyses, 301

INDEX
master dynamic schedule evaluations, 302
master dynamic schedule evaluations nowait, 303
peer dynamic schedule evaluations, 302
peer dynamic schedule evaluations nowait, 304
peer static schedule evaluations, 302
serve analyses synch, 301
serve evaluations, 300
serve evaluations asynch, 305
serve evaluations asynch peer, 305
serve evaluations synch, 304
serve evaluations synch peer, 305
set communicators checks, 300
stop evaluation servers, 300
synch, 299
synch nowait, 299
synchronous local evaluations, 303
Dakota::Approximation
Approximation, 310
Approximation, 309, 310
build, 310
clear all, 312
clear current, 311
finalize, 311
get approx, 312
operator=, 310
pop, 311
rebuild, 311
restore, 311
Dakota::ApproximationInterface
append approximation, 316
build approximation, 316
functionSurfaces, 317
pop approximation, 317
rebuild approximation, 316
restore approximation, 317
update approximation, 315
Dakota::COLINApplication
colin request to dakota request, 325
collect evaluation impl, 325
dakota response to colin response, 326
evaluation available, 325
map domain, 326
perform evaluation impl, 325
set problem, 324
spawn evaluation impl, 325
Dakota::COLINOptimizer
COLINOptimizer, 328
colin cache lookup, 330
constraint violation, 330

883
find optimum, 328
post run, 329
returns multiple points, 329
set rng, 329
set solver parameters, 329
solver setup, 329
Dakota::CONMINOptimizer
A, 342
B, 342
C, 342
CT, 341
conminInfo, 340
constraintMappingIndices, 340
constraintMappingMultipliers, 340
constraintMappingOffsets, 340
constraintValues, 340
DF, 342
G1, 341
G2, 342
IC, 343
ISC, 343
MS1, 342
N1, 341
N2, 341
N3, 341
N4, 341
N5, 341
printControl, 340
S, 341
SCAL, 342
Dakota::CommandLineHandler
output helper, 333
Dakota::CommandShell
flush, 334
operator<<, 334
Dakota::ConcurrentMetaIterator
print results, 336
Dakota::Constraints
Constraints, 350
build views, 351
Constraints, 350
copy, 351
get constraints, 352
manage linear constraints, 352
operator=, 351
reshape, 351
Dakota::DDACEDesignCompExp
copy data, 405
DDACEDesignCompExp, 404

884
num samples, 405
post run, 405
pre run, 405
resolve samples symbols, 405
Dakota::DOTOptimizer
constraintMappingIndices, 416
constraintMappingMultipliers, 416
constraintMappingOffsets, 417
constraintValues, 416
dotFDSinfo, 415
dotInfo, 415
dotMethod, 416
intCntlParmArray, 416
printControl, 416
realCntlParmArray, 416
Dakota::DataFitSurrModel
DataFitSurrModel, 360
actualModel, 365
append approximation, 362, 363
build approximation, 361
build global, 364
build local multipoint, 364
derived asynch compute response, 360
derived compute response, 360
derived init communicators, 363
derived synchronize, 360
derived synchronize nowait, 361
evaluation id, 363
export point, 364
import points, 363
initialize export, 364
manage data recastings, 364
update actual model, 365
update approximation, 362
update from actual model, 365
Dakota::DirectApplicInterface
derived map ac, 409
init communicators checks, 409
set communicators checks, 409
synchronous local analysis, 409
Dakota::DiscrepancyCorrection
compute, 413
Dakota::EffGlobalMinimizer
EffGlobalMinimizer, 421
algorithm space model, 421
get best sample, 421
Dakota::EfficientSubspaceMethod
assess reconstruction, 424
init communicators, 424

INDEX
map xi to x, 424
reduced space uq, 424
uncertain vars to subspace, 424
Dakota::Environment
Environment, 429
Environment, 428430
get environment, 430
operator=, 430
parse, 430
Dakota::ExperimentData
load scalar, 440
Dakota::FSUDesignCompExp
enforce input rules, 445
FSUDesignCompExp, 444
num samples, 445
post run, 444
pre run, 444
Dakota::GaussProcApproximation
GPmodel apply, 450
GaussProcApproximation, 449
trendOrder, 450
Dakota::GetLongOpt
enroll, 452
GetLongOpt, 452
OptType, 452
parse, 452
retrieve, 452
usage, 453
Dakota::Graphics
add datapoint, 455
create plots 2d, 455
create tabular datastream, 455
new dataset, 455
Dakota::GridApplicInterface
synchronous local analysis, 457
Dakota::HierarchSurrModel
derived asynch compute response, 460
derived compute response, 460
derived synchronize, 460
derived synchronize nowait, 461
evaluation id, 461
Dakota::Interface
Interface, 468
assign rep, 469
eval tag prefix, 469
get interface, 470
Interface, 468
operator=, 469
rawResponseMap, 470

INDEX
response mapping, 469
Dakota::Iterator
Iterator, 477
assign rep, 480
core run, 478
eval tag prefix, 481
finalize run, 479
get iterator, 481
initialize graphics, 479
initialize run, 478
Iterator, 476, 477
maxEvalConcurrency, 482
operator=, 478
post run, 478
pre run, 478
print results, 479
probDescDB, 482
run, 480
uses method, 479
Dakota::IteratorScheduler
free iterator, 486
free iterator parallelism, 485
init evaluation concurrency, 486, 487
init iterator, 485
init iterator parallelism, 486
init serial iterators, 485
IteratorScheduler, 485
master dynamic schedule iterators, 487
run iterator, 486
schedule iterators, 487
serve iterators, 487
Dakota::JEGAOptimizer
initPts, 494
accepts multiple points, 493
find optimum, 493
GetBestMOSolutions, 492
GetBestSOSolutions, 492
GetBestSolutions, 492
initial points, 493, 494
JEGAOptimizer, 490
LoadAlgorithmConfig, 490
LoadDakotaResponses, 490
LoadProblemConfig, 490
LoadTheConstraints, 492
LoadTheDesignVariables, 492
LoadTheObjectiveFunctions, 492
LoadTheParameterDatabase, 490
returns multiple points, 493
ToDoubleMatrix, 493

885
Dakota::JEGAOptimizer::Driver
DestroyAlgorithm, 418
Driver, 417
ExtractAllData, 418
PerformIterations, 418
Dakota::JEGAOptimizer::Evaluator
model, 437
Clone, 436
Description, 434
Evaluate, 435, 436
Evaluator, 433, 434
GetDescription, 436
GetName, 436
GetNumberLinearConstraints, 435
GetNumberNonLinearConstraints, 435
Name, 434
RecordResponses, 435
SeparateVariables, 435
Dakota::JEGAOptimizer::EvaluatorCreator
CreateEvaluator, 438
EvaluatorCreator, 437
Dakota::LeastSq
core run, 496
finalize run, 497
get confidence intervals, 497
initialize run, 496
LeastSq, 496
post run, 496
primary resp weighter, 497
print results, 497
weight model, 497
Dakota::LibraryEnvironment
filtered interface list, 499
filtered model list, 500
LibraryEnvironment, 499
Dakota::MatlabInterface
derived map ac, 501
matlab engine run, 501
Dakota::MetaIterator
post run, 503
Dakota::Minimizer
algorithm space model, 511
data transform model, 512
finalize run, 511
gnewton set recast, 512
initialize run, 510
initialize scaling, 515
lin coeffs modify n2s, 516
Minimizer, 510

886
modify n2s, 516
modify s2n, 513
need resp trans byvars, 513
objective, 513
objective gradient, 514
objective hessian, 514
pack parameters buffer, 511
pack results buffer, 511
post run, 510
primary resp differencer, 515
resize best resp array, 514
resize best vars array, 514
response modify n2s, 516
response modify s2n, 513
scale model, 512
secondary resp copier, 512
secondary resp scaler, 515
unpack parameters buffer, 511
unpack results buffer, 511
variables scaler, 515
Dakota::MixedVarConstraints
MixedVarConstraints, 518
reshape, 518
Dakota::MixedVariables
MixedVariables, 519
read tabular, 519
Dakota::Model
Model, 539
assign rep, 544
derivative concurrency, 545
derived interface, 542
estimate derivatives, 545
estimate message lengths, 544
eval tag prefix, 543
evaluation cache, 543
FDstep1, 545
FDstep2, 545
fdGradStepSize, 547
fdHessByFnStepSize, 547
fdHessByGradStepSize, 547
get model, 545
init communicators, 543
init serial, 544
initialize h, 545
interface id, 542
local eval concurrency, 542
local eval synchronization, 542
manage asv, 547
Model, 539, 540

INDEX
operator=, 540
probDescDB, 548
subordinate iterator, 540
subordinate model, 540
subordinate models, 543
surrogate model, 541
synchronize derivatives, 546
truth model, 541
update from subordinate model, 541
update quasi hessians, 547
update response, 546
Dakota::NCSUOptimizer
NCSUOptimizer, 555
objective eval, 556
Dakota::NIDRProblemDescDB
derived parse inputs, 567
Dakota::NL2SOLLeastSq
minimize residuals, 570
Dakota::NLSSOLLeastSq
NLSSOLLeastSq, 577
Dakota::NPSOLOptimizer
NPSOLOptimizer, 687
Dakota::NestedModel
ccv index map, 562
cdiv index map, 562
cdrv index map, 562
cv index map, 561
derived asynch compute response, 561
derived compute response, 560
derived init communicators, 561
derived master overload, 561
div index map, 562
drv index map, 562
evaluation id, 561
response mapping, 562
subModel, 563
Dakota::NomadOptimizer
load parameters, 580
NomadOptimizer, 579
Dakota::NomadOptimizer::Evaluator
eval x, 432
Evaluator, 431
Dakota::NonD
core run, 587
finalize run, 588
initialize final statistics, 588
initialize random variable parameters, 588
initialize random variable types, 588
initialize random variables, 587

INDEX
initialize run, 587
print distribution map, 589
print distribution mappings, 589
set u to x mapping, 589
vars u to x mapping, 589
vars x to u mapping, 589
Dakota::NonDAdaptImpSampling
initialize, 593
NonDAdaptImpSampling, 592
Dakota::NonDAdaptiveSampling
NonDAdaptiveSampling, 598
NonDAdaptiveSampling, 598
Dakota::NonDBayesCalibration
algorithm space model, 600
NonDBayesCalibration, 600
Dakota::NonDCalibration
NonDCalibration, 602
Dakota::NonDCubature
increment grid preference, 604
increment reference, 605
NonDCubature, 604
num samples, 605
sampling reset, 604
Dakota::NonDDREAMBayesCalibration
likelihoodScale, 609
NonDDREAMBayesCalibration, 607
prior density, 608
prior sample, 608
problem size, 607
problem value, 608
quantify uncertainty, 608
sample likelihood, 608
Dakota::NonDExpansion
algorithm space model, 613
compute covariance metric, 614
compute final statistics metric, 614
compute statistics, 614
increment specification sequence, 613
useDerivs, 615
Dakota::NonDGPImpSampling
NonDGPImpSampling, 626
quantify uncertainty, 626
Dakota::NonDGPMSABayesCalibration
NonDGPMSABayesCalibration, 629
quantify uncertainty, 629
randomSeed, 629
Dakota::NonDGlobalInterval
algorithm space model, 620
Dakota::NonDIncremLHSSampling

887
NonDIncremLHSSampling, 631
quantify uncertainty, 631
Dakota::NonDIntegration
anisotropic order to dimension preference, 634
check variables, 634
dimension preference to anisotropic order, 634
NonDIntegration, 633
Dakota::NonDLHSSampling
NonDLHSSampling, 640
quantify uncertainty, 641
Dakota::NonDLocalReliability
dg ds eval, 654
dp2 dbeta factor, 655
initial taylor series, 652
initialize class data, 652
initialize level data, 653
initialize mpp search data, 653
PMA2 constraint eval, 652
PMA constraint eval, 651
PMA objective eval, 651
probability, 655
RIA constraint eval, 651
RIA objective eval, 651
update level data, 654
update mpp search data, 653
Dakota::NonDPolynomialChaos
increment order, 662
increment specification sequence, 662
NonDPolynomialChaos, 661, 662
Dakota::NonDQUESOBayesCalibration
NonDQUESOBayesCalibration, 668
quantify uncertainty, 668
Dakota::NonDQuadrature
initialize grid, 666
NonDQuadrature, 665
num samples, 666
sampling reset, 666
Dakota::NonDReliability
algorithm space model, 670
Dakota::NonDSampling
get parameter sets, 675
NonDSampling, 674
num samples, 675
sampling reset, 675
view aleatory uncertain counts, 676
view design counts, 676
view epistemic uncertain counts, 676
view uncertain counts, 676
Dakota::NonDSparseGrid

888
NonDSparseGrid, 679
num samples, 679
sampling reset, 679
Dakota::NonDStochCollocation
compute covariance metric, 681
compute final statistics metric, 682
NonDStochCollocation, 681
Dakota::NonlinearCGOptimizer
brent minimize, 684
Dakota::Optimizer
core run, 693
finalize run, 693
initialize run, 693
local objective recast retrieve, 695
objective reduction, 694
post run, 693
primary resp reducer, 694
print results, 694
reduce model, 694
Dakota::OutputManager
OutputManager, 697
Dakota::PSUADEDesignCompExp
enforce input rules, 748
num samples, 748
PSUADEDesignCompExp, 747
post run, 748
pre run, 747
Dakota::PStudyDACE
core run, 745
print results, 745
volumetric quality, 745
Dakota::ParallelLibrary
increment parallel configuration, 710
init communicators, 710
init mpi comm, 710
manage outputs restart, 710
ParallelLibrary, 709
resolve inputs, 711
terminate modelcenter, 710
Dakota::ParamResponsePair
evalInterfaceIds, 714
ParamResponsePair, 713
read, 714
write, 714
Dakota::ParamStudy
load distribute points, 718
post run, 718
pre run, 718
Dakota::PecosApproximation

INDEX
build, 723
finalize, 723
pop, 723
rebuild, 723
restore, 723
Dakota::ProblemDescDB
ProblemDescDB, 731
check and broadcast, 731
check input, 732
get db, 732
operator=, 731
parse inputs, 731
post process, 732
ProblemDescDB, 730, 731
Dakota::ProcessApplicInterface
synchronous local analyses, 735
Dakota::ProcessHandleApplicInterface
asynchronous local analyses, 739
check wait, 738
create evaluation process, 738
init communicators checks, 738
serve analyses asynch, 739
set communicators checks, 738
synchronous local analysis, 738
Dakota::ProgramOptions
split filenames, 743
Dakota::PythonInterface
derived map ac, 750
python convert int, 750
Dakota::RecastModel
derived compute response, 757
eval tag prefix, 758
initialize, 757
RecastModel, 756, 757
update from sub model, 758
Dakota::RelaxedVarConstraints
RelaxedVarConstraints, 760
reshape, 760
Dakota::RelaxedVariables
read tabular, 762
RelaxedVariables, 761
Dakota::Response
load, 766
save, 766
Dakota::ResponseRep
functionGradients, 771
load, 771
read, 769, 770
read annotated, 769

INDEX
read tabular, 769
reset, 770
reset inactive, 771
reshape, 770
ResponseRep, 769
save, 771
update, 770
update partial, 770
write annotated, 769
write tabular, 770
Dakota::ResultsDBAny
array insert, 773
extract data, 773
insert, 773
Dakota::ResultsEntry
ResultsEntry, 775
Dakota::RichExtrapVerification
converge order, 781
converge qoi, 781
estimate order, 780
print results, 780
Dakota::SNLLLeastSq
constraint1 evaluator gn, 812
constraint2 evaluator gn, 813
nlf2 evaluator gn, 812
post run, 812
Dakota::SNLLOptimizer
constraint0 evaluator, 818
constraint1 evaluator, 819
constraint2 evaluator, 819
nlf0 evaluator, 818
nlf1 evaluator, 818
nlf2 evaluator, 818
SNLLOptimizer, 817
Dakota::SeqHybridMetaIterator
extract parameter sets, 787
print results, 786
run sequential, 786
run sequential adaptive, 786
Dakota::SharedApproxData
SharedApproxData, 792
buildDataOrder, 793
get shared data, 793
operator=, 792
SharedApproxData, 791, 792
Dakota::SharedSurfpackApproxData
SharedSurfpackApproxData, 798
Dakota::SharedVariablesData
copy, 802

889
Dakota::SharedVariablesDataRep
allContinuousIds, 805
SharedVariablesDataRep, 805
Dakota::SingleModel
eval tag prefix, 807
Dakota::SurfpackApproximation
add anchor to surfdata, 825
build, 825
hessian, 825
SurfpackApproximation, 824, 825
surrogates to surf data, 825
Dakota::SurrBasedLocalMinimizer
approx subprob constraint eval, 833
approx subprob objective eval, 833
hard convergence check, 832
hom constraint eval, 834
hom objective eval, 833
minimize surrogates, 831
tr ratio check, 832
update penalty, 832
Dakota::SurrBasedMinimizer
augmented lagrangian merit, 837
constraint violation, 838
core run, 836
lagrangian merit, 837
penalty merit, 838
print results, 836
update augmented lagrange multipliers, 837
update filter, 837
update lagrange multipliers, 836
Dakota::SurrogateModel
approxBuilds, 842
force rebuild, 841
responseMode, 842
Dakota::SysCallApplicInterface
init communicators checks, 844
set communicators checks, 844
spawn analysis to shell, 845
spawn evaluation to shell, 844
spawn input filter to shell, 844
spawn output filter to shell, 845
synchronous local analysis, 844
test local evaluations, 844
wait local evaluations, 844
Dakota::TANA3Approximation
build, 847
clear current, 847
Dakota::TaylorApproximation
build, 848

890
Dakota::TestDriverInterface
derived map ac, 851
herbie, 852
herbie1D, 851
mc api run, 852
separable combine, 852
shubert1D, 852
smooth herbie, 852
smooth herbie1D, 852
Dakota::TrackerHTTP
send data using get, 854
send data using post, 854
Dakota::Variables
build views, 863
Dakota::Verification
core run, 864
print results, 864
dakota dll api.cpp, 865
dakota stop, 866
dakota dll api.h, 866
dakota stop, 867
dakota response to colin response
Dakota::COLINApplication, 326
dakota stop
dakota dll api.cpp, 866
dakota dll api.h, 867
dakota tabular io.hpp, 867
data transform model
Dakota::Minimizer, 512
DataEnvironment, 352
DataEnvironmentRep, 353
DataFitSurrModel, 355
DataInterface, 366
DataMethod, 367
DataMethodRep, 368
DataModel, 380
DataModelRep, 381
DataResponses, 385
DataResponsesRep, 387
DataVariables, 390
DataVariablesRep, 391
derivVarsVector
Dakota::ActiveSet, 285
derivative concurrency
Dakota::Model, 545
derived asynch compute response
Dakota::DataFitSurrModel, 360
Dakota::HierarchSurrModel, 460
Dakota::NestedModel, 561

INDEX
derived compute response
Dakota::DataFitSurrModel, 360
Dakota::HierarchSurrModel, 460
Dakota::NestedModel, 560
Dakota::RecastModel, 757
derived init communicators
Dakota::DataFitSurrModel, 363
Dakota::NestedModel, 561
derived interface
Dakota::Model, 542
derived map ac
Dakota::DirectApplicInterface, 409
Dakota::MatlabInterface, 501
Dakota::PythonInterface, 750
Dakota::TestDriverInterface, 851
derived master overload
Dakota::NestedModel, 561
derived parse inputs
Dakota::NIDRProblemDescDB, 567
derived synchronize
Dakota::DataFitSurrModel, 360
Dakota::HierarchSurrModel, 460
derived synchronize nowait
Dakota::DataFitSurrModel, 361
Dakota::HierarchSurrModel, 461
Description
Dakota::JEGAOptimizer::Evaluator, 434
DestroyAlgorithm
Dakota::JEGAOptimizer::Driver, 418
dg ds eval
Dakota::NonDLocalReliability, 654
dimension preference to anisotropic order
Dakota::NonDIntegration, 634
DirectApplicInterface, 406
DiscSetLbl
Dakota, 279
DiscrepancyCorrection, 410
div index map
Dakota::NestedModel, 562
dll tester.cpp, 868
dotFDSinfo
Dakota::DOTOptimizer, 415
dotInfo
Dakota::DOTOptimizer, 415
dotMethod
Dakota::DOTOptimizer, 416
dp2 dbeta factor
Dakota::NonDLocalReliability, 655
Driver

INDEX
Dakota::JEGAOptimizer::Driver, 417
drv index map
Dakota::NestedModel, 562
duplication detect
Dakota::ApplicationInterface, 301
EffGlobalMinimizer, 419
EfficientSubspaceMethod, 421
EmbedHybridMetaIterator, 425
enforce input rules
Dakota::FSUDesignCompExp, 445
Dakota::PSUADEDesignCompExp, 748
enroll
Dakota::GetLongOpt, 452
Environment, 426
Dakota::Environment, 428430
estimate derivatives
Dakota::Model, 545
estimate message lengths
Dakota::Model, 544
estimate order
Dakota::RichExtrapVerification, 780
eval tag prefix
Dakota::Interface, 469
Dakota::Iterator, 481
Dakota::Model, 543
Dakota::RecastModel, 758
Dakota::SingleModel, 807
eval x
Dakota::NomadOptimizer::Evaluator, 432
evalInterfaceIds
Dakota::ParamResponsePair, 714
Evaluate
Dakota::JEGAOptimizer::Evaluator, 435, 436
evaluate parameter sets
Dakota::Analyzer, 290
evaluation available
Dakota::COLINApplication, 325
evaluation cache
Dakota::Model, 543
evaluation id
Dakota::DataFitSurrModel, 363
Dakota::HierarchSurrModel, 461
Dakota::NestedModel, 561
Evaluator
Dakota::JEGAOptimizer::Evaluator, 433, 434
Dakota::NomadOptimizer::Evaluator, 431
EvaluatorCreator
Dakota::JEGAOptimizer::EvaluatorCreator, 437
ExecutableEnvironment, 438

891
ExperimentData, 439
export point
Dakota::DataFitSurrModel, 364
extract data
Dakota::ResultsDBAny, 773
extract parameter sets
Dakota::SeqHybridMetaIterator, 787
ExtractAllData
Dakota::JEGAOptimizer::Driver, 418
FDstep1
Dakota::Model, 545
FDstep2
Dakota::Model, 545
FIELD NAMES
Dakota, 140
FSUDesignCompExp, 442
Dakota::FSUDesignCompExp, 444
fdGradStepSize
Dakota::Model, 547
fdHessByFnStepSize
Dakota::Model, 547
fdHessByGradStepSize
Dakota::Model, 547
filtered interface list
Dakota::LibraryEnvironment, 499
filtered model list
Dakota::LibraryEnvironment, 500
finalize
Dakota::Approximation, 311
Dakota::PecosApproximation, 723
finalize run
Dakota::Iterator, 479
Dakota::LeastSq, 497
Dakota::Minimizer, 511
Dakota::NonD, 588
Dakota::Optimizer, 693
find optimum
Dakota::APPSOptimizer, 321
Dakota::COLINOptimizer, 328
Dakota::JEGAOptimizer, 493
flush
Dakota, 135
Dakota::CommandShell, 334
force rebuild
Dakota::SurrogateModel, 841
ForkApplicInterface, 440
fpinit ASL
library mode.cpp, 871
main.cpp, 874

892

INDEX

free iterator
Dakota::IteratorScheduler, 486
free iterator parallelism
Dakota::IteratorScheduler, 485
functionGradients
Dakota::ResponseRep, 771
functionSurfaces
Dakota::ApproximationInterface, 317
G1
Dakota::CONMINOptimizer, 341
G2
Dakota::CONMINOptimizer, 342
GPmodel apply
Dakota::GaussProcApproximation, 450
GaussProcApproximation, 445
Dakota::GaussProcApproximation, 449
get approx
Dakota::Approximation, 312
get best sample
Dakota::EffGlobalMinimizer, 421
get confidence intervals
Dakota::LeastSq, 497
get constraints
Dakota::Constraints, 352
get db
Dakota::ProblemDescDB, 732
get environment
Dakota::Environment, 430
get interface
Dakota::Interface, 470
get iterator
Dakota::Iterator, 481
get model
Dakota::Model, 545
get npath
Dakota, 135
get parameter sets
Dakota::NonDSampling, 675
get shared data
Dakota::SharedApproxData, 793
GetBestMOSolutions
Dakota::JEGAOptimizer, 492
GetBestSOSolutions
Dakota::JEGAOptimizer, 492
GetBestSolutions
Dakota::JEGAOptimizer, 492
GetDescription
Dakota::JEGAOptimizer::Evaluator, 436
GetLongOpt, 450

Dakota::GetLongOpt, 452
GetName
Dakota::JEGAOptimizer::Evaluator, 436
GetNumberLinearConstraints
Dakota::JEGAOptimizer::Evaluator, 435
GetNumberNonLinearConstraints
Dakota::JEGAOptimizer::Evaluator, 435
getRmax
Dakota, 136
getdist
Dakota, 136
gnewton set recast
Dakota::Minimizer, 512
Graphics, 453
GridApplicInterface, 456
hard convergence check
Dakota::SurrBasedLocalMinimizer, 832
herbie
Dakota::TestDriverInterface, 852
herbie1D
Dakota::TestDriverInterface, 851
hessian
Dakota::SurfpackApproximation, 825
HierarchSurrModel, 457
hom constraint eval
Dakota::SurrBasedLocalMinimizer, 834
hom objective eval
Dakota::SurrBasedLocalMinimizer, 833
IC
Dakota::CONMINOptimizer, 343
ISC
Dakota::CONMINOptimizer, 343
id vars exact compare
Dakota, 137
import points
Dakota::DataFitSurrModel, 363
increment grid preference
Dakota::NonDCubature, 604
increment order
Dakota::NonDPolynomialChaos, 662
increment parallel configuration
Dakota::ParallelLibrary, 710
increment reference
Dakota::NonDCubature, 605
increment specification sequence
Dakota::NonDExpansion, 613
Dakota::NonDPolynomialChaos, 662
init communicators

INDEX
Dakota::EfficientSubspaceMethod, 424
Dakota::Model, 543
Dakota::ParallelLibrary, 710
init communicators checks
Dakota::ApplicationInterface, 300
Dakota::DirectApplicInterface, 409
Dakota::ProcessHandleApplicInterface, 738
Dakota::SysCallApplicInterface, 844
init evaluation concurrency
Dakota::IteratorScheduler, 486, 487
init iterator
Dakota::IteratorScheduler, 485
init iterator parallelism
Dakota::IteratorScheduler, 486
init mpi comm
Dakota::ParallelLibrary, 710
init serial
Dakota::ApplicationInterface, 299
Dakota::Model, 544
init serial iterators
Dakota::IteratorScheduler, 485
initial points
Dakota::JEGAOptimizer, 493, 494
initial taylor series
Dakota::NonDLocalReliability, 652
initialize
Dakota::NonDAdaptImpSampling, 593
Dakota::RecastModel, 757
initialize class data
Dakota::NonDLocalReliability, 652
initialize export
Dakota::DataFitSurrModel, 364
initialize final statistics
Dakota::NonD, 588
initialize graphics
Dakota::Iterator, 479
initialize grid
Dakota::NonDQuadrature, 666
initialize h
Dakota::Model, 545
initialize level data
Dakota::NonDLocalReliability, 653
initialize mpp search data
Dakota::NonDLocalReliability, 653
initialize random variable parameters
Dakota::NonD, 588
initialize random variable types
Dakota::NonD, 588
initialize random variables

893
Dakota::NonD, 587
initialize run
Dakota::Analyzer, 289
Dakota::Iterator, 478
Dakota::LeastSq, 496
Dakota::Minimizer, 510
Dakota::NonD, 587
Dakota::Optimizer, 693
initialize scaling
Dakota::Minimizer, 515
initialize variables and constraints
Dakota::APPSOptimizer, 322
insert
Dakota::ResultsDBAny, 773
intCntlParmArray
Dakota::DOTOptimizer, 416
Interface, 461
Dakota::Interface, 468
interface id
Dakota::Model, 542
isReadyForWork
Dakota::APPSEvalMgr, 319
Iterator, 470
Dakota::Iterator, 476, 477
IteratorScheduler, 483
Dakota::IteratorScheduler, 485
JEGAOptimizer, 488
Dakota::JEGAOptimizer, 490
JEGAOptimizer.cpp, 869
JEGAOptimizer.hpp, 869
JEGAOptimizer::Driver, 417
JEGAOptimizer::Evaluator, 432
JEGAOptimizer::EvaluatorCreator, 437
kw 1
Dakota, 140, 214
kw 10
Dakota, 142, 215
kw 100
Dakota, 163, 232
kw 101
Dakota, 163, 232
kw 102
Dakota, 163, 232
kw 103
Dakota, 163, 232
kw 104
Dakota, 163, 232
kw 105

894

kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

INDEX
Dakota, 164, 232
106
Dakota, 164, 233
107
Dakota, 164, 233
108
Dakota, 164, 233
109
Dakota, 164, 233
11
Dakota, 142, 215
110
Dakota, 165, 233
111
Dakota, 165, 233
112
Dakota, 165, 234
113
Dakota, 165, 234
114
Dakota, 165, 234
115
Dakota, 165, 234
116
Dakota, 166, 234
117
Dakota, 166, 234
118
Dakota, 166, 235
119
Dakota, 166, 235
12
Dakota, 143, 216
120
Dakota, 166, 235
121
Dakota, 167, 235
122
Dakota, 167, 235
123
Dakota, 167, 235
124
Dakota, 167, 236
125
Dakota, 167, 236
126
Dakota, 167, 236
127
Dakota, 168, 236

kw 128
Dakota, 168, 236
kw 129
Dakota, 168, 237
kw 13
Dakota, 143, 216
kw 130
Dakota, 168, 237
kw 131
Dakota, 168, 237
kw 132
Dakota, 169, 237
kw 133
Dakota, 169, 237
kw 134
Dakota, 169, 237
kw 135
Dakota, 169, 237
kw 136
Dakota, 169, 238
kw 137
Dakota, 170, 238
kw 138
Dakota, 170, 238
kw 139
Dakota, 170, 238
kw 14
Dakota, 143, 216
kw 140
Dakota, 170, 238
kw 141
Dakota, 170, 238
kw 142
Dakota, 170, 239
kw 143
Dakota, 171, 239
kw 144
Dakota, 171, 239
kw 145
Dakota, 171, 239
kw 146
Dakota, 171, 239
kw 147
Dakota, 171, 239
kw 148
Dakota, 172, 240
kw 149
Dakota, 172, 240
kw 15

INDEX

kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

Dakota, 144, 216


150
Dakota, 172, 240
151
Dakota, 172, 240
152
Dakota, 173, 240
153
Dakota, 173, 240
154
Dakota, 173, 241
155
Dakota, 173, 241
156
Dakota, 173, 241
157
Dakota, 174, 241
158
Dakota, 174, 241
159
Dakota, 174, 242
16
Dakota, 144, 216
160
Dakota, 174, 242
161
Dakota, 174, 242
162
Dakota, 175, 242
163
Dakota, 175, 242
164
Dakota, 175, 243
165
Dakota, 176, 243
166
Dakota, 176, 243
167
Dakota, 176, 243
168
Dakota, 176, 243
169
Dakota, 176, 244
17
Dakota, 144, 217
170
Dakota, 177, 244
171
Dakota, 177, 244

895
kw 172
Dakota, 177, 244
kw 173
Dakota, 177, 244
kw 174
Dakota, 178, 244
kw 175
Dakota, 178, 245
kw 176
Dakota, 178, 245
kw 177
Dakota, 178, 245
kw 178
Dakota, 178, 245
kw 179
Dakota, 179, 245
kw 18
Dakota, 144, 217
kw 180
Dakota, 179, 246
kw 181
Dakota, 179, 246
kw 182
Dakota, 179, 246
kw 183
Dakota, 179, 246
kw 184
Dakota, 179, 246
kw 185
Dakota, 180, 247
kw 186
Dakota, 180, 247
kw 187
Dakota, 180, 247
kw 188
Dakota, 180, 247
kw 189
Dakota, 181, 247
kw 19
Dakota, 144, 217
kw 190
Dakota, 181, 247
kw 191
Dakota, 181, 248
kw 192
Dakota, 181, 248
kw 193
Dakota, 181, 248
kw 194

896

kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

INDEX
Dakota, 182, 248
195
Dakota, 182, 248
196
Dakota, 182, 248
197
Dakota, 182, 249
198
Dakota, 249
199
Dakota, 182, 249
2
Dakota, 141, 214
20
Dakota, 145, 217
200
Dakota, 183, 249
201
Dakota, 183, 249
202
Dakota, 183, 250
203
Dakota, 183, 250
204
Dakota, 183, 250
205
Dakota, 184, 250
206
Dakota, 184, 250
207
Dakota, 184, 251
208
Dakota, 184, 251
209
Dakota, 184, 251
21
Dakota, 145, 217
210
Dakota, 184, 251
211
Dakota, 185, 251
212
Dakota, 185, 251
213
Dakota, 186, 252
214
Dakota, 186, 252
215
Dakota, 186, 252

kw 216
Dakota, 187, 252
kw 217
Dakota, 187, 253
kw 218
Dakota, 187, 253
kw 219
Dakota, 187, 253
kw 22
Dakota, 145, 217
kw 220
Dakota, 188, 253
kw 221
Dakota, 188, 253
kw 222
Dakota, 188, 253
kw 223
Dakota, 188, 254
kw 224
Dakota, 189, 254
kw 225
Dakota, 189, 254
kw 226
Dakota, 189, 254
kw 227
Dakota, 189, 255
kw 228
Dakota, 190, 255
kw 229
Dakota, 190, 255
kw 23
Dakota, 145, 218
kw 230
Dakota, 190, 255
kw 231
Dakota, 190, 255
kw 232
Dakota, 191, 255
kw 233
Dakota, 191, 256
kw 234
Dakota, 192, 256
kw 235
Dakota, 192, 256
kw 236
Dakota, 192, 256
kw 237
Dakota, 192, 256
kw 238

INDEX

kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

Dakota, 192, 257


239
Dakota, 193, 257
24
Dakota, 145, 218
240
Dakota, 193, 257
241
Dakota, 257
242
Dakota, 193, 257
243
Dakota, 193, 257
244
Dakota, 194, 258
245
Dakota, 194, 258
246
Dakota, 194, 258
247
Dakota, 194, 258
248
Dakota, 194, 258
249
Dakota, 195, 259
25
Dakota, 145, 218
250
Dakota, 195, 259
251
Dakota, 195, 259
252
Dakota, 195, 259
253
Dakota, 195, 259
254
Dakota, 195, 260
255
Dakota, 196, 260
256
Dakota, 196, 260
257
Dakota, 196
258
Dakota, 196, 260
259
Dakota, 196, 260
26
Dakota, 146, 218

897
kw 260
Dakota, 197, 261
kw 261
Dakota, 197, 261
kw 262
Dakota, 197, 261
kw 263
Dakota, 197, 261
kw 264
Dakota, 197, 261
kw 265
Dakota, 198, 261
kw 266
Dakota, 198, 262
kw 267
Dakota, 198, 262
kw 268
Dakota, 199, 262
kw 269
Dakota, 199, 262
kw 27
Dakota, 146, 218
kw 270
Dakota, 199, 262
kw 271
Dakota, 199, 262
kw 272
Dakota, 200, 263
kw 273
Dakota, 200, 263
kw 274
Dakota, 200, 263
kw 275
Dakota, 201, 263
kw 276
Dakota, 201, 263
kw 277
Dakota, 201, 263
kw 278
Dakota, 201, 264
kw 279
Dakota, 202, 264
kw 28
Dakota, 146, 218
kw 280
Dakota, 202, 264
kw 281
Dakota, 202, 264
kw 282

898

kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

INDEX
Dakota, 202, 265
283
Dakota, 202, 265
284
Dakota, 203, 265
285
Dakota, 203, 265
286
Dakota, 203, 265
287
Dakota, 204, 265
288
Dakota, 204, 266
289
Dakota, 204, 266
29
Dakota, 146, 219
290
Dakota, 204, 266
291
Dakota, 205, 266
292
Dakota, 205, 267
293
Dakota, 205, 267
294
Dakota, 206, 267
295
Dakota, 206, 267
296
Dakota, 206, 268
297
Dakota, 207, 268
298
Dakota, 207, 268
299
Dakota, 207, 268
3
Dakota, 141, 214
30
Dakota, 146, 219
300
Dakota, 207, 268
301
Dakota, 208, 268
302
Dakota, 208, 269
303
Dakota, 208, 269

kw 304
Dakota, 208, 269
kw 305
Dakota, 209, 269
kw 306
Dakota, 209, 270
kw 307
Dakota, 209, 270
kw 308
Dakota, 209, 270
kw 309
Dakota, 210, 270
kw 31
Dakota, 147, 219
kw 310
Dakota, 210, 271
kw 311
Dakota, 210, 271
kw 312
Dakota, 211, 271
kw 313
Dakota, 211, 271
kw 314
Dakota, 211, 272
kw 315
Dakota, 211, 272
kw 316
Dakota, 212, 272
kw 317
Dakota, 212, 272
kw 318
Dakota, 212, 273
kw 319
Dakota, 212, 273
kw 32
Dakota, 147, 219
kw 320
Dakota, 213, 273
kw 321
Dakota, 213, 273
kw 322
Dakota, 213, 273
kw 323
Dakota, 274
kw 324
Dakota, 213, 274
kw 325
Dakota, 274
kw 326

INDEX

kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

Dakota, 274
327
Dakota, 274
328
Dakota, 275
329
Dakota, 275
33
Dakota, 147, 219
330
Dakota, 275
331
Dakota, 275
332
Dakota, 275
333
Dakota, 276
334
Dakota, 276
335
Dakota, 276
336
Dakota, 276
337
Dakota, 277
338
Dakota, 277
339
Dakota, 277
34
Dakota, 148, 219
341
Dakota, 277
35
Dakota, 148, 220
36
Dakota, 148, 220
37
Dakota, 148, 220
38
Dakota, 148, 220
39
Dakota, 149, 221
4
Dakota, 141, 214
40
Dakota, 149, 221
41
Dakota, 149, 221

899
kw 42
Dakota, 149, 221
kw 43
Dakota, 149, 221
kw 44
Dakota, 150, 221
kw 45
Dakota, 150, 222
kw 46
Dakota, 150, 222
kw 47
Dakota, 150, 222
kw 48
Dakota, 150, 222
kw 49
Dakota, 150, 222
kw 5
Dakota, 141, 214
kw 50
Dakota, 151, 222
kw 51
Dakota, 151, 223
kw 52
Dakota, 151, 223
kw 53
Dakota, 151, 223
kw 54
Dakota, 151, 223
kw 55
Dakota, 151, 223
kw 56
Dakota, 152, 223
kw 57
Dakota, 152, 224
kw 58
Dakota, 152, 224
kw 59
Dakota, 152, 224
kw 6
Dakota, 141, 215
kw 60
Dakota, 153, 224
kw 61
Dakota, 153, 224
kw 62
Dakota, 153, 224
kw 63
Dakota, 153, 225
kw 64

900

kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw

INDEX
Dakota, 154, 225
65
Dakota, 154, 225
66
Dakota, 154, 225
67
Dakota, 154, 225
68
Dakota, 154, 225
69
Dakota, 155, 226
7
Dakota, 142, 215
70
Dakota, 155, 226
71
Dakota, 155, 226
72
Dakota, 155, 226
73
Dakota, 156, 226
74
Dakota, 157, 227
75
Dakota, 157, 227
76
Dakota, 157, 227
77
Dakota, 157, 227
78
Dakota, 158, 227
79
Dakota, 158, 228
8
Dakota, 142, 215
80
Dakota, 158, 228
81
Dakota, 159, 228
82
Dakota, 159, 228
83
Dakota, 159, 228
84
Dakota, 159, 229
85
Dakota, 160, 229
86
Dakota, 160, 229

kw 87
Dakota, 160, 229
kw 88
Dakota, 160, 229
kw 89
Dakota, 161, 230
kw 9
Dakota, 142, 215
kw 90
Dakota, 161, 230
kw 91
Dakota, 161, 230
kw 92
Dakota, 161, 230
kw 93
Dakota, 161, 230
kw 94
Dakota, 161, 230
kw 95
Dakota, 162, 231
kw 96
Dakota, 162, 231
kw 97
Dakota, 162, 231
kw 98
Dakota, 162, 231
kw 99
Dakota, 162, 231
lagrangian merit
Dakota::SurrBasedMinimizer, 837
LeastSq, 494
Dakota::LeastSq, 496
library mode.cpp, 870
callback function, 872
fpinit ASL, 871
main, 872
parallel input, 873
parallel interface plugin, 872
run dakota data, 871
run dakota mixed, 871
run dakota parse, 871
serial input, 873
serial interface plugin, 872
library split.cpp, 873
LibraryEnvironment, 498
Dakota::LibraryEnvironment, 499
likelihoodScale
Dakota::NonDDREAMBayesCalibration, 609
lin coeffs modify n2s

INDEX
Dakota::Minimizer, 516
load
Dakota::Response, 766
Dakota::ResponseRep, 771
load distribute points
Dakota::ParamStudy, 718
load parameters
Dakota::NomadOptimizer, 580
load scalar
Dakota::ExperimentData, 440
LoadAlgorithmConfig
Dakota::JEGAOptimizer, 490
LoadDakotaResponses
Dakota::JEGAOptimizer, 490
LoadProblemConfig
Dakota::JEGAOptimizer, 490
LoadTheConstraints
Dakota::JEGAOptimizer, 492
LoadTheDesignVariables
Dakota::JEGAOptimizer, 492
LoadTheObjectiveFunctions
Dakota::JEGAOptimizer, 492
LoadTheParameterDatabase
Dakota::JEGAOptimizer, 490
local eval concurrency
Dakota::Model, 542
local eval synchronization
Dakota::Model, 542
local objective recast retrieve
Dakota::Optimizer, 695
lookup by val
Dakota, 138
MPIManager, 548
MPIPackBuffer, 549
MPIUnpackBuffer, 551
MS1
Dakota::CONMINOptimizer, 342
main
library mode.cpp, 872
main.cpp, 874
restart util.cpp, 875
main.cpp, 874
fpinit ASL, 874
main, 874
manage asv
Dakota::Model, 547
manage data recastings
Dakota::DataFitSurrModel, 364
manage linear constraints

901
Dakota::Constraints, 352
manage outputs restart
Dakota::ParallelLibrary, 710
MandatoryValue
Dakota::GetLongOpt, 452
map
Dakota::ApplicationInterface, 299
map domain
Dakota::COLINApplication, 326
map xi to x
Dakota::EfficientSubspaceMethod, 424
master dynamic schedule analyses
Dakota::ApplicationInterface, 301
master dynamic schedule evaluations
Dakota::ApplicationInterface, 302
master dynamic schedule evaluations nowait
Dakota::ApplicationInterface, 303
master dynamic schedule iterators
Dakota::IteratorScheduler, 487
matlab engine run
Dakota::MatlabInterface, 501
MatlabInterface, 500
maxEvalConcurrency
Dakota::Iterator, 482
mc api run
Dakota::TestDriverInterface, 852
MetaIterator, 502
mindist
Dakota, 136
mindistindx
Dakota, 136
minimize residuals
Dakota::NL2SOLLeastSq, 570
minimize surrogates
Dakota::SurrBasedLocalMinimizer, 831
Minimizer, 503
Dakota::Minimizer, 510
MixedVarConstraints, 517
Dakota::MixedVarConstraints, 518
MixedVariables, 518
Dakota::MixedVariables, 519
Model, 520
Dakota::Model, 539, 540
modify n2s
Dakota::Minimizer, 516
modify s2n
Dakota::Minimizer, 513
mpi debug hold
Dakota, 135

902

INDEX

my cp
Dakota, 135
N1
Dakota::CONMINOptimizer, 341
N2
Dakota::CONMINOptimizer, 341
N3
Dakota::CONMINOptimizer, 341
N4
Dakota::CONMINOptimizer, 341
N5
Dakota::CONMINOptimizer, 341
NCSUOptimizer, 553
Dakota::NCSUOptimizer, 555
NIDRProblemDescDB, 564
NL2Res, 568
NL2SOLLeastSq, 568
NLPQLPOptimizer, 571
NLSSOLLeastSq, 575
Dakota::NLSSOLLeastSq, 577
NPSOLOptimizer, 685
Dakota::NPSOLOptimizer, 687
NUMBER OF FIELDS
Dakota, 140
Name
Dakota::JEGAOptimizer::Evaluator, 434
need resp trans byvars
Dakota::Minimizer, 513
NestedModel, 556
new dataset
Dakota::Graphics, 455
nlf0 evaluator
Dakota::SNLLOptimizer, 818
nlf1 evaluator
Dakota::SNLLOptimizer, 818
nlf2 evaluator
Dakota::SNLLOptimizer, 818
nlf2 evaluator gn
Dakota::SNLLLeastSq, 812
NoDBBaseConstructor, 577
NomadOptimizer, 578
Dakota::NomadOptimizer, 579
NomadOptimizer::Evaluator, 430
NonD, 580
NonDAdaptImpSampling, 590
Dakota::NonDAdaptImpSampling, 592
NonDAdaptiveSampling, 594
Dakota::NonDAdaptiveSampling, 598
NonDBayesCalibration, 598

Dakota::NonDBayesCalibration, 600
NonDCalibration, 600
Dakota::NonDCalibration, 602
NonDCubature, 603
Dakota::NonDCubature, 604
NonDDREAMBayesCalibration, 605
Dakota::NonDDREAMBayesCalibration, 607
NonDExpansion, 609
NonDGPImpSampling, 624
Dakota::NonDGPImpSampling, 626
NonDGPMSABayesCalibration, 627
Dakota::NonDGPMSABayesCalibration, 629
NonDGlobalEvidence, 615
NonDGlobalInterval, 617
NonDGlobalReliability, 620
NonDGlobalSingleInterval, 622
NonDIncremLHSSampling, 630
Dakota::NonDIncremLHSSampling, 631
NonDIntegration, 631
Dakota::NonDIntegration, 633
NonDInterval, 634
NonDLHSEvidence, 636
NonDLHSInterval, 637
NonDLHSSampling, 639
Dakota::NonDLHSSampling, 640
NonDLHSSingleInterval, 641
NonDLocalEvidence, 642
NonDLocalInterval, 643
NonDLocalReliability, 646
NonDLocalSingleInterval, 655
NonDPOFDarts, 657
NonDPolynomialChaos, 659
Dakota::NonDPolynomialChaos, 661, 662
NonDQUESOBayesCalibration, 666
Dakota::NonDQUESOBayesCalibration, 668
NonDQuadrature, 663
Dakota::NonDQuadrature, 665
NonDReliability, 669
NonDSampling, 671
Dakota::NonDSampling, 674
NonDSparseGrid, 677
Dakota::NonDSparseGrid, 679
NonDStochCollocation, 680
Dakota::NonDStochCollocation, 681
NonlinearCGOptimizer, 682
num samples
Dakota::Analyzer, 289
Dakota::DDACEDesignCompExp, 405
Dakota::FSUDesignCompExp, 445

INDEX
Dakota::NonDCubature, 605
Dakota::NonDQuadrature, 666
Dakota::NonDSampling, 675
Dakota::NonDSparseGrid, 679
Dakota::PSUADEDesignCompExp, 748
objective
Dakota::Minimizer, 513
objective eval
Dakota::NCSUOptimizer, 556
objective gradient
Dakota::Minimizer, 514
objective hessian
Dakota::Minimizer, 514
objective reduction
Dakota::Optimizer, 694
operator<<
Dakota::CommandShell, 334
operator=
Dakota::Approximation, 310
Dakota::Constraints, 351
Dakota::Environment, 430
Dakota::Interface, 469
Dakota::Iterator, 478
Dakota::Model, 540
Dakota::ProblemDescDB, 731
Dakota::SharedApproxData, 792
operator==
Dakota, 135137
OptDartsOptimizer, 687
OptType
Dakota::GetLongOpt, 452
Optimizer, 690
OptionalValue
Dakota::GetLongOpt, 452
output helper
Dakota::CommandLineHandler, 333
OutputManager, 695
Dakota::OutputManager, 697
PMA2 constraint eval
Dakota::NonDLocalReliability, 652
PMA constraint eval
Dakota::NonDLocalReliability, 651
PMA objective eval
Dakota::NonDLocalReliability, 651
PRPMultiIndexCache
Dakota, 134
PRPMultiIndexQueue
Dakota, 134

903
PSUADEDesignCompExp, 746
Dakota::PSUADEDesignCompExp, 747
PStudyDACE, 744
pack parameters buffer
Dakota::Minimizer, 511
pack results buffer
Dakota::Minimizer, 511
parallel input
library mode.cpp, 873
parallel interface plugin
library mode.cpp, 872
ParallelConfiguration, 697
ParallelDirectApplicInterface, 699
ParallelLevel, 700
ParallelLibrary, 702
Dakota::ParallelLibrary, 709
ParamResponsePair, 711
Dakota::ParamResponsePair, 713
ParamStudy, 714
parse
Dakota::Environment, 430
Dakota::GetLongOpt, 452
parse inputs
Dakota::ProblemDescDB, 731
partial prp equality, 718
partial prp hash, 719
PecosApproximation, 719
peer dynamic schedule evaluations
Dakota::ApplicationInterface, 302
peer dynamic schedule evaluations nowait
Dakota::ApplicationInterface, 304
peer static schedule evaluations
Dakota::ApplicationInterface, 302
penalty merit
Dakota::SurrBasedMinimizer, 838
perform analysis
Dakota, 137
perform evaluation impl
Dakota::COLINApplication, 325
PerformIterations
Dakota::JEGAOptimizer::Driver, 418
pop
Dakota::Approximation, 311
Dakota::PecosApproximation, 723
pop approximation
Dakota::ApproximationInterface, 317
post process
Dakota::ProblemDescDB, 732
post run

904
Dakota::Analyzer, 289
Dakota::COLINOptimizer, 329
Dakota::DDACEDesignCompExp, 405
Dakota::FSUDesignCompExp, 444
Dakota::Iterator, 478
Dakota::LeastSq, 496
Dakota::MetaIterator, 503
Dakota::Minimizer, 510
Dakota::Optimizer, 693
Dakota::ParamStudy, 718
Dakota::PSUADEDesignCompExp, 748
Dakota::SNLLLeastSq, 812
pre output
Dakota::Analyzer, 289
pre run
Dakota::DDACEDesignCompExp, 405
Dakota::FSUDesignCompExp, 444
Dakota::Iterator, 478
Dakota::ParamStudy, 718
Dakota::PSUADEDesignCompExp, 747
primary resp differencer
Dakota::Minimizer, 515
primary resp reducer
Dakota::Optimizer, 694
primary resp weighter
Dakota::LeastSq, 497
print distribution map
Dakota::NonD, 589
print distribution mappings
Dakota::NonD, 589
print restart
Dakota, 138
print restart pdb
Dakota, 138
print restart tabular
Dakota, 138
print results
Dakota::Analyzer, 290
Dakota::ConcurrentMetaIterator, 336
Dakota::Iterator, 479
Dakota::LeastSq, 497
Dakota::Optimizer, 694
Dakota::PStudyDACE, 745
Dakota::RichExtrapVerification, 780
Dakota::SeqHybridMetaIterator, 786
Dakota::SurrBasedMinimizer, 836
Dakota::Verification, 864
print sobol indices
Dakota::Analyzer, 291

INDEX
printControl
Dakota::CONMINOptimizer, 340
Dakota::DOTOptimizer, 416
prior density
Dakota::NonDDREAMBayesCalibration, 608
prior sample
Dakota::NonDDREAMBayesCalibration, 608
probDescDB
Dakota::Iterator, 482
Dakota::Model, 548
probability
Dakota::NonDLocalReliability, 655
problem size
Dakota::NonDDREAMBayesCalibration, 607
problem value
Dakota::NonDDREAMBayesCalibration, 608
ProblemDescDB, 724
Dakota::ProblemDescDB, 730, 731
ProcessApplicInterface, 732
ProcessHandleApplicInterface, 736
ProgramOptions, 739
python convert int
Dakota::PythonInterface, 750
PythonInterface, 748
quantify uncertainty
Dakota::NonDDREAMBayesCalibration, 608
Dakota::NonDGPImpSampling, 626
Dakota::NonDGPMSABayesCalibration, 629
Dakota::NonDIncremLHSSampling, 631
Dakota::NonDLHSSampling, 641
Dakota::NonDQUESOBayesCalibration, 668
RIA constraint eval
Dakota::NonDLocalReliability, 651
RIA objective eval
Dakota::NonDLocalReliability, 651
randomSeed
Dakota::NonDGPMSABayesCalibration, 629
rawResponseMap
Dakota::Interface, 470
read
Dakota::ParamResponsePair, 714
Dakota::ResponseRep, 769, 770
read annotated
Dakota::ResponseRep, 769
read neutral
Dakota, 139
read tabular
Dakota::MixedVariables, 519

INDEX
Dakota::RelaxedVariables, 762
Dakota::ResponseRep, 769
read variables responses
Dakota::Analyzer, 291
realCntlParmArray
Dakota::DOTOptimizer, 416
rebuild
Dakota::Approximation, 311
Dakota::PecosApproximation, 723
rebuild approximation
Dakota::ApproximationInterface, 316
RecastBaseConstructor, 750
RecastModel, 751
Dakota::RecastModel, 756, 757
RecordResponses
Dakota::JEGAOptimizer::Evaluator, 435
recv
Dakota::APPSEvalMgr, 319
reduce model
Dakota::Optimizer, 694
reduced space uq
Dakota::EfficientSubspaceMethod, 424
register signal handlers
Dakota, 135
RelaxedVarConstraints, 759
Dakota::RelaxedVarConstraints, 760
RelaxedVariables, 760
Dakota::RelaxedVariables, 761
repair restart
Dakota, 139
requestVector
Dakota::ActiveSet, 285
reset
Dakota::ResponseRep, 770
reset inactive
Dakota::ResponseRep, 771
reshape
Dakota::Constraints, 351
Dakota::MixedVarConstraints, 518
Dakota::RelaxedVarConstraints, 760
Dakota::ResponseRep, 770
resize best resp array
Dakota::Minimizer, 514
resize best vars array
Dakota::Minimizer, 514
resolve inputs
Dakota::ParallelLibrary, 711
resolve samples symbols
Dakota::DDACEDesignCompExp, 405

905
Response, 762
response mapping
Dakota::Interface, 469
Dakota::NestedModel, 562
response modify n2s
Dakota::Minimizer, 516
response modify s2n
Dakota::Minimizer, 513
responseMode
Dakota::SurrogateModel, 842
ResponseRep, 766
Dakota::ResponseRep, 769
restart util.cpp, 875
main, 875
restore
Dakota::Approximation, 311
Dakota::PecosApproximation, 723
restore approximation
Dakota::ApproximationInterface, 317
ResultsDBAny, 772
ResultsEntry
Dakota::ResultsEntry, 775
ResultsEntry< StoredType >, 774
ResultsID, 775
ResultsManager, 776
ResultsNames, 778
retrieve
Dakota::GetLongOpt, 452
returns multiple points
Dakota::COLINOptimizer, 329
Dakota::JEGAOptimizer, 493
RichExtrapVerification, 779
run
Dakota::Iterator, 480
run dakota data
library mode.cpp, 871
run dakota mixed
library mode.cpp, 871
run dakota parse
library mode.cpp, 871
run iterator
Dakota::IteratorScheduler, 486
run sequential
Dakota::SeqHybridMetaIterator, 786
run sequential adaptive
Dakota::SeqHybridMetaIterator, 786
S
Dakota::CONMINOptimizer, 341
SUBMETHOD COLLABORATIVE

906
Dakota, 134
SCAL
Dakota::CONMINOptimizer, 342
SCI FIELD NAMES
Dakota, 281
SIM, 282
SIM::ParallelDirectApplicInterface
test local evaluations, 700
SIM::SerialDirectApplicInterface
test local evaluations, 788
SNLLBase, 807
SNLLLeastSq, 810
SNLLOptimizer, 813
Dakota::SNLLOptimizer, 817
SOLBase, 819
sample likelihood
Dakota::NonDDREAMBayesCalibration, 608
sampling reset
Dakota::NonDCubature, 604
Dakota::NonDQuadrature, 666
Dakota::NonDSampling, 675
Dakota::NonDSparseGrid, 679
save
Dakota::Response, 766
Dakota::ResponseRep, 771
scale model
Dakota::Minimizer, 512
schedule iterators
Dakota::IteratorScheduler, 487
ScilabInterface, 781
secondary resp copier
Dakota::Minimizer, 512
secondary resp scaler
Dakota::Minimizer, 515
send data using get
Dakota::TrackerHTTP, 854
send data using post
Dakota::TrackerHTTP, 854
SensAnalysisGlobal, 782
separable combine
Dakota::TestDriverInterface, 852
SeparateVariables
Dakota::JEGAOptimizer::Evaluator, 435
SeqHybridMetaIterator, 784
serial input
library mode.cpp, 873
serial interface plugin
library mode.cpp, 872
SerialDirectApplicInterface, 787

INDEX
serve analyses asynch
Dakota::ProcessHandleApplicInterface, 739
serve analyses synch
Dakota::ApplicationInterface, 301
serve evaluations
Dakota::ApplicationInterface, 300
serve evaluations asynch
Dakota::ApplicationInterface, 305
serve evaluations asynch peer
Dakota::ApplicationInterface, 305
serve evaluations synch
Dakota::ApplicationInterface, 304
serve evaluations synch peer
Dakota::ApplicationInterface, 305
serve iterators
Dakota::IteratorScheduler, 487
set apps parameters
Dakota::APPSOptimizer, 322
set communicators checks
Dakota::ApplicationInterface, 300
Dakota::DirectApplicInterface, 409
Dakota::ProcessHandleApplicInterface, 738
Dakota::SysCallApplicInterface, 844
set compare
Dakota, 137
set problem
Dakota::COLINApplication, 324
set rng
Dakota::COLINOptimizer, 329
set solver parameters
Dakota::COLINOptimizer, 329
set u to x mapping
Dakota::NonD, 589
SharedApproxData, 789
Dakota::SharedApproxData, 791, 792
SharedPecosApproxData, 793
SharedSurfpackApproxData, 796
Dakota::SharedSurfpackApproxData, 798
SharedVariablesData, 798
SharedVariablesDataRep, 802
Dakota::SharedVariablesDataRep, 805
shubert1D
Dakota::TestDriverInterface, 852
SingleModel, 805
slmap
Dakota, 139
smooth herbie
Dakota::TestDriverInterface, 852
smooth herbie1D

INDEX
Dakota::TestDriverInterface, 852
solver setup
Dakota::COLINOptimizer, 329
spawn analysis to shell
Dakota::SysCallApplicInterface, 845
spawn evaluation impl
Dakota::COLINApplication, 325
spawn evaluation to shell
Dakota::SysCallApplicInterface, 844
spawn input filter to shell
Dakota::SysCallApplicInterface, 844
spawn output filter to shell
Dakota::SysCallApplicInterface, 845
SpawnApplicInterface, 822
split filenames
Dakota::ProgramOptions, 743
start dakota heartbeat
Dakota, 135
start grid computing
Dakota, 136
stop evaluation servers
Dakota::ApplicationInterface, 300
stop grid computing
Dakota, 137
subModel
Dakota::NestedModel, 563
submit
Dakota::APPSEvalMgr, 319
subordinate iterator
Dakota::Model, 540
subordinate model
Dakota::Model, 540
subordinate models
Dakota::Model, 543
SurfpackApproximation, 823
Dakota::SurfpackApproximation, 824, 825
SurrBasedGlobalMinimizer, 826
SurrBasedLocalMinimizer, 827
SurrBasedMinimizer, 834
surrogate model
Dakota::Model, 541
SurrogateModel, 838
surrogates to surf data
Dakota::SurfpackApproximation, 825
synch
Dakota::ApplicationInterface, 299
synch nowait
Dakota::ApplicationInterface, 299
synchronize derivatives

907
Dakota::Model, 546
synchronous local analyses
Dakota::ProcessApplicInterface, 735
synchronous local analysis
Dakota::DirectApplicInterface, 409
Dakota::GridApplicInterface, 457
Dakota::ProcessHandleApplicInterface, 738
Dakota::SysCallApplicInterface, 844
synchronous local evaluations
Dakota::ApplicationInterface, 303
SysCallApplicInterface, 842
TANA3Approximation, 845
TaylorApproximation, 847
terminate modelcenter
Dakota::ParallelLibrary, 710
test local evaluations
Dakota::SysCallApplicInterface, 844
SIM::ParallelDirectApplicInterface, 700
SIM::SerialDirectApplicInterface, 788
TestDriverInterface, 848
ToDoubleMatrix
Dakota::JEGAOptimizer, 493
tr ratio check
Dakota::SurrBasedLocalMinimizer, 832
TrackerHTTP, 853
trendOrder
Dakota::GaussProcApproximation, 450
truth model
Dakota::Model, 541
uncertain vars to subspace
Dakota::EfficientSubspaceMethod, 424
unpack parameters buffer
Dakota::Minimizer, 511
unpack results buffer
Dakota::Minimizer, 511
update
Dakota::ResponseRep, 770
update actual model
Dakota::DataFitSurrModel, 365
update approximation
Dakota::ApproximationInterface, 315
Dakota::DataFitSurrModel, 362
update augmented lagrange multipliers
Dakota::SurrBasedMinimizer, 837
update filter
Dakota::SurrBasedMinimizer, 837
update from actual model
Dakota::DataFitSurrModel, 365

908
update from sub model
Dakota::RecastModel, 758
update from subordinate model
Dakota::Model, 541
update lagrange multipliers
Dakota::SurrBasedMinimizer, 836
update level data
Dakota::NonDLocalReliability, 654
update mpp search data
Dakota::NonDLocalReliability, 653
update partial
Dakota::ResponseRep, 770
update penalty
Dakota::SurrBasedLocalMinimizer, 832
update quasi hessians
Dakota::Model, 547
update response
Dakota::Model, 546
usage
Dakota::GetLongOpt, 453
useDerivs
Dakota::NonDExpansion, 615
uses method
Dakota::Iterator, 479
VLI
Dakota, 279
VLR
Dakota, 279
Valueless
Dakota::GetLongOpt, 452
var mp cbound
Dakota, 281
var mp check cau
Dakota, 280
var mp check ceu
Dakota, 281
var mp check cv
Dakota, 280
var mp check daui
Dakota, 280
var mp check daur
Dakota, 280
var mp check deui
Dakota, 281
var mp check deur
Dakota, 281
var mp check dset
Dakota, 280
var mp drange

INDEX
Dakota, 281
Variables, 855
variables scaler
Dakota::Minimizer, 515
variance based decomp
Dakota::Analyzer, 290
vars u to x mapping
Dakota::NonD, 589
vars x to u mapping
Dakota::NonD, 589
Verification, 863
view aleatory uncertain counts
Dakota::NonDSampling, 676
view design counts
Dakota::NonDSampling, 676
view epistemic uncertain counts
Dakota::NonDSampling, 676
view uncertain counts
Dakota::NonDSampling, 676
Vlch
Dakota, 279
volumetric quality
Dakota::PStudyDACE, 745
wait local evaluations
Dakota::SysCallApplicInterface, 844
weight model
Dakota::LeastSq, 497
write
Dakota::ParamResponsePair, 714
write annotated
Dakota::ResponseRep, 769
write tabular
Dakota::ResponseRep, 770

You might also like