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.