https://mooseframework.inl.gov
Eigenvalue.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 "libmesh/libmesh_config.h"
13 
14 #include "Executioner.h"
15 #include "EigenProblemSolve.h"
16 
17 class InputParameters;
18 class EigenProblem;
19 
28 class Eigenvalue : public Executioner
29 {
30 public:
32 
39 
40  virtual void execute() override;
41 
42  virtual bool lastSolveConverged() const override { return _last_solve_converged; }
43 
44 #ifdef LIBMESH_HAVE_SLEPC
45  virtual void init() override;
46 
50  virtual void checkIntegrity();
51 
55  unsigned int numGridSteps() const { return _eigen_problem_solve.numGridSteps(); }
56 #endif
57 
58 protected:
60 
63 
65  int & _time_step;
67 
69 
70 private:
71  bool _last_solve_converged = true;
72 };
virtual bool lastSolveConverged() const override
Whether or not the last solve converged.
Definition: Eigenvalue.h:42
static InputParameters validParams()
Definition: Eigenvalue.C:20
EigenProblemSolve is used to solve an eigenvalue problem interfacing SLEPc.
virtual void init() override
Initialize the executioner.
Definition: Eigenvalue.C:49
EigenProblemSolve _eigen_problem_solve
inner-most solve object to perform Newton solve with SLEPc
Definition: Eigenvalue.h:62
Eigenvalue executioner is used to drive the eigenvalue calculations.
Definition: Eigenvalue.h:28
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Real & _time
Definition: Eigenvalue.h:66
bool _last_solve_converged
Definition: Eigenvalue.h:71
unsigned int PerfID
Definition: MooseTypes.h:240
virtual void execute() override
Pure virtual execute function MUST be overridden by children classes.
Definition: Eigenvalue.C:81
virtual void checkIntegrity()
Eigenvalue executioner does not allow time kernels.
Definition: Eigenvalue.C:72
Eigenvalue(const InputParameters &parameters)
Constructor.
Definition: Eigenvalue.C:33
unsigned int numGridSteps() const
Get the number of grid sequencing steps.
Definition: Eigenvalue.h:55
unsigned int numGridSteps() const
Return the number of grid sequencing steps.
Executioners are objects that do the actual work of solving your problem.
Definition: Executioner.h:30
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
int & _time_step
Definition: Eigenvalue.h:65
Real _system_time
Definition: Eigenvalue.h:64
PerfID _final_timer
Definition: Eigenvalue.h:68
EigenProblem & _eigen_problem
Definition: Eigenvalue.h:59
Problem for solving eigenvalue problems.
Definition: EigenProblem.h:21