Line data Source code
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 "EigenExecutionerBase.h" 13 : 14 : class NonlinearEigen : public EigenExecutionerBase 15 : { 16 : public: 17 : static InputParameters validParams(); 18 : 19 : NonlinearEigen(const InputParameters & parameters); 20 : 21 : virtual void init() override; 22 : 23 : virtual void execute() override; 24 : 25 191 : virtual bool lastSolveConverged() const override { return _last_solve_converged; } 26 : 27 : protected: 28 : virtual void takeStep(); 29 : 30 : const unsigned int & _free_iter; 31 : const Real & _nl_abs_tol; 32 : const Real & _nl_rel_tol; 33 : const Real & _l_tol; 34 : const Real & _free_l_tol; 35 : 36 : bool _output_pi; 37 : bool _output_after_pi; 38 : bool _last_solve_converged; 39 : };