spline_mod Module

module~~spline_mod~~UsesGraph module~spline_mod spline_mod module~kinds_mod kinds_mod module~kinds_mod->module~spline_mod module~array_mod array_mod module~kinds_mod->module~array_mod module~array_mod->module~spline_mod
Help

Module to construct and evaluate splines of multivariate datasets

Used By

module~~spline_mod~~UsedByGraph module~spline_mod spline_mod program~testspline_prg testSpline_prg module~spline_mod->program~testspline_prg
Help


Interfaces

public interface linearSpline_t

Constructor for linearSpline_t

  • private function newLinearSpline(t0, x0) result(self)

    Constructor for linearSpline_t

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(:):: t0

    Parameterization data \(t_0\)

    real(kind=wp), intent(in), dimension(:,:):: x0

    Datapoints for spline \(\vec{x}_0\)

    Return Value type(linearSpline_t)

    New spline

public interface cubicSpline_t

Constructor for cubicSpline_t

  • private function newCubicSpline(t0, x0, method, c) result(self)

    Constructor for cubicSpline_t

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(:):: t0

    Parameterization data \(t_0\)

    real(kind=wp), intent(in), dimension(:,:):: x0

    Datapoints for spline \(\vec{x}_0\)

    character(len=*), intent(in), optional :: method

    Derivative calculation method

    Valid methods are the following:
    * 'finiteDifference'
    * 'catmullRom'
    * 'cardinal'
    * 'conventional'

    real(kind=wp), intent(in), optional :: c

    Tension parameter for cardinal splines

    Not used by other spline types

    Return Value type(cubicSpline_t)

    New spline


Derived Types

type, public, abstract :: spline_t

Abstract type from which others derive

Components

TypeVisibility AttributesNameInitial
real(kind=wp), public, dimension(:), allocatable:: t0

Parameterization variable data

real(kind=wp), public, dimension(:,:), allocatable:: x0

Datapoints for spline

Type-Bound Procedures

procedure(x_p), public :: x

type, public, extends(spline_t) :: linearSpline_t

Linear spline type

Components

TypeVisibility AttributesNameInitial
real(kind=wp), public, dimension(:), allocatable:: t0

Parameterization variable data

real(kind=wp), public, dimension(:,:), allocatable:: x0

Datapoints for spline

Constructor

Constructor for linearSpline_t

private function newLinearSpline(t0, x0)

Constructor for linearSpline_t

Type-Bound Procedures

procedure, public :: x => x_linearSpline

type, public, extends(spline_t) :: cubicSpline_t

Cubic spline type

Components

TypeVisibility AttributesNameInitial
real(kind=wp), public, dimension(:), allocatable:: t0

Parameterization variable data

real(kind=wp), public, dimension(:,:), allocatable:: x0

Datapoints for spline

real(kind=wp), public, dimension(:,:), allocatable:: d0

Derivatives at datapoints \(\vec{x}_0\)

character(len=:), public, allocatable:: method

Method used to compute derivatives

real(kind=wp), public :: c

Tension parameter for cardinal splines

Constructor

Constructor for cubicSpline_t

private function newCubicSpline(t0, x0, method, c)

Constructor for cubicSpline_t

Type-Bound Procedures

procedure, public :: x => x_cubicSpline