https://mooseframework.inl.gov
Loading...
Searching...
No Matches
AdaptiveMonteCarloDecision.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9#pragma once
10
11#include "GeneralReporter.h"
14
20{
21public:
24 virtual void initialize() override {}
25 virtual void finalize() override {}
26 virtual void execute() override;
27
28protected:
30 const std::vector<Real> & _output_value;
31
33 std::vector<Real> & _output_required;
34
36 std::vector<std::vector<Real>> & _inputs;
37
38private:
44
47
50
53
56
58 std::vector<std::vector<Real>> & _prev_val;
59
61 std::vector<Real> & _prev_val_out;
62
64 std::vector<std::vector<Real>> & _inputs_sto;
65
67 std::vector<std::vector<Real>> & _inputs_sorted;
68
70 std::vector<Real> & _outputs_sto;
71
73 std::vector<Real> & _output_sorted;
74
77
79 const bool _gp_used;
80
82 const int * const _gp_training_samples;
83};
A class used to perform Adaptive Importance Sampling using a Markov Chain Monte Carlo algorithm.
AdaptiveMonteCarloDecision will help make sample accept/reject decisions in adaptive Monte Carlo sche...
std::vector< std::vector< Real > > & _inputs
Model input data that is uncertain.
std::vector< Real > & _output_required
Modified value of model output by this reporter class.
const bool _gp_used
Check if a GP is used.
static InputParameters validParams()
std::vector< Real > & _prev_val_out
Storage for previously accepted output value.
std::vector< std::vector< Real > > & _inputs_sorted
Store the sorted input samples according to their corresponding outputs.
const int *const _gp_training_samples
Store the GP training samples.
const std::vector< Real > & _output_value
Model output value from SubApp.
int & _check_step
Ensure that the MCMC algorithm proceeds in a sequential fashion.
Sampler & _sampler
The adaptive Monte Carlo sampler.
std::vector< std::vector< Real > > & _prev_val
Storage for previously accepted input values. This helps in making decision on the next proposed inpu...
const AdaptiveImportanceSampler *const _ais
Adaptive Importance Sampler.
std::vector< std::vector< Real > > & _inputs_sto
Storage for the previously accepted sample inputs across all the subsets.
Real & _output_limit
Store the intermediate ouput failure thresholds.
std::vector< Real > & _outputs_sto
Storage for previously accepted sample outputs across all the subsets.
const ParallelSubsetSimulation *const _pss
Parallel Subset Simulation sampler.
void reinitChain()
This reinitializes the Markov chain to the starting value until the Gaussian process training is comp...
std::vector< Real > & _output_sorted
Store the sorted output sample values.
const InputParameters & parameters() const
A class used to perform Parallel Subset Simulation Sampling.