$extrastylesheet
|
Dakota
Version 6.2
|
Nonintrusive polynomial chaos expansion approaches to uncertainty quantification. More...
Public Member Functions | |
| NonDPolynomialChaos (ProblemDescDB &problem_db, Model &model) | |
| standard constructor | |
| NonDPolynomialChaos (Model &model, short exp_coeffs_approach, const UShortArray &num_int_seq, const RealVector &dim_pref, short u_space_type, bool piecewise_basis, bool use_derivs) | |
| alternate constructor for numerical integration | |
| NonDPolynomialChaos (Model &model, short exp_coeffs_approach, const UShortArray &exp_order_seq, const RealVector &dim_pref, Real colloc_ratio, int seed, short u_space_type, bool piecewise_basis, bool use_derivs, bool cv_flag) | |
| alternate constructor for regression | |
| ~NonDPolynomialChaos () | |
| destructor | |
Protected Member Functions | |
| void | derived_init_communicators (ParLevLIter pl_iter) |
| derived class contributions to initializing the communicators associated with this Iterator instance | |
| void | derived_set_communicators (ParLevLIter pl_iter) |
| derived class contributions to setting the communicators associated with this Iterator instance | |
| void | derived_free_communicators (ParLevLIter pl_iter) |
| derived class contributions to freeing the communicators associated with this Iterator instance | |
| 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 | append (const RealMatrix &samples, const IntResponseMap &resp_map) |
| append new data to uSpaceModel and update expansion order | |
| void | increment_order_and_grid () |
| uniformly increment the order of the polynomial chaos expansion and define a consistent grid increment | |
| 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 | |
| void | increment_grid_from_order () |
| define a grid increment that is consistent with an advancement in expansion order | |
| void | increment_order_from_grid () |
| define an expansion order that is consistent with an advancement in structured/unstructured grid level/density | |
| int | terms_ratio_to_samples (size_t num_exp_terms, Real colloc_ratio) |
| 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) |
| convert number of expansion terms and number of collocation samples to a collocation ratio | |
| void | ratio_samples_to_order (Real colloc_ratio, int num_samples, UShortArray &exp_order) |
| convert collocation ratio and number of samples to expansion order | |
| 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 | |
| int | randomSeed |
| seed for random number generator used for regression with LHS and sub-sampled tensor grids | |
| 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 | |
| Real | l2Penalty |
| L2 penalty for LASSO algorithm (elastic net variant) | |
| unsigned short | numAdvance |
| number of frontier expansions per iteration with the ADAPTED_BASIS_EXPANDING_FRONT approach | |
| 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 | |
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.
| 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(), Response::active_set(), 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(), Model::current_response(), NonDIntegration::dimension_preference_to_anisotropic_order(), NonDPolynomialChaos::dimPrefSpec, NonDExpansion::expansionBasisType, NonDExpansion::expansionCoeffsApproach, NonDPolynomialChaos::expansionImportFile, NonDPolynomialChaos::expOrderSeqSpec, NonDPolynomialChaos::expSamplesSeqSpec, ProblemDescDB::get_bool(), 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, Iterator::parallelLib, Iterator::probDescDB, NonDPolynomialChaos::randomSeed, NonDExpansion::refineControl, NonDExpansion::refineType, ActiveSet::request_values(), NonDPolynomialChaos::resolve_inputs(), NonDPolynomialChaos::sequenceIndex, NonDPolynomialChaos::tensorRegression, NonDPolynomialChaos::terms_ratio_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, | ||
| const UShortArray & | num_int_seq, | ||
| const RealVector & | dim_pref, | ||
| short | u_space_type, | ||
| bool | piecewise_basis, | ||
| bool | use_derivs | ||
| ) |
alternate constructor for numerical integration
This constructor is used for helper iterator instantiation on the fly that employ numerical integration (quadrature, sparse grid, cubature).
References Response::active_set(), Model::assign_rep(), NonDExpansion::construct_cubature(), NonDExpansion::construct_quadrature(), NonDExpansion::construct_sparse_grid(), Model::current_response(), NonDExpansion::expansionCoeffsApproach, NonDExpansion::initialize(), NonDPolynomialChaos::initialize_u_space_model(), Iterator::iteratedModel, Iterator::outputLevel, ActiveSet::request_values(), NonDPolynomialChaos::resolve_inputs(), NonD::transform_model(), and NonDExpansion::uSpaceModel.
| NonDPolynomialChaos | ( | Model & | model, |
| short | exp_coeffs_approach, | ||
| const UShortArray & | exp_order_seq, | ||
| const RealVector & | dim_pref, | ||
| Real | colloc_ratio, | ||
| int | seed, | ||
| short | u_space_type, | ||
| bool | piecewise_basis, | ||
| bool | use_derivs, | ||
| bool | cv_flag | ||
| ) |
alternate constructor for regression
This constructor is used for helper iterator instantiation on the fly that employ regression (least squares, CS, OLI).
References Response::active_set(), Model::assign_rep(), NonDPolynomialChaos::collocRatio, NonD::construct_lhs(), NonDExpansion::construct_quadrature(), Model::current_response(), NonDIntegration::dimension_preference_to_anisotropic_order(), NonDPolynomialChaos::dimPrefSpec, NonDExpansion::expansionBasisType, NonDPolynomialChaos::expOrderSeqSpec, NonDExpansion::initialize(), NonDPolynomialChaos::initialize_u_space_model(), Iterator::iteratedModel, Analyzer::numContinuousVars, NonDExpansion::numSamplesOnModel, Iterator::outputLevel, NonDPolynomialChaos::randomSeed, ActiveSet::request_values(), NonDPolynomialChaos::resolve_inputs(), NonDPolynomialChaos::sequenceIndex, NonDPolynomialChaos::tensorRegression, NonDPolynomialChaos::terms_ratio_to_samples(), NonD::transform_model(), and NonDExpansion::uSpaceModel.
| 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, Iterator::iterator_rep(), NonDQuadrature::mode(), Model::model_rep(), 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(), DataFitSurrModel::total_points(), NonDQuadrature::update(), and NonDExpansion::uSpaceModel.
| void increment_order_and_grid | ( | ) | [protected, virtual] |
uniformly increment the order of the polynomial chaos expansion and define a consistent grid increment
Used for uniform refinement of regression-based PCE.
Reimplemented from NonDExpansion.
References SharedApproxData::data_rep(), NonDPolynomialChaos::increment_grid_from_order(), SharedPecosApproxData::increment_order(), Model::shared_approximation(), and NonDExpansion::uSpaceModel.
| void increment_grid_from_order | ( | ) | [private] |
define a grid increment that is consistent with an advancement in expansion order
Used for uniform refinement of regression-based PCE.
References NonDPolynomialChaos::collocRatio, SharedApproxData::data_rep(), SharedPecosApproxData::expansion_order(), NonDExpansion::expansionBasisType, NonDQuadrature::increment_grid(), 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(), DataFitSurrModel::total_points(), NonDQuadrature::update(), and NonDExpansion::uSpaceModel.
Referenced by NonDPolynomialChaos::increment_order_and_grid().
| void increment_order_from_grid | ( | ) | [private] |
define an expansion order that is consistent with an advancement in structured/unstructured grid level/density
Used for uniform refinement of regression-based PCE.
References NonDPolynomialChaos::collocRatio, SharedApproxData::data_rep(), SharedPecosApproxData::expansion_order(), NonDExpansion::numSamplesOnModel, NonDPolynomialChaos::ratio_samples_to_order(), Model::shared_approximation(), and NonDExpansion::uSpaceModel.
Referenced by NonDPolynomialChaos::append().
1.7.6.1