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

Derived nondeterministic class that generates N-dimensional numerical cubature points for evaluation of expectation integrals. More...

Inheritance diagram for NonDCubature:
NonDIntegration NonD Analyzer Iterator

List of all members.

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 (Model &model)
 constructor
 ~NonDCubature ()
 destructor
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 (const RealVector &dim_pref)

Private Member Functions

void anisotropic_preference (const RealVector &dim_pref)
 update cubIntOrder based on an updated dimension preference
void check_integration (const Pecos::ShortArray &u_types, const Pecos::DistributionParams &dp)
 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

Detailed Description

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.


Constructor & Destructor Documentation

NonDCubature ( Model model,
const Pecos::ShortArray &  u_types,
unsigned short  cub_int_order 
)
NonDCubature ( 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 NonDCubature::check_integration(), NonDIntegration::check_variables(), NonDCubature::cubDriver, NonDCubature::cubIntOrderRef, NonDCubature::cubIntRule, Model::distribution_parameters(), Iterator::iteratedModel, Iterator::maxConcurrency, NonD::natafTransform, and NonDIntegration::numIntDriver.


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 cubature routine in order to build a particular global approximation.

Reimplemented from Iterator.

References NonDCubature::cubDriver, and NonDCubature::cubIntOrderRef.

void increment_grid ( const RealVector &  dim_pref) [inline, protected, virtual]

Should not be used, but pure virtual must be defined.

Implements NonDIntegration.

References NonDCubature::increment_grid().

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


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