https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SetupInterface.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
18class InputParameters;
19class MooseObject;
20template <typename T>
22
24{
25public:
26 SetupInterface(const MooseObject * moose_object);
27
28#ifdef MOOSE_KOKKOS_ENABLED
32 SetupInterface(const SetupInterface & object, const Moose::Kokkos::FunctorCopy & key);
33#endif
34
35 virtual ~SetupInterface();
36
38
42 virtual void initialSetup();
43
47 virtual void timestepSetup();
48
52 virtual void jacobianSetup();
53
57 virtual void residualSetup();
58
63 virtual void subdomainSetup();
64
69 virtual void customSetup(const ExecFlagType & /*exec_type*/) {}
70
74 const ExecFlagEnum & getExecuteOnEnum() const;
75
76private:
80
81protected:
84
87
88 // FEProblemBase::addMultiApp needs to reset the execution flags
89 friend class FEProblemBase;
90};
InputParameters validParams()
A MultiMooseEnum object to hold "execute_on" flags.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Class for containing MooseEnum item information.
Every object that can be built by the factory should be derived from this class.
Definition MooseObject.h:31
virtual void residualSetup()
Gets called just before the residual is computed and 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 subdomainSetup()
Gets called when the subdomain changes (i.e.
const ExecFlagEnum & _execute_enum
Execute settings for this object.
virtual void customSetup(const ExecFlagType &)
Gets called in FEProblemBase::execute() for execute flags other than initial, timestep_begin,...
static InputParameters validParams()
const ExecFlagType & _current_execute_flag
Reference to FEProblemBase.
virtual void timestepSetup()
Gets called at the beginning of the timestep before this object is asked to do its job.
virtual void initialSetup()
Gets called at the beginning of the simulation before this object is asked to do its job.
const ExecFlagEnum & getExecuteOnEnum() const
Return the execute on MultiMooseEnum for this object.
ExecFlagEnum _empty_execute_enum
Empty ExecFlagEnum for the case when the "execute_on" parameter is not included.
virtual ~SetupInterface()