Octopus
algorithm_oct_m Module Reference

The basic elements defining algorithms. More...

Detailed Description

The basic elements defining algorithms.

Data Types

interface  algorithm_finished
 
type  algorithm_iterator_t
 Iterator to loop over the algorithmic operations of an algorithm. More...
 
type  algorithm_t
 An algorithm is a list of algorithmic operations executed sequentially. This is implemented as a linked list of algorithmic operations. More...
 
type  algorithmic_operation_t
 Descriptor of one algorithmic operation. More...
 

Functions/Subroutines

subroutine algorithm_add_operation (this, operation)
 
logical function algorithm_do_operation (this, operation)
 
subroutine algorithm_update_elapsed_time (this)
 
subroutine algorithm_rewind (this)
 
subroutine algorithm_next (this)
 
type(algorithmic_operation_t) function algorithm_get_current_operation (this)
 
type(algorithmic_operation_t) function algorithm_iterator_get_next (this)
 

Variables

integer, parameter, public algo_label_len = 50
 
character(len=algo_label_len), parameter, public skip = 'SKIP'
 
character(len=algo_label_len), parameter, public update_interactions = 'UPDATE_INTERACTIONS'
 
character(len=algo_label_len), parameter, public step_done = 'STEP_DONE'
 
character(len=algo_label_len), parameter, public rewind_algorithm = 'REWIND_ALGORITHM'
 
type(algorithmic_operation_t), parameter, public op_skip = algorithmic_operation_t(SKIP, 'Skipping algorithmic step')
 
type(algorithmic_operation_t), parameter, public op_update_interactions = algorithmic_operation_t(UPDATE_INTERACTIONS, 'Algorithmic step - Updating interactions')
 
type(algorithmic_operation_t), parameter, public op_step_done = algorithmic_operation_t(STEP_DONE, 'Propagation step finished')
 
type(algorithmic_operation_t), parameter, public op_rewind_algorithm = algorithmic_operation_t(REWIND_ALGORITHM, 'Rewind algorithm')
 

Function/Subroutine Documentation

◆ algorithm_add_operation()

subroutine algorithm_oct_m::algorithm_add_operation ( class(algorithm_t), intent(inout)  this,
type(algorithmic_operation_t), intent(in)  operation 
)
private

Definition at line 203 of file algorithm.F90.

◆ algorithm_do_operation()

logical function algorithm_oct_m::algorithm_do_operation ( class(algorithm_t), intent(inout)  this,
type(algorithmic_operation_t), intent(in)  operation 
)
private

Definition at line 215 of file algorithm.F90.

◆ algorithm_update_elapsed_time()

subroutine algorithm_oct_m::algorithm_update_elapsed_time ( class(algorithm_t), intent(inout)  this)
private

Definition at line 227 of file algorithm.F90.

◆ algorithm_rewind()

subroutine algorithm_oct_m::algorithm_rewind ( class(algorithm_t), intent(inout)  this)
private

Definition at line 238 of file algorithm.F90.

◆ algorithm_next()

subroutine algorithm_oct_m::algorithm_next ( class(algorithm_t), intent(inout)  this)
private

Definition at line 251 of file algorithm.F90.

◆ algorithm_get_current_operation()

type(algorithmic_operation_t) function algorithm_oct_m::algorithm_get_current_operation ( class(algorithm_t), intent(in)  this)
private

Definition at line 262 of file algorithm.F90.

◆ algorithm_iterator_get_next()

type(algorithmic_operation_t) function algorithm_oct_m::algorithm_iterator_get_next ( class(algorithm_iterator_t), intent(inout)  this)
private

Definition at line 273 of file algorithm.F90.

Variable Documentation

◆ algo_label_len

integer, parameter, public algorithm_oct_m::algo_label_len = 50

Definition at line 124 of file algorithm.F90.

◆ skip

character(len=algo_label_len), parameter, public algorithm_oct_m::skip = 'SKIP'

Definition at line 139 of file algorithm.F90.

◆ update_interactions

character(len=algo_label_len), parameter, public algorithm_oct_m::update_interactions = 'UPDATE_INTERACTIONS'

Definition at line 139 of file algorithm.F90.

◆ step_done

character(len=algo_label_len), parameter, public algorithm_oct_m::step_done = 'STEP_DONE'

Definition at line 139 of file algorithm.F90.

◆ rewind_algorithm

character(len=algo_label_len), parameter, public algorithm_oct_m::rewind_algorithm = 'REWIND_ALGORITHM'

Definition at line 139 of file algorithm.F90.

◆ op_skip

type(algorithmic_operation_t), parameter, public algorithm_oct_m::op_skip = algorithmic_operation_t(SKIP, 'Skipping algorithmic step')

Definition at line 145 of file algorithm.F90.

◆ op_update_interactions

type(algorithmic_operation_t), parameter, public algorithm_oct_m::op_update_interactions = algorithmic_operation_t(UPDATE_INTERACTIONS, 'Algorithmic step - Updating interactions')

Definition at line 145 of file algorithm.F90.

◆ op_step_done

type(algorithmic_operation_t), parameter, public algorithm_oct_m::op_step_done = algorithmic_operation_t(STEP_DONE, 'Propagation step finished')

Definition at line 145 of file algorithm.F90.

◆ op_rewind_algorithm

type(algorithmic_operation_t), parameter, public algorithm_oct_m::op_rewind_algorithm = algorithmic_operation_t(REWIND_ALGORITHM, 'Rewind algorithm')

Definition at line 145 of file algorithm.F90.