Octopus
|
This class implements the iteration counter used by the multisystem algorithms. As any iteration counter, there is an integer that keeps track of which iteration is being executed. Because algorithms might advance at different paces, one then needs a common reference frame to compare iterations of different algorithms. We thus defined three integers: More...
This class implements the iteration counter used by the multisystem algorithms. As any iteration counter, there is an integer that keeps track of which iteration is being executed. Because algorithms might advance at different paces, one then needs a common reference frame to compare iterations of different algorithms. We thus defined three integers:
One of the above components is redundant, as they are not all independent, but we still explicitly store them all so that they are easily accessible without extra manipulations.
All comparisons between counters are done using the iteration in the common reference frame.
The "global_iteration" counter is stored as a 64 bit integer, as some algorithms might have a very large "step". The "step" is also stored as a 64 bit integer so we can calculate "global_iteration" without having to explicitly convert from 32 to 64 bit.
Definition at line 65 of file iteration_counter.F90.
Public Attributes | |
procedure(get_value), pointer, public | value => null() |
function returning some meaninful "value" for the counter in the global reference frame (e.g., the time of a clock) More... | |
Private Attributes | |
integer | iteration = 0 |
the local iteration counter More... | |
integer(int64) | step = -1 |
how many global iterations correspond to one local iteration More... | |
integer(int64) | global_iteration = 0 |
the iteration counter in the global referece frame More... | |
|
private |
set the counter to the value given by another counter
Definition at line 71 of file iteration_counter.F90.
|
private |
get value of the counter
Definition at line 72 of file iteration_counter.F90.
|
private |
Definition at line 73 of file iteration_counter.F90.
|
private |
set the counter back to zero
Definition at line 74 of file iteration_counter.F90.
|
private |
Definition at line 75 of file iteration_counter.F90.
|
private |
Definition at line 76 of file iteration_counter.F90.
|
private |
Definition at line 77 of file iteration_counter.F90.
|
private |
Definition at line 78 of file iteration_counter.F90.
|
private |
Definition at line 79 of file iteration_counter.F90.
|
private |
Definition at line 80 of file iteration_counter.F90.
|
private |
Definition at line 81 of file iteration_counter.F90.
|
private |
Definition at line 82 of file iteration_counter.F90.
|
private |
Definition at line 83 of file iteration_counter.F90.
|
private |
Definition at line 84 of file iteration_counter.F90.
|
private |
Definition at line 86 of file iteration_counter.F90.
|
private |
Definition at line 87 of file iteration_counter.F90.
|
private |
Definition at line 88 of file iteration_counter.F90.
|
private |
Definition at line 89 of file iteration_counter.F90.
|
private |
Definition at line 90 of file iteration_counter.F90.
|
private |
Definition at line 91 of file iteration_counter.F90.
|
private |
Definition at line 92 of file iteration_counter.F90.
|
private |
Definition at line 93 of file iteration_counter.F90.
|
private |
Definition at line 110 of file iteration_counter.F90.
|
private |
the local iteration counter
Definition at line 66 of file iteration_counter.F90.
|
private |
how many global iterations correspond to one local iteration
Definition at line 67 of file iteration_counter.F90.
|
private |
the iteration counter in the global referece frame
Definition at line 68 of file iteration_counter.F90.
procedure(get_value), pointer, public iteration_counter_oct_m::iteration_counter_t::value => null() |
function returning some meaninful "value" for the counter in the global reference frame (e.g., the time of a clock)
Definition at line 69 of file iteration_counter.F90.