39 procedure propagator_exp_mid_constructor
44 character(len=ALGO_LABEL_LEN),
public,
parameter :: &
45 EXPMID_START =
'EXPMID_START', &
51 type(algorithmic_operation_t),
public,
parameter :: &
62 real(real64),
intent(in) :: dt
63 type(propagator_exp_mid_t),
pointer :: this
69 this%predictor_corrector = .false.
70 this%start_operation = op_expmid_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
character(len=algo_label_len), parameter, public expmid_extrapolate
type(algorithmic_operation_t), parameter, public op_expmid_extrapolate
character(len=algo_label_len), parameter, public expmid_finish
type(algorithmic_operation_t), parameter, public op_expmid_finish
type(algorithmic_operation_t), parameter, public op_expmid_propagate
type(propagator_exp_mid_t) function, pointer propagator_exp_mid_constructor(dt)
character(len=algo_label_len), parameter, public expmid_propagate
This module implements the basic propagator framework.
Descriptor of one algorithmic operation.
Implements the explicit exponential midpoint propagator (without predictor-corrector)
Abstract class implementing propagators.