Public Member Functions | Protected Member Functions | Private Attributes
NonDSparseGrid Class Reference

Derived nondeterministic class that generates N-dimensional Smolyak sparse grids for numerical evaluation of expectation integrals over independent standard random variables. More...

Inheritance diagram for NonDSparseGrid:
NonDIntegration NonD Analyzer Iterator

List of all members.

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

Detailed Description

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


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