evaluate_5d Subroutine

private pure subroutine evaluate_5d(me, xval, yval, zval, qval, rval, idx, idy, idz, idq, idr, f, iflag)

Evaluate a bspline_5d interpolate. This is a wrapper for db5val.

Type Bound

bspline_5d

Arguments

Type IntentOptional Attributes Name
class(bspline_5d), 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.

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(out) :: f

interpolated value

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

status flag (see db5val)


Calls

proc~~evaluate_5d~~CallsGraph proc~evaluate_5d bspline_oo_module::bspline_5d%evaluate_5d proc~db5val bspline_sub_module::db5val proc~evaluate_5d->proc~db5val proc~check_value bspline_sub_module::check_value proc~db5val->proc~check_value proc~dbvalu bspline_sub_module::dbvalu proc~db5val->proc~dbvalu proc~dintrv bspline_sub_module::dintrv proc~db5val->proc~dintrv proc~dbvalu->proc~dintrv proc~get_temp_x_for_extrap bspline_sub_module::get_temp_x_for_extrap proc~dintrv->proc~get_temp_x_for_extrap

Source Code

    pure subroutine evaluate_5d(me,xval,yval,zval,qval,rval,idx,idy,idz,idq,idr,f,iflag)

    implicit none

    class(bspline_5d),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.
    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.
    real(wp),intent(out)            :: f     !! interpolated value
    integer(ip),intent(out)         :: iflag !! status flag (see [[db5val]])

    if (me%initialized) then
        call db5val(xval,yval,zval,qval,rval,&
                    idx,idy,idz,idq,idr,&
                    me%tx,me%ty,me%tz,me%tq,me%tr,&
                    me%nx,me%ny,me%nz,me%nq,me%nr,&
                    me%kx,me%ky,me%kz,me%kq,me%kr,&
                    me%bcoef,f,iflag,&
                    me%inbvx,me%inbvy,me%inbvz,me%inbvq,me%inbvr,&
                    me%iloy,me%iloz,me%iloq,me%ilor,&
                    me%work_val_1,me%work_val_2,me%work_val_3,me%work_val_4,me%work_val_5,&
                    extrap=me%extrap)
    else
        iflag = 1_ip
    end if

    me%iflag = iflag

    end subroutine evaluate_5d