$darkmode
cloe::Sync Class Referenceabstract

#include <sync.hpp>

Inheritance diagram for cloe::Sync:

Public Member Functions

virtual uint64_t step () const =0
 
virtual Duration step_width () const =0
 
virtual Duration time () const =0
 
virtual Duration eta () const =0
 
virtual double realtime_factor () const =0
 
virtual bool is_realtime_factor_unlimited () const
 
virtual double achievable_realtime_factor () const =0
 

Friends

void to_json (fable::Json &j, const Sync &s)
 

Detailed Description

Sync is the synchronization context of the simulation.

Member Function Documentation

◆ achievable_realtime_factor()

virtual double cloe::Sync::achievable_realtime_factor ( ) const
pure virtual

Return the maximum theorically achievable simulation realtime factor, with 1.0 being realtime.

Implemented in engine::SimulationSync.

Here is the caller graph for this function:

◆ eta()

virtual Duration cloe::Sync::eta ( ) const
pure virtual

Return the estimated simulation time-of-arrival.

This is the time at which the simulation is stopped by a trigger, which could be "stop", "fail", or "restart". If no such ETA is known, zero is returned.

Implemented in engine::SimulationSync.

Here is the caller graph for this function:

◆ is_realtime_factor_unlimited()

virtual bool cloe::Sync::is_realtime_factor_unlimited ( ) const
inlinevirtual

Return true if there is no target realtime factor, i.e., the simulation runs as fast as possible.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ realtime_factor()

virtual double cloe::Sync::realtime_factor ( ) const
pure virtual

Return the target simulation factor, with 1.0 being realtime.

  • If target realtime factor is < 0.0, then it is interpreted to be unlimited.
  • If target realtime factor is 0.0, then this is interpreted to be a paused state.
  • Currently, the floating INFINITY value is not handled specially.

Implemented in engine::SimulationSync.

Here is the caller graph for this function:

◆ step()

virtual uint64_t cloe::Sync::step ( ) const
pure virtual

Return the absolute simulation step number.

This value is monotonically increasing, and greater-or-equal to zero.

Implemented in engine::SimulationSync.

Here is the caller graph for this function:

◆ step_width()

virtual Duration cloe::Sync::step_width ( ) const
pure virtual

Return the atomic simulation step width.

This is the lowest-common-denominator of all models.

Implemented in engine::SimulationSync.

Here is the caller graph for this function:

◆ time()

virtual Duration cloe::Sync::time ( ) const
pure virtual

Return the simulation time.

Implemented in engine::SimulationSync.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ to_json

void to_json ( fable::Json j,
const Sync s 
)
friend

Write the JSON representation into j.

Write the JSON representation of Sync into j.


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