www.mooseframework.org
SetupPreconditionerAction.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 // MOOSE includes
12 #include "Factory.h"
13 #include "PetscSupport.h"
14 #include "MoosePreconditioner.h"
15 #include "FEProblem.h"
17 #include "NonlinearSystemBase.h"
18 
19 unsigned int SetupPreconditionerAction::_count = 0;
20 
21 registerMooseAction("MooseApp", SetupPreconditionerAction, "add_preconditioning");
22 
23 template <>
26 {
28 
29  return params;
30 }
31 
33  : MooseObjectAction(params)
34 {
35 }
36 
37 void
39 {
40  if (_problem.get() != NULL)
41  {
42  // build the preconditioner
43  std::shared_ptr<MoosePreconditioner> pc =
45 
46  _problem->getNonlinearSystemBase().setPreconditioner(pc);
47 
52 #if LIBMESH_HAVE_PETSC
54 #endif
55  }
56 }
std::shared_ptr< MooseObject > create(const std::string &obj_name, const std::string &name, InputParameters parameters, THREAD_ID tid=0, bool print_deprecated=true)
Build an object (must be registered) - THIS METHOD IS DEPRECATED (Use create<T>()) ...
Definition: Factory.C:87
void storePetscOptions(FEProblemBase &fe_problem, const InputParameters &params)
Stores the PETSc options supplied from the InputParameters with MOOSE.
Definition: PetscSupport.C:634
registerMooseAction("MooseApp", SetupPreconditionerAction, "add_preconditioning")
InputParameters validParams< SetupPreconditionerAction >()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Factory & _factory
The Factory associated with the MooseApp.
Definition: Action.h:186
static PetscErrorCode Vec Mat Mat pc
Base class for MOOSE preconditioners.
std::string _name
The name of the action.
Definition: Action.h:177
Set the preconditioner up.
SetupPreconditionerAction(InputParameters params)
InputParameters validParams< MooseObjectAction >()
std::string _type
The Object type that is being created.
InputParameters _moose_object_pars
The parameters for the object to be created.
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:216