69 delta, c_dyn, test_filter, mij, lij, num, den)
70 logical,
intent(in) :: if_ext
71 real(kind=
rp),
intent(in) :: t
72 integer,
intent(in) :: tstep
73 type(
coef_t),
intent(in) :: coef
74 type(
field_t),
intent(inout) :: nut
75 type(
field_t),
intent(in) :: delta
76 type(
field_t),
intent(inout) :: c_dyn
78 type(
field_t),
intent(inout) :: mij(6), lij(6)
79 type(
field_t),
intent(inout) :: num, den
81 type(
field_t),
pointer :: u, v, w
84 type(
field_t),
pointer :: s11, s22, s33, s12, s13, s23, s_abs
85 real(kind=
rp) :: alpha
86 integer :: temp_indices(7)
89 if (tstep .eq. 1)
then
95 if (if_ext .eqv. .true.)
then
114 call strain_rate(s11%x, s22%x, s33%x, s12%x, s13%x, s23%x, u, v, w, coef)
116 call coef%gs_h%op(s11%x, s11%dof%size(),
gs_op_add)
117 call coef%gs_h%op(s22%x, s11%dof%size(),
gs_op_add)
118 call coef%gs_h%op(s33%x, s11%dof%size(),
gs_op_add)
119 call coef%gs_h%op(s12%x, s11%dof%size(),
gs_op_add)
120 call coef%gs_h%op(s13%x, s11%dof%size(),
gs_op_add)
121 call coef%gs_h%op(s23%x, s11%dof%size(),
gs_op_add)
123 call device_col2(s11%x_d, coef%mult_d, s11%dof%size())
124 call device_col2(s22%x_d, coef%mult_d, s22%dof%size())
125 call device_col2(s33%x_d, coef%mult_d, s33%dof%size())
126 call device_col2(s12%x_d, coef%mult_d, s12%dof%size())
127 call device_col2(s13%x_d, coef%mult_d, s13%dof%size())
128 call device_col2(s23%x_d, coef%mult_d, s23%dof%size())
131 s12%x_d, s13%x_d, s23%x_d, &
136 s11, s22, s33, s12, s13, s23, &
137 s_abs, test_filter, delta, alpha, &
141 call device_col2(nut%x_d, coef%mult_d, nut%dof%size())
155 type(
field_t),
intent(inout) :: lij(6)
156 type(
field_t),
pointer,
intent(in) :: u, v, w
158 integer,
intent(in) :: n
161 type(
field_t),
pointer :: fu, fv, fw, fuu, fvv, fww, fuv, fuw, fvw
162 integer :: temp_indices(9)
175 call test_filter%apply(fu, u)
176 call test_filter%apply(fv, v)
177 call test_filter%apply(fw, w)
182 lij(4)%x_d, lij(5)%x_d, lij(6)%x_d, &
183 u%x_d, v%x_d, w%x_d, &
184 fu%x_d, fv%x_d, fw%x_d, &
185 fuu%x_d, fvv%x_d, fww%x_d, &
186 fuv%x_d, fuw%x_d, fvw%x_d, n)
189 call test_filter%apply(fuu, fuu)
190 call test_filter%apply(fvv, fvv)
191 call test_filter%apply(fww, fww)
192 call test_filter%apply(fuv, fuv)
193 call test_filter%apply(fuw, fuw)
194 call test_filter%apply(fvw, fvw)
200 lij(4)%x_d, lij(5)%x_d, lij(6)%x_d, &
201 fuu%x_d, fvv%x_d, fww%x_d, &
202 fuv%x_d, fuw%x_d, fvw%x_d, n)
227 s11, s22, s33, s12, s13, s23, &
228 s_abs, test_filter, delta, alpha, &
230 type(
field_t),
intent(inout) :: nut, c_dyn
231 type(
field_t),
intent(inout) :: num, den
232 type(
field_t),
intent(in) :: lij(6)
233 type(
field_t),
intent(inout) :: mij(6)
234 type(
field_t),
intent(inout) :: s11, s22, s33, s12, s13, s23, s_abs
236 type(
field_t),
intent(in) :: delta
237 real(kind=
rp),
intent(in) :: alpha
238 type(
coef_t),
intent(in) :: coef
239 integer,
intent(in) :: n
241 real(kind=
rp) :: delta_ratio2
242 integer :: temp_indices(13)
243 type(
field_t),
pointer :: fs11, fs22, fs33, fs12, fs13, fs23, fs_abs, &
244 fsabss11, fsabss22, fsabss33, &
245 fsabss12, fsabss13, fsabss23
247 delta_ratio2 = ((test_filter%nx-1.0_rp)/(test_filter%nt-1.0_rp))**2
266 call test_filter%apply(fs_abs, s_abs)
267 call test_filter%apply(fs11, s11)
268 call test_filter%apply(fs22, s22)
269 call test_filter%apply(fs33, s33)
270 call test_filter%apply(fs12, s12)
271 call test_filter%apply(fs13, s13)
272 call test_filter%apply(fs23, s23)
277 mij(4)%x_d, mij(5)%x_d, mij(6)%x_d, &
278 s_abs%x_d, s11%x_d, s22%x_d, s33%x_d, &
279 s12%x_d, s13%x_d, s23%x_d, &
280 fs_abs%x_d, fs11%x_d, fs22%x_d, fs33%x_d, &
281 fs12%x_d, fs13%x_d, fs23%x_d, &
282 fsabss11%x_d, fsabss22%x_d, fsabss33%x_d, &
283 fsabss12%x_d, fsabss13%x_d, fsabss23%x_d, &
287 call test_filter%apply(fsabss11, fsabss11)
288 call test_filter%apply(fsabss22, fsabss22)
289 call test_filter%apply(fsabss33, fsabss33)
290 call test_filter%apply(fsabss12, fsabss12)
291 call test_filter%apply(fsabss13, fsabss13)
292 call test_filter%apply(fsabss23, fsabss23)
296 mij(4)%x_d, mij(5)%x_d, mij(6)%x_d, &
297 lij(1)%x_d, lij(2)%x_d, lij(3)%x_d, &
298 lij(4)%x_d, lij(5)%x_d, lij(6)%x_d, &
299 fsabss11%x_d, fsabss22%x_d, fsabss33%x_d, &
300 fsabss12%x_d, fsabss13%x_d, fsabss23%x_d, &
301 num%x_d, den%x_d, c_dyn%x_d, delta%x_d, &
302 s_abs%x_d, nut%x_d, alpha, n)
subroutine, public device_lij_compute_part1(l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, u_d, v_d, w_d, fu_d, fv_d, fw_d, fuu_d, fvv_d, fww_d, fuv_d, fuw_d, fvw_d, n)
part 1 of the computing of the lij field
subroutine, public device_mij_nut_compute_part2(m11_d, m22_d, m33_d, m12_d, m13_d, m23_d, l11_d, l22_d, l33_d, l12_d, l13_d, l23_d, fsabss11_d, fsabss22_d, fsabss33_d, fsabss12_d, fsabss13_d, fsabss23_d, num_d, den_d, c_dyn_d, delta_d, s_abs_d, nut_d, alpha, n)
part 1 of the computing of the mij field
subroutine, public device_mij_compute_part1(m11_d, m22_d, m33_d, m12_d, m13_d, m23_d, s_abs_d, s11_d, s22_d, s33_d, s12_d, s13_d, s23_d, fs_abs_d, fs11_d, fs22_d, fs33_d, fs12_d, fs13_d, fs23_d, fsabss11_d, fsabss22_d, fsabss33_d, fsabss12_d, fsabss13_d, fsabss23_d, delta_ratio2, n)
part 1 of the computing of the mij field