NGen
Loading...
Searching...
No Matches
Simulation_Time Class Reference

Simulation Time class providing time-series variables and methods to the model. More...

#include <Simulation_Time.hpp>

+ Collaboration diagram for Simulation_Time:

Public Member Functions

 Simulation_Time (simulation_time_params simulation_time_config)
 Constructor building a Simulation Time object.
 
 Simulation_Time (const Simulation_Time &t, int interval)
 
int get_total_output_times ()
 Accessor to the total number of time steps.
 
int get_output_interval_seconds ()
 Accessor to the output_interval_seconds.
 
time_t get_current_epoch_time ()
 Accessor to the the current simulation time.
 
std::string get_timestamp (int current_output_time_index)
 Accessor to the current timestamp string.
 
int next_timestep_index (int epoch_time_seconds)
 
int next_timestep_index ()
 
time_t next_timestep_epoch_time (int epoch_time_seconds)
 
time_t next_timestep_epoch_time ()
 
int diff (const Simulation_Time &other)
 
void advance_timestep ()
 move this simulation time object to represent the next time step as the current time
 

Private Attributes

int total_output_times
 
int simulation_total_time_seconds
 
int output_interval_seconds
 
time_t start_date_time_epoch
 
time_t end_date_time_epoch
 
time_t current_date_time_epoch
 

Detailed Description

Simulation Time class providing time-series variables and methods to the model.

Constructor & Destructor Documentation

◆ Simulation_Time() [1/2]

Simulation_Time::Simulation_Time ( simulation_time_params simulation_time_config)
inline

Constructor building a Simulation Time object.

Parameters
start_date_time_epoch
end_date_time_epoch
current_date_time_epoch
output_interval_seconds

Calculate total output_timess. Adding 1 to account for the first time output_time.

References end_date_time_epoch, output_interval_seconds, simulation_total_time_seconds, start_date_time_epoch, and total_output_times.

◆ Simulation_Time() [2/2]

Simulation_Time::Simulation_Time ( const Simulation_Time & t,
int interval )
inline

Member Function Documentation

◆ advance_timestep()

void Simulation_Time::advance_timestep ( )
inline

move this simulation time object to represent the next time step as the current time

References current_date_time_epoch, end_date_time_epoch, and output_interval_seconds.

Referenced by ngen::DomainLayer::update_models(), and ngen::Layer::update_models().

◆ diff()

int Simulation_Time::diff ( const Simulation_Time & other)
inline

References start_date_time_epoch.

◆ get_current_epoch_time()

time_t Simulation_Time::get_current_epoch_time ( )
inline

Accessor to the the current simulation time.

Returns
current_date_time_epoch

References current_date_time_epoch.

Referenced by ngen::Layer::current_timestep_epoch_time().

◆ get_output_interval_seconds()

int Simulation_Time::get_output_interval_seconds ( )
inline

Accessor to the output_interval_seconds.

Returns
output_interval_seconds

References output_interval_seconds.

Referenced by ngen::DomainLayer::update_models(), and ngen::Layer::update_models().

◆ get_timestamp()

std::string Simulation_Time::get_timestamp ( int current_output_time_index)
inline

Accessor to the current timestamp string.

Returns
current_timestamp

References current_date_time_epoch, output_interval_seconds, and start_date_time_epoch.

Referenced by ngen::DomainLayer::update_models(), ngen::Layer::update_models(), and ngen::SurfaceLayer::update_models().

◆ get_total_output_times()

int Simulation_Time::get_total_output_times ( )
inline

Accessor to the total number of time steps.

Returns
total_output_times

References total_output_times.

Referenced by ngen::DomainLayer::update_models(), and ngen::Layer::update_models().

◆ next_timestep_epoch_time() [1/2]

time_t Simulation_Time::next_timestep_epoch_time ( )
inline

◆ next_timestep_epoch_time() [2/2]

time_t Simulation_Time::next_timestep_epoch_time ( int epoch_time_seconds)
inline

◆ next_timestep_index() [1/2]

int Simulation_Time::next_timestep_index ( )
inline

◆ next_timestep_index() [2/2]

int Simulation_Time::next_timestep_index ( int epoch_time_seconds)
inline

Member Data Documentation

◆ current_date_time_epoch

time_t Simulation_Time::current_date_time_epoch
private

◆ end_date_time_epoch

time_t Simulation_Time::end_date_time_epoch
private

◆ output_interval_seconds

◆ simulation_total_time_seconds

int Simulation_Time::simulation_total_time_seconds
private

Referenced by Simulation_Time(), and Simulation_Time().

◆ start_date_time_epoch

time_t Simulation_Time::start_date_time_epoch
private

◆ total_output_times

int Simulation_Time::total_output_times
private

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