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 class SetupInterface;
21 
22 template <typename T>
24 
25 template <>
27 
29 {
30 public:
31  SetupInterface(const MooseObject * moose_object);
32  virtual ~SetupInterface();
33 
37  virtual void initialSetup();
38 
42  virtual void timestepSetup();
43 
47  virtual void jacobianSetup();
48 
52  virtual void residualSetup();
53 
58  virtual void subdomainSetup();
59 
63  const ExecFlagEnum & getExecuteOnEnum() const;
64 
69  virtual const std::vector<ExecFlagType> & execFlags() const;
70 
75  ExecFlagType execBitFlags() const;
76 
83 
84 private:
88 
89 protected:
92 
94  const std::vector<ExecFlagType> _exec_flags;
95 
98 
99  // FEProblemBase::addMultiApp needs to reset the execution flags
100  friend class FEProblemBase;
101 };
102 
virtual void subdomainSetup()
Gets called when the subdomain changes (i.e.
static ExecFlagEnum getExecuteOptions()
(DEPRECATED) Returns the available options for the &#39;execute_on&#39; input parameters TODO: ExecFlagType ...
A MultiMooseEnum object to hold "execute_on" flags.
Definition: ExecFlagEnum.h:24
const ExecFlagType & _current_execute_flag
Reference to FEProblemBase.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
ExecFlagType execBitFlags() const
(DEPRECATED) Build and return the execution flags as a bitfield TODO: ExecFlagType ...
InputParameters validParams< SetupInterface >()
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual const std::vector< ExecFlagType > & execFlags() const
(DEPRECATED) Get the execution flag for the object TODO: ExecFlagType
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:42
const ExecFlagEnum & getExecuteOnEnum() const
Return the execute on MultiMooseEnum for this object.
SetupInterface(const MooseObject *moose_object)
InputParameters validParams()
This is the templated validParams() function that every MooseObject-derived class is required to spec...
const ExecFlagEnum & _execute_enum
Execute settings for this oejct.
Class for containing MooseEnum item information.
Definition: MooseEnumItem.h:21
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...
const std::vector< ExecFlagType > _exec_flags
(DEPRECATED) execution flag (when is the object executed/evaluated) TODO: ExecFlagType ...
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...