![]()  | 
  
    Octopus
    
   | 
 
An algorithm is a list of algorithmic operations executed sequentially. More...
An algorithm is a list of algorithmic operations executed sequentially.
This is implemented as a linked list of algorithmic operations.
Definition at line 200 of file algorithm.F90.

Public Attributes | |
| type(algorithm_iterator_t), public | iter | 
| Iterator for algorithmic operations.  More... | |
| type(algorithmic_operation_t), public | start_operation | 
| algorithm specific initialization operation;  More... | |
| type(algorithmic_operation_t), public | final_operation | 
| algorithm specific finalization operation  More... | |
| integer, public | algo_steps | 
| Number of 'algorithmic steps' per algorithmic iteration.  More... | |
| type(iteration_counter_t), public | iteration | 
| Keep track at which iteration this algorithm is.  More... | |
| real(real64), public | elapsed_time = M_ZERO | 
| Elapsed wall clock time for printing info.  More... | |
  Public Attributes inherited from linked_list_oct_m::linked_list_t | |
| integer, public | size = 0 | 
Private Member Functions | |
| procedure | add_operation => algorithm_add_operation | 
| add an algorithmic operation to the list  More... | |
| procedure | do_operation => algorithm_do_operation | 
| try to perform one operation of the algorithm. If successfull return .true.  More... | |
| procedure | update_elapsed_time => algorithm_update_elapsed_time | 
| The elapsed time is used for the output of run time information.  More... | |
| procedure | rewind => algorithm_rewind | 
| Reset the algorithm to the first operation.  More... | |
| procedure | next => algorithm_next | 
| move to the next algorithmic operation  More... | |
| procedure | get_current_operation => algorithm_get_current_operation | 
| return the current algorithmic operation.  More... | |
| procedure(algorithm_finished), deferred | finished | 
| indicate whether the algorithm has finished one time step  More... | |
| procedure(algorithm_init_iteration_counters), deferred | init_iteration_counters | 
| initializes the algorithm and system iteration counters  More... | |
Private Attributes | |
| type(algorithmic_operation_t) | current_ops | 
| The current operation.  More... | |
| logical | iteration_done | 
| Indicate whether the current iteration is done.  More... | |
| real(real64) | start_time = M_ZERO | 
| Keep the wall clock time when the algorithm started,.  More... | |
      
  | 
  private | 
add an algorithmic operation to the list
Definition at line 228 of file algorithm.F90.
      
  | 
  private | 
try to perform one operation of the algorithm. If successfull return .true.
Definition at line 229 of file algorithm.F90.
      
  | 
  private | 
The elapsed time is used for the output of run time information.
Definition at line 230 of file algorithm.F90.
      
  | 
  private | 
Reset the algorithm to the first operation.
Definition at line 231 of file algorithm.F90.
      
  | 
  private | 
move to the next algorithmic operation
Definition at line 232 of file algorithm.F90.
      
  | 
  private | 
return the current algorithmic operation.
Definition at line 233 of file algorithm.F90.
      
  | 
  private | 
indicate whether the algorithm has finished one time step
Definition at line 234 of file algorithm.F90.
      
  | 
  private | 
initializes the algorithm and system iteration counters
Definition at line 235 of file algorithm.F90.
| type(algorithm_iterator_t), public algorithm_oct_m::algorithm_t::iter | 
Iterator for algorithmic operations.
Definition at line 202 of file algorithm.F90.
      
  | 
  private | 
The current operation.
Definition at line 203 of file algorithm.F90.
| type(algorithmic_operation_t), public algorithm_oct_m::algorithm_t::start_operation | 
algorithm specific initialization operation;
this operation is performed only once before the algorithm loop starts.
Definition at line 205 of file algorithm.F90.
| type(algorithmic_operation_t), public algorithm_oct_m::algorithm_t::final_operation | 
algorithm specific finalization operation
this operation is performed only once after the algorithm loop ends.
Definition at line 209 of file algorithm.F90.
| integer, public algorithm_oct_m::algorithm_t::algo_steps | 
Number of 'algorithmic steps' per algorithmic iteration.
This describes the granularity of the iteration. The algorithm iteration counter will advance algo_steps per iteration.
This also means that the interactions have to be updated at algo_steps times per algorithm iteration.
Definition at line 213 of file algorithm.F90.
      
  | 
  private | 
Indicate whether the current iteration is done.
Definition at line 221 of file algorithm.F90.
| type(iteration_counter_t), public algorithm_oct_m::algorithm_t::iteration | 
Keep track at which iteration this algorithm is.
Definition at line 223 of file algorithm.F90.
      
  | 
  private | 
Keep the wall clock time when the algorithm started,.
Definition at line 224 of file algorithm.F90.
| real(real64), public algorithm_oct_m::algorithm_t::elapsed_time = M_ZERO | 
Elapsed wall clock time for printing info.
Definition at line 225 of file algorithm.F90.