db1ink Interface

public interface db1ink

1D initialization routines.

Calls

interface~~db1ink~~CallsGraph interface~db1ink bspline_sub_module::db1ink proc~db1ink_alt bspline_sub_module::db1ink_alt interface~db1ink->proc~db1ink_alt proc~db1ink_alt_2 bspline_sub_module::db1ink_alt_2 interface~db1ink->proc~db1ink_alt_2 proc~db1ink_default bspline_sub_module::db1ink_default interface~db1ink->proc~db1ink_default proc~check_inputs bspline_sub_module::check_inputs proc~db1ink_alt->proc~check_inputs proc~dbint4 bspline_sub_module::dbint4 proc~db1ink_alt->proc~dbint4 proc~db1ink_alt_2->proc~check_inputs proc~db1ink_alt_2->proc~dbint4 proc~db1ink_default->proc~check_inputs proc~dbknot bspline_sub_module::dbknot proc~db1ink_default->proc~dbknot proc~dbtpcf bspline_sub_module::dbtpcf proc~db1ink_default->proc~dbtpcf proc~dbnfac bspline_sub_module::dbnfac proc~dbint4->proc~dbnfac proc~dbnslv bspline_sub_module::dbnslv proc~dbint4->proc~dbnslv proc~dbspvd bspline_sub_module::dbspvd proc~dbint4->proc~dbspvd proc~dbintk bspline_sub_module::dbintk proc~dbtpcf->proc~dbintk proc~dbtpcf->proc~dbnslv proc~dbintk->proc~dbnfac proc~dbintk->proc~dbnslv proc~dbspvn bspline_sub_module::dbspvn proc~dbintk->proc~dbspvn proc~dbspvd->proc~dbspvn

Called by

interface~~db1ink~~CalledByGraph interface~db1ink bspline_sub_module::db1ink proc~initialize_1d_auto_knots bspline_oo_module::bspline_1d%initialize_1d_auto_knots proc~initialize_1d_auto_knots->interface~db1ink proc~initialize_1d_specify_knots bspline_oo_module::bspline_1d%initialize_1d_specify_knots proc~initialize_1d_specify_knots->interface~db1ink proc~bspline_1d_constructor_auto_knots bspline_oo_module::bspline_1d_constructor_auto_knots proc~bspline_1d_constructor_auto_knots->proc~initialize_1d_auto_knots proc~bspline_1d_constructor_specify_knots bspline_oo_module::bspline_1d_constructor_specify_knots proc~bspline_1d_constructor_specify_knots->proc~initialize_1d_specify_knots interface~bspline_1d bspline_oo_module::bspline_1d interface~bspline_1d->proc~bspline_1d_constructor_auto_knots interface~bspline_1d->proc~bspline_1d_constructor_specify_knots

Module Procedures

private pure subroutine db1ink_default(x, nx, fcn, kx, iknot, tx, bcoef, iflag)

Determines the parameters of a function that interpolates the one-dimensional gridded data The interpolating function and its derivatives may subsequently be evaluated by the function db1val.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

(nx) array of abcissae. Must be strictly increasing.

integer(kind=ip), intent(in) :: nx

Number of abcissae

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

(nx) array of function values to interpolate. fcn(i) should contain the function value at the point x(i)

integer(kind=ip), intent(in) :: kx

The order of spline pieces in ( ) (order = polynomial degree + 1)

integer(kind=ip), intent(in) :: iknot

knot sequence flag:

Read more…
real(kind=wp), intent(inout), dimension(:) :: tx

The (nx+kx) knots in the direction for the spline interpolant:

Read more…
real(kind=wp), intent(out), dimension(:) :: bcoef

(nx) array of coefficients of the b-spline interpolant.

integer(kind=ip), intent(out) :: iflag

status flag:

Read more…

private pure subroutine db1ink_alt(x, nx, fcn, kx, ibcl, ibcr, fbcl, fbcr, kntopt, tx, bcoef, iflag)

Alternate version of db1ink_default, where the boundary conditions can be specified.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

vector of abscissae of length nx, distinct and in increasing order

integer(kind=ip), intent(in) :: nx

number of data points,

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

vector of ordinates of length nx

integer(kind=ip), intent(in) :: kx

spline order (Currently, this must be 4)

integer(kind=ip), intent(in) :: ibcl

selection parameter for left boundary condition:

Read more…
integer(kind=ip), intent(in) :: ibcr

selection parameter for right boundary condition:

Read more…
real(kind=wp), intent(in) :: fbcl

left boundary values governed by ibcl

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

right boundary values governed by ibcr

integer(kind=ip), intent(in) :: kntopt

knot selection parameter:

Read more…
real(kind=wp), intent(out), dimension(:) :: tx

knot array of length nx+6

real(kind=wp), intent(out), dimension(:) :: bcoef

b spline coefficient array of length nx+2

integer(kind=ip), intent(out) :: iflag

status flag:

Read more…

private pure subroutine db1ink_alt_2(x, nx, fcn, kx, ibcl, ibcr, fbcl, fbcr, tleft, tright, tx, bcoef, iflag)

Alternate version of db1ink_alt, where the first and last 3 knots are specified by the user.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

vector of abscissae of length nx, distinct and in increasing order

integer(kind=ip), intent(in) :: nx

number of data points,

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

vector of ordinates of length nx

integer(kind=ip), intent(in) :: kx

spline order (Currently, this must be 4)

integer(kind=ip), intent(in) :: ibcl

selection parameter for left boundary condition:

Read more…
integer(kind=ip), intent(in) :: ibcr

selection parameter for right boundary condition:

Read more…
real(kind=wp), intent(in) :: fbcl

left boundary values governed by ibcl

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

right boundary values governed by ibcr

real(kind=wp), intent(in), dimension(3) :: tleft

t(1:3) in increasing order supplied by the user.

real(kind=wp), intent(in), dimension(3) :: tright

t(nx+4:nx+6) in increasing order supplied by the user.

real(kind=wp), intent(out), dimension(:) :: tx

knot array of length nx+6

real(kind=wp), intent(out), dimension(:) :: bcoef

b spline coefficient array of length nx+2

integer(kind=ip), intent(out) :: iflag

status flag:

Read more…