21 "a container in the Trainer object.");
31 paramError(
"to_multi_app",
"To and between multiapp directions are not implemented");
40 for (
unsigned int base_i = 0; base_i < total_base_num; ++base_i)
63 for (
unsigned int tag_i = 0; tag_i < tag_names.size(); ++tag_i)
67 if (base_i > 0 && (tag_types[tag_i] ==
"src" || tag_types[tag_i] ==
"src_dir"))
75 std::vector<DenseVector<Real>> split_residual(var_names.size());
77 for (
unsigned int var_i = 0; var_i < var_names.size(); ++var_i)
84 full_residual.
localize(split_residual[var_i].get_values(), var_dofs);
registerMooseObject("StochasticToolsApp", PODResidualTransfer)
virtual TagID getVectorTagID(const TagName &tag_name) const
void addToReducedOperator(unsigned int base_i, unsigned int tag_i, std::vector< DenseVector< Real >> &residual)
Adding the contribution of a residual to the reduced operators.
const std::shared_ptr< MultiApp > getFromMultiApp() const
Transfer solutions from sub-applications to a container in a Trainer.
virtual void executeFromMultiapp() override
PODResidualTransfer(const InputParameters ¶meters)
Transfers residuals for given variables and vector tags from a sub-subapplication to a PODReducedBasi...
static InputParameters validParams()
const std::vector< std::string > & getTagNames() const
void transferResidual(dof_id_type base_i, dof_id_type multi_app_i)
Adds the variable-residuals to the trainer.
const std::vector< dof_id_type > & getVariableGlobalDoFs()
NonlinearSystemBase & getNonlinearSystemBase(const unsigned int sys_num)
void paramError(const std::string ¶m, Args... args) const
static InputParameters validParams()
const std::vector< std::string > & getTagTypes() const
bool hasToMultiApp() const
virtual void execute() override
Transfer callback that will transfer residuals with given tags from the subapplication.
PODReducedBasisTrainer & _trainer
The trainer object to save the solution vector into or to fetch the artificial solution vectors from...
void setVariableGlobalDoFs(const std::string &var_name)
processor_id_type processor_id() const
const std::vector< std::string > & getVarNames() const
virtual NumericVector< Number > & getVector(const std::string &name)
unsigned int getSumBaseSize() const
Getting the overall base size, which is the sum of the individual bases.
virtual void localize(std::vector< Number > &v_local) const =0