SpECTRE  v2024.03.19
TimeStepId Class Reference

A unique identifier for the temporal state of an integrated system. More...

#include <TimeStepId.hpp>

Public Member Functions

 TimeStepId (bool time_runs_forward, int64_t slab_number, const Time &time)
 Create a TimeStepId at the start of a step. If that step is at the (evolution-defined) end of the slab the TimeStepId will be advanced to the next slab.
 
 TimeStepId (bool time_runs_forward, int64_t slab_number, const Time &step_time, uint64_t substep, const TimeDelta &step_size, double substep_time)
 Create a TimeStepId at a substep at time substep_time in a step starting at time step_time.
 
bool time_runs_forward () const
 
int64_t slab_number () const
 
const Timestep_time () const
 Time at the start of the current step.
 
uint64_t substep () const
 
const TimeDeltastep_size () const
 Current step size. Only available when the substep is nonzero, because on the full step the state is valid for any step size.
 
double substep_time () const
 Time of the current substep.
 
bool is_at_slab_boundary () const
 
TimeStepId next_step (const TimeDelta &step_size) const
 Returns a new TimeStepId representing the start of the next step.
 
TimeStepId next_substep (const TimeDelta &step_size, double step_fraction) const
 Returns a new TimeStepId representing the next substep, given the position of the substep within the step.
 
void pup (PUP::er &p)
 

Detailed Description

A unique identifier for the temporal state of an integrated system.


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