41 procedure propagator_exp_gauss1_constructor
46 character(len=ALGO_LABEL_LEN),
public,
parameter :: &
47 EXP_GAUSS1_START =
'EXP_GAUSS1_START', &
53 type(algorithmic_operation_t),
public,
parameter :: &
64 real(real64),
intent(in) :: dt
65 type(propagator_exp_gauss1_t),
pointer :: this
71 this%predictor_corrector = .false.
72 this%start_operation = op_exp_gauss1_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(algorithmic_operation_t), parameter, public op_exp_gauss1_extrapolate
character(len=algo_label_len), parameter, public exp_gauss1_finish
type(algorithmic_operation_t), parameter, public op_exp_gauss1_finish
type(propagator_exp_gauss1_t) function, pointer propagator_exp_gauss1_constructor(dt)
character(len=algo_label_len), parameter, public exp_gauss1_extrapolate
type(algorithmic_operation_t), parameter, public op_exp_gauss1_propagate
character(len=algo_label_len), parameter, public exp_gauss1_propagate
This module implements the basic propagator framework.
Descriptor of one algorithmic operation.
Implements the an exponential RK scheme with Gauss collocation points, s=1 see also Hochbruck,...
Abstract class implementing propagators.