Octopus
iteration_counter_oct_m Module Reference

Data Types

interface  get_value
 
interface  iteration_counter_t
 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...
 

Functions/Subroutines

pure type(iteration_counter_t) function iteration_counter_constructor (step, initial_iteration)
 
subroutine iteration_counter_set (this, counter)
 
pure real(real64) function iteration_counter_value (this)
 Returns the value of the counter in the common reference frame. More...
 
pure integer function iteration_counter_counter (this)
 Returns the value of the counter in the local reference frame. More...
 
pure integer(int64) function iteration_counter_global_step (this)
 
type(iteration_counter_t) function iteration_counter_add (this, n)
 
type(iteration_counter_t) function iteration_counter_subtract (this, n)
 
pure subroutine iteration_counter_reset (this)
 
elemental logical function iteration_counter_is_earlier (counter_a, counter_b)
 
elemental logical function iteration_counter_is_later (counter_a, counter_b)
 
elemental logical function iteration_counter_is_equal_or_earlier (counter_a, counter_b)
 
elemental logical function iteration_counter_is_equal_or_later (counter_a, counter_b)
 
elemental logical function iteration_counter_is_equal (counter_a, counter_b)
 
elemental logical function iteration_counter_is_different (counter_a, counter_b)
 
subroutine iteration_counter_restart_write (this, filename, namespace)
 
logical function iteration_counter_restart_read (this, filename, namespace)
 

Function/Subroutine Documentation

◆ iteration_counter_constructor()

pure type(iteration_counter_t) function iteration_counter_oct_m::iteration_counter_constructor ( integer(int64), intent(in), optional  step,
integer, intent(in), optional  initial_iteration 
)
private

Definition at line 110 of file iteration_counter.F90.

◆ iteration_counter_set()

subroutine iteration_counter_oct_m::iteration_counter_set ( class(iteration_counter_t), intent(inout)  this,
type(iteration_counter_t), intent(in)  counter 
)
private

Definition at line 129 of file iteration_counter.F90.

◆ iteration_counter_value()

pure real(real64) function iteration_counter_oct_m::iteration_counter_value ( class(iteration_counter_t), intent(in)  this)
private

Returns the value of the counter in the common reference frame.

We return a real, as other types of counters might use real numbers for the common reference frame.

Definition at line 149 of file iteration_counter.F90.

◆ iteration_counter_counter()

pure integer function iteration_counter_oct_m::iteration_counter_counter ( class(iteration_counter_t), intent(in)  this)
private

Returns the value of the counter in the local reference frame.

Definition at line 158 of file iteration_counter.F90.

◆ iteration_counter_global_step()

pure integer(int64) function iteration_counter_oct_m::iteration_counter_global_step ( class(iteration_counter_t), intent(in)  this)
private

Definition at line 166 of file iteration_counter.F90.

◆ iteration_counter_add()

type(iteration_counter_t) function iteration_counter_oct_m::iteration_counter_add ( class(iteration_counter_t), intent(in)  this,
integer, intent(in)  n 
)
private

Definition at line 174 of file iteration_counter.F90.

◆ iteration_counter_subtract()

type(iteration_counter_t) function iteration_counter_oct_m::iteration_counter_subtract ( class(iteration_counter_t), intent(in)  this,
integer, intent(in)  n 
)
private

Definition at line 186 of file iteration_counter.F90.

◆ iteration_counter_reset()

pure subroutine iteration_counter_oct_m::iteration_counter_reset ( class(iteration_counter_t), intent(inout)  this)
private

Definition at line 198 of file iteration_counter.F90.

◆ iteration_counter_is_earlier()

elemental logical function iteration_counter_oct_m::iteration_counter_is_earlier ( class(iteration_counter_t), intent(in)  counter_a,
class(iteration_counter_t), intent(in)  counter_b 
)
private

Definition at line 207 of file iteration_counter.F90.

◆ iteration_counter_is_later()

elemental logical function iteration_counter_oct_m::iteration_counter_is_later ( class(iteration_counter_t), intent(in)  counter_a,
class(iteration_counter_t), intent(in)  counter_b 
)
private

Definition at line 215 of file iteration_counter.F90.

◆ iteration_counter_is_equal_or_earlier()

elemental logical function iteration_counter_oct_m::iteration_counter_is_equal_or_earlier ( class(iteration_counter_t), intent(in)  counter_a,
class(iteration_counter_t), intent(in)  counter_b 
)
private

Definition at line 223 of file iteration_counter.F90.

◆ iteration_counter_is_equal_or_later()

elemental logical function iteration_counter_oct_m::iteration_counter_is_equal_or_later ( class(iteration_counter_t), intent(in)  counter_a,
class(iteration_counter_t), intent(in)  counter_b 
)
private

Definition at line 231 of file iteration_counter.F90.

◆ iteration_counter_is_equal()

elemental logical function iteration_counter_oct_m::iteration_counter_is_equal ( class(iteration_counter_t), intent(in)  counter_a,
class(iteration_counter_t), intent(in)  counter_b 
)
private

Definition at line 239 of file iteration_counter.F90.

◆ iteration_counter_is_different()

elemental logical function iteration_counter_oct_m::iteration_counter_is_different ( class(iteration_counter_t), intent(in)  counter_a,
class(iteration_counter_t), intent(in)  counter_b 
)
private

Definition at line 247 of file iteration_counter.F90.

◆ iteration_counter_restart_write()

subroutine iteration_counter_oct_m::iteration_counter_restart_write ( class(iteration_counter_t), intent(in)  this,
character(len=*), intent(in)  filename,
type(namespace_t), intent(in)  namespace 
)
private

Definition at line 255 of file iteration_counter.F90.

◆ iteration_counter_restart_read()

logical function iteration_counter_oct_m::iteration_counter_restart_read ( class(iteration_counter_t), intent(inout)  this,
character(len=*), intent(in)  filename,
type(namespace_t), intent(in)  namespace 
)
private

Definition at line 270 of file iteration_counter.F90.