Return interpolator string-descripition.
String-description.
pure function description() result(string)
!< Return interpolator string-descripition.
character(len=:), allocatable :: string !< String-description.
character(len=1), parameter :: nl=new_line('a') !< New line character.
character(len=:), allocatable :: dummy_string !< Dummy string.
string = 'Jiang-Shu WENO upwind-biased interpolator'//nl
string = string//' Based on the scheme proposed by Jiang and Shu "Efficient Implementation of Weighted ENO Schemes", see '// &
'JCP, 1996, vol. 126, pp. 202--228, doi:10.1006/jcph.1996.0130'//nl
! string = string//' Provide a formal order of accuracy equals to: '//trim(str(2*self%S - 1, .true.))//nl
! string = string//' Use '//trim(str(self%S, .true.))//' stencils composed by '//trim(str(self%S, .true.))//' values'//nl
! string = string//' The eps value used for avoiding division by zero is '//trim(str(self%eps, .true.))//nl
string = string//' The "interpolate" method has the following public API'//nl
string = string//' interpolate(S, stencil, location, interpolation)'//nl
string = string//' where:'//nl
string = string//' S: integer(I_P), intent(in), the number of stencils actually used'//nl
string = string//' stencil(1:, 1-S:-1+S): real(R_P), intent(in), the stencils used'//nl
string = string//' location: character(*), intent(in), the location of interpolation {left, right, both}'//nl
string = string//' interpolation(1:, 1-S:-1+S): realR_P, intent(out), the interpolated values'//nl
string = string//' The alpha coefficient are evaluated by the following method'//nl
! string = string//self%alpha%description()//nl
string = string//' The smoothness indicators are evaluated by the following method'//nl
! string = string//self%IS%description()//nl
string = string//' The polynomials are evaluated by the following method'//nl
! string = string//self%polynom%description()//nl
string = string//' The optimal weights are evaluated by the following method'//nl
! string = string//self%weights%description()
endfunction description