Nonintrusive polynomial chaos expansion approaches to uncertainty quantification. More...
Public Member Functions | |
| NonDPolynomialChaos (Model &model) | |
| standard constructor | |
| NonDPolynomialChaos (Model &model, short exp_coeffs_approach, unsigned short num_int_level, short u_space_type, bool piecewise_basis, bool use_derivs) | |
| alternate constructor | |
| ~NonDPolynomialChaos () | |
| destructor | |
| 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 | compute_expansion () |
| form or import an orthogonal polynomial expansion using PCE methods | |
| void | increment_expansion () |
| uniformly increment the order of the polynomial chaos expansion | |
| void | print_coefficients (std::ostream &s) |
| print the PCE coefficient array for the orthogonal basis | |
Private Member Functions | |
| int | terms_ratio_to_samples (size_t num_exp_terms, Real colloc_ratio, Real terms_order) |
| 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, Real terms_order) |
| convert number of expansion terms and number of collocation samples to a collocation ratio | |
Private Attributes | |
| String | expansionImportFile |
| filename for import of chaos coefficients | |
| int | expansionTerms |
| user specification of PCE terms | |
| Real | collocRatio |
| factor applied to expansionTerms^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 | |
| bool | tensorRegression |
| option for regression PCE using a filtered set tensor-product points | |
| RealMatrix | pceGradsMeanX |
| derivative of the PCE with respect to the x-space variables evaluated at the means (used as uncertainty importance metrics) | |
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 | ( | Model & | model | ) |
standard constructor
This constructor is called for a standard letter-envelope iterator instantiation using the ProblemDescDB.
References Dakota::abort_handler(), Model::assign_rep(), NonDPolynomialChaos::collocRatio, NonDExpansion::construct_cubature(), NonDExpansion::construct_expansion_sampler(), NonD::construct_lhs(), NonDExpansion::construct_quadrature(), NonDExpansion::construct_sparse_grid(), NonD::construct_u_space_model(), Model::derivative_concurrency(), NonDExpansion::expansionCoeffsApproach, NonDPolynomialChaos::expansionImportFile, NonDPolynomialChaos::expansionTerms, ProblemDescDB::get_dusa(), ProblemDescDB::get_int(), ProblemDescDB::get_rdv(), ProblemDescDB::get_real(), ProblemDescDB::get_short(), ProblemDescDB::get_string(), ProblemDescDB::get_ushort(), Model::init_communicators(), NonDExpansion::initialize(), NonDPolynomialChaos::initialize_u_space_model(), Iterator::iteratedModel, Iterator::iterator_rep(), Iterator::maxConcurrency, NonD::numContDesVars, NonD::numContEpistUncVars, Iterator::numContinuousVars, NonD::numContStateVars, NonDExpansion::numSamplesOnExpansion, NonDExpansion::numSamplesOnModel, Iterator::outputLevel, NonDExpansion::piecewiseBasis, Iterator::probDescDB, NonDExpansion::refineControl, NonDExpansion::refineType, NonDPolynomialChaos::resolve_inputs(), NonDPolynomialChaos::tensorRegression, NonDPolynomialChaos::terms_ratio_to_samples(), NonDPolynomialChaos::terms_samples_to_ratio(), NonDPolynomialChaos::termsOrder, NonDExpansion::uSpaceModel, and Analyzer::vary_pattern().
| NonDPolynomialChaos | ( | Model & | model, |
| short | exp_coeffs_approach, | ||
| unsigned short | num_int_level, | ||
| short | u_space_type, | ||
| bool | piecewise_basis, | ||
| bool | use_derivs | ||
| ) |
alternate constructor
This constructor is used for helper iterator instantiation on the fly.
References Model::assign_rep(), NonDExpansion::construct_cubature(), NonDExpansion::construct_quadrature(), NonDExpansion::construct_sparse_grid(), NonD::construct_u_space_model(), NonDExpansion::expansionCoeffsApproach, NonDExpansion::initialize(), NonDPolynomialChaos::initialize_u_space_model(), Iterator::iteratedModel, NonD::numContDesVars, NonD::numContEpistUncVars, NonD::numContStateVars, Iterator::outputLevel, NonDExpansion::piecewiseBasis, NonDPolynomialChaos::resolve_inputs(), and NonDExpansion::uSpaceModel.
| void increment_expansion | ( | ) | [virtual] |
uniformly increment the order of the polynomial chaos expansion
Used for uniform refinement of regression-based PCE.
Reimplemented from NonDExpansion.
References Model::approximations(), NonDPolynomialChaos::collocRatio, NonDQuadrature::compute_minimum_quadrature_order(), PecosApproximation::expansion_terms(), NonDQuadrature::filtered_samples(), PecosApproximation::increment_order(), Iterator::iterator_rep(), Model::model_rep(), Iterator::numFunctions, NonDExpansion::numSamplesOnModel, NonDSampling::sampling_reference(), Model::subordinate_iterator(), NonDPolynomialChaos::tensorRegression, NonDPolynomialChaos::terms_ratio_to_samples(), NonDPolynomialChaos::termsOrder, DataFitSurrModel::total_points(), and NonDExpansion::uSpaceModel.
1.7.6.1