68 temperature_field_name, TKE_field_name, &
69 nut, temperature_alphat, &
70 TKE_alphat, TKE_source, &
72 real(kind=
rp),
intent(in) :: t
73 integer,
intent(in) :: tstep
74 type(
coef_t),
intent(in) :: coef
75 character(len=*),
intent(in) :: temperature_field_name
76 character(len=*),
intent(in) :: tke_field_name
77 type(
field_t),
intent(inout) :: nut, temperature_alphat
78 type(
field_t),
intent(inout) :: tke_alphat, tke_source
79 type(
field_t),
intent(in) :: delta
80 real(kind=
rp),
intent(in) :: c_k, t0, g(3)
82 type(
field_t),
pointer :: tke, temperature
83 type(
field_t),
pointer :: dtdx, dtdy, dtdz
84 type(
field_t),
pointer :: u, v, w
85 type(
field_t),
pointer :: a11, a12, a13, a21, a22, a23, a31, a32, a33
86 integer :: temp_indices(12)
89 temperature =>
neko_registry%get_field_by_name(temperature_field_name)
100 call grad(dtdx%x, dtdy%x, dtdz%x, temperature%x, coef)
105 call device_col2(dtdx%x_d, coef%mult_d, nut%dof%size())
106 call device_col2(dtdy%x_d, coef%mult_d, nut%dof%size())
107 call device_col2(dtdz%x_d, coef%mult_d, nut%dof%size())
120 call grad(a11%x, a12%x, a13%x, u%x, coef)
121 call grad(a21%x, a22%x, a23%x, v%x, coef)
122 call grad(a31%x, a32%x, a33%x, w%x, coef)
134 call device_col2(a11%x_d, coef%mult_d, nut%dof%size())
135 call device_col2(a12%x_d, coef%mult_d, nut%dof%size())
136 call device_col2(a13%x_d, coef%mult_d, nut%dof%size())
137 call device_col2(a21%x_d, coef%mult_d, nut%dof%size())
138 call device_col2(a22%x_d, coef%mult_d, nut%dof%size())
139 call device_col2(a23%x_d, coef%mult_d, nut%dof%size())
140 call device_col2(a31%x_d, coef%mult_d, nut%dof%size())
141 call device_col2(a32%x_d, coef%mult_d, nut%dof%size())
142 call device_col2(a33%x_d, coef%mult_d, nut%dof%size())
145 dtdx%x_d, dtdy%x_d, dtdz%x_d, &
146 a11%x_d, a12%x_d, a13%x_d, &
147 a21%x_d, a22%x_d, a23%x_d, &
148 a31%x_d, a32%x_d, a33%x_d, &
149 delta%x_d, nut%x_d, temperature_alphat%x_d, &
150 tke_alphat%x_d, tke_source%x_d, &
151 c_k, t0, g,
neko_eps, a11%dof%size())
subroutine, public deardorff_compute_device(t, tstep, coef, temperature_field_name, tke_field_name, nut, temperature_alphat, tke_alphat, tke_source, delta, c_k, t0, g)
Compute eddy viscosity on the device.
subroutine, public device_deardorff_nut_compute(tke_d, dtdx_d, dtdy_d, dtdz_d, a11_d, a12_d, a13_d, a21_d, a22_d, a23_d, a31_d, a32_d, a33_d, delta_d, nut_d, temperature_alphat, tke_alphat, tke_source, c_k, t0, g, eps, n)
Compute Deardorff SGS quantities on the device backend.