50 template <
typename T = SurrogateModel>
52 template <
typename T = SurrogateTrainerBase>
62 template <
typename T = SurrogateModel>
64 template <
typename T = SurrogateTrainerBase>
90 std::vector<T *> models;
94 .condition<AttribSystem>(
"SurrogateModel")
97 mooseError(
"Unable to find a SurrogateModel object of type " + std::string(
typeid(T).
name()) +
98 " with the name '" +
name +
"'");
102 template <
typename T>
109 template <
typename T>
115 T * obj_ptr =
dynamic_cast<T *
>(base_ptr);
117 mooseError(
"Failed to find a SurrogateTrainer object of type " + std::string(
typeid(T).
name()) +
120 "' for the desired type.");
const InputParameters & _smi_params
Parameters of the object with this interface.
T & getUserObject(const std::string &name, unsigned int tid=0) const
void mooseError(Args &&... args)
T & getSurrogateModelByName(const UserObjectName &name) const
Get a sampler with a given name.
FEProblemBase & _smi_feproblem
Reference to FEProblemBase instance.
T & getSurrogateModel(const std::string &name) const
Get a SurrogateModel/Trainer with a given name.
TheWarehouse & theWarehouse() const
T & getSurrogateTrainer(const std::string &name) const
Interface for objects that need to use samplers.
const THREAD_ID _smi_tid
Thread ID.
T & getSurrogateTrainerByName(const UserObjectName &name) const
This is the base trainer class whose main functionality is the API for declaring model data...
static InputParameters validParams()
SurrogateModelInterface(const MooseObject *moose_object)