Go to the documentation of this file.
28 "auto_preconditioning",
30 "When true and a [Preconditioning] block does not exist, the application will attempt to use "
31 "the correct preconditioning given the Executioner settings.");
36 :
MooseObjectAction(params), _auto_preconditioning(getParam<bool>(
"auto_preconditioning"))
43 std::shared_ptr<EigenProblem> eigen_problem = std::dynamic_pointer_cast<EigenProblem>(
_problem);
47 std::shared_ptr<Executioner> executioner =
50 std::shared_ptr<Eigenvalue> eigen_executioner =
51 std::dynamic_pointer_cast<Eigenvalue>(executioner);
53 if ((eigen_problem ==
nullptr) != (eigen_executioner ==
nullptr))
54 mooseError(
"Executioner is not consistent with each other; EigenExecutioner needs an "
55 "EigenProblem, and Steady and Transient need a FEProblem");
70 if (((solve_type.
find(
"NEWTON") != solve_type.
items().end()) && (solve_type ==
"NEWTON")) ||
71 ((solve_type.
find(
"LINEAR") != solve_type.
items().end()) && (solve_type ==
"LINEAR")))
75 params.
set<std::string>(
"type") =
"SMP";
78 std::shared_ptr<Action> ptr =
82 std::shared_ptr<MooseObjectAction> moa_ptr = std::static_pointer_cast<MooseObjectAction>(ptr);
84 mo_params.
set<
bool>(
"full") =
true;
virtual void setupAutoPreconditioning()
MooseApp & _app
The MOOSE application this is associated with.
std::shared_ptr< MooseObject > create(const std::string &obj_name, const std::string &name, InputParameters ¶meters, THREAD_ID tid=0, bool print_deprecated=true)
Build an object (must be registered) - THIS METHOD IS DEPRECATED (Use create<T>())
static InputParameters validParams()
InputParameters getValidParams(const std::string &name)
const std::set< MooseEnumItem > & items() const
Return the complete set of available flags.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
const bool _auto_preconditioning
void addActionBlock(std::shared_ptr< Action > blk)
This method add an Action instance to the warehouse.
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
defineLegacyParams(CreateExecutionerAction)
Executioners are objects that do the actual work of solving your problem.
registerMooseAction("MooseApp", CreateExecutionerAction, "setup_executioner")
ActionFactory & _action_factory
Builds Actions.
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
static InputParameters validParams()
CreateExecutionerAction(InputParameters params)
void setExecutioner(std::shared_ptr< Executioner > &&executioner)
Set the Executioner for this App.
Factory & _factory
The Factory associated with the MooseApp.
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters ¶meters)
std::string _type
The Object type that is being created.
InputParameters _moose_object_pars
The parameters for the object to be created.
std::set< MooseEnumItem >::const_iterator find(const MooseEnumItem &other) const
Locate an item.
Problem for solving eigenvalue problems.
ActionWarehouse & _awh
Reference to ActionWarehouse where we store object build by actions.
bool hasActions(const std::string &task) const
Check if Actions associated with passed in task exist.