www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MonteCarloSampler Class Reference

A class used to perform Monte Carlo Sampling. More...

#include <MonteCarloSampler.h>

Inheritance diagram for MonteCarloSampler:
[legend]

Public Member Functions

 MonteCarloSampler (const InputParameters &parameters)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual Real computeSample (dof_id_type row_index, dof_id_type col_index)
 Return the sample for the given row and column. More...
 

Protected Attributes

std::vector< Distribution const * > _distributions
 Storage for distribution objects to be utilized. More...
 
const std::vector< DistributionName > & _distribution_names
 Distribution names. More...
 

Detailed Description

A class used to perform Monte Carlo Sampling.

Definition at line 21 of file MonteCarloSampler.h.

Constructor & Destructor Documentation

◆ MonteCarloSampler()

MonteCarloSampler::MonteCarloSampler ( const InputParameters &  parameters)

Definition at line 30 of file MonteCarloSampler.C.

31  : Sampler(parameters),
32  _distribution_names(getParam<std::vector<DistributionName>>("distributions"))
33 {
34  for (const DistributionName & name : _distribution_names)
35  _distributions.push_back(&getDistributionByName(name));
36 
37  setNumberOfRows(getParam<dof_id_type>("num_rows"));
38  setNumberOfCols(_distributions.size());
39 }

Member Function Documentation

◆ computeSample()

Real MonteCarloSampler::computeSample ( dof_id_type  row_index,
dof_id_type  col_index 
)
protectedvirtual

Return the sample for the given row and column.

Definition at line 42 of file MonteCarloSampler.C.

43 {
44  return _distributions[col_index]->quantile(getRand());
45 }

◆ validParams()

InputParameters MonteCarloSampler::validParams ( )
static

Definition at line 18 of file MonteCarloSampler.C.

19 {
20  InputParameters params = Sampler::validParams();
21  params.addClassDescription("Monte Carlo Sampler.");
22  params.addRequiredParam<dof_id_type>("num_rows", "The number of rows per matrix to generate.");
23  params.addRequiredParam<std::vector<DistributionName>>(
24  "distributions",
25  "The distribution names to be sampled, the number of distributions provided defines the "
26  "number of columns per matrix.");
27  return params;
28 }

Member Data Documentation

◆ _distribution_names

const std::vector<DistributionName>& MonteCarloSampler::_distribution_names
protected

Distribution names.

Definition at line 36 of file MonteCarloSampler.h.

Referenced by MonteCarloSampler().

◆ _distributions

std::vector<Distribution const *> MonteCarloSampler::_distributions
protected

Storage for distribution objects to be utilized.

Definition at line 33 of file MonteCarloSampler.h.

Referenced by computeSample(), and MonteCarloSampler().


The documentation for this class was generated from the following files:
validParams
InputParameters validParams()
name
const std::string name
Definition: Setup.h:21
MonteCarloSampler::_distribution_names
const std::vector< DistributionName > & _distribution_names
Distribution names.
Definition: MonteCarloSampler.h:36
MonteCarloSampler::_distributions
std::vector< Distribution const * > _distributions
Storage for distribution objects to be utilized.
Definition: MonteCarloSampler.h:33