$extrastylesheet
Dakota  Version 6.2
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
NonDPolynomialChaos Class Reference

Nonintrusive polynomial chaos expansion approaches to uncertainty quantification. More...

Inheritance diagram for NonDPolynomialChaos:
NonDExpansion NonD Analyzer Iterator

List of all members.

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

Detailed Description

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.


Constructor & Destructor Documentation

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 
)
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 
)

Member Function Documentation

void increment_specification_sequence ( ) [protected, virtual]
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]
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().


The documentation for this class was generated from the following files: