www.mooseframework.org
Steady.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 "Executioner.h"
13 
14 // System includes
15 #include <string>
16 
17 // Forward declarations
18 class InputParameters;
19 class FEProblemBase;
20 
21 template <typename T>
23 
27 class Steady : public Executioner
28 {
29 public:
37 
39 
40  virtual void init() override;
41 
42  virtual void execute() override;
43 
44  virtual void checkIntegrity();
45 
46  virtual bool lastSolveConverged() const override { return _last_solve_converged; }
47 
53  virtual unsigned int getIterationNumberOutput() const { return _output_iteration_number; }
54 
60  virtual void setIterationNumberOutput(unsigned int iteration_number)
61  {
62  _output_iteration_number = iteration_number;
63  }
64 
65 protected:
67 
69 
71  int & _time_step;
73 
76 
77 private:
79 };
virtual bool lastSolveConverged() const override
Whether or not the last solve converged.
Definition: Steady.h:46
InputParameters validParams()
bool _last_solve_converged
Definition: Steady.h:78
unsigned int _output_iteration_number
Iteration number obtained from the main application.
Definition: Steady.h:75
Steady executioners usually only call "solve()" on the NonlinearSystem once.
Definition: Steady.h:27
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 void setIterationNumberOutput(unsigned int iteration_number)
Set a general iteration number for the purpose of outputting, useful in the presence of a nested solv...
Definition: Steady.h:60
FEProblemSolve _feproblem_solve
Definition: Steady.h:68
Real & _time
Definition: Steady.h:72
Executioners are objects that do the actual work of solving your problem.
Definition: Executioner.h:30
int & _time_step
Definition: Steady.h:71
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
Constructor.
Definition: Steady.C:22
FEProblemBase & _problem
Definition: Steady.h:66
virtual void checkIntegrity()
Definition: Steady.C:124
const InputParameters & parameters() const
Get the parameters of the object.
virtual void execute() override
Pure virtual execute function MUST be overridden by children classes.
Definition: Steady.C:54
virtual void init() override
Initialize the executioner.
Definition: Steady.C:46
Steady(const InputParameters &parameters)
Definition: Steady.C:31
virtual unsigned int getIterationNumberOutput() const
Get a general iteration number for the purpose of outputting, useful in the presence of a nested solv...
Definition: Steady.h:53
Real _system_time
Definition: Steady.h:70