6D evaluation routines.
Evaluates the tensor product piecewise polynomial
interpolant constructed by the routine db6ink or one of its
derivatives at the point (xval,yval,zval,qval,rval,sval).
| Type | Intent | Optional | 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. |
||
| real(kind=wp), | intent(in) | :: | sval |
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. |
||
| integer(kind=ip), | intent(in) | :: | ids |
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 db6ink) |
|
| 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 db6ink) |
|
| 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 db6ink) |
|
| 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 db6ink) |
|
| 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 db6ink) |
|
| real(kind=wp), | intent(in), | dimension(ns+ks) | :: | ts |
sequence of knots defining the piecewise polynomial in the direction. (same as in last call to db6ink) |
|
| integer(kind=ip), | intent(in) | :: | nx |
the number of interpolation points in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | ny |
the number of interpolation points in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | nz |
the number of interpolation points in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | nq |
the number of interpolation points in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | nr |
the number of interpolation points in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | ns |
the number of interpolation points in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | kx |
order of polynomial pieces in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | ky |
order of polynomial pieces in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | kz |
order of polynomial pieces in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | kq |
order of polynomial pieces in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | kr |
order of polynomial pieces in . (same as in last call to db6ink) |
||
| integer(kind=ip), | intent(in) | :: | ks |
order of polynomial pieces in . (same as in last call to db6ink) |
||
| real(kind=wp), | intent(in), | dimension(nx,ny,nz,nq,nr,ns) | :: | bcoef |
the b-spline coefficients computed by db6ink. |
|
| real(kind=wp), | intent(out) | :: | f |
interpolated value |
||
| integer(kind=ip), | intent(out) | :: | iflag |
status flag: |
||
| 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) | :: | inbvs |
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. |
||
| integer(kind=ip), | intent(inout) | :: | ilos |
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,ks) | :: | w5 |
work array |
|
| real(kind=wp), | intent(inout), | dimension(kz,kq,kr,ks) | :: | w4 |
work array |
|
| real(kind=wp), | intent(inout), | dimension(kq,kr,ks) | :: | w3 |
work array |
|
| real(kind=wp), | intent(inout), | dimension(kr,ks) | :: | w2 |
work array |
|
| real(kind=wp), | intent(inout), | dimension(ks) | :: | w1 |
work array |
|
| real(kind=wp), | intent(inout), | dimension(3_ip*max(kx,ky,kz,kq,kr,ks)) | :: | w0 |
not used (kept for backward compatibility) |
|
| logical, | intent(in), | optional | :: | extrap |
if extrapolation is allowed (if not present, default is False) |
Multiple-output version of db6val: evaluates all nf outputs
of a spline from db6ink (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.
| Type | Intent | Optional | 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. |
||
| real(kind=wp), | intent(in) | :: | sval |
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. |
||
| integer(kind=ip), | intent(in) | :: | ids |
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. |
|
| real(kind=wp), | intent(in), | dimension(ns+ks) | :: | ts |
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) | :: | ns |
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 . |
||
| integer(kind=ip), | intent(in) | :: | ks |
order of polynomial pieces in . |
||
| real(kind=wp), | intent(in), | dimension(:,:,:,:,:,:,:) | :: | bcoef |
|
|
| real(kind=wp), | intent(out), | dimension(:) | :: | f |
|
|
| integer(kind=ip), | intent(out) | :: | iflag |
status flag: |
||
| 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. |
||
| integer(kind=ip), | intent(inout) | :: | ilos |
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,ks) | :: | w5 |
work array of dimension |
|
| real(kind=wp), | intent(inout), | dimension(kz,kq,kr,ks) | :: | w4 |
work array of dimension |
|
| real(kind=wp), | intent(inout), | dimension(kq,kr,ks) | :: | w3 |
work array of dimension |
|
| real(kind=wp), | intent(inout), | dimension(kr,ks) | :: | w2 |
work array of dimension |
|
| real(kind=wp), | intent(inout), | dimension(ks) | :: | w1 |
work array of dimension |
|
| logical, | intent(in), | optional | :: | extrap |
if extrapolation is allowed (if not present, default is False) |