61 real(kind=
rp),
intent(in) :: t
62 integer,
intent(in) :: tstep
63 type(
coef_t),
intent(in) :: coef
64 type(
field_t),
intent(inout) :: nut
65 type(
field_t),
intent(in) :: delta
66 real(kind=
rp),
intent(in) :: c
68 type(
field_t),
pointer :: g11, g12, g13, g21, g22, g23, g31, g32, g33
69 type(
field_t),
pointer :: u, v, w
71 real(kind=
rp) :: pi_3 = 4.0_rp/3.0_rp*atan(1.0_rp)
74 integer :: temp_indices(9)
96 call dudxyz(g11%x, u%x, coef%drdx, coef%dsdx, coef%dtdx, coef)
97 call dudxyz(g12%x, u%x, coef%drdy, coef%dsdy, coef%dtdy, coef)
98 call dudxyz(g13%x, u%x, coef%drdz, coef%dsdz, coef%dtdz, coef)
100 call dudxyz(g21%x, v%x, coef%drdx, coef%dsdx, coef%dtdx, coef)
101 call dudxyz(g22%x, v%x, coef%drdy, coef%dsdy, coef%dtdy, coef)
102 call dudxyz(g23%x, v%x, coef%drdz, coef%dsdz, coef%dtdz, coef)
104 call dudxyz(g31%x, w%x, coef%drdx, coef%dsdx, coef%dtdx, coef)
105 call dudxyz(g32%x, w%x, coef%drdy, coef%dsdy, coef%dtdy, coef)
106 call dudxyz(g33%x, w%x, coef%drdz, coef%dsdz, coef%dtdz, coef)
119 g21%x_d, g22%x_d, g23%x_d, &
120 g31%x_d, g32%x_d, g33%x_d, &
121 delta%x_d, nut%x_d, coef%mult_d, &
122 c, eps, g11%dof%size())
subroutine, public device_col2(a_d, b_d, n)
Vector multiplication .
subroutine, public device_sigma_nut_compute(g11_d, g12_d, g13_d, g21_d, g22_d, g23_d, g31_d, g32_d, g33_d, delta_d, nut_d, mult_d, c, eps, n)
Compute the eddy viscosity field for the Sigma model indevice.
Defines a registry for storing solution fields.
type(field_registry_t), target, public neko_field_registry
Global field registry.
Defines Gather-scatter operations.
integer, parameter, public gs_op_add
real(kind=rp), parameter, public neko_eps
Machine epsilon .
integer, parameter, public rp
Global precision used in computations.
subroutine, public dudxyz(du, u, dr, ds, dt, coef)
Compute derivative of a scalar field along a single direction.
Defines a registry for storing and requesting temporary fields This can be used when you have a funct...
type(scratch_registry_t), target, public neko_scratch_registry
Global scratch registry.
Implements the device kernel for the sigma_t type.
subroutine, public sigma_compute_device(t, tstep, coef, nut, delta, c)
Compute eddy viscosity on device.
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
field_list_t, To be able to group fields together