20 "Class responsible for collecting distributed solution vectors into a container. We append " 21 "a new distributed solution vector (containing all variables) at every execution.");
22 MooseEnum system_type(
"nonlinear aux",
"nonlinear");
24 "system", system_type,
"The system whose solution should be collected.");
34 "This should not be set when 'system_type' is 'aux'. This parameter is only " 35 "applicable to nonlinear systems.");
38 std::unique_ptr<NumericVector<Number>>
41 std::unique_ptr<NumericVector<Number>> cloned_solution;
50 return cloned_solution;
registerMooseObject("StochasticToolsApp", SolutionContainer)
static InputParameters validParams()
NumericVector< Number > & solution()
const MooseEnum _system_type
Enum to switch between collecting the solution vectors of auxiliary and nonlinear systems...
virtual std::unique_ptr< NumericVector< Number > > clone() const =0
static InputParameters validParams()
Base class for storing and managing numerical data like solutions, residuals, and Jacobians...
virtual const SystemBase & systemBaseAuxiliary() const override
NonlinearSystemBase & getNonlinearSystemBase(const unsigned int sys_num)
void paramError(const std::string ¶m, Args... args) const
SolutionContainer(const InputParameters ¶meters)
bool isParamSetByUser(const std::string &nm) const
FEProblemBase & _fe_problem
virtual std::unique_ptr< NumericVector< Number > > collectSnapshot() override
Clone the current snapshot vector.
This class is responsible for collecting solution vectors in one place.
const unsigned int _nonlinear_system_number
The nonlinear system's number whose solution shall be collected.