www.mooseframework.org
SetupInterface.h
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 #pragma once
11 
12 #include "MooseTypes.h"
13 #include "ExecFlagEnum.h"
14 #include "MooseEnum.h"
15 #include "InputParameters.h"
16 
17 // Forward declarations
18 class InputParameters;
19 class MooseObject;
20 template <typename T>
22 
24 {
25 public:
26  SetupInterface(const MooseObject * moose_object);
27  virtual ~SetupInterface();
28 
30 
34  virtual void initialSetup();
35 
39  virtual void timestepSetup();
40 
44  virtual void jacobianSetup();
45 
49  virtual void residualSetup();
50 
55  virtual void subdomainSetup();
56 
61  virtual void customSetup(const ExecFlagType & /*exec_type*/) {}
62 
66  const ExecFlagEnum & getExecuteOnEnum() const;
67 
68 private:
72 
73 protected:
76 
79 
80  // FEProblemBase::addMultiApp needs to reset the execution flags
81  friend class FEProblemBase;
82 };
virtual void subdomainSetup()
Gets called when the subdomain changes (i.e.
A MultiMooseEnum object to hold "execute_on" flags.
Definition: ExecFlagEnum.h:21
virtual void customSetup(const ExecFlagType &)
Gets called in FEProblemBase::execute() for execute flags other than initial, timestep_begin, nonlinear, linear and subdomain.
const ExecFlagType & _current_execute_flag
Reference to FEProblemBase.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual ~SetupInterface()
virtual void timestepSetup()
Gets called at the beginning of the timestep before this object is asked to do its job...
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:33
const ExecFlagEnum & getExecuteOnEnum() const
Return the execute on MultiMooseEnum for this object.
SetupInterface(const MooseObject *moose_object)
static InputParameters validParams()
InputParameters validParams()
const ExecFlagEnum & _execute_enum
Execute settings for this object.
Class for containing MooseEnum item information.
Definition: MooseEnumItem.h:18
ExecFlagEnum _empty_execute_enum
Empty ExecFlagEnum for the case when the "execute_on" parameter is not included.
virtual void initialSetup()
Gets called at the beginning of the simulation before this object is asked to do its job...
virtual void jacobianSetup()
Gets called just before the Jacobian is computed and before this object is asked to do its job...
virtual void residualSetup()
Gets called just before the residual is computed and before this object is asked to do its job...