Octopus
minimizer_algorithm_oct_m::minimizer_algorithm_t Type Reference

Abstract class implementing minimizers. More...

Detailed Description

Abstract class implementing minimizers.

Minimizers are implemented as a state machine. This abstract class defines the steps which are independent of the actual minimization algorithm, and also independent of the system, to which is is applied.

Definition at line 137 of file minimizer_algorithm.F90.

Inheritance diagram for minimizer_algorithm_oct_m::minimizer_algorithm_t:
Inheritance graph

Public Attributes

class(system_t), pointer, public system
 The system using this minimizer. More...
 
integer, public max_iter
 Maximum number of iterations for self-consistent minimizers. More...
 
logical, public converged = .false.
 
- Public Attributes inherited from algorithm_oct_m::algorithm_t
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 do_operation => minimizer_algorithm_do_operation
 Try to perform one operation of the algorithm. Return .true. if sucessful. More...
 
procedure finished => minimizer_algorithm_finished
 indicate whether a minimizer has reached the final time More...
 
procedure init_iteration_counters => minimizer_algorithm_init_iteration_counters
 Initialize the minimizer and system clocks. More...
 
procedure write_output_header => minimizer_algorithm_write_output_header
 
procedure continues_after_finished => minimizer_continues_after_finished
 

Member Function/Subroutine Documentation

◆ do_operation()

procedure minimizer_algorithm_oct_m::minimizer_algorithm_t::do_operation
private

Try to perform one operation of the algorithm. Return .true. if sucessful.

Definition at line 144 of file minimizer_algorithm.F90.

◆ finished()

procedure minimizer_algorithm_oct_m::minimizer_algorithm_t::finished
private

indicate whether a minimizer has reached the final time

Definition at line 145 of file minimizer_algorithm.F90.

◆ init_iteration_counters()

procedure minimizer_algorithm_oct_m::minimizer_algorithm_t::init_iteration_counters
private

Initialize the minimizer and system clocks.

Note that we initialize the system clock here because it requires knowledge of the time-step.

Definition at line 146 of file minimizer_algorithm.F90.

◆ write_output_header()

procedure minimizer_algorithm_oct_m::minimizer_algorithm_t::write_output_header
private

Definition at line 147 of file minimizer_algorithm.F90.

◆ continues_after_finished()

procedure minimizer_algorithm_oct_m::minimizer_algorithm_t::continues_after_finished
private

Definition at line 148 of file minimizer_algorithm.F90.

Member Data Documentation

◆ system

class(system_t), pointer, public minimizer_algorithm_oct_m::minimizer_algorithm_t::system

The system using this minimizer.

Definition at line 139 of file minimizer_algorithm.F90.

◆ max_iter

integer, public minimizer_algorithm_oct_m::minimizer_algorithm_t::max_iter

Maximum number of iterations for self-consistent minimizers.

Definition at line 140 of file minimizer_algorithm.F90.

◆ converged

logical, public minimizer_algorithm_oct_m::minimizer_algorithm_t::converged = .false.

Definition at line 141 of file minimizer_algorithm.F90.


The documentation for this type was generated from the following file: