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, elapsed)
 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 112 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 131 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,
logical, intent(in), optional  elapsed 
)
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.

Parameters
[in]elapsedif .true., return the elapsed time since the last restart of the simulation

Definition at line 151 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 164 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 172 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 180 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 192 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 204 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 213 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 221 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 229 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 237 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 245 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 253 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 261 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 285 of file iteration_counter.F90.