41 procedure propagator_exp_gauss2_constructor
46 character(len=ALGO_LABEL_LEN),
public,
parameter :: &
47 EXP_GAUSS2_START =
'EXP_GAUSS2_START', &
53 type(algorithmic_operation_t),
public,
parameter :: &
64 real(real64),
intent(in) :: dt
65 type(propagator_exp_gauss2_t),
pointer :: this
71 this%predictor_corrector = .false.
72 this%start_operation = op_exp_gauss2_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
type(propagator_exp_gauss2_t) function, pointer propagator_exp_gauss2_constructor(dt)
character(len=algo_label_len), parameter, public exp_gauss2_finish
type(algorithmic_operation_t), parameter, public op_exp_gauss2_extrapolate
character(len=algo_label_len), parameter, public exp_gauss2_propagate
character(len=algo_label_len), parameter, public exp_gauss2_extrapolate
type(algorithmic_operation_t), parameter, public op_exp_gauss2_finish
type(algorithmic_operation_t), parameter, public op_exp_gauss2_propagate
This module implements the basic propagator framework.
Descriptor of one algorithmic operation.
Implements the an exponential RK scheme with Gauss collocation points, s=2 see also Hochbruck,...
Abstract class implementing propagators.