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 NonDCalibration NonDExpansion NonDIntegration NonDInterval NonDReliability NonDSampling NonDBayesCalibration NonDPolynomialChaos NonDStochCollocation NonDCubature NonDQuadrature NonDSparseGrid NonDGlobalInterval NonDLHSInterval NonDLocalInterval NonDGlobalReliability NonDLocalReliability NonDAdaptImpSampling NonDIncremLHSSampling NonDLHSSampling

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 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_target, 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

Protected Member Functions

 NonD (Model &model)
 constructor
 NonD (NoDBBaseConstructor, Model &model)
 alternate constructor for sample generation and evaluation "on the fly"
 NonD (NoDBBaseConstructor, 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 run ()
 run portion of run_iterator; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
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
 performs a forward uncertainty propagation of parameter distributions into response statistics
virtual void initialize_final_statistics ()
 initializes finalStatistics for storing NonD final results
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_final_statistics_gradients ()
 initializes 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

Static Protected Member Functions

static void vars_u_to_x_mapping (const Variables &u_vars, Variables &x_vars)
 static function for RecastModels used to map u-space variables from NonD Iterators to x-space variables for Model evaluations.
static void set_u_to_x_mapping (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 Iterators.

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 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
 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 numIntervalVars
 number of interval 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)
size_t numResponseFunctions
 number of response functions
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)
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)
Response finalStatistics
 final statistics from the uncertainty propagation used in strategies: response means, standard deviations, and probabilities of failure

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)
 convenience function for distributing a vector of levels among multiple response functions if a short-hand specification is employed.

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)

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_parameters(), NonD::initialize_random_variable_types(), and NonD::natafTransform.

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::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 parent's initialize_run(), typically _before_ performing its own implementation steps.

Reimplemented from Iterator.

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

void run ( ) [inline, protected, virtual]

run portion of run_iterator; 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 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]

initializes finalStatistics for storing NonD final results

Default definition of virtual function (used by sampling, reliability, and polynomial chaos) defines the set of statistical results to include means, standard deviations, and level mappings.

Reimplemented in NonDInterval.

References NonD::cdfFlag, Model::cv(), NonD::finalStatistics, Response::function_labels(), Iterator::iteratedModel, NonD::numEpistemicUncVars, Iterator::numFunctions, NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonD::respLevelTarget, and NonD::totalLevelRequests.

Referenced by NonDExpansion::NonDExpansion(), NonDReliability::NonDReliability(), NonDSampling::NonDSampling(), and NonD::requested_levels().

void initialize_random_variable_types ( short  u_space_type) [protected]
void initialize_random_variable_parameters ( ) [protected]
void vars_u_to_x_mapping ( const Variables u_vars,
Variables x_vars 
) [static, protected]

static function for RecastModels used to map 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(), NonD::natafTransform, and NonD::nondInstance.

Referenced by NonDExpansion::construct_g_u_model(), NonDGlobalReliability::NonDGlobalReliability(), and NonDLocalReliability::NonDLocalReliability().

void set_u_to_x_mapping ( 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, Model::all_continuous_variable_ids(), Dakota::contains(), Model::continuous_variable_ids(), ActiveSet::derivative_vector(), Model::inactive_continuous_variable_ids(), Iterator::iteratedModel, NonD::natafTransform, and NonD::nondInstance.

Referenced by NonDExpansion::construct_g_u_model(), NonDGlobalReliability::NonDGlobalReliability(), and NonDLocalReliability::NonDLocalReliability().


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