OGS
NumLib::TimeStep Class Referencefinal

Detailed Description

Time step object.

TimeStep class contains previous time( \(t_{n}\)), current time ( \(t_{n+1}\)), time step length ( \(\Delta t_{n+1}\)), and the number of time steps ( \(n+1\)).

Definition at line 23 of file TimeStep.h.

#include <TimeStep.h>

Collaboration diagram for NumLib::TimeStep:
[legend]

Public Member Functions

 TimeStep (Time const &current_time)
 TimeStep (Time const &previous_time, Time const &current_time, std::size_t n)
 TimeStep (const TimeStep &src)=default
 copy a time step
TimeStepoperator= (const TimeStep &src)=default
 copy a time step
TimeStepoperator+= (const double dt)
 increment time step
Time previous () const
 return previous time step
Time current () const
 return current time step
double dt () const
 time step size from _previous
std::size_t timeStepNumber () const
 the time step number
void setAccepted (bool const accepted)
bool isAccepted () const

Private Attributes

Time _previous
 previous time step
Time _current
 current time step
double _dt
 time step size
std::size_t _time_step_number
 the number of time steps
bool _is_accepted = true
 is the timestep accepted

Friends

std::ostream & operator<< (std::ostream &os, TimeStep const &ts)

Constructor & Destructor Documentation

◆ TimeStep() [1/3]

NumLib::TimeStep::TimeStep ( Time const & current_time)
inlineexplicit

Initialize a time step

Parameters
current_timecurrent time

Definition at line 30 of file TimeStep.h.

31 : _previous(current_time),
32 _current(current_time),
33 _dt(0.0),
35 {
36 }
Time _current
current time step
Definition TimeStep.h:92
Time _previous
previous time step
Definition TimeStep.h:90
std::size_t _time_step_number
the number of time steps
Definition TimeStep.h:96
double _dt
time step size
Definition TimeStep.h:94

References _current, _dt, _previous, and _time_step_number.

Referenced by TimeStep(), operator+=(), operator<<, and operator=().

◆ TimeStep() [2/3]

NumLib::TimeStep::TimeStep ( Time const & previous_time,
Time const & current_time,
std::size_t n )
inline

Initialize a time step

Parameters
previous_timeprevious time
current_timecurrent time
nthe number of time steps

Definition at line 44 of file TimeStep.h.

45 : _previous(previous_time),
46 _current(current_time),
47 _dt(_current() - _previous()),
49 {
50 }

References _current, _dt, _previous, and _time_step_number.

◆ TimeStep() [3/3]

NumLib::TimeStep::TimeStep ( const TimeStep & src)
default

copy a time step

References TimeStep().

Member Function Documentation

◆ current()

Time NumLib::TimeStep::current ( ) const
inline

◆ dt()

◆ isAccepted()

bool NumLib::TimeStep::isAccepted ( ) const
inline

◆ operator+=()

TimeStep & NumLib::TimeStep::operator+= ( const double dt)
inline

increment time step

Definition at line 59 of file TimeStep.h.

60 {
62 _current += dt;
63 _dt = dt;
65 return *this;
66 }
double dt() const
time step size from _previous
Definition TimeStep.h:73

References TimeStep(), _current, _dt, _previous, _time_step_number, and dt().

◆ operator=()

TimeStep & NumLib::TimeStep::operator= ( const TimeStep & src)
default

copy a time step

References TimeStep().

◆ previous()

Time NumLib::TimeStep::previous ( ) const
inline

return previous time step

Definition at line 69 of file TimeStep.h.

69{ return _previous; }

References _previous.

Referenced by NumLib::IterationNumberBasedTimeStepping::next(), and operator<<.

◆ setAccepted()

void NumLib::TimeStep::setAccepted ( bool const accepted)
inline

Definition at line 77 of file TimeStep.h.

77{ _is_accepted = accepted; }

References _is_accepted.

Referenced by NumLib::EvolutionaryPIDcontroller::next(), and NumLib::IterationNumberBasedTimeStepping::next().

◆ timeStepNumber()

std::size_t NumLib::TimeStep::timeStepNumber ( ) const
inline

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
TimeStep const & ts )
friend

Definition at line 80 of file TimeStep.h.

81 {
82 return os << "previous: " << ts.previous()
83 << " | current: " << ts.current() << " | dt: " << ts.dt()
84 << " | timestep number: " << ts.timeStepNumber()
85 << " | is_accepted: " << ts.isAccepted();
86 }

References TimeStep(), current(), dt(), isAccepted(), previous(), and timeStepNumber().

Member Data Documentation

◆ _current

Time NumLib::TimeStep::_current
private

current time step

Definition at line 92 of file TimeStep.h.

Referenced by TimeStep(), TimeStep(), current(), and operator+=().

◆ _dt

double NumLib::TimeStep::_dt
private

time step size

Definition at line 94 of file TimeStep.h.

Referenced by TimeStep(), TimeStep(), dt(), and operator+=().

◆ _is_accepted

bool NumLib::TimeStep::_is_accepted = true
private

is the timestep accepted

Definition at line 98 of file TimeStep.h.

Referenced by isAccepted(), and setAccepted().

◆ _previous

Time NumLib::TimeStep::_previous
private

previous time step

Definition at line 90 of file TimeStep.h.

Referenced by TimeStep(), TimeStep(), operator+=(), and previous().

◆ _time_step_number

std::size_t NumLib::TimeStep::_time_step_number
private

the number of time steps

Definition at line 96 of file TimeStep.h.

Referenced by TimeStep(), TimeStep(), operator+=(), and timeStepNumber().


The documentation for this class was generated from the following file: