db6ink Interface

public interface db6ink

6D initialization routines.

Calls

interface~~db6ink~~CallsGraph interface~db6ink db6ink proc~db6ink_default db6ink_default interface~db6ink->proc~db6ink_default proc~db6ink_multi db6ink_multi interface~db6ink->proc~db6ink_multi proc~check_inputs check_inputs proc~db6ink_default->proc~check_inputs proc~dbknot dbknot proc~db6ink_default->proc~dbknot proc~dbtpcf dbtpcf proc~db6ink_default->proc~dbtpcf proc~db6ink_multi->proc~db6ink_default 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

Called by

interface~~db6ink~~CalledByGraph interface~db6ink db6ink proc~initialize_6d_auto_knots bspline_6d%initialize_6d_auto_knots proc~initialize_6d_auto_knots->interface~db6ink proc~initialize_6d_auto_knots_multi bspline_6d%initialize_6d_auto_knots_multi proc~initialize_6d_auto_knots_multi->interface~db6ink proc~initialize_6d_specify_knots bspline_6d%initialize_6d_specify_knots proc~initialize_6d_specify_knots->interface~db6ink proc~initialize_6d_specify_knots_multi bspline_6d%initialize_6d_specify_knots_multi proc~initialize_6d_specify_knots_multi->interface~db6ink proc~bspline_6d_constructor_auto_knots bspline_6d_constructor_auto_knots proc~bspline_6d_constructor_auto_knots->proc~initialize_6d_auto_knots proc~bspline_6d_constructor_specify_knots bspline_6d_constructor_specify_knots proc~bspline_6d_constructor_specify_knots->proc~initialize_6d_specify_knots interface~bspline_6d bspline_6d interface~bspline_6d->proc~bspline_6d_constructor_auto_knots interface~bspline_6d->proc~bspline_6d_constructor_specify_knots

Module Procedures

private pure subroutine db6ink_default(x, nx, y, ny, z, nz, q, nq, r, nr, s, ns, fcn, kx, ky, kz, kq, kr, ks, iknot, tx, ty, tz, tq, tr, ts, bcoef, iflag)

Determines the parameters of a function that interpolates the six-dimensional gridded data:

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(:) :: y

(ny) array of abcissae. must be strictly increasing.

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

number of abcissae ( )

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

(nz) array of abcissae. must be strictly increasing.

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

number of abcissae ( )

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

(nq) array of abcissae. must be strictly increasing.

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

number of abcissae ( )

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

(nr) array of abcissae. must be strictly increasing.

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

number of abcissae ( )

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

(ns) array of abcissae. must be strictly increasing.

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

number of abcissae ( )

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

(nx,ny,nz,nq,nr,ns) matrix of function values to interpolate. fcn(i,j,k,q,r,s) 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 ( ) (order = polynomial degree + 1)

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

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

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

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

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

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

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

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

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

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(inout), dimension(:) :: ty

The (ny+ky) knots in the direction for the spline interpolant.

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

The (nz+kz) knots in the direction for the spline interpolant.

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

The (nq+kq) knots in the direction for the spline interpolant.

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

The (nr+kr) knots in the direction for the spline interpolant.

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

The (ns+ks) knots in the direction for the spline interpolant.

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

(nx,ny,nz,nq,nr,ns) matrix of coefficients of the b-spline interpolant.

integer(kind=ip), intent(out) :: iflag Read more…

private pure subroutine db6ink_multi(x, nx, y, ny, z, nz, q, nq, r, nr, s, ns, fcn, kx, ky, kz, kq, kr, ks, iknot, tx, ty, tz, tq, tr, ts, bcoef, iflag)

Multiple-output version of db6ink: interpolates nf functions on the same grid, with the same knots. The last dimension of fcn and bcoef is the output index. Evaluate them with db6val (multiple-output version).

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(:) :: y

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

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

Number of abcissae

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

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

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

Number of abcissae

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

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

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

Number of abcissae

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

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

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

Number of abcissae

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

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

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

Number of abcissae

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

(nx,ny,nz,nq,nr,ns,nf) array of function values to interpolate: fcn(i1,i2,i3,i4,i5,i6,j) is output j at grid point (x(i1),y(i2),z(i3),q(i4),r(i5),s(i6))

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

The order of spline pieces in

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

The order of spline pieces in

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

The order of spline pieces in

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

The order of spline pieces in

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

The order of spline pieces in

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

The order of spline pieces in

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

knot sequence flag (see db6ink_default)

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

The (nx+kx) knots in the direction

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

The (ny+ky) knots in the direction

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

The (nz+kz) knots in the direction

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

The (nq+kq) knots in the direction

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

The (nr+kr) knots in the direction

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

The (ns+ks) knots in the direction

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

(nx,ny,nz,nq,nr,ns,nf) array of b-spline coefficients

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

status flag (see db6ink_default), or 6001 if fcn and bcoef do not have the same number of outputs (or it is zero)