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 "SimulationTimes.h" 11 : 12 : registerMooseObject("MooseApp", SimulationTimes); 13 : 14 : InputParameters 15 14323 : SimulationTimes::validParams() 16 : { 17 14323 : InputParameters params = Times::validParams(); 18 14323 : params.addClassDescription("Times simulated"); 19 : 20 : // Times are known for all processes already 21 14323 : params.set<bool>("auto_broadcast") = false; 22 : // Times history of a simulation is already one-way 23 14323 : params.set<bool>("auto_sort") = false; 24 : // TIMESTEP_BEGIN is as early and as often as we need 25 14323 : params.set<ExecFlagEnum>("execute_on") = EXEC_TIMESTEP_BEGIN; 26 : 27 14323 : return params; 28 0 : } 29 : 30 29 : SimulationTimes::SimulationTimes(const InputParameters & parameters) : Times(parameters) {} 31 : 32 : void 33 206 : SimulationTimes::initialize() 34 : { 35 : // Initialize is by default what is called by execute() 36 206 : _times.push_back(_fe_problem.time()); 37 : // if this is performed multiple times (fixed point iterations) 38 : // it will be caught by our logic to make the vector hold unique times in finalize() 39 206 : }