39 procedure propagator_rk4_constructor
44 character(len=ALGO_LABEL_LEN),
public,
parameter :: &
45 RK4_START =
'RK4_START', &
51 type(algorithmic_operation_t),
public,
parameter :: &
62 real(real64),
intent(in) :: dt
63 type(propagator_rk4_t),
pointer :: this
69 this%predictor_corrector = .false.
70 this%start_operation = op_rk4_start
This module implements the basic elements defining algorithms.
type(algorithmic_operation_t), parameter, public op_iteration_done
type(algorithmic_operation_t), parameter, public op_rewind_algorithm
type(algorithmic_operation_t), parameter, public op_update_couplings
type(algorithmic_operation_t), parameter, public op_update_interactions
This module implements the basic propagator framework.
character(len=algo_label_len), parameter, public rk4_finish
type(algorithmic_operation_t), parameter, public op_rk4_extrapolate
type(algorithmic_operation_t), parameter, public op_rk4_finish
character(len=algo_label_len), parameter, public rk4_propagate
type(propagator_rk4_t) function, pointer propagator_rk4_constructor(dt)
type(algorithmic_operation_t), parameter, public op_rk4_propagate
character(len=algo_label_len), parameter, public rk4_extrapolate
Descriptor of one algorithmic operation.
Abstract class implementing propagators.
Implements a the 4th order Runge Kutta propagator.