sll_t_spline_1d Derived Type

type, public :: sll_t_spline_1d

1D spline


Inherits

type~~sll_t_spline_1d~~InheritsGraph type~sll_t_spline_1d sll_t_spline_1d type~sll_c_bsplines sll_c_bsplines type~sll_t_spline_1d->type~sll_c_bsplines bspl

Components

Type Visibility Attributes Name Initial
real(kind=wp), public, allocatable :: bcoef(:)
class(sll_c_bsplines), private, pointer :: bspl => null()

Type-Bound Procedures

procedure, public :: init => s_spline_1d__init

  • private subroutine s_spline_1d__init(self, bsplines)

    Initialize 1D spline object as element of span(B-splines)

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(sll_t_spline_1d), intent(out) :: self

    1D spline: new element of 1D spline space

    class(sll_c_bsplines), intent(in), target :: bsplines

    B-splines: given basis of 1D spline space

procedure, public :: free => s_spline_1d__free

procedure, public :: belongs_to_space => f_spline_1d__belongs_to_space

procedure, public :: eval => f_spline_1d__eval

  • private pure function f_spline_1d__eval(self, x) result(y)

    Evaluate value of 1D spline at location x: y=S(x)

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(sll_t_spline_1d), intent(in) :: self

    1D spline

    real(kind=wp), intent(in) :: x

    evaluation point

    Return Value real(kind=wp)

procedure, public :: eval_deriv => f_spline_1d__eval_deriv

  • private pure function f_spline_1d__eval_deriv(self, x) result(y)

    Evaluate derivative of 1D spline at location x: y=S'(x)

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(sll_t_spline_1d), intent(in) :: self

    1D spline

    real(kind=wp), intent(in) :: x

    evaluation point

    Return Value real(kind=wp)

procedure, public :: eval_array => s_spline_1d__eval_array

  • private pure subroutine s_spline_1d__eval_array(self, x, y)

    Evaluate value of 1D spline at all locations in array x

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(sll_t_spline_1d), intent(in) :: self

    1D spline

    real(kind=wp), intent(in) :: x(:)
    real(kind=wp), intent(out) :: y(:)

procedure, public :: eval_array_deriv => s_spline_1d__eval_array_deriv

  • private pure subroutine s_spline_1d__eval_array_deriv(self, x, y)

    Evaluate derivative of 1D spline at all locations in array x

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(sll_t_spline_1d), intent(in) :: self

    1D spline

    real(kind=wp), intent(in) :: x(:)
    real(kind=wp), intent(out) :: y(:)

Source Code

  type :: sll_t_spline_1d

    real(wp)             , allocatable      :: bcoef(:)
    class(sll_c_bsplines), pointer, private :: bspl => null()

  contains

    procedure :: init             => s_spline_1d__init
    procedure :: free             => s_spline_1d__free
    procedure :: belongs_to_space => f_spline_1d__belongs_to_space
    procedure :: eval             => f_spline_1d__eval
    procedure :: eval_deriv       => f_spline_1d__eval_deriv
    procedure :: eval_array       => s_spline_1d__eval_array
    procedure :: eval_array_deriv => s_spline_1d__eval_array_deriv

  end type sll_t_spline_1d