Derived nondeterministic class that generates N-dimensional Smolyak sparse grids for numerical evaluation of expectation integrals over independent standard random variables. More...
Public Member Functions | |
NonDSparseGrid (Model &model, const Pecos::ShortArray &u_types, unsigned short ssg_level, const RealVector &dim_pref, short refine_type=Pecos::NO_REFINEMENT, short refine_control=Pecos::GENERALIZED_SPARSE, bool track_ensemble_wts=true, bool nested_rules=true) | |
void | increment_grid () |
increment ssgDriver::ssgLevel | |
void | increment_grid (const RealVector &dim_pref) |
update ssgDriver::ssgLevel and ssgDriver::ssgAnisoLevelWts | |
const std::set< UShortArray > & | active_multi_index () const |
returns SparseGridDriver::active_multi_index() | |
const std::set< UShortArray > & | old_multi_index () const |
returns SparseGridDriver::old_multi_index() | |
const UShort2DArray & | smolyak_multi_index () const |
returns SparseGridDriver::smolyak_multi_index() | |
const IntArray & | smolyak_coefficients () const |
returns SparseGridDriver::smolyak_coefficients() | |
void | initialize_sets () |
invokes SparseGridDriver::initialize_sets() | |
void | update_reference () |
invokes SparseGridDriver::update_reference() | |
void | increment_set (const UShortArray &set) |
invokes SparseGridDriver::push_trial_set() | |
void | restore_set () |
invokes SparseGridDriver::restore_set() | |
void | evaluate_set () |
invokes SparseGridDriver::compute_trial_grid() | |
void | decrement_set () |
invokes SparseGridDriver::pop_trial_set() | |
void | update_sets (const UShortArray &set_star) |
invokes SparseGridDriver::update_sets() | |
void | finalize_sets () |
invokes SparseGridDriver::finalize_sets() | |
Protected Member Functions | |
NonDSparseGrid (Model &model) | |
constructor | |
~NonDSparseGrid () | |
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) |
Private Attributes | |
Pecos::SparseGridDriver * | ssgDriver |
convenience pointer to the numIntDriver representation | |
unsigned short | ssgLevelSpec |
the user specification for the Smolyak sparse grid level | |
RealVector | dimPrefSpec |
the user specification for anisotropic dimension preference | |
unsigned short | ssgLevelRef |
reference point (e.g., lower bound) for the Smolyak sparse grid level maintained within ssgDriver |
Derived nondeterministic class that generates N-dimensional Smolyak sparse grids for numerical evaluation of expectation integrals over independent standard random variables.
This class is used by NonDPolynomialChaos and NonDStochCollocation, but could also be used for general numerical integration of moments. It employs 1-D Clenshaw-Curtis and Gaussian quadrature rules within Smolyak sparse grids.
NonDSparseGrid | ( | Model & | model, |
const Pecos::ShortArray & | u_types, | ||
unsigned short | ssg_level, | ||
const RealVector & | dim_pref, | ||
short | refine_type = Pecos::NO_REFINEMENT , |
||
short | refine_control = Pecos::GENERALIZED_SPARSE , |
||
bool | track_ensemble_wts = true , |
||
bool | nested_rules = true |
||
) |
This alternate constructor is used for on-the-fly generation and evaluation of sparse grids within PCE and SC.
References Model::distribution_parameters(), Iterator::maxConcurrency, NonDIntegration::numIntDriver, and NonDSparseGrid::ssgDriver.
NonDSparseGrid | ( | 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 a separate sparse_grid method specification.
References NonDIntegration::check_variables(), NonDSparseGrid::dimPrefSpec, Model::distribution_parameters(), ProblemDescDB::get_short(), Iterator::iteratedModel, Iterator::maxConcurrency, NonD::natafTransform, NonDIntegration::numIntDriver, Iterator::probDescDB, NonDSparseGrid::ssgDriver, and NonDSparseGrid::ssgLevelSpec.
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 sparse grid routine in order to build a particular global approximation.
Reimplemented from Iterator.
References NonDSparseGrid::ssgDriver, and NonDSparseGrid::ssgLevelRef.