34 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
38 use mpi_f08,
only : mpi_sum, mpi_in_place, mpi_allreduce
46 s12_d, s13_d, s23_d, &
47 delta_d, nut_d, mult_d, c_s, n) &
48 bind(c, name =
'hip_smagorinsky_nut_compute')
49 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
51 type(c_ptr),
value :: s11_d, s22_d, s33_d, &
52 s12_d, s13_d, s23_d, &
53 delta_d, nut_d, mult_d
61 s12_d, s13_d, s23_d, &
62 delta_d, nut_d, mult_d, c_s, n) &
63 bind(c, name =
'cuda_smagorinsky_nut_compute')
64 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
66 type(c_ptr),
value :: s11_d, s22_d, s33_d, &
67 s12_d, s13_d, s23_d, &
68 delta_d, nut_d, mult_d
76 s12_d, s13_d, s23_d, &
77 delta_d, nut_d, mult_d, c_s, n) &
78 bind(c, name =
'opencl_smagorinsky_nut_compute')
79 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
81 type(c_ptr),
value :: s11_d, s22_d, s33_d, &
82 s12_d, s13_d, s23_d, &
83 delta_d, nut_d, mult_d
90 subroutine metal_smagorinsky_nut_compute(s11_d, s22_d, s33_d, &
91 s12_d, s13_d, s23_d, &
92 delta_d, nut_d, mult_d, c_s, n) &
93 bind(c, name =
'metal_smagorinsky_nut_compute')
94 use,
intrinsic :: iso_c_binding, only : c_ptr, c_int
96 type(c_ptr),
value :: s11_d, s22_d, s33_d, &
97 s12_d, s13_d, s23_d, &
98 delta_d, nut_d, mult_d
101 end subroutine metal_smagorinsky_nut_compute
111 s12_d, s13_d, s23_d, &
112 delta_d, nut_d, mult_d, c_s, n)
113 type(c_ptr) :: s11_d, s22_d, s33_d, &
114 s12_d, s13_d, s23_d, &
115 delta_d, nut_d, mult_d
120 s12_d, s13_d, s23_d, &
121 delta_d, nut_d, mult_d, c_s, n)
124 s12_d, s13_d, s23_d, &
125 delta_d, nut_d, mult_d, c_s, n)
128 s12_d, s13_d, s23_d, &
129 delta_d, nut_d, mult_d, c_s, n)
131 call metal_smagorinsky_nut_compute(s11_d, s22_d, s33_d, &
132 s12_d, s13_d, s23_d, &
133 delta_d, nut_d, mult_d, c_s, n)
135 call neko_error(
'no device backend configured')
type(mpi_datatype), public mpi_real_precision
MPI type for working precision of REAL types.
integer, public pe_size
MPI size of communicator.
type(mpi_comm), public neko_comm
MPI communicator.
subroutine, public device_smagorinsky_nut_compute(s11_d, s22_d, s33_d, s12_d, s13_d, s23_d, delta_d, nut_d, mult_d, c_s, n)
Compute the eddy viscosity field for the Sigma model indevice.
integer, parameter, public c_rp
integer, parameter, public rp
Global precision used in computations.
void opencl_smagorinsky_nut_compute(void *s11, void *s22, void *s33, void *s12, void *s13, void *s23, void *delta, void *nut, void *mult, real *c_s, int *n)
void cuda_smagorinsky_nut_compute(void *s11, void *s22, void *s33, void *s12, void *s13, void *s23, void *delta, void *nut, void *mult, real *c_s, int *n)