35 use,
intrinsic :: iso_c_binding, only: c_ptr, c_int
45 gamma, p_d, rho_d, n) &
46 bind(c, name =
'hip_compute_max_wave_speed')
47 use,
intrinsic :: iso_c_binding
49 type(c_ptr),
value :: max_wave_speed_d, u_d, v_d, w_d, p_d, rho_d
57 bind(c, name =
'hip_compute_entropy')
58 use,
intrinsic :: iso_c_binding
60 type(c_ptr),
value :: S_d, p_d, rho_d
69 gamma, p_d, rho_d, n) &
70 bind(c, name =
'cuda_compute_max_wave_speed')
71 use,
intrinsic :: iso_c_binding
73 type(c_ptr),
value :: max_wave_speed_d, u_d, v_d, w_d, p_d, rho_d
81 bind(c, name =
'cuda_compute_entropy')
82 use,
intrinsic :: iso_c_binding
84 type(c_ptr),
value :: S_d, p_d, rho_d
93 gamma, p_d, rho_d, n) &
94 bind(c, name =
'opencl_compute_max_wave_speed')
95 use,
intrinsic :: iso_c_binding
97 type(c_ptr),
value :: max_wave_speed_d, u_d, v_d, w_d, p_d, rho_d
98 real(c_rp),
value :: gamma
99 integer(c_int),
value :: n
105 bind(c, name =
'opencl_compute_entropy')
106 use,
intrinsic :: iso_c_binding
108 type(c_ptr),
value :: S_d, p_d, rho_d
109 real(c_rp),
value :: gamma
110 integer(c_int),
value :: n
122 integer,
intent(in) :: n
123 real(kind=
rp),
intent(in) :: gamma
124 type(
field_t),
intent(inout) :: max_wave_speed
125 type(
field_t),
intent(in) :: u, v, w, p, rho
134 call neko_error(
'No device backend configured')
140 integer,
intent(in) :: n
141 real(kind=
rp),
intent(in) :: gamma
142 type(
field_t),
intent(inout) :: s
143 type(
field_t),
intent(in) :: p, rho
152 call neko_error(
'No device backend configured')
void opencl_compute_entropy(void *S_d, void *p_d, void *rho_d, real gamma, int n)
void cuda_compute_entropy(void *S_d, void *p_d, void *rho_d, real *gamma, int *n)
void opencl_compute_max_wave_speed(void *max_wave_speed, void *u, void *v, void *w, real gamma, void *p, void *rho, int n)
void cuda_compute_max_wave_speed(void *max_wave_speed_d, void *u_d, void *v_d, void *w_d, real *gamma, void *p_d, void *rho_d, int *n)
Device implementation of compressible flow operations.
subroutine, public compressible_ops_device_compute_entropy(s, p, rho, gamma, n)
Compute entropy field S = 1/(gamma-1) * rho * (log(p) - gamma * log(rho)) on device.
subroutine, public compressible_ops_device_compute_max_wave_speed(max_wave_speed, u, v, w, gamma, p, rho, n)
Compute maximum wave speed for compressible flows on device.
integer, parameter, public c_rp
integer, parameter, public rp
Global precision used in computations.