Derived nondeterministic class that generates N-dimensional numerical quadrature points for evaluation of expectation integrals over uncorrelated standard normals/uniforms/exponentials/betas/gammas. More...
Public Member Functions | |
| NonDQuadrature (Model &model, const Pecos::ShortArray &u_types, const UShortArray &order, bool nested_rules=false) | |
| const Pecos::UShortArray & | quadrature_order () const |
| return quadOrder | |
Protected Member Functions | |
| NonDQuadrature (Model &model) | |
| constructor | |
| ~NonDQuadrature () | |
| destructor | |
| void | get_parameter_sets (Model &model) |
| Returns one block of samples (ndim * num_samples) | |
| void | reset () |
| restore initial state for repeated sub-iterator executions | |
| void | sampling_reset (int min_samples, bool all_data_flag, bool stats_flag) |
| void | increment_grid () |
| increment SSG level/TPQ order | |
| void | increment_grid (const RealVector &dim_pref) |
| increment SSG level/TPQ order and update anisotropy | |
Private Member Functions | |
| void | anisotropic_preference (const RealVector &dim_pref) |
| update quadOrder based on an updated dimension preference | |
| void | check_integration (const UShortArray &quad_order_spec) |
| verify self-consistency of integration specification | |
| void | nested_quadrature_order (const UShortArray &quad_order_ref) |
| update quadOrder from quadOrderRef to account for nested rule constraints | |
| size_t | reference_grid_size () |
| return Product_i(quadOrderRef[i]) | |
| void | increment_reference () |
| increment each quadOrderRef entry by 1 | |
| void | increment_reference (const RealVector &dim_pref) |
| increment the quadOrderRef entry with maximum preference by 1 | |
Private Attributes | |
| Pecos::TensorProductDriver * | tpqDriver |
| convenience pointer to the numIntDriver representation | |
| bool | nestedRules |
| for studies involving refinement strategies, allow for use of nested quadrature rules such as Gauss-Patterson | |
| UShortArray | quadOrderSpec |
| the user specification for the number of Gauss points per dimension | |
| UShortArray | quadOrderRef |
| reference point for Pecos::TensorProductDriver::quadOrder: the original user specification for the number of Gauss points per dimension, plus any refinements posted by increment_grid() | |
Derived nondeterministic class that generates N-dimensional numerical quadrature points for evaluation of expectation integrals over uncorrelated standard normals/uniforms/exponentials/betas/gammas.
This class is used by NonDPolynomialChaos, but could also be used for general numerical integration of moments. It employs Gauss-Hermite, Gauss-Legendre, Gauss-Laguerre, Gauss-Jacobi and generalized Gauss-Laguerre quadrature for use with normal, uniform, exponential, beta, and gamma density functions and integration bounds. The abscissas and weights for one-dimensional integration are extracted from the appropriate OrthogonalPolynomial class and are extended to n-dimensions using a tensor product approach.
| NonDQuadrature | ( | Model & | model, |
| const Pecos::ShortArray & | u_types, | ||
| const UShortArray & | order, | ||
| bool | nested_rules = false |
||
| ) |
This alternate constructor is used for on-the-fly generation and evaluation of numerical quadrature points.
References NonDQuadrature::check_integration(), Iterator::maxConcurrency, NonDQuadrature::nestedRules, NonDIntegration::numIntDriver, and NonDQuadrature::tpqDriver.
| NonDQuadrature | ( | 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_quadrature method specification.
References NonDQuadrature::check_integration(), NonDIntegration::check_variables(), ProblemDescDB::get_dusa(), Iterator::maxConcurrency, NonD::natafTransform, NonDQuadrature::nestedRules, NonDIntegration::numIntDriver, Iterator::probDescDB, and NonDQuadrature::tpqDriver.
| 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 quadrature routine in order to build a particular global approximation.
Reimplemented from Iterator.
References NonDQuadrature::nested_quadrature_order(), NonDQuadrature::nestedRules, Iterator::numContinuousVars, NonDQuadrature::quadOrderRef, NonDQuadrature::quadrature_order(), NonDQuadrature::reference_grid_size(), and NonDQuadrature::tpqDriver.
1.7.4