39 procedure propagator_leapfrog_constructor
43 character(len=ALGO_LABEL_LEN),
public,
parameter :: &
44 LEAPFROG_START =
'LEAPFROG_START', &
48 type(algorithmic_operation_t),
public,
parameter :: &
58 real(real64),
intent(in) :: dt
59 type(propagator_leapfrog_t),
pointer :: this
65 this%predictor_corrector = .false.
66 this%start_operation = op_leapfrog_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 leapfrog_propagate
character(len=algo_label_len), parameter, public leapfrog_finish
type(propagator_leapfrog_t) function, pointer propagator_leapfrog_constructor(dt)
type(algorithmic_operation_t), parameter, public op_leapfrog_finish
type(algorithmic_operation_t), parameter, public op_leapfrog_propagate
This module implements the basic propagator framework.
Descriptor of one algorithmic operation.
Implements a propagator for the leap frog algorithm.
Abstract class implementing propagators.