21 params.set<
bool>(
"check_multiapp_execute_on",
true) =
false;
22 params.addParam<SamplerName>(
"sampler",
"A the Sampler object that Transfer is associated..");
27 : MultiAppTransfer(parameters), SamplerInterface(this)
34 if (_multi_app->isParamValid(
"mode") &&
35 (_multi_app->getParamTempl<MooseEnum>(
"mode") ==
"batch-reset" ||
36 _multi_app->getParamTempl<MooseEnum>(
"mode") ==
"batch-restore"))
38 if (parameters.isParamSetByUser(
"execute_on"))
39 paramError(
"execute_on",
40 "The 'execute_on' parameter for the '",
42 "' transfer was set, but the parent MultiApp object (",
44 ") is running in 'batch' mode. For this case the 'execute_on' parameter must not "
45 "be set by the user or set to NONE.");
48 ExecFlagEnum & exec_flags = const_cast<ExecFlagEnum &>(getParam<ExecFlagEnum>(
"execute_on"));
49 exec_flags = EXEC_NONE;
62 else if (!parameters.isParamSetByUser(
"check_multiapp_execute_on"))
63 checkMultiAppExecuteOn();
66 if (isParamValid(
"sampler"))
71 dynamic_cast<SamplerTransientMultiApp *>(_multi_app.get());
73 dynamic_cast<SamplerFullSolveMultiApp *>(_multi_app.get());
75 if (!ptr_transient && !ptr_fullsolve)
76 mooseError(
"The 'multi_app' parameter must provide either a 'SamplerTransientMultiApp' or "
77 "'SamplerFullSolveMultiApp' object.");
79 if ((ptr_transient && &(ptr_transient->getSampler(
"sampler")) !=
_sampler_ptr) ||
80 (ptr_fullsolve && &(ptr_fullsolve->getSampler(
"sampler")) !=
_sampler_ptr))
81 mooseError(
"The supplied 'multi_app' must have the same Sampler object as this Transfer.");
86 paramWarning(
"sampler",
87 "Support for the 'StochasticToolsTransfer' objects without the 'sampler' input "
88 "parameter is being removed, please update your input file(s).");
90 std::shared_ptr<SamplerTransientMultiApp> ptr_transient =
91 std::dynamic_pointer_cast<SamplerTransientMultiApp>(_multi_app);
92 std::shared_ptr<SamplerFullSolveMultiApp> ptr_fullsolve =
93 std::dynamic_pointer_cast<SamplerFullSolveMultiApp>(_multi_app);
95 if (!ptr_transient && !ptr_fullsolve)
96 mooseError(
"The 'multi_app' parameter must provide either a 'SamplerTransientMultiApp' or "
97 "'SamplerFullSolveMultiApp' object.");