4  use, 
intrinsic :: iso_c_binding, only : c_ptr
 
   12          ind_r_d, ind_s_d, ind_t_d, ind_e_d, &
 
   13          n_x_d, n_y_d, n_z_d, h_d, &
 
   14          tau_x_d, tau_y_d, tau_z_d, n_nodes, lx, &
 
   15          kappa, B, z0, tstep) &
 
   16          bind(c, name = 
'hip_rough_log_law_compute')
 
   17       use, 
intrinsic :: iso_c_binding, only : c_ptr, c_int
 
   20       type(c_ptr), 
value :: u_d, v_d, w_d
 
   21       type(c_ptr), 
value :: ind_r_d, ind_s_d, ind_t_d, ind_e_d
 
   22       type(c_ptr), 
value :: n_x_d, n_y_d, n_z_d, h_d
 
   23       real(c_rp) :: kappa, B, z0
 
   24       type(c_ptr), 
value :: tau_x_d, tau_y_d, tau_z_d
 
   25       integer(c_int) :: n_nodes, lx, tstep
 
 
   31          ind_r_d, ind_s_d, ind_t_d, ind_e_d, &
 
   32          n_x_d, n_y_d, n_z_d, h_d, &
 
   33          tau_x_d, tau_y_d, tau_z_d, n_nodes, lx, &
 
   34          kappa, B, z0, tstep) &
 
   35          bind(c, name = 
'cuda_rough_log_law_compute')
 
   36       use, 
intrinsic :: iso_c_binding, only : c_ptr, c_int
 
   39       type(c_ptr), 
value :: u_d, v_d, w_d
 
   40       type(c_ptr), 
value :: ind_r_d, ind_s_d, ind_t_d, ind_e_d
 
   41       type(c_ptr), 
value :: n_x_d, n_y_d, n_z_d, h_d
 
   42       real(c_rp) :: kappa, B, z0
 
   43       type(c_ptr), 
value :: tau_x_d, tau_y_d, tau_z_d
 
   44       integer(c_int) :: n_nodes, lx, tstep
 
   56       ind_r_d, ind_s_d, ind_t_d, ind_e_d, &
 
   57       n_x_d, n_y_d, n_z_d, h_d, tau_x_d, tau_y_d, tau_z_d, &
 
   58       n_nodes, lx, kappa, B, z0, tstep)
 
   59    integer, 
intent(in) :: n_nodes, lx, tstep
 
   60    type(c_ptr), 
intent(in) :: u_d, v_d, w_d
 
   61    type(c_ptr), 
intent(in) :: ind_r_d, ind_s_d, ind_t_d, ind_e_d
 
   62    type(c_ptr), 
intent(in) :: n_x_d, n_y_d, n_z_d, h_d
 
   63    type(c_ptr), 
intent(inout) :: tau_x_d, tau_y_d, tau_z_d
 
   64    real(kind=rp), 
intent(in) :: kappa, b, z0
 
   68         ind_r_d, ind_s_d, ind_t_d, ind_e_d, &
 
   69         n_x_d, n_y_d, n_z_d, h_d, &
 
   70         tau_x_d, tau_y_d, tau_z_d, n_nodes, lx, kappa, b, z0, tstep)
 
   73         ind_r_d, ind_s_d, ind_t_d, ind_e_d, &
 
   74         n_x_d, n_y_d, n_z_d, h_d, &
 
   75         tau_x_d, tau_y_d, tau_z_d, n_nodes, lx, kappa, b, z0, tstep)
 
   77    call neko_error(
"OPENCL is not implemented for the rough log-law model")
 
   79    call neko_error(
'No device backend configured')
 
 
integer, parameter, public c_rp
 
integer, parameter, public rp
Global precision used in computations.
 
Implements the device kernel for the rough_log_law_t type.
 
subroutine, public rough_log_law_compute_device(u_d, v_d, w_d, ind_r_d, ind_s_d, ind_t_d, ind_e_d, n_x_d, n_y_d, n_z_d, h_d, tau_x_d, tau_y_d, tau_z_d, n_nodes, lx, kappa, b, z0, tstep)
Compute the wall shear stress on device using the rough log-law model.
 
void cuda_rough_log_law_compute(void *u_d, void *v_d, void *w_d, void *ind_r_d, void *ind_s_d, void *ind_t_d, void *ind_e_d, void *n_x_d, void *n_y_d, void *n_z_d, void *h_d, void *tau_x_d, void *tau_y_d, void *tau_z_d, int *n_nodes, int *lx, real *kappa, real *B, real *z0, int *tstep)