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 : #include "Convergence.h" 11 : #include "MooseApp.h" 12 : #include "Executioner.h" 13 : #include "MooseUtils.h" 14 : 15 : InputParameters 16 354114 : Convergence::validParams() 17 : { 18 354114 : InputParameters params = MooseObject::validParams(); 19 354114 : params += SetupInterface::validParams(); 20 354114 : params += PostprocessorInterface::validParams(); 21 354114 : params += PerfGraphInterface::validParams(); 22 354114 : params += TransientInterface::validParams(); 23 : 24 1062342 : params.addParam<bool>( 25 : "verbose", 26 708228 : false, 27 : "Enable printing of additional information, including convergence and divergence reasons."); 28 : 29 708228 : params.registerBase("Convergence"); 30 : 31 : // This parameter is present because of SetupInterface, which is a requirement 32 : // of MooseObjectWarehouse, but it should not be used. 33 354114 : params.suppressParameter<ExecFlagEnum>("execute_on"); 34 : 35 354114 : return params; 36 0 : } 37 : 38 169446 : Convergence::Convergence(const InputParameters & parameters) 39 : : MooseObject(parameters), 40 : SetupInterface(this), 41 : PostprocessorInterface(this), 42 : PerfGraphInterface(this), 43 : TransientInterface(this), 44 508338 : _perfid_check_convergence(registerTimedSection("checkConvergence", 5, "Checking Convergence")), 45 338892 : _tid(getParam<THREAD_ID>("_tid")), 46 508338 : _verbose(getParam<bool>("verbose") ? true : getMooseApp().getExecutioner()->verbose()) 47 : { 48 169446 : } 49 : 50 : void 51 752439 : Convergence::verboseOutput(std::ostringstream & oss) 52 : { 53 752439 : const auto str = oss.str(); 54 : 55 752439 : if (str.length() == 0) 56 463011 : return; 57 : 58 289428 : if (verbose()) 59 5776 : _console << name() << ": " << str << std::endl; 60 752439 : }