Base class for all nondetermistic iterators (the DAKOTA/UQ branch). More...
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 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 |
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 | |
NonD * | prevNondInstance |
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 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) |
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. |
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.
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] |
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::cv(), Model::distribution_parameters(), Iterator::iteratedModel, NonD::natafTransform, NonD::numBetaVars, NonD::numContDesVars, NonD::numContStateVars, NonD::numExponentialVars, NonD::numFrechetVars, NonD::numGammaVars, NonD::numGumbelVars, NonD::numHistogramBinVars, NonD::numHistogramPtVars, NonD::numIntervalVars, NonD::numLognormalVars, NonD::numLoguniformVars, NonD::numNormalVars, NonD::numTriangularVars, NonD::numUniformVars, and NonD::numWeibullVars.
Referenced by NonD::initialize_random_variables(), NonDExpansion::NonDExpansion(), 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.
References Dakota::abort_handler(), Model::continuous_lower_bounds(), Model::continuous_upper_bounds(), Model::cv(), Model::distribution_parameters(), Iterator::iteratedModel, NonD::natafTransform, NonD::numBetaVars, NonD::numContDesVars, NonD::numContStateVars, NonD::numExponentialVars, NonD::numFrechetVars, NonD::numGammaVars, NonD::numGumbelVars, NonD::numHistogramBinVars, NonD::numHistogramPtVars, NonD::numIntervalVars, NonD::numLognormalVars, NonD::numLoguniformVars, NonD::numNormalVars, NonD::numTriangularVars, NonD::numUniformVars, and NonD::numWeibullVars.
Referenced by NonDExpansion::initialize_expansion(), NonD::initialize_random_variables(), NonDLocalReliability::quantify_uncertainty(), and NonDGlobalReliability::quantify_uncertainty().
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().
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().