41 use,
intrinsic :: iso_c_binding, only : c_ptr
71 uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2, ab1, ab2, ab3, nab, n)&
72 bind(c, name =
'rhs_maker_sumab_hip')
73 use,
intrinsic :: iso_c_binding
75 type(c_ptr),
value :: u_d, v_d, w_d, uu_d, vv_d, ww_d
76 type(c_ptr),
value :: uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2
77 real(c_rp) :: ab1, ab2, ab3
78 integer(c_int) :: nab, n
84 abx2_d, aby2_d, abz2_d, &
85 bfx_d, bfy_d, bfz_d, &
86 rho, ab1, ab2, ab3, n) &
87 bind(c, name =
'rhs_maker_ext_hip')
88 use,
intrinsic :: iso_c_binding
90 type(c_ptr),
value :: abx1_d, aby1_d, abz1_d
91 type(c_ptr),
value :: abx2_d, aby2_d, abz2_d
92 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d
93 real(c_rp) :: rho, ab1, ab2, ab3
100 ext1, ext2, ext3, n) &
101 bind(c, name =
'scalar_rhs_maker_ext_hip')
102 use,
intrinsic :: iso_c_binding
104 type(c_ptr),
value :: fs_lag_d, fs_laglag_d, fs_d
105 real(c_rp) :: rho, ext1, ext2, ext3
112 wlag1_d, wlag2_d, bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d, &
113 Blag_d, Blaglag_d, rho, dt, bd2, bd3, bd4, nbd, n) &
114 bind(c, name =
'rhs_maker_bdf_hip')
115 use,
intrinsic :: iso_c_binding
117 type(c_ptr),
value :: ulag1_d, ulag2_d, vlag1_d
118 type(c_ptr),
value :: vlag2_d, wlag1_d, wlag2_d
119 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d
120 type(c_ptr),
value :: Blag_d, Blaglag_d
121 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
122 integer(c_int) :: nbd, n
128 rho, dt, bd2, bd3, bd4, nbd, n) &
129 bind(c, name =
'scalar_rhs_maker_bdf_hip')
130 use,
intrinsic :: iso_c_binding
132 type(c_ptr),
value :: s_lag_d, s_laglag_d
133 type(c_ptr),
value :: fs_d, s_d, B_d
134 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
135 integer(c_int) :: nbd, n
141 bf_y_d, bf_z_d, rho, dt, n) bind(c, name = 'rhs_maker_oifs_hip')
142 use,
intrinsic :: iso_c_binding
144 type(c_ptr),
value :: bf_x_d, bf_y_d, bf_z_d
145 type(c_ptr),
value :: phi_x_d, phi_y_d, phi_z_d
146 reaL(c_rp) :: rho, dt
153 bind(c, name =
'scalar_rhs_maker_oifs_hip')
154 use,
intrinsic :: iso_c_binding
156 type(c_ptr),
value :: bf_s_d
157 type(c_ptr),
value :: phi_s_d
158 reaL(c_rp) :: rho, dt
165 uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2, ab1, ab2, ab3, nab, n)&
166 bind(c, name =
'rhs_maker_sumab_cuda')
167 use,
intrinsic :: iso_c_binding
169 type(c_ptr),
value :: u_d, v_d, w_d, uu_d, vv_d, ww_d
170 type(c_ptr),
value :: uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2
171 real(c_rp) :: ab1, ab2, ab3
172 integer(c_int) :: nab, n
178 abx2_d, aby2_d, abz2_d, &
179 bfx_d, bfy_d, bfz_d, &
180 rho, ab1, ab2, ab3, n) &
181 bind(c, name =
'rhs_maker_ext_cuda')
182 use,
intrinsic :: iso_c_binding
184 type(c_ptr),
value :: abx1_d, aby1_d, abz1_d
185 type(c_ptr),
value :: abx2_d, aby2_d, abz2_d
186 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d
187 real(c_rp) :: rho, ab1, ab2, ab3
194 ext1, ext2, ext3, n) &
195 bind(c, name =
'scalar_rhs_maker_ext_cuda')
196 use,
intrinsic :: iso_c_binding
198 type(c_ptr),
value :: fs_lag_d, fs_laglag_d, fs_d
199 real(c_rp) :: rho, ext1, ext2, ext3
206 wlag1_d, wlag2_d, bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d, &
207 Blag_d, Blaglag_d, rho, dt, bd2, bd3, bd4, nbd, n) &
208 bind(c, name =
'rhs_maker_bdf_cuda')
209 use,
intrinsic :: iso_c_binding
211 type(c_ptr),
value :: ulag1_d, ulag2_d, vlag1_d
212 type(c_ptr),
value :: vlag2_d, wlag1_d, wlag2_d
213 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d
214 type(c_ptr),
value :: Blag_d, Blaglag_d
215 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
216 integer(c_int) :: nbd, n
222 rho, dt, bd2, bd3, bd4, nbd, n) &
223 bind(c, name =
'scalar_rhs_maker_bdf_cuda')
224 use,
intrinsic :: iso_c_binding
226 type(c_ptr),
value :: s_lag_d, s_laglag_d
227 type(c_ptr),
value :: fs_d, s_d, B_d
228 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
229 integer(c_int) :: nbd, n
235 bf_y_d, bf_z_d, rho, dt, n) bind(c, name = 'rhs_maker_oifs_cuda')
236 use,
intrinsic :: iso_c_binding
238 type(c_ptr),
value :: bf_x_d, bf_y_d, bf_z_d
239 type(c_ptr),
value :: phi_x_d, phi_y_d, phi_z_d
240 reaL(c_rp) :: rho, dt
247 bind(c, name =
'scalar_rhs_maker_oifs_cuda')
248 use,
intrinsic :: iso_c_binding
250 type(c_ptr),
value :: bf_s_d
251 type(c_ptr),
value :: phi_s_d
252 reaL(c_rp) :: rho, dt
259 uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2, ab1, ab2, ab3, nab, n)&
260 bind(c, name =
'rhs_maker_sumab_opencl')
261 use,
intrinsic :: iso_c_binding
263 type(c_ptr),
value :: u_d, v_d, w_d, uu_d, vv_d, ww_d
264 type(c_ptr),
value :: uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2
265 real(c_rp) :: ab1, ab2, ab3
266 integer(c_int) :: nab, n
272 abx2_d, aby2_d, abz2_d, &
273 bfx_d, bfy_d, bfz_d, &
274 rho, ab1, ab2, ab3, n) &
275 bind(c, name =
'rhs_maker_ext_opencl')
276 use,
intrinsic :: iso_c_binding
278 type(c_ptr),
value :: abx1_d, aby1_d, abz1_d
279 type(c_ptr),
value :: abx2_d, aby2_d, abz2_d
280 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d
281 real(c_rp) :: rho, ab1, ab2, ab3
288 ext1, ext2, ext3, n) &
289 bind(c, name =
'scalar_rhs_maker_ext_opencl')
290 use,
intrinsic :: iso_c_binding
292 type(c_ptr),
value :: fs_lag_d, fs_laglag_d, fs_d
293 real(c_rp) :: rho, ext1, ext2, ext3
300 wlag1_d, wlag2_d, bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d, &
301 rho, dt, bd2, bd3, bd4, nbd, n) bind(c, name = 'rhs_maker_bdf_opencl')
302 use,
intrinsic :: iso_c_binding
304 type(c_ptr),
value :: ulag1_d, ulag2_d, vlag1_d
305 type(c_ptr),
value :: vlag2_d, wlag1_d, wlag2_d
306 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d
307 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
308 integer(c_int) :: nbd, n
314 rho, dt, bd2, bd3, bd4, nbd, n) &
315 bind(c, name =
'scalar_rhs_maker_bdf_opencl')
316 use,
intrinsic :: iso_c_binding
318 type(c_ptr),
value :: s_lag_d, s_laglag_d
319 type(c_ptr),
value :: fs_d, s_d, B_d
320 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
321 integer(c_int) :: nbd, n
327 bf_y_d, bf_z_d, rho, dt, n) bind(c, name = 'rhs_maker_oifs_opencl')
328 use,
intrinsic :: iso_c_binding
330 type(c_ptr),
value :: bf_x_d, bf_y_d, bf_z_d
331 type(c_ptr),
value :: phi_x_d, phi_y_d, phi_z_d
332 reaL(c_rp) :: rho, dt
339 bind(c, name =
'scalar_rhs_maker_oifs_opencl')
340 use,
intrinsic :: iso_c_binding
342 type(c_ptr),
value :: bf_s_d
343 type(c_ptr),
value :: phi_s_d
344 reaL(c_rp) :: rho, dt
350 subroutine rhs_maker_sumab_metal(u_d, v_d, w_d, uu_d, vv_d, ww_d, &
351 uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2, ab1, ab2, ab3, nab, n)&
352 bind(c, name =
'rhs_maker_sumab_metal')
353 use,
intrinsic :: iso_c_binding
355 type(c_ptr),
value :: u_d, v_d, w_d, uu_d, vv_d, ww_d
356 type(c_ptr),
value :: uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2
357 real(c_rp) :: ab1, ab2, ab3
358 integer(c_int) :: nab, n
359 end subroutine rhs_maker_sumab_metal
363 subroutine rhs_maker_ext_metal(abx1_d, aby1_d, abz1_d, &
364 abx2_d, aby2_d, abz2_d, &
365 bfx_d, bfy_d, bfz_d, &
366 rho, ab1, ab2, ab3, n) &
367 bind(c, name =
'rhs_maker_ext_metal')
368 use,
intrinsic :: iso_c_binding
370 type(c_ptr),
value :: abx1_d, aby1_d, abz1_d
371 type(c_ptr),
value :: abx2_d, aby2_d, abz2_d
372 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d
373 real(c_rp) :: rho, ab1, ab2, ab3
375 end subroutine rhs_maker_ext_metal
379 subroutine scalar_rhs_maker_ext_metal(fs_lag_d, fs_laglag_d, fs_d, rho, &
380 ext1, ext2, ext3, n) &
381 bind(c, name =
'scalar_rhs_maker_ext_metal')
382 use,
intrinsic :: iso_c_binding
384 type(c_ptr),
value :: fs_lag_d, fs_laglag_d, fs_d
385 real(c_rp) :: rho, ext1, ext2, ext3
387 end subroutine scalar_rhs_maker_ext_metal
391 subroutine rhs_maker_bdf_metal(ulag1_d, ulag2_d, vlag1_d, vlag2_d, &
392 wlag1_d, wlag2_d, bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d, &
393 rho, dt, bd2, bd3, bd4, nbd, n) bind(c, name = 'rhs_maker_bdf_metal')
394 use,
intrinsic :: iso_c_binding
396 type(c_ptr),
value :: ulag1_d, ulag2_d, vlag1_d
397 type(c_ptr),
value :: vlag2_d, wlag1_d, wlag2_d
398 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d
399 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
400 integer(c_int) :: nbd, n
401 end subroutine rhs_maker_bdf_metal
405 subroutine scalar_rhs_maker_bdf_metal(s_lag_d, s_laglag_d, fs_d, s_d, B_d, &
406 rho, dt, bd2, bd3, bd4, nbd, n) &
407 bind(c, name =
'scalar_rhs_maker_bdf_metal')
408 use,
intrinsic :: iso_c_binding
410 type(c_ptr),
value :: s_lag_d, s_laglag_d
411 type(c_ptr),
value :: fs_d, s_d, B_d
412 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
413 integer(c_int) :: nbd, n
414 end subroutine scalar_rhs_maker_bdf_metal
418 subroutine rhs_maker_oifs_metal(phi_x_d, phi_y_d, phi_z_d, bf_x_d, &
419 bf_y_d, bf_z_d, rho, dt, n) bind(c, name = 'rhs_maker_oifs_metal')
420 use,
intrinsic :: iso_c_binding
422 type(c_ptr),
value :: bf_x_d, bf_y_d, bf_z_d
423 type(c_ptr),
value :: phi_x_d, phi_y_d, phi_z_d
424 reaL(c_rp) :: rho, dt
426 end subroutine rhs_maker_oifs_metal
430 subroutine scalar_rhs_maker_oifs_metal(phi_s_d, bf_s_d, rho, dt, n) &
431 bind(c, name =
'scalar_rhs_maker_oifs_metal')
432 use,
intrinsic :: iso_c_binding
434 type(c_ptr),
value :: bf_s_d
435 type(c_ptr),
value :: phi_s_d
436 reaL(c_rp) :: rho, dt
438 end subroutine scalar_rhs_maker_oifs_metal
444 subroutine rhs_maker_sumab_device(u, v, w, uu, vv, ww, uulag, vvlag, wwlag, ab, nab)
445 type(
field_t),
intent(inout) :: u,v, w
446 type(
field_t),
intent(inout) :: uu, vv, ww
448 real(kind=
rp),
dimension(3),
intent(in) :: ab
449 integer,
intent(in) :: nab
453 uulag%lf(1)%x_d, uulag%lf(2)%x_d, vvlag%lf(1)%x_d, vvlag%lf(2)%x_d, &
454 wwlag%lf(1)%x_d, wwlag%lf(2)%x_d, ab(1), ab(2), ab(3), nab, &
458 uulag%lf(1)%x_d, uulag%lf(2)%x_d, vvlag%lf(1)%x_d, vvlag%lf(2)%x_d, &
459 wwlag%lf(1)%x_d, wwlag%lf(2)%x_d, ab(1), ab(2), ab(3), nab, &
463 uulag%lf(1)%x_d, uulag%lf(2)%x_d, vvlag%lf(1)%x_d, vvlag%lf(2)%x_d, &
464 wwlag%lf(1)%x_d, wwlag%lf(2)%x_d, ab(1), ab(2), ab(3), nab, &
467 call rhs_maker_sumab_metal(u%x_d, v%x_d, w%x_d, uu%x_d, vv%x_d, ww%x_d, &
468 uulag%lf(1)%x_d, uulag%lf(2)%x_d, vvlag%lf(1)%x_d, vvlag%lf(2)%x_d, &
469 wwlag%lf(1)%x_d, wwlag%lf(2)%x_d, ab(1), ab(2), ab(3), nab, &
476 fx_laglag, fy_laglag, fz_laglag, fx, fy, fz, &
478 type(
field_t),
intent(inout) :: fx_lag, fy_lag, fz_lag
479 type(
field_t),
intent(inout) :: fx_laglag, fy_laglag, fz_laglag
480 real(kind=
rp),
intent(in) :: rho, ext_coeffs(4)
481 integer,
intent(in) :: n
482 real(kind=
rp),
intent(inout) :: fx(n), fy(n), fz(n)
483 type(c_ptr) :: fx_d, fy_d, fz_d
491 fx_laglag%x_d, fy_laglag%x_d, fz_laglag%x_d, &
492 fx_d, fy_d, fz_d, rho, &
493 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
496 fx_laglag%x_d, fy_laglag%x_d, fz_laglag%x_d, &
497 fx_d, fy_d, fz_d, rho, &
498 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
501 fx_laglag%x_d, fy_laglag%x_d, fz_laglag%x_d, &
502 fx_d, fy_d, fz_d, rho, &
503 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
505 call rhs_maker_ext_metal(fx_lag%x_d, fy_lag%x_d, fz_lag%x_d, &
506 fx_laglag%x_d, fy_laglag%x_d, fz_laglag%x_d, &
507 fx_d, fy_d, fz_d, rho, &
508 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
515 type(
field_t),
intent(inout) :: fs_lag
516 type(
field_t),
intent(inout) :: fs_laglag
517 real(kind=
rp),
intent(in) :: rho, ext_coeffs(4)
518 integer,
intent(in) :: n
519 real(kind=
rp),
intent(inout) :: fs(n)
526 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
529 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
532 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
534 call scalar_rhs_maker_ext_metal(fs_lag%x_d, fs_laglag%x_d, fs_d, rho, &
535 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
541 u, v, w, B, Blag, Blaglag, rho, dt, bd, nbd, n)
542 integer,
intent(in) :: n, nbd
543 type(
field_t),
intent(in) :: u, v, w
545 real(kind=
rp),
intent(inout) :: bfx(n), bfy(n), bfz(n)
546 real(kind=
rp),
intent(in) :: b(n), blag(n), blaglag(n)
547 real(kind=
rp),
intent(in) :: dt, rho, bd(4)
548 type(c_ptr) :: bfx_d, bfy_d, bfz_d, b_d, blag_d, blaglag_d
558 vlag%lf(1)%x_d, vlag%lf(2)%x_d, &
559 wlag%lf(1)%x_d, wlag%lf(2)%x_d, &
560 bfx_d, bfy_d, bfz_d, u%x_d, v%x_d, w%x_d, &
561 b_d, blag_d, blaglag_d, &
562 rho, dt, bd(2), bd(3), bd(4), nbd, n)
565 vlag%lf(1)%x_d, vlag%lf(2)%x_d, &
566 wlag%lf(1)%x_d, wlag%lf(2)%x_d, &
567 bfx_d, bfy_d, bfz_d, u%x_d, v%x_d, w%x_d, &
568 b_d, blag_d, blaglag_d, &
569 rho, dt, bd(2), bd(3), bd(4), nbd, n)
572 vlag%lf(1)%x_d, vlag%lf(2)%x_d, &
573 wlag%lf(1)%x_d, wlag%lf(2)%x_d, &
574 bfx_d, bfy_d, bfz_d, u%x_d, v%x_d, w%x_d, &
575 b_d, rho, dt, bd(2), bd(3), bd(4), nbd, n)
577 call rhs_maker_bdf_metal(ulag%lf(1)%x_d, ulag%lf(2)%x_d, &
578 vlag%lf(1)%x_d, vlag%lf(2)%x_d, &
579 wlag%lf(1)%x_d, wlag%lf(2)%x_d, &
580 bfx_d, bfy_d, bfz_d, u%x_d, v%x_d, w%x_d, &
581 b_d, rho, dt, bd(2), bd(3), bd(4), nbd, n)
588 integer,
intent(in) :: n, nbd
591 real(kind=
rp),
intent(inout) :: fs(n)
592 real(kind=
rp),
intent(in) :: b(n)
593 real(kind=
rp),
intent(in) :: dt, rho, bd(4)
594 type(c_ptr) :: fs_d, b_d
601 fs_d, s%x_d, b_d, rho, dt, bd(2), bd(3), bd(4), &
605 fs_d, s%x_d, b_d, rho, dt, bd(2), bd(3), bd(4), &
609 fs_d, s%x_d, b_d, rho, dt, bd(2), bd(3), bd(4), &
612 call scalar_rhs_maker_bdf_metal(s_lag%lf(1)%x_d, s_lag%lf(2)%x_d, &
613 fs_d, s%x_d, b_d, rho, dt, bd(2), bd(3), bd(4), &
621 real(kind=
rp),
intent(in) :: rho, dt
622 integer,
intent(in) :: n
623 real(kind=
rp),
intent(inout) :: bf_x(n), bf_y(n), bf_z(n)
624 real(kind=
rp),
intent(inout) :: phi_x(n), phi_y(n), phi_z(n)
626 type(c_ptr) :: phi_x_d, phi_y_d, phi_z_d, bf_x_d, bf_y_d, bf_z_d
637 bf_x_d, bf_y_d, bf_z_d, rho, dt, n)
640 bf_x_d, bf_y_d, bf_z_d, rho, dt, n)
643 bf_x_d, bf_y_d, bf_z_d, rho, dt, n)
645 call rhs_maker_oifs_metal(phi_x_d, phi_y_d, phi_z_d, &
646 bf_x_d, bf_y_d, bf_z_d, rho, dt, n)
652 real(kind=
rp),
intent(in) :: rho, dt
653 integer,
intent(in) :: n
654 real(kind=
rp),
intent(inout) :: bf_s(n)
655 real(kind=
rp),
intent(inout) :: phi_s(n)
656 type(c_ptr) :: phi_s_d, bf_s_d
668 call scalar_rhs_maker_oifs_metal(phi_s_d, bf_s_d, rho, dt, n)
Return the device pointer for an associated Fortran array.
subroutine, public device_copy(a_d, b_d, n, strm)
Copy a vector .
Device abstraction, common interface for various accelerators.
Contains the field_serties_t type.
integer, parameter, public c_rp
integer, parameter, public rp
Global precision used in computations.
subroutine scalar_rhs_maker_bdf_device(s_lag, fs, s, b, rho, dt, bd, nbd, n)
subroutine rhs_maker_sumab_device(u, v, w, uu, vv, ww, uulag, vvlag, wwlag, ab, nab)
subroutine rhs_maker_oifs_device(phi_x, phi_y, phi_z, bf_x, bf_y, bf_z, rho, dt, n)
subroutine scalar_rhs_maker_ext_device(fs_lag, fs_laglag, fs, rho, ext_coeffs, n)
subroutine rhs_maker_bdf_device(ulag, vlag, wlag, bfx, bfy, bfz, u, v, w, b, blag, blaglag, rho, dt, bd, nbd, n)
subroutine rhs_maker_ext_device(fx_lag, fy_lag, fz_lag, fx_laglag, fy_laglag, fz_laglag, fx, fy, fz, rho, ext_coeffs, n)
subroutine scalar_rhs_maker_oifs_device(phi_s, bf_s, rho, dt, n)
Routines to generate the right-hand sides for the convection-diffusion equation. Employs the EXT/BDF ...
void scalar_rhs_maker_bdf_opencl(void *s_lag, void *s_laglag, void *fs, void *s, void *B, real *rho, real *dt, real *bd2, real *bd3, real *bd4, int *nbd, int *n)
void rhs_maker_sumab_opencl(void *u, void *v, void *w, void *uu, void *vv, void *ww, void *ulag1, void *ulag2, void *vlag1, void *vlag2, void *wlag1, void *wlag2, real *ext1, real *ext2, real *ext3, int *nab, int *n)
void scalar_rhs_maker_oifs_opencl(void *phi_s, void *bf_s, real *rho, real *dt, int *n)
void rhs_maker_ext_opencl(void *abx1, void *aby1, void *abz1, void *abx2, void *aby2, void *abz2, void *bfx, void *bfy, void *bfz, real *rho, real *ext1, real *ext2, real *ext3, int *n)
void rhs_maker_oifs_opencl(void *phi_x, void *phi_y, void *phi_z, void *bf_x, void *bf_y, void *bf_z, real *rho, real *dt, int *n)
void scalar_rhs_maker_ext_opencl(void *fs_lag, void *fs_laglag, void *fs, real *rho, real *ext1, real *ext2, real *ext3, int *n)
void rhs_maker_bdf_opencl(void *ulag1, void *ulag2, void *vlag1, void *vlag2, void *wlag1, void *wlag2, void *bfx, void *bfy, void *bfz, void *u, void *v, void *w, void *B, real *rho, real *dt, real *bd2, real *bd3, real *bd4, int *nbd, int *n)
void scalar_rhs_maker_oifs_cuda(void *phi_s, void *bf_s, real *rho, real *dt, int *n)
void scalar_rhs_maker_bdf_cuda(void *s_lag, void *s_laglag, void *fs, void *s, void *B, real *rho, real *dt, real *bd2, real *bd3, real *bd4, int *nbd, int *n)
void rhs_maker_oifs_cuda(void *phi_x, void *phi_y, void *phi_z, void *bf_x, void *bf_y, void *bf_z, real *rho, real *dt, int *n)
void rhs_maker_ext_cuda(void *abx1, void *aby1, void *abz1, void *abx2, void *aby2, void *abz2, void *bfx, void *bfy, void *bfz, real *rho, real *ab1, real *ab2, real *ab3, int *n)
void scalar_rhs_maker_ext_cuda(void *fs_lag, void *fs_laglag, void *fs, real *rho, real *ext1, real *ext2, real *ext3, int *n)
void rhs_maker_sumab_cuda(void *u, void *v, void *w, void *uu, void *vv, void *ww, void *ulag1, void *ulag2, void *vlag1, void *vlag2, void *wlag1, void *wlag2, real *ab1, real *ab2, real *ab3, int *nab, int *n)
void rhs_maker_bdf_cuda(void *ulag1, void *ulag2, void *vlag1, void *vlag2, void *wlag1, void *wlag2, void *bfx, void *bfy, void *bfz, void *u, void *v, void *w, void *B, void *Blag, void *Blaglag, real *rho, real *dt, real *bd2, real *bd3, real *bd4, int *nbd, int *n)
Stores a series (sequence) of fields, logically connected to a base field, and arranged according to ...
Abstract type to add contributions to F from lagged BD terms.
Abstract type to sum up contributions to kth order extrapolation scheme.
Abstract type to add contributions of kth order OIFS scheme.
Abstract type to compute extrapolated velocity field for the pressure equation.