https://mooseframework.inl.gov
TimeSequenceStepperBase.h
Go to the documentation of this file.
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 "TimeStepper.h"
13 
19 {
20 public:
22 
24 
25  void setupSequence(const std::vector<Real> & times);
26  void updateSequence(const std::vector<Real> & times);
27 
28  // Clear the time sequence array, usually use when time sequence need to be updated during the
29  // simulation
30  void resetSequence();
31 
32  // Increase the current step count by one
34 
35  // Get the time of the current step from input time sequence
37 
38  virtual void init() override {}
39  virtual void acceptStep() override;
40 
41 protected:
42  virtual Real computeInitialDT() override;
43  virtual Real computeDT() override;
44  virtual Real computeFailedDT() override;
45 
48 
50  unsigned int & _current_step;
51 
53  std::vector<Real> & _time_sequence;
54 
56  const bool _set_end_time;
57 };
virtual void init() override
Initialize the time stepper.
virtual Real computeFailedDT() override
Computes time step size after a failed time step.
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:127
unsigned int & _current_step
the step that the time stepper is currently at
Base class for time stepping.
Definition: TimeStepper.h:22
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
TimeSequenceStepperBase(const InputParameters &parameters)
void setupSequence(const std::vector< Real > &times)
const bool _set_end_time
Whether to use the last t in sequence as Executioner end_time.
std::vector< Real > & _time_sequence
stores the sequence of time points
virtual Real computeDT() override
Computes time step size after the initial time step.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeInitialDT() override
Computes time step size for the initial time step.
Solves the PDEs at a sequence of given time points.
static InputParameters validParams()
const bool _use_last_dt_after_last_t
Whether to use the final dt past the last t in sequence.
virtual void acceptStep() override
This gets called when time step is accepted.
void updateSequence(const std::vector< Real > &times)