24 params.
addRequiredParam<std::vector<UserObjectName>>(
"model",
"Name of surrogate models.");
26 "Sampler to use for evaluating surrogate models.");
31 "The type of return value expected from the surrogate models, a single entry will use it for " 32 "every model. Warning: not every model is able evaluate every response type.");
37 "Whether or not to evaluate standard deviation associated with each sample, a single entry " 38 "will use it for every model. Warning: not every model can compute standard deviation.");
45 _sampler(getSampler(
"sampler")),
48 const auto & model_names = getParam<std::vector<UserObjectName>>(
"model");
49 _model.reserve(model_names.size());
50 for (
const auto & nm : model_names)
55 "Number of entries must be 1 or equal to the number of entries in 'model'.");
57 const auto & estd = getParam<MultiMooseEnum>(
"evaluate_std");
58 if (estd.size() != 1 && estd.size() !=
_model.size())
60 "Nmber of entries must be 1 or equal to the number of entries in 'model'.");
63 _doing_std[i] = estd.size() == 1 ? estd[0] ==
"true" : estd[i] ==
"true";
76 _real_std[i] = &declareStochasticReporter<Real>(model_names[i] +
"_std",
_sampler);
78 else if (rtype ==
"vector_real")
81 &declareStochasticReporter<std::vector<Real>>(model_names[i],
_sampler);
84 &declareStochasticReporter<std::vector<Real>>(model_names[i] +
"_std",
_sampler);
A tool for output Sampler data.
virtual void execute() override
static InputParameters validParams()
static InputParameters validParams()
std::vector< std::vector< Real > * > _real_std
static MooseEnum defaultResponseTypes()
std::vector< Real > getNextLocalRow()
T & getSurrogateModelByName(const UserObjectName &name) const
Get a sampler with a given name.
unsigned int size() const
dof_id_type getNumberOfLocalRows() const
const MultiMooseEnum _response_types
The data type for the response value.
EvaluateSurrogate(const InputParameters ¶meters)
std::vector< std::vector< std::vector< Real > > * > _vector_real_std
Sampler & _sampler
Sampler for evaluating surrogate model.
void paramError(const std::string ¶m, Args... args) const
std::vector< const SurrogateModel * > _model
Pointers to surrogate model.
std::vector< bool > _doing_std
Whether or not to compute standard deviation.
std::vector< std::vector< std::vector< Real > > * > _vector_real_values
registerMooseObject("StochasticToolsApp", EvaluateSurrogate)
Interface for objects that need to use samplers.
static InputParameters validParams()
IntRange< T > make_range(T beg, T end)
static InputParameters validParams()
auto index_range(const T &sizable)
std::vector< std::vector< Real > * > _real_values