Line data Source code
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 : #include "AnalysisStepNumber.h" 11 : #include "UserObjectInterface.h" 12 : 13 : registerMooseObject("SolidMechanicsApp", AnalysisStepNumber); 14 : 15 : InputParameters 16 42 : AnalysisStepNumber::validParams() 17 : { 18 42 : InputParameters params = GeneralPostprocessor::validParams(); 19 84 : params.addRequiredParam<UserObjectName>("analysis_step_user_object", 20 : "The AnalysisStepUserObject that stores step times."); 21 84 : params.addParam<bool>("use_one_based_indexing", false, "Make step number start at one."); 22 42 : params.addClassDescription("Outputs the current analysis step number."); 23 84 : params.set<ExecFlagEnum>("execute_on") = { 24 210 : EXEC_INITIAL, EXEC_TIMESTEP_BEGIN}; // only need to execute once per time step 25 42 : return params; 26 42 : } 27 : 28 21 : AnalysisStepNumber::AnalysisStepNumber(const InputParameters & parameters) 29 : : GeneralPostprocessor(parameters), 30 21 : _step_uo(getUserObject<AnalysisStepUserObject>("analysis_step_user_object")), 31 63 : _use_one_based_indexing(getParam<bool>("use_one_based_indexing")) 32 : { 33 21 : } 34 : 35 : Real 36 245 : AnalysisStepNumber::getValue() const 37 : { 38 245 : return _step_uo.getStep(_t_old) + int(_use_one_based_indexing); 39 : }