Octopus
propagator_oct_m::propagator_t Type Reference

Abstract class implementing propagators. More...

Detailed Description

Abstract class implementing propagators.

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

Definition at line 130 of file propagator.F90.

Inheritance diagram for propagator_oct_m::propagator_t:
Inheritance graph

Public Attributes

class(system_t), pointer, public system
 
logical, public predictor_corrector = .false.
 
integer, public scf_count
 
integer, public max_scf_count
 
real(8), public scf_tol
 
real(8), public final_time = M_ZERO
 
- Public Attributes inherited from algorithm_oct_m::algorithm_t
type(algorithm_iterator_t), public iter
 
type(algorithmic_operation_t), public start_step
 
type(algorithmic_operation_t), public final_step
 
integer, public algo_steps
 
real(8), public dt
 
logical, public inside_scf = .false.
 
type(clock_t), public clock
 
real(8), public elapsed_time = M_ZERO
 
logical, public is_static = .false.
 
- Public Attributes inherited from linked_list_oct_m::linked_list_t
integer, public size = 0
 

Private Member Functions

procedure do_operation => propagator_do_operation
 perform one operation of the state machine More...
 
procedure finished => propagator_finished
 indicate whether a propagation has reached the final time More...
 
procedure save_scf_start => propagator_save_scf_start
 Save the current iteration state (START_SCF_LOOP) and move to next step. More...
 
procedure rewind_scf_loop => propagator_rewind_scf_loop
 Reset the iteration state to the beginning of the loop (START_SCF_LOOP) and move to next step. More...
 

Private Attributes

type(algorithm_iterator_tscf_start
 Options related to predictor-corrector propagators. More...
 

Member Function/Subroutine Documentation

◆ do_operation()

procedure propagator_oct_m::propagator_t::do_operation
private

perform one operation of the state machine

this routine performs operations which are general (not system specific).

Definition at line 145 of file propagator.F90.

◆ finished()

procedure propagator_oct_m::propagator_t::finished
private

indicate whether a propagation has reached the final time

Definition at line 146 of file propagator.F90.

◆ save_scf_start()

procedure propagator_oct_m::propagator_t::save_scf_start
private

Save the current iteration state (START_SCF_LOOP) and move to next step.

Definition at line 147 of file propagator.F90.

◆ rewind_scf_loop()

procedure propagator_oct_m::propagator_t::rewind_scf_loop
private

Reset the iteration state to the beginning of the loop (START_SCF_LOOP) and move to next step.

Definition at line 148 of file propagator.F90.

Member Data Documentation

◆ system

class(system_t), pointer, public propagator_oct_m::propagator_t::system

Definition at line 132 of file propagator.F90.

◆ scf_start

type(algorithm_iterator_t) propagator_oct_m::propagator_t::scf_start
private

Options related to predictor-corrector propagators.

Definition at line 134 of file propagator.F90.

◆ predictor_corrector

logical, public propagator_oct_m::propagator_t::predictor_corrector = .false.

Definition at line 137 of file propagator.F90.

◆ scf_count

integer, public propagator_oct_m::propagator_t::scf_count

Definition at line 138 of file propagator.F90.

◆ max_scf_count

integer, public propagator_oct_m::propagator_t::max_scf_count

Definition at line 139 of file propagator.F90.

◆ scf_tol

real(8), public propagator_oct_m::propagator_t::scf_tol

Definition at line 140 of file propagator.F90.

◆ final_time

real(8), public propagator_oct_m::propagator_t::final_time = M_ZERO

Definition at line 142 of file propagator.F90.


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