db5val Interface

public interface db5val

5D evaluation routines.

Calls

interface~~db5val~~CallsGraph interface~db5val db5val proc~db5val_default db5val_default interface~db5val->proc~db5val_default proc~db5val_multi db5val_multi interface~db5val->proc~db5val_multi proc~check_value check_value proc~db5val_default->proc~check_value proc~dbvalu_weights dbvalu_weights proc~db5val_default->proc~dbvalu_weights proc~db5val_multi->proc~check_value proc~db5val_multi->proc~dbvalu_weights proc~dintrv dintrv proc~dbvalu_weights->proc~dintrv proc~get_temp_x_for_extrap get_temp_x_for_extrap proc~dintrv->proc~get_temp_x_for_extrap

Called by

interface~~db5val~~CalledByGraph interface~db5val db5val proc~evaluate_5d bspline_5d%evaluate_5d proc~evaluate_5d->interface~db5val proc~evaluate_5d_multi bspline_5d%evaluate_5d_multi proc~evaluate_5d_multi->interface~db5val

Module Procedures

private pure subroutine db5val_default(xval, yval, zval, qval, rval, idx, idy, idz, idq, idr, tx, ty, tz, tq, tr, nx, ny, nz, nq, nr, kx, ky, kz, kq, kr, bcoef, f, iflag, inbvx, inbvy, inbvz, inbvq, inbvr, iloy, iloz, iloq, ilor, w4, w3, w2, w1, w0, extrap)

Evaluates the tensor product piecewise polynomial interpolant constructed by the routine db5ink or one of its derivatives at the point (xval,yval,zval,qval,rval).

Read more…

Arguments

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

coordinate of evaluation point.

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

coordinate of evaluation point.

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

coordinate of evaluation point.

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

coordinate of evaluation point.

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

coordinate of evaluation point.

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

derivative of piecewise polynomial to evaluate.

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

derivative of piecewise polynomial to evaluate.

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

derivative of piecewise polynomial to evaluate.

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

derivative of piecewise polynomial to evaluate.

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

derivative of piecewise polynomial to evaluate.

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

sequence of knots defining the piecewise polynomial in the direction. (same as in last call to db5ink)

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

sequence of knots defining the piecewise polynomial in the direction. (same as in last call to db5ink)

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

sequence of knots defining the piecewise polynomial in the direction. (same as in last call to db5ink)

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

sequence of knots defining the piecewise polynomial in the direction. (same as in last call to db5ink)

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

sequence of knots defining the piecewise polynomial in the direction. (same as in last call to db5ink)

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

the number of interpolation points in . (same as in last call to db5ink)

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

the number of interpolation points in . (same as in last call to db5ink)

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

the number of interpolation points in . (same as in last call to db5ink)

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

the number of interpolation points in . (same as in last call to db5ink)

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

the number of interpolation points in . (same as in last call to db5ink)

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

order of polynomial pieces in . (same as in last call to db5ink)

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

order of polynomial pieces in . (same as in last call to db5ink)

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

order of polynomial pieces in . (same as in last call to db5ink)

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

order of polynomial pieces in . (same as in last call to db5ink)

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

order of polynomial pieces in . (same as in last call to db5ink)

real(kind=wp), intent(in), dimension(nx,ny,nz,nq,nr) :: bcoef

the b-spline coefficients computed by db5ink.

real(kind=wp), intent(out) :: f

interpolated value

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

status flag:

Read more…
integer(kind=ip), intent(inout) :: inbvx

initialization parameter which must be set to 1 the first time this routine is called, and must not be changed by the user.

integer(kind=ip), intent(inout) :: inbvy

not used (kept for backward compatibility)

integer(kind=ip), intent(inout) :: inbvz

not used (kept for backward compatibility)

integer(kind=ip), intent(inout) :: inbvq

not used (kept for backward compatibility)

integer(kind=ip), intent(inout) :: inbvr

not used (kept for backward compatibility)

integer(kind=ip), intent(inout) :: iloy

