Cantera
2.0

The class provides the wall clock timer in seconds. More...
#include <clockWC.h>
Public Member Functions  
clockWC ()  
Constructor.  
double  start () 
Resets the internal counters and returns the wall clock time in seconds.  
double  secondsWC () 
Returns the wall clock time in seconds since the last reset.  
Private Attributes  
clock_t  last_num_ticks 
Counters the value of the number of ticks from the last call.  
unsigned int  clock_rollovers 
Number of clock rollovers since the last initialization.  
clock_t  start_ticks 
Counter containing the value of the number of ticks from the first call (or the reset call).  
const double  inv_clocks_per_sec 
internal constant containing clock ticks per second  
const double  clock_width 
internal constant containing the total number of ticks per rollover.  
The class provides the wall clock timer in seconds.
This routine relies on the ANSI C routine, clock(), for its basic operation. Therefore, it should be fairly portable.
The clock will rollover if the calculation is long enough. The wraparound time is roughly 72 minutes for a 32 bit system. This object senses that by seeing if the raw tick counter is has decreased from the last time. If it senses a wraparound has occurred, it increments an internal counter to account for this. Therefore, for long calculations, this object must be called at regular intervals for the seconds timer to be accurate.
An example of how to use the timer is given below. timeToDoCalcs contains the wall clock time calculated for the operation.
In general, the process to be timed must take more than a millisecond for this clock to enough of a significant resolution to be accurate.
clockWC  (  ) 
Constructor.
This also serves to initialize the ticks within the object
Definition at line 19 of file clockWC.cpp.
References clockWC::last_num_ticks, and clockWC::start_ticks.
double start  (  ) 
Resets the internal counters and returns the wall clock time in seconds.
Definition at line 32 of file clockWC.cpp.
References clockWC::clock_rollovers, clockWC::last_num_ticks, and clockWC::start_ticks.
double secondsWC  (  ) 
Returns the wall clock time in seconds since the last reset.
Definition at line 52 of file clockWC.cpp.
References clockWC::clock_rollovers, clockWC::clock_width, clockWC::inv_clocks_per_sec, clockWC::last_num_ticks, and clockWC::start_ticks.
Referenced by vcs_MultiPhaseEquil::determine_PhaseStability(), vcs_MultiPhaseEquil::equilibrate_TP(), solveProb::solve(), NonlinearSolver::solve_nonlinear_problem(), VCS_SOLVE::vcs(), VCS_SOLVE::vcs_basopt(), VCS_SOLVE::vcs_inest_TP(), and VCS_SOLVE::vcs_solve_TP().

private 
Counters the value of the number of ticks from the last call.
Definition at line 69 of file clockWC.h.
Referenced by clockWC::clockWC(), clockWC::secondsWC(), and clockWC::start().

private 
Number of clock rollovers since the last initialization.
The clock will rollover if the calculation is long enough. This object senses that by seeing if the raw tick counter is has decreased from the last time.
Definition at line 77 of file clockWC.h.
Referenced by clockWC::secondsWC(), and clockWC::start().

private 
Counter containing the value of the number of ticks from the first call (or the reset call).
Definition at line 81 of file clockWC.h.
Referenced by clockWC::clockWC(), clockWC::secondsWC(), and clockWC::start().

private 
internal constant containing clock ticks per second
Definition at line 84 of file clockWC.h.
Referenced by clockWC::secondsWC().

private 
internal constant containing the total number of ticks per rollover.
Definition at line 88 of file clockWC.h.
Referenced by clockWC::secondsWC().