14 #include "libmesh/utility.h" 23 "AdaptiveImportanceSampler.");
25 "Value of the model output from the SubApp.");
26 params.
addParam<ReporterValueName>(
"mu_imp",
"mu_imp",
"Means of the importance distributions.");
28 "std_imp",
"std_imp",
"Standard deviations of the importance distributions.");
29 params.
addParam<ReporterValueName>(
"pf",
"pf",
"Failure probability estimate.");
31 "cov_pf",
"cov_pf",
"Coefficient of variation of failure probability.");
33 "Flag samples if the surrogate prediction was inadequate.");
40 _output_value(isParamValid(
"flag_sample") ? getReporterValue<
std::vector<
Real>>(
"output_value")
41 : getReporterValue<
std::vector<
Real>>(
43 _mu_imp(declareValue<
std::vector<
Real>>(
"mu_imp")),
44 _std_imp(declareValue<
std::vector<
Real>>(
"std_imp")),
45 _pf(declareValue<
std::vector<
Real>>(
"pf")),
46 _cov_pf(declareValue<
std::vector<
Real>>(
"cov_pf")),
47 _step(getCheckedPointerParam<
FEProblemBase *>(
"_fe_problem_base")->timeStep()),
49 _gp_flag(isParamValid(
"flag_sample") ? &getReporterValue<
std::vector<bool>>(
"flag_sample")
51 _check_step(
std::numeric_limits<
int>::
max())
74 const bool gp_flag =
_gp_flag ? (*_gp_flag)[0] :
false;
85 Real prod1 = output_limit_reached ? 1.0 : 0.0;
Real _factor
Storage for the standard deviation factor over the importance distribution.
const Real & getOutputLimit() const
registerMooseObject("StochasticToolsApp", AdaptiveImportanceStats)
A class used to perform Adaptive Importance Sampling using a Markov Chain Monte Carlo algorithm...
std::vector< Real > & _std_imp
Standard deviations of the importance distributions.
std::vector< Real > getNextLocalRow()
AdaptiveImportanceStats(const InputParameters ¶meters)
AdaptiveImportanceStats will help make sample accept/reject decisions in adaptive Monte Carlo schemes...
AdaptiveImportanceSampler & _ais
Adaptive Importance Sampler.
static InputParameters validParams()
virtual void execute() override
const std::vector< const Distribution * > & getDistributionNames() const
dof_id_type getNumberOfLocalRows() const
const std::vector< Real > & getImportanceVectorMean() const
virtual Real pdf(const Real &x) const override
auto max(const L &left, const R &right)
const std::vector< Real > & getImportanceVectorStd() const
const std::vector< bool > * _gp_flag
Flag for GP utilization.
std::vector< Real > & _pf
Failure probability estimate.
const int & _step
Track the current step of the main App.
const ReporterMode REPORTER_MODE_DISTRIBUTED
dof_id_type getNumberOfRows() const
const int & getNumSamplesTrain() const
const bool & getUseAbsoluteValue() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
const Real & getStdFactor() const
std::vector< Real > & _mu_imp
Means of the importance distributions.
Real _pf_sum
Storage for the sequential sum of pf.
std::vector< const Distribution * > _distributions_store
Storage for the distribution names.
virtual Real quantile(const Real &p) const override
const std::vector< Real > & _output_value
Model output value from SubApp.
Real _var_sum
Storage for the sequential sum of variance of pf.
void ErrorVector unsigned int
dof_id_type getNumberOfCols() const
int _check_step
Ensure that the MCMC algorithm proceeds in a sequential fashion.
std::vector< Real > & _cov_pf
Coefficient of variation of failure probability.