59 real(kind=
rp),
intent(in) :: t
60 integer,
intent(in) :: tstep
61 type(
coef_t),
intent(in) :: coef
62 type(
field_t),
intent(inout) :: nut
63 type(
field_t),
intent(in) :: delta
64 real(kind=
rp),
intent(in) :: c
66 type(
field_t),
pointer :: a11, a12, a13, a21, a22, a23, a31, a32, a33
67 type(
field_t),
pointer :: u, v, w
69 type(
field_t),
pointer :: beta11
70 type(
field_t),
pointer :: beta12
71 type(
field_t),
pointer :: beta13
72 type(
field_t),
pointer :: beta22
73 type(
field_t),
pointer :: beta23
74 type(
field_t),
pointer :: beta33
75 type(
field_t),
pointer :: b_beta
76 type(
field_t),
pointer :: aijaij
77 integer :: temp_indices(17)
104 call dudxyz (a11%x, u%x, coef%drdx, coef%dsdx, coef%dtdx, coef)
105 call dudxyz (a12%x, u%x, coef%drdy, coef%dsdy, coef%dtdy, coef)
106 call dudxyz (a13%x, u%x, coef%drdz, coef%dsdz, coef%dtdz, coef)
108 call dudxyz (a21%x, v%x, coef%drdx, coef%dsdx, coef%dtdx, coef)
109 call dudxyz (a22%x, v%x, coef%drdy, coef%dsdy, coef%dtdy, coef)
110 call dudxyz (a23%x, v%x, coef%drdz, coef%dsdz, coef%dtdz, coef)
112 call dudxyz (a31%x, w%x, coef%drdx, coef%dsdx, coef%dtdx, coef)
113 call dudxyz (a32%x, w%x, coef%drdy, coef%dsdy, coef%dtdy, coef)
114 call dudxyz (a33%x, w%x, coef%drdz, coef%dsdz, coef%dtdz, coef)
127 a21%x_d, a22%x_d, a23%x_d, &
128 a31%x_d, a32%x_d, a33%x_d, &
129 delta%x_d, nut%x_d, coef%mult_d, &
subroutine, public device_vreman_nut_compute(a11_d, a12_d, a13_d, a21_d, a22_d, a23_d, a31_d, a32_d, a33_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 vreman_t type.
subroutine, public vreman_compute_device(t, tstep, coef, nut, delta, c)
Compute eddy viscosity on the device.
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...