17 template <
typename InType,
typename OutType>
34 virtual void store(nlohmann::json & json)
const override;
42 template <
typename InType>
61 template <
typename OutType>
62 using SobolState = std::pair<std::vector<OutType>, std::vector<std::vector<OutType>>>;
64 template <
typename InType,
typename OutType>
82 const std::vector<Real> & ci_levels,
83 unsigned int ci_replicates,
84 unsigned int ci_seed);
87 virtual std::string
type()
const override 89 return "SobolIndices<" + MooseUtils::prettyCppType<OutType>() +
">";
95 virtual void store(nlohmann::json & json)
const override;
111 std::unique_ptr<StochasticTools::BootstrapCalculator<std::vector<InType>, std::vector<OutType>>>
A class used to perform Monte Carlo sampling for performing Sobol sensitivity analysis.
const SobolSampler & _sobol_sampler
The sampler that generated the samples that produced results for the _results_vectors.
virtual void execute() override
const ReporterState< SobolState< OutType > > & state() const
std::unique_ptr< StochasticTools::BootstrapCalculator< std::vector< InType >, std::vector< OutType > > > _ci_calc_ptr
Storage for the BootstrapCalculator for the desired confidence interval calculations (optional) ...
const SobolSampler & _sampler
Sobol sampler to get info on number of matrices and whatnot.
void declareValueHelper(const ReporterName &r_name)
Helper for adding Sobol reporter values.
const std::vector< Real > & _ci_levels
CI levels to be computed.
virtual void initialSetup() override
static void storeSobol(nlohmann::json &json, const SobolState< OutType > &val, unsigned int nparam)
const unsigned int & _ci_seed
Random seed for producing CI replicates.
std::pair< std::vector< OutType >, std::vector< std::vector< OutType > >> SobolState
virtual void finalize() override
bool _initialized
Whether or not initialize() has been called for reporter value declaration.
const InType & _data
Data used for the statistic calculation.
const unsigned int & _ci_replicates
Number of CI replicates to use in Bootstrap methods.
SobolReporter(const InputParameters ¶meters)
virtual void initialize() override
virtual void store(nlohmann::json &json) const override
virtual void store(nlohmann::json &json) const override
const ReporterProducerEnum & _data_mode
Mode in which the above data was produced.
static InputParameters validParams()
StochasticTools::SobolCalculator< InType, OutType > _calc
Storage for the SobolCalculator object, this is created in constructor.
const InputParameters & parameters() const
virtual std::string type() const override
SobolReporterContext(const libMesh::ParallelObject &other, const MooseObject &producer, ReporterState< SobolState< OutType >> &state, const InType &data, const ReporterProducerEnum &mode, const SobolSampler &sampler)
Computes Sobol sensitivity indices, see SobolCalculators.
virtual void finalize() override