www.mooseframework.org
SetupInterface.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef SETUPINTERFACE_H
16 #define SETUPINTERFACE_H
17 
18 #include "MooseTypes.h"
19 #include "MultiMooseEnum.h"
20 
21 // Forward declarations
22 class InputParameters;
23 class MooseObject;
24 class SetupInterface;
25 
26 template <typename T>
28 
29 template <>
31 
33 {
34 public:
35  SetupInterface(const MooseObject * moose_object);
36  virtual ~SetupInterface();
37 
41  virtual void initialSetup();
42 
46  virtual void timestepSetup();
47 
51  virtual void jacobianSetup();
52 
56  virtual void residualSetup();
57 
62  virtual void subdomainSetup();
63 
67  virtual const std::vector<ExecFlagType> & execFlags() const;
68 
72  ExecFlagType execBitFlags() const;
73 
79 
80 protected:
82  std::vector<ExecFlagType> _exec_flags;
83 
86 
87  // FEProblemBase::addMultiApp needs to reset the execution flags
88  friend class FEProblemBase;
89 };
90 
91 #endif /* SETUPINTERFACE_H */
virtual void subdomainSetup()
Gets called when the subdomain changes (i.e.
virtual const std::vector< ExecFlagType > & execFlags() const
Get the execution flag for the object.
const ExecFlagType & _current_execute_flag
Reference to FEProblemBase.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
InputParameters validParams< SetupInterface >()
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual ~SetupInterface()
ExecFlagType execBitFlags() const
Build and return the execution flags as a bitfield.
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:36
SetupInterface(const MooseObject *moose_object)
InputParameters validParams()
std::vector< ExecFlagType > _exec_flags
execution flag (when is the object executed/evaluated)
ExecFlagType
Execution flags - when is the object executed/evaluated.
Definition: MooseTypes.h:90
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
static MultiMooseEnum getExecuteOptions()
Returns the available options for the &#39;execute_on&#39; input parameters.
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...