$extrastylesheet
Dakota
Version 6.2
|
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 | 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 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_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 | |
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 | 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 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 |
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. |
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_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(), NonDBayesCalibration::initialize_model(), 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_random_variable_types | ( | short | u_space_type | ) |
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(), NonDBayesCalibration::initialize_model(), NonD::initialize_random_variables(), NonDBayesCalibration::NonDBayesCalibration(), NonDIntegration::NonDIntegration(), and NonDReliability::NonDReliability().
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::aleatory_distribution_parameters(), Model::continuous_lower_bounds(), Model::continuous_upper_bounds(), Dakota::copy_data(), 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(), NonDBayesCalibration::initialize_model(), NonD::initialize_random_variables(), NonDLocalReliability::mean_value(), NonDLocalReliability::mpp_search(), and NonDGlobalReliability::quantify_uncertainty().
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] |
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 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::print_distribution_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 | ||
) | [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] |
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::response_labels(), and Dakota::write_precision.
Referenced by NonD::distribution_mappings_file(), and NonD::print_distribution_mappings().