subroutine GridInterp_Scalar3D(this,f)
implicit none
class(Scalar3D),intent(inout) :: this
type(c_ptr),intent(inout) :: f
call self_blas_matrixop_dim1_3d(this%interp%iMatrix_gpu,this%interior_gpu, &
this%interpWork1,this%N,this%M,this%nvar,this%nelem, &
this%blas_handle)
call self_blas_matrixop_dim2_3d(this%interp%iMatrix_gpu,this%interpWork1,this%interpWork2, &
0.0_c_prec,this%N,this%M,this%nvar,this%nelem, &
this%blas_handle)
call self_blas_matrixop_dim3_3d(this%interp%iMatrix_gpu,this%interpWork2,f, &
0.0_c_prec,this%N,this%M,this%nvar,this%nelem, &
this%blas_handle)
endsubroutine GridInterp_Scalar3D