Processing math: 100%

bspline_6d Interface

public interface bspline_6d

Constructor for bspline_6d

Calls

interface~~bspline_6d~~CallsGraph interface~bspline_6d bspline_6d proc~bspline_6d_constructor_auto_knots bspline_6d_constructor_auto_knots interface~bspline_6d->proc~bspline_6d_constructor_auto_knots proc~bspline_6d_constructor_empty bspline_6d_constructor_empty interface~bspline_6d->proc~bspline_6d_constructor_empty proc~bspline_6d_constructor_specify_knots bspline_6d_constructor_specify_knots interface~bspline_6d->proc~bspline_6d_constructor_specify_knots proc~initialize_6d_auto_knots bspline_6d%initialize_6d_auto_knots proc~bspline_6d_constructor_auto_knots->proc~initialize_6d_auto_knots proc~initialize_6d_specify_knots bspline_6d%initialize_6d_specify_knots proc~bspline_6d_constructor_specify_knots->proc~initialize_6d_specify_knots proc~db6ink db6ink proc~initialize_6d_auto_knots->proc~db6ink proc~destroy_6d bspline_6d%destroy_6d proc~initialize_6d_auto_knots->proc~destroy_6d proc~set_extrap_flag bspline_class%set_extrap_flag proc~initialize_6d_auto_knots->proc~set_extrap_flag proc~check_knot_vectors_sizes check_knot_vectors_sizes proc~initialize_6d_specify_knots->proc~check_knot_vectors_sizes proc~initialize_6d_specify_knots->proc~db6ink proc~initialize_6d_specify_knots->proc~destroy_6d proc~initialize_6d_specify_knots->proc~set_extrap_flag proc~check_inputs check_inputs proc~db6ink->proc~check_inputs proc~dbknot dbknot proc~db6ink->proc~dbknot proc~dbtpcf dbtpcf proc~db6ink->proc~dbtpcf proc~dbintk dbintk proc~dbtpcf->proc~dbintk proc~dbnslv dbnslv proc~dbtpcf->proc~dbnslv proc~dbintk->proc~dbnslv proc~dbnfac dbnfac proc~dbintk->proc~dbnfac proc~dbspvn dbspvn proc~dbintk->proc~dbspvn

Module Procedures

private elemental function bspline_6d_constructor_empty() result(me)

It returns an empty bspline_6d type. Note that INITIALIZE still needs to be called before it can be used. Not really that useful except perhaps in some OpenMP applications.

Arguments

None

Return Value type(bspline_6d)

private pure function bspline_6d_constructor_auto_knots(x, y, z, q, r, s, fcn, kx, ky, kz, kq, kr, ks, extrap) result(me)

Constructor for a bspline_6d type (auto knots). This is a wrapper for initialize_6d_auto_knots.

Arguments

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

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

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

(ny) array of y abcissae. Must be strictly increasing.

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

(nz) array of z abcissae. Must be strictly increasing.

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

(nq) array of q abcissae. Must be strictly increasing.

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

(nr) array of r abcissae. Must be strictly increasing.

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

(ns) array of s abcissae. Must be strictly increasing.

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

(nx,ny,nz,nq,nr,ns) matrix of function values to interpolate. fcn(i,j,k,l,m,n) should contain the function value at the point (x(i),y(j),z(k),q(l),r(m),s(n))

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

The order of spline pieces in x ( 2kx<nx ) (order = polynomial degree + 1)

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

The order of spline pieces in y ( 2ky<ny ) (order = polynomial degree + 1)

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

The order of spline pieces in z ( 2kz<nz ) (order = polynomial degree + 1)

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

The order of spline pieces in q ( 2kq<nq ) (order = polynomial degree + 1)

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

The order of spline pieces in r ( 2kr<nr ) (order = polynomial degree + 1)

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

The order of spline pieces in z ( 2kz<nz ) (order = polynomial degree + 1)

logical, intent(in), optional :: extrap

if true, then extrapolation is allowed (default is false)

Return Value type(bspline_6d)

private pure function bspline_6d_constructor_specify_knots(x, y, z, q, r, s, fcn, kx, ky, kz, kq, kr, ks, tx, ty, tz, tq, tr, ts, extrap) result(me)

Constructor for a bspline_6d type (user-specified knots). This is a wrapper for initialize_6d_specify_knots.

Arguments

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

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

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

(ny) array of y abcissae. Must be strictly increasing.

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

(nz) array of z abcissae. Must be strictly increasing.

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

(nq) array of q abcissae. Must be strictly increasing.

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

(nr) array of r abcissae. Must be strictly increasing.

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

(ns) array of s abcissae. Must be strictly increasing.

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

(nx,ny,nz,nq,nr,ns) matrix of function values to interpolate. fcn(i,j,k,l,m,n) should contain the function value at the point (x(i),y(j),z(k),q(l),r(m),s(n))

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

The order of spline pieces in x ( 2kx<nx ) (order = polynomial degree + 1)

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

The order of spline pieces in y ( 2ky<ny ) (order = polynomial degree + 1)

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

The order of spline pieces in z ( 2kz<nz ) (order = polynomial degree + 1)

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

The order of spline pieces in q ( 2kq<nq ) (order = polynomial degree + 1)

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

The order of spline pieces in r ( 2kr<nr ) (order = polynomial degree + 1)

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

The order of spline pieces in z ( 2kz<nz ) (order = polynomial degree + 1)

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

The (nx+kx) knots in the x direction for the spline interpolant. Must be non-decreasing.

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

The (ny+ky) knots in the y direction for the spline interpolant. Must be non-decreasing.

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

The (nz+kz) knots in the z direction for the spline interpolant. Must be non-decreasing.

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

The (nq+kq) knots in the q direction for the spline interpolant. Must be non-decreasing.

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

The (nr+kr) knots in the r direction for the spline interpolant. Must be non-decreasing.

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

The (ns+ks) knots in the s direction for the spline interpolant. Must be non-decreasing.

logical, intent(in), optional :: extrap

if true, then extrapolation is allowed (default is false)

Return Value type(bspline_6d)