Returns the dense output coefficients for the method.
This is the default for methods that do not have a dense output (b is not allocated).
A method with a dense output overrides this to return the matrix b
(number_of_stages x degree), defining the interpolant over the step
, with . The coefficients can be in
either of the two forms commonly used in the literature (so they can be used as published),
where are the function evaluations stored in me%funcs by the step
function (and dense_extra_stages, if the method requires them):
dense_form_polynomial: ,
where .
So, row i of b contains the coefficients of in .
dense_form_dopri (the form used in DOPRI5 and DOP853):
,
where and .
So, column j of b contains the coefficients of .
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(rk_class), | intent(in) | :: | me | |||
| real(kind=wp), | intent(out), | dimension(:,:), allocatable | :: | b |
dense output coefficients |
|
| integer, | intent(out) | :: | form |
the form of |
pure subroutine dense_coefficients(me,b,form) class(rk_class),intent(in) :: me real(wp),dimension(:,:),allocatable,intent(out) :: b !! dense output coefficients integer,intent(out) :: form !! the form of `b` (`dense_form_polynomial` or `dense_form_dopri`) form = 0 end subroutine dense_coefficients