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