$extrastylesheet
Dakota  Version 6.2
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Private Attributes
NonD Class Reference

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

Inheritance diagram for NonD:
Analyzer Iterator EfficientSubspaceMethod NonDCalibration NonDExpansion NonDIntegration NonDInterval NonDPOFDarts NonDReliability NonDSampling

List of all members.

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 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 is supported by Nataf for given variable types
void transform_correlations ()
 perform correlation warping for variable types supported by Nataf
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

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 derived_set_communicators (ParLevLIter pl_iter)
 derived class contributions to setting the communicators associated with this Iterator instance
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 Responseresponse_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_final_statistics_gradients ()
 initializes finalStatistics::functionGradients
void update_aleatory_final_statistics ()
 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

NonDprevNondInstance
 pointer containing previous value of nondInstance
Pecos::ProbabilityTransformation natafTransform
 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 numDiscStringDesVars
 number of discrete string 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 numDiscStringStateVars
 number of discrete string 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
 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 numHistogramPtIntVars
 number of histogram point integer uncertain variables (native space)
size_t numHistogramPtStringVars
 number of histogram point string uncertain variables (native space)
size_t numHistogramPtRealVars
 number of histogram point real 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 numDiscSetStringUncVars
 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 continuous aleatory uncertain variables (native space)
size_t numDiscIntAleatUncVars
 total number of discrete integer aleatory uncertain variables (native space)
size_t numDiscStringAleatUncVars
 total number of discrete string aleatory uncertain variables (native space)
size_t numDiscRealAleatUncVars
 total number of discrete real aleatory uncertain variables (native space)
size_t numAleatoryUncVars
 total number of aleatory uncertain variables (native space)
size_t numContEpistUncVars
 total number of continuous epistemic uncertain variables (native space)
size_t numDiscIntEpistUncVars
 total number of discrete integer epistemic uncertain variables (native space)
size_t numDiscStringEpistUncVars
 total number of discrete string epistemic uncertain variables (native space)
size_t numDiscRealEpistUncVars
 total number of discrete real 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)
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
size_t miPLIndex
 index for the active ParallelLevel within ParallelConfiguration::miPLIters

Static Protected Attributes

static NonDnondInstance
 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
 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.

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.


Member Function Documentation

void initialize_random_variables ( short  u_space_type)
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_random_variable_types ( short  u_space_type)
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 parent's initialize_run(), typically _before_ performing its own implementation steps.

Reimplemented from Analyzer.

References NonD::nondInstance, and NonD::prevNondInstance.

void core_run ( ) [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 parent's finalize_run(), typically _after_ performing its own implementation steps.

Reimplemented from Iterator.

References NonD::nondInstance, and NonD::prevNondInstance.

void initialize_final_statistics ( ) [protected, virtual]
void print_distribution_mappings ( std::ostream &  s) const [protected]
void vars_u_to_x_mapping ( const Variables u_vars,
Variables x_vars 
) [inline, 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 
) [inline, 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::continuous_variable_ids(), ActiveSet::derivative_vector(), Dakota::find_index(), Variables::inactive_continuous_variable_ids(), NonD::natafTransform, and NonD::nondInstance.

Referenced by NonD::transform_model().

void print_distribution_map ( size_t  fn_index,
std::ostream &  s 
) const [private]

The documentation for this class was generated from the following files: