22 "a container in the Trainer object and back.");
24 "Trainer object that contains the solutions" 25 " for different samples.");
32 _pod_multi_app(hasFromMultiApp()
38 paramError(
"multi_app",
"The Multiapp given is not a PODFullsolveMultiapp!");
49 for (MooseIndex(n) i = 0; i < n; i++)
51 if (multi_app->hasLocalApp(i))
52 for (
auto var_name : var_names)
53 if (!multi_app->appProblemBase(i).hasVariable(var_name))
54 mooseError(
"Variable '" + var_name +
"' not found on sub-application ", i,
"!");
80 for (
unsigned int v_index = 0; v_index < var_names.size(); ++v_index)
87 std::shared_ptr<DenseVector<Real>> tmp = std::make_shared<DenseVector<Real>>();
88 solution.
localize(tmp->get_values(), var_dofs);
100 unsigned int counter = 0;
101 for (
unsigned int var_i = 0; var_i < var_names.size(); ++var_i)
106 for (
unsigned int base_i = 0; base_i < var_base_num; ++base_i)
125 solution.
insert(base_vector, var_dofs);
153 for (MooseIndex(n) i = 0; i < n; i++)
164 for (
unsigned int var_i = 0; var_i < var_names.size(); ++var_i)
171 std::shared_ptr<DenseVector<Real>> tmp = std::make_shared<DenseVector<Real>>();
172 solution.
localize(tmp->get_values(), var_dofs);
215 solution.
insert(base_vector, var_dofs);
virtual void execute() override
virtual void insert(const Number *v, const std::vector< numeric_index_type > &dof_indices)
std::shared_ptr< PODFullSolveMultiApp > _pod_multi_app
The input multiapp casted into a PODFullSolveMultiapp to get access to the specific pod attributes...
virtual void executeFromMultiapp() override
const std::shared_ptr< MultiApp > getFromMultiApp() const
NumericVector< Number > & solution()
Transfer solutions from sub-applications to a container in a Trainer.
virtual void executeToMultiapp() override
registerMooseObject("StochasticToolsApp", PODSamplerSolutionTransfer)
dof_id_type getLocalRowBegin() const
void setSolution(const NumericVector< Number > &soln)
std::unique_ptr< T_DEST, T_DELETER > dynamic_pointer_cast(std::unique_ptr< T_SRC, T_DELETER > &src)
const std::shared_ptr< MultiApp > getToMultiApp() const
virtual void finalizeToMultiapp() override
bool hasFromMultiApp() const
PODSamplerSolutionTransfer(const InputParameters ¶meters)
void addSnapshot(unsigned int var_i, unsigned int glob_i, const std::shared_ptr< DenseVector< Real >> &snapshot)
Adding a snapshot for a variable.
virtual void initializeToMultiapp() override
Methods for transferring data to sub-applications to the master application.
const std::vector< dof_id_type > & getVariableGlobalDoFs()
NonlinearSystemBase & getNonlinearSystemBase(const unsigned int sys_num)
virtual void initialSetup() override
void paramError(const std::string ¶m, Args... args) const
virtual void initializeFromMultiapp() override
Methods used when running in batch mode (see SamplerFullSolveMultiApp)
unsigned int getVariableIndex(unsigned int glob_i) const
Getting appropriate variable index for a global base index.
dof_id_type getLocalRowEnd() const
static InputParameters validParams()
Interface for objects that need to use samplers.
void mooseError(Args &&... args) const
unsigned int getBaseSize(unsigned int var_i) const
Getting the base size for variable with index v_ind.
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 void finalizeFromMultiapp() override
const DenseVector< Real > & getBasisVector(unsigned int var_i, unsigned int base_i) const
Getting a basis vector for a given variable.
virtual void localize(std::vector< Number > &v_local) const =0