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

Performs LHS and Monte Carlo sampling for uncertainty quantification. More...

Inheritance diagram for NonDLHSSampling:
NonDSampling NonD Analyzer Iterator

List of all members.

Public Member Functions

 NonDLHSSampling (Model &model)
 standard constructor
 NonDLHSSampling (Model &model, const String &sample_type, int samples, int seed, const String &rng, short sampling_vars_mode=ACTIVE)
 alternate constructor for sample generation and evaluation "on the fly"
 NonDLHSSampling (const String &sample_type, int samples, int seed, const String &rng, const RealVector &lower_bnds, const RealVector &upper_bnds)
 alternate constructor for sample generation "on the fly"
 ~NonDLHSSampling ()
 destructor

Protected Member Functions

void pre_run ()
 generate LHS samples in non-VBD cases
void post_input ()
 read tabular data for post-run mode
void quantify_uncertainty ()
 perform the evaluate parameter sets portion of run
void post_run (std::ostream &s)
 generate statistics for LHS runs in non-VBD cases
void print_results (std::ostream &s)
 print the final statistics

Private Attributes

bool varBasedDecompFlag
 flags computation of VBD

Detailed Description

Performs LHS and Monte Carlo sampling for uncertainty quantification.

The Latin Hypercube Sampling (LHS) package from Sandia Albuquerque's Risk and Reliability organization provides comprehensive capabilities for Monte Carlo and Latin Hypercube sampling within a broad array of user-specified probabilistic parameter distributions. It enforces user-specified rank correlations through use of a mixing routine. The NonDLHSSampling class provides a C++ wrapper for the LHS library and is used for performing forward propagations of parameter uncertainties into response statistics.


Constructor & Destructor Documentation

NonDLHSSampling ( Model model)

standard 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.

References NonDSampling::samplingVarsMode.

NonDLHSSampling ( Model model,
const String sample_type,
int  samples,
int  seed,
const String rng,
short  sampling_vars_mode = ACTIVE 
)

alternate constructor for sample generation and evaluation "on the fly"

This alternate constructor is used for generation and evaluation of Model-based sample sets. A set_db_list_nodes has not been performed so required data must be passed through the constructor. It's purpose is to avoid the need for a separate LHS specification within methods that use LHS sampling.

References NonDSampling::samplingVarsMode.

NonDLHSSampling ( const String sample_type,
int  samples,
int  seed,
const String rng,
const RealVector &  lower_bnds,
const RealVector &  upper_bnds 
)

alternate constructor for sample generation "on the fly"

This alternate constructor is used by ConcurrentStrategy for generation of uniform, uncorrelated sample sets. It is _not_ a letter-envelope instantiation and a set_db_list_nodes has not been performed. It is called with all needed data passed through the constructor and is designed to allow more flexibility in variables set definition (i.e., relax connection to a variables specification and allow sampling over parameter sets such as multiobjective weights). In this case, a Model is not used and the object must only be used for sample generation (no evaluation).

References NonDSampling::get_parameter_sets(), and NonDSampling::samplingVarsMode.


Member Function Documentation

void quantify_uncertainty ( ) [protected, virtual]

perform the evaluate parameter sets portion of run

Loop over the set of samples and compute responses. Compute statistics on the set of responses if statsFlag is set.

Implements NonD.

References NonDSampling::allDataFlag, Analyzer::evaluate_parameter_sets(), Iterator::iteratedModel, Iterator::numContinuousVars, Iterator::numDiscreteIntVars, Iterator::numDiscreteRealVars, NonD::numResponseFunctions, NonDSampling::numSamples, NonDSampling::statsFlag, NonDLHSSampling::varBasedDecompFlag, and Analyzer::variance_based_decomp().


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