$extrastylesheet
Dakota
Version 6.2
|
Derived nondeterministic class that generates N-dimensional numerical cubature points for evaluation of expectation integrals. More...
Public Member Functions | |
NonDCubature (Model &model, const Pecos::ShortArray &u_types, unsigned short cub_int_order) | |
unsigned short | integrand_order () const |
return cubIntOrder | |
Protected Member Functions | |
NonDCubature (ProblemDescDB &problem_db, Model &model) | |
constructor | |
~NonDCubature () | |
destructor | |
void | initialize_grid (const std::vector< Pecos::BasisPolynomial > &poly_basis) |
initialize integration grid by drawing from polynomial basis settings | |
void | get_parameter_sets (Model &model) |
Returns one block of samples (ndim * num_samples) | |
void | sampling_reset (int min_samples, bool all_data_flag, bool stats_flag) |
void | increment_grid () |
increment SSG level/TPQ order | |
void | increment_grid_preference (const RealVector &dim_pref) |
int | num_samples () const |
Private Member Functions | |
void | check_integration (const Pecos::ShortArray &u_types, const Pecos::AleatoryDistParams &adp) |
verify self-consistency of integration specification | |
void | increment_reference () |
increment each cubIntOrderRef entry by 1 | |
Private Attributes | |
Pecos::CubatureDriver * | cubDriver |
convenience pointer to the numIntDriver representation | |
unsigned short | cubIntOrderRef |
reference point for Pecos::CubatureDriver::cubIntOrder: the original user specification for the number of Gauss points per dimension, plus any refinements posted by increment_grid() | |
unsigned short | cubIntRule |
the isotropic cubature integration rule |
Derived nondeterministic class that generates N-dimensional numerical cubature points for evaluation of expectation integrals.
This class is used by NonDPolynomialChaos, but could also be used for general numerical integration of moments. It employs Stroud cubature rules and extensions by D. Xiu.
NonDCubature | ( | Model & | model, |
const Pecos::ShortArray & | u_types, | ||
unsigned short | cub_int_order | ||
) |
This alternate constructor is used for on-the-fly generation and evaluation of numerical cubature points.
References Model::aleatory_distribution_parameters(), NonDCubature::check_integration(), NonDCubature::cubDriver, NonDCubature::cubIntOrderRef, Iterator::iteratedModel, and NonDIntegration::numIntDriver.
NonDCubature | ( | ProblemDescDB & | problem_db, |
Model & | model | ||
) | [protected] |
constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set_db_list_nodes has been called and probDescDB can be queried for settings from the method specification. It is not currently used, as there is not yet a separate nond_cubature method specification.
References Model::aleatory_distribution_parameters(), NonDCubature::check_integration(), NonDIntegration::check_variables(), NonDCubature::cubDriver, NonDCubature::cubIntOrderRef, NonDCubature::cubIntRule, Iterator::iteratedModel, Iterator::maxEvalConcurrency, NonD::natafTransform, and NonDIntegration::numIntDriver.
void sampling_reset | ( | int | min_samples, |
bool | all_data_flag, | ||
bool | stats_flag | ||
) | [protected, virtual] |
used by DataFitSurrModel::build_global() to publish the minimum number of points needed from the cubature routine in order to build a particular global approximation.
Reimplemented from Iterator.
References NonDCubature::cubDriver, and NonDCubature::cubIntOrderRef.
void increment_grid_preference | ( | const RealVector & | dim_pref | ) | [inline, protected, virtual] |
Should not be used, but pure virtual must be defined.
Reimplemented from NonDIntegration.
References NonDCubature::increment_grid().
int num_samples | ( | ) | const [inline, protected, virtual] |
Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References NonDCubature::cubDriver.
void increment_reference | ( | ) | [inline, private] |
increment each cubIntOrderRef entry by 1
cubIntOrderRef is a reference point for CubatureDriver::cubIntOrder, e.g., a lower bound
References NonDCubature::cubIntOrderRef.
Referenced by NonDCubature::increment_grid().