Evaluate a bspline_6d interpolate. This is a wrapper for db6val.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bspline_6d), | intent(inout) | :: | me | |||
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(out) | :: | f |
interpolated value |
||
integer(kind=ip), | intent(out) | :: | iflag |
status flag (see db6val) |
pure subroutine evaluate_6d(me,xval,yval,zval,qval,rval,sval,idx,idy,idz,idq,idr,ids,f,iflag) implicit none class(bspline_6d),intent(inout) :: me real(wp),intent(in) :: xval !! \(x\) coordinate of evaluation point. real(wp),intent(in) :: yval !! \(y\) coordinate of evaluation point. real(wp),intent(in) :: zval !! \(z\) coordinate of evaluation point. real(wp),intent(in) :: qval !! \(q\) coordinate of evaluation point. real(wp),intent(in) :: rval !! \(r\) coordinate of evaluation point. real(wp),intent(in) :: sval !! \(s\) coordinate of evaluation point. integer(ip),intent(in) :: idx !! \(x\) derivative of piecewise polynomial to evaluate. integer(ip),intent(in) :: idy !! \(y\) derivative of piecewise polynomial to evaluate. integer(ip),intent(in) :: idz !! \(z\) derivative of piecewise polynomial to evaluate. integer(ip),intent(in) :: idq !! \(q\) derivative of piecewise polynomial to evaluate. integer(ip),intent(in) :: idr !! \(r\) derivative of piecewise polynomial to evaluate. integer(ip),intent(in) :: ids !! \(s\) derivative of piecewise polynomial to evaluate. real(wp),intent(out) :: f !! interpolated value integer(ip),intent(out) :: iflag !! status flag (see [[db6val]]) if (me%initialized) then call db6val(xval,yval,zval,qval,rval,sval,& idx,idy,idz,idq,idr,ids,& me%tx,me%ty,me%tz,me%tq,me%tr,me%ts,& me%nx,me%ny,me%nz,me%nq,me%nr,me%ns,& me%kx,me%ky,me%kz,me%kq,me%kr,me%ks,& me%bcoef,f,iflag,& me%inbvx,me%inbvy,me%inbvz,me%inbvq,me%inbvr,me%inbvs,& me%iloy,me%iloz,me%iloq,me%ilor,me%ilos,& me%work_val_1,me%work_val_2,me%work_val_3,me%work_val_4,me%work_val_5,me%work_val_6,& extrap=me%extrap) else iflag = 1_ip end if me%iflag = iflag end subroutine evaluate_6d