Octopus
|
Data Types | |
interface | clock_t |
Functions/Subroutines | |
type(iteration_counter_t) pure function | clock_constructor (time_step, initial_iteration) |
Initialize the clock with a given time step. More... | |
pure real(real64) function | clock_time (this) |
Variables | |
real(real64), parameter, public | clock_minimum_dt = 1.0e-13_real64 |
This CLOCK_MINIMUM_DT parameter defines what is the time-step in the common reference frame of all clocks. It means that all the time-steps must be multiples of this one. This parameter also controls what is the maximum time a clock can have: More... | |
|
private |
Initialize the clock with a given time step.
The internal clock counter starts at zero or if the optional argument initial_value is given at the value of initial_value.
Note that the time step used by the clock might not be identical to the requested time step. This is because we need to enforce the time step to be a multiple of the minimum time step or otherwise the calculated time will not be an exact multiple of the time step.
|
private |
real(real64), parameter, public clock_oct_m::clock_minimum_dt = 1.0e-13_real64 |
This CLOCK_MINIMUM_DT parameter defines what is the time-step in the common reference frame of all clocks. It means that all the time-steps must be multiples of this one. This parameter also controls what is the maximum time a clock can have:
maximum time = huge(iteration)*CLOCK_MINIMUM_DT
where "iteration" is the iteration counter in the common reference frame from iteration_counter_t.
For 64 bit signed integers, huge(iteration) = 9223372036854775807, and if CLOCK_MINIMUM_DT = 1.0e-13, then one gets
maximum time = 922337.20368547761
If times are given in atomic units of time, then
maximum time ~= 22310 femtosecond