initialization parameter which must be set to 1 the first time this routine is called, and must not be changed by the user.

integer(kind=ip), intent(inout) :: iloz

initialization parameter which must be set to 1 the first time this routine is called, and must not be changed by the user.

integer(kind=ip), intent(inout) :: iloq

initialization parameter which must be set to 1 the first time this routine is called, and must not be changed by the user.

integer(kind=ip), intent(inout) :: ilor

initialization parameter which must be set to 1 the first time this routine is called, and must not be changed by the user.

real(kind=wp), intent(inout), dimension(ky,kz,kq,kr) :: w4

work array

real(kind=wp), intent(inout), dimension(kz,kq,kr) :: w3

work array

real(kind=wp), intent(inout), dimension(kq,kr) :: w2

work array

real(kind=wp), intent(inout), dimension(kr) :: w1

work array

real(kind=wp), intent(inout), dimension(3_ip*max(kx,ky,kz,kq,kr)) :: w0

not used (kept for backward compatibility)

logical, intent(in), optional :: extrap

if extrapolation is allowed (if not present, default is False)

private pure subroutine db5val_multi(xval, yval, zval, qval, rval, idx, idy, idz, idq, idr, tx, ty, tz, tq, tr, nx, ny, nz, nq, nr, kx, ky, kz, kq, kr, bcoef, f, iflag, inbvx, iloy, iloz, iloq, ilor, w4, w3, w2, w1, extrap)

Multiple-output version of db5val: evaluates all nf outputs of a spline from db5ink (multiple-output version) at one point. The interval search and the basis functions in each direction are only computed once, for all of the outputs.

Arguments

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

coordinate of evaluation point.

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

coordinate of evaluation point.

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

coordinate of evaluation point.

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

coordinate of evaluation point.

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

coordinate of evaluation point.

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

derivative of piecewise polynomial to evaluate.

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

derivative of piecewise polynomial to evaluate.

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

derivative of piecewise polynomial to evaluate.

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

derivative of piecewise polynomial to evaluate.

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

derivative of piecewise polynomial to evaluate.

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

knots in the direction.

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

knots in the direction.

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

knots in the direction.

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

knots in the direction.

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

knots in the direction.

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

the number of interpolation points in .

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

the number of interpolation points in .

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

the number of interpolation points in .

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

the number of interpolation points in .

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

the number of interpolation points in .

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

order of polynomial pieces in .

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

order of polynomial pieces in .

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

order of polynomial pieces in .

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

order of polynomial pieces in .

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

order of polynomial pieces in .

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

(nx,ny,nz,nq,nr,nf) b-spline coefficients from db5ink (multiple-output version).

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

(nf) interpolated values of the outputs

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

status flag:

Read more…
integer(kind=ip), intent(inout) :: inbvx

initialization parameter which must be set to 1 the first time this routine is called, and must not be changed by the user.

integer(kind=ip), intent(inout) :: iloy

initialization parameter which must be set to 1 the first time this routine is called, and must not be changed by the user.

integer(kind=ip), intent(inout) :: iloz

initialization parameter which must be set to 1 the first time this routine is called, and must not be changed by the user.

integer(kind=ip), intent(inout) :: iloq

initialization parameter which must be set to 1 the first time this routine is called, and must not be changed by the user.

integer(kind=ip), intent(inout) :: ilor

initialization parameter which must be set to 1 the first time this routine is called, and must not be changed by the user.

real(kind=wp), intent(inout), dimension(ky,kz,kq,kr) :: w4

work array of dimension (ky,kz,kq,kr)

real(kind=wp), intent(inout), dimension(kz,kq,kr) :: w3

work array of dimension (kz,kq,kr)

real(kind=wp), intent(inout), dimension(kq,kr) :: w2

work array of dimension (kq,kr)

real(kind=wp), intent(inout), dimension(kr) :: w1

work array of dimension (kr)

logical, intent(in), optional :: extrap

if extrapolation is allowed (if not present, default is False)