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) :: 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_cp_d, 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, rho_cp_d
134 reaL(c_rp) :: 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, phi_s_d, rho_cp_d
164 uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2, ab1, ab2, ab3, nab, n)&
165 bind(c, name =
'rhs_maker_sumab_cuda')
166 use,
intrinsic :: iso_c_binding
168 type(c_ptr),
value :: u_d, v_d, w_d, uu_d, vv_d, ww_d
169 type(c_ptr),
value :: uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2
170 real(c_rp) :: ab1, ab2, ab3
171 integer(c_int) :: nab, n
177 abx2_d, aby2_d, abz2_d, &
178 bfx_d, bfy_d, bfz_d, &
179 rho, ab1, ab2, ab3, n) &
180 bind(c, name =
'rhs_maker_ext_cuda')
181 use,
intrinsic :: iso_c_binding
183 type(c_ptr),
value :: abx1_d, aby1_d, abz1_d
184 type(c_ptr),
value :: abx2_d, aby2_d, abz2_d
185 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d
186 real(c_rp) :: rho, ab1, ab2, ab3
193 ext1, ext2, ext3, n) &
194 bind(c, name =
'scalar_rhs_maker_ext_cuda')
195 use,
intrinsic :: iso_c_binding
197 type(c_ptr),
value :: fs_lag_d, fs_laglag_d, fs_d
198 real(c_rp) :: ext1, ext2, ext3
205 wlag1_d, wlag2_d, bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d, &
206 Blag_d, Blaglag_d, rho, dt, bd2, bd3, bd4, nbd, n) &
207 bind(c, name =
'rhs_maker_bdf_cuda')
208 use,
intrinsic :: iso_c_binding
210 type(c_ptr),
value :: ulag1_d, ulag2_d, vlag1_d
211 type(c_ptr),
value :: vlag2_d, wlag1_d, wlag2_d
212 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d
213 type(c_ptr),
value :: Blag_d, Blaglag_d
214 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
215 integer(c_int) :: nbd, n
221 rho_cp_d, dt, bd2, bd3, bd4, nbd, n) &
222 bind(c, name =
'scalar_rhs_maker_bdf_cuda')
223 use,
intrinsic :: iso_c_binding
225 type(c_ptr),
value :: s_lag_d, s_laglag_d
226 type(c_ptr),
value :: fs_d, s_d, B_d, rho_cp_d
227 reaL(c_rp) :: dt, bd2, bd3, bd4
228 integer(c_int) :: nbd, n
234 bf_y_d, bf_z_d, rho, dt, n) bind(c, name = 'rhs_maker_oifs_cuda')
235 use,
intrinsic :: iso_c_binding
237 type(c_ptr),
value :: bf_x_d, bf_y_d, bf_z_d
238 type(c_ptr),
value :: phi_x_d, phi_y_d, phi_z_d
239 reaL(c_rp) :: rho, dt
246 bind(c, name =
'scalar_rhs_maker_oifs_cuda')
247 use,
intrinsic :: iso_c_binding
249 type(c_ptr),
value :: bf_s_d, phi_s_d, rho_cp_d
257 uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2, ab1, ab2, ab3, nab, n)&
258 bind(c, name =
'rhs_maker_sumab_opencl')
259 use,
intrinsic :: iso_c_binding
261 type(c_ptr),
value :: u_d, v_d, w_d, uu_d, vv_d, ww_d
262 type(c_ptr),
value :: uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2
263 real(c_rp) :: ab1, ab2, ab3
264 integer(c_int) :: nab, n
270 abx2_d, aby2_d, abz2_d, &
271 bfx_d, bfy_d, bfz_d, &
272 rho, ab1, ab2, ab3, n) &
273 bind(c, name =
'rhs_maker_ext_opencl')
274 use,
intrinsic :: iso_c_binding
276 type(c_ptr),
value :: abx1_d, aby1_d, abz1_d
277 type(c_ptr),
value :: abx2_d, aby2_d, abz2_d
278 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d
279 real(c_rp) :: rho, ab1, ab2, ab3
286 ext1, ext2, ext3, n) &
287 bind(c, name =
'scalar_rhs_maker_ext_opencl')
288 use,
intrinsic :: iso_c_binding
290 type(c_ptr),
value :: fs_lag_d, fs_laglag_d, fs_d
291 real(c_rp) :: ext1, ext2, ext3
298 wlag1_d, wlag2_d, bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d, &
299 rho, dt, bd2, bd3, bd4, nbd, n) bind(c, name = 'rhs_maker_bdf_opencl')
300 use,
intrinsic :: iso_c_binding
302 type(c_ptr),
value :: ulag1_d, ulag2_d, vlag1_d
303 type(c_ptr),
value :: vlag2_d, wlag1_d, wlag2_d
304 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d
305 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
306 integer(c_int) :: nbd, n
312 rho_cp_d, dt, bd2, bd3, bd4, nbd, n) &
313 bind(c, name =
'scalar_rhs_maker_bdf_opencl')
314 use,
intrinsic :: iso_c_binding
316 type(c_ptr),
value :: s_lag_d, s_laglag_d
317 type(c_ptr),
value :: fs_d, s_d, B_d, rho_cp_d
318 reaL(c_rp) :: dt, bd2, bd3, bd4
319 integer(c_int) :: nbd, n
325 bf_y_d, bf_z_d, rho, dt, n) bind(c, name = 'rhs_maker_oifs_opencl')
326 use,
intrinsic :: iso_c_binding
328 type(c_ptr),
value :: bf_x_d, bf_y_d, bf_z_d
329 type(c_ptr),
value :: phi_x_d, phi_y_d, phi_z_d
330 reaL(c_rp) :: rho, dt
337 bind(c, name =
'scalar_rhs_maker_oifs_opencl')
338 use,
intrinsic :: iso_c_binding
340 type(c_ptr),
value :: bf_s_d, phi_s_d, rho_cp_d
347 subroutine rhs_maker_sumab_metal(u_d, v_d, w_d, uu_d, vv_d, ww_d, &
348 uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2, ab1, ab2, ab3, nab, n)&
349 bind(c, name =
'rhs_maker_sumab_metal')
350 use,
intrinsic :: iso_c_binding
352 type(c_ptr),
value :: u_d, v_d, w_d, uu_d, vv_d, ww_d
353 type(c_ptr),
value :: uulag1, uulag2, vvlag1, vvlag2, wwlag1, wwlag2
354 real(c_rp) :: ab1, ab2, ab3
355 integer(c_int) :: nab, n
356 end subroutine rhs_maker_sumab_metal
360 subroutine rhs_maker_ext_metal(abx1_d, aby1_d, abz1_d, &
361 abx2_d, aby2_d, abz2_d, &
362 bfx_d, bfy_d, bfz_d, &
363 rho, ab1, ab2, ab3, n) &
364 bind(c, name =
'rhs_maker_ext_metal')
365 use,
intrinsic :: iso_c_binding
367 type(c_ptr),
value :: abx1_d, aby1_d, abz1_d
368 type(c_ptr),
value :: abx2_d, aby2_d, abz2_d
369 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d
370 real(c_rp) :: rho, ab1, ab2, ab3
372 end subroutine rhs_maker_ext_metal
376 subroutine scalar_rhs_maker_ext_metal(fs_lag_d, fs_laglag_d, fs_d, &
377 ext1, ext2, ext3, n) &
378 bind(c, name =
'scalar_rhs_maker_ext_metal')
379 use,
intrinsic :: iso_c_binding
381 type(c_ptr),
value :: fs_lag_d, fs_laglag_d, fs_d
382 real(c_rp) :: ext1, ext2, ext3
384 end subroutine scalar_rhs_maker_ext_metal
388 subroutine rhs_maker_bdf_metal(ulag1_d, ulag2_d, vlag1_d, vlag2_d, &
389 wlag1_d, wlag2_d, bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d, &
390 rho, dt, bd2, bd3, bd4, nbd, n) bind(c, name = 'rhs_maker_bdf_metal')
391 use,
intrinsic :: iso_c_binding
393 type(c_ptr),
value :: ulag1_d, ulag2_d, vlag1_d
394 type(c_ptr),
value :: vlag2_d, wlag1_d, wlag2_d
395 type(c_ptr),
value :: bfx_d, bfy_d, bfz_d, u_d, v_d, w_d, B_d
396 reaL(c_rp) :: rho, dt, bd2, bd3, bd4
397 integer(c_int) :: nbd, n
398 end subroutine rhs_maker_bdf_metal
402 subroutine scalar_rhs_maker_bdf_metal(s_lag_d, s_laglag_d, fs_d, s_d, B_d, &
403 rho_cp_d, dt, bd2, bd3, bd4, nbd, n) &
404 bind(c, name =
'scalar_rhs_maker_bdf_metal')
405 use,
intrinsic :: iso_c_binding
407 type(c_ptr),
value :: s_lag_d, s_laglag_d
408 type(c_ptr),
value :: fs_d, s_d, B_d, rho_cp_d
409 reaL(c_rp) :: dt, bd2, bd3, bd4
410 integer(c_int) :: nbd, n
411 end subroutine scalar_rhs_maker_bdf_metal
415 subroutine rhs_maker_oifs_metal(phi_x_d, phi_y_d, phi_z_d, bf_x_d, &
416 bf_y_d, bf_z_d, rho, dt, n) bind(c, name = 'rhs_maker_oifs_metal')
417 use,
intrinsic :: iso_c_binding
419 type(c_ptr),
value :: bf_x_d, bf_y_d, bf_z_d
420 type(c_ptr),
value :: phi_x_d, phi_y_d, phi_z_d
421 reaL(c_rp) :: rho, dt
423 end subroutine rhs_maker_oifs_metal
427 subroutine scalar_rhs_maker_oifs_metal(phi_s_d, bf_s_d, rho_cp_d, dt, n) &
428 bind(c, name =
'scalar_rhs_maker_oifs_metal')
429 use,
intrinsic :: iso_c_binding
431 type(c_ptr),
value :: bf_s_d, phi_s_d, rho_cp_d
434 end subroutine scalar_rhs_maker_oifs_metal
440 subroutine rhs_maker_sumab_device(u, v, w, uu, vv, ww, uulag, vvlag, wwlag, ab, nab)
441 type(
field_t),
intent(inout) :: u,v, w
442 type(
field_t),
intent(inout) :: uu, vv, ww
444 real(kind=
rp),
dimension(3),
intent(in) :: ab
445 integer,
intent(in) :: nab
449 uulag%lf(1)%x_d, uulag%lf(2)%x_d, vvlag%lf(1)%x_d, vvlag%lf(2)%x_d, &
450 wwlag%lf(1)%x_d, wwlag%lf(2)%x_d, ab(1), ab(2), ab(3), nab, &
454 uulag%lf(1)%x_d, uulag%lf(2)%x_d, vvlag%lf(1)%x_d, vvlag%lf(2)%x_d, &
455 wwlag%lf(1)%x_d, wwlag%lf(2)%x_d, ab(1), ab(2), ab(3), nab, &
459 uulag%lf(1)%x_d, uulag%lf(2)%x_d, vvlag%lf(1)%x_d, vvlag%lf(2)%x_d, &
460 wwlag%lf(1)%x_d, wwlag%lf(2)%x_d, ab(1), ab(2), ab(3), nab, &
463 call rhs_maker_sumab_metal(u%x_d, v%x_d, w%x_d, uu%x_d, vv%x_d, ww%x_d, &
464 uulag%lf(1)%x_d, uulag%lf(2)%x_d, vvlag%lf(1)%x_d, vvlag%lf(2)%x_d, &
465 wwlag%lf(1)%x_d, wwlag%lf(2)%x_d, ab(1), ab(2), ab(3), nab, &
472 fx_laglag, fy_laglag, fz_laglag, fx, fy, fz, &
474 type(
field_t),
intent(inout) :: fx_lag, fy_lag, fz_lag
475 type(
field_t),
intent(inout) :: fx_laglag, fy_laglag, fz_laglag
476 real(kind=
rp),
intent(in) :: rho, ext_coeffs(4)
477 integer,
intent(in) :: n
478 real(kind=
rp),
intent(inout) :: fx(n), fy(n), fz(n)
479 type(c_ptr) :: fx_d, fy_d, fz_d
487 fx_laglag%x_d, fy_laglag%x_d, fz_laglag%x_d, &
488 fx_d, fy_d, fz_d, rho, &
489 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
492 fx_laglag%x_d, fy_laglag%x_d, fz_laglag%x_d, &
493 fx_d, fy_d, fz_d, rho, &
494 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
497 fx_laglag%x_d, fy_laglag%x_d, fz_laglag%x_d, &
498 fx_d, fy_d, fz_d, rho, &
499 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
501 call rhs_maker_ext_metal(fx_lag%x_d, fy_lag%x_d, fz_lag%x_d, &
502 fx_laglag%x_d, fy_laglag%x_d, fz_laglag%x_d, &
503 fx_d, fy_d, fz_d, rho, &
504 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
510 type(
field_t),
intent(inout) :: fs_lag
511 type(
field_t),
intent(inout) :: fs_laglag
512 real(kind=
rp),
intent(in) :: ext_coeffs(4)
513 integer,
intent(in) :: n
514 real(kind=
rp),
intent(inout) :: fs(n)
521 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
524 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
527 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
529 call scalar_rhs_maker_ext_metal(fs_lag%x_d, fs_laglag%x_d, fs_d, &
530 ext_coeffs(1), ext_coeffs(2), ext_coeffs(3), n)
536 u, v, w, B, Blag, Blaglag, rho, dt, bd, nbd, n)
537 integer,
intent(in) :: n, nbd
538 type(
field_t),
intent(in) :: u, v, w
540 real(kind=
rp),
intent(inout) :: bfx(n), bfy(n), bfz(n)
541 real(kind=
rp),
intent(in) :: b(n), blag(n), blaglag(n)
542 real(kind=
rp),
intent(in) :: dt, rho, bd(4)
543 type(c_ptr) :: bfx_d, bfy_d, bfz_d, b_d, blag_d, blaglag_d
553 vlag%lf(1)%x_d, vlag%lf(2)%x_d, &
554 wlag%lf(1)%x_d, wlag%lf(2)%x_d, &
555 bfx_d, bfy_d, bfz_d, u%x_d, v%x_d, w%x_d, &
556 b_d, blag_d, blaglag_d, &
557 rho, dt, bd(2), bd(3), bd(4), nbd, n)
560 vlag%lf(1)%x_d, vlag%lf(2)%x_d, &
561 wlag%lf(1)%x_d, wlag%lf(2)%x_d, &
562 bfx_d, bfy_d, bfz_d, u%x_d, v%x_d, w%x_d, &
563 b_d, blag_d, blaglag_d, &
564 rho, dt, bd(2), bd(3), bd(4), nbd, n)
567 vlag%lf(1)%x_d, vlag%lf(2)%x_d, &
568 wlag%lf(1)%x_d, wlag%lf(2)%x_d, &
569 bfx_d, bfy_d, bfz_d, u%x_d, v%x_d, w%x_d, &
570 b_d, rho, dt, bd(2), bd(3), bd(4), nbd, n)
572 call rhs_maker_bdf_metal(ulag%lf(1)%x_d, ulag%lf(2)%x_d, &
573 vlag%lf(1)%x_d, vlag%lf(2)%x_d, &
574 wlag%lf(1)%x_d, wlag%lf(2)%x_d, &
575 bfx_d, bfy_d, bfz_d, u%x_d, v%x_d, w%x_d, &
576 b_d, rho, dt, bd(2), bd(3), bd(4), nbd, n)
583 integer,
intent(in) :: n, nbd
584 type(
field_t),
intent(in) :: s, rho_cp
586 real(kind=
rp),
intent(inout) :: fs(n)
587 real(kind=
rp),
intent(in) :: b(n)
588 real(kind=
rp),
intent(in) :: dt, bd(4)
589 type(c_ptr) :: fs_d, b_d
596 fs_d, s%x_d, b_d, rho_cp%x_d, dt, bd(2), bd(3), bd(4), &
600 fs_d, s%x_d, b_d, rho_cp%x_d, dt, bd(2), bd(3), bd(4), &
604 fs_d, s%x_d, b_d, rho_cp%x_d, dt, bd(2), bd(3), bd(4), &
607 call scalar_rhs_maker_bdf_metal(s_lag%lf(1)%x_d, s_lag%lf(2)%x_d, &
608 fs_d, s%x_d, b_d, rho_cp%x_d, dt, bd(2), bd(3), bd(4), &
616 real(kind=
rp),
intent(in) :: rho, dt
617 integer,
intent(in) :: n
618 real(kind=
rp),
intent(inout) :: bf_x(n), bf_y(n), bf_z(n)
619 real(kind=
rp),
intent(inout) :: phi_x(n), phi_y(n), phi_z(n)
621 type(c_ptr) :: phi_x_d, phi_y_d, phi_z_d, bf_x_d, bf_y_d, bf_z_d
632 bf_x_d, bf_y_d, bf_z_d, rho, dt, n)
635 bf_x_d, bf_y_d, bf_z_d, rho, dt, n)
638 bf_x_d, bf_y_d, bf_z_d, rho, dt, n)
640 call rhs_maker_oifs_metal(phi_x_d, phi_y_d, phi_z_d, &
641 bf_x_d, bf_y_d, bf_z_d, rho, dt, n)
647 type(
field_t),
intent(in) :: rho_cp
648 real(kind=
rp),
intent(in) :: dt
649 integer,
intent(in) :: n
650 real(kind=
rp),
intent(inout) :: bf_s(n)
651 real(kind=
rp),
intent(inout) :: phi_s(n)
652 type(c_ptr) :: phi_s_d, bf_s_d
664 call scalar_rhs_maker_oifs_metal(phi_s_d, bf_s_d, rho_cp%x_d, 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_cp, dt, bd, nbd, n)
subroutine scalar_rhs_maker_ext_device(fs_lag, fs_laglag, fs, ext_coeffs, 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 rhs_maker_bdf_device(ulag, vlag, wlag, bfx, bfy, bfz, u, v, w, b, blag, blaglag, rho, dt, bd, nbd, n)
subroutine scalar_rhs_maker_oifs_device(phi_s, bf_s, rho_cp, dt, 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)
Routines to generate the right-hand sides for the convection-diffusion equation. Employs the EXT/BDF ...
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_bdf_opencl(void *s_lag, void *s_laglag, void *fs, void *s, void *B, void *rho_cp, real *dt, real *bd2, real *bd3, real *bd4, int *nbd, int *n)
void scalar_rhs_maker_ext_opencl(void *fs_lag, void *fs_laglag, void *fs, real *ext1, real *ext2, real *ext3, 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_oifs_opencl(void *phi_s, void *bf_s, void *rho_cp, real *dt, 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, void *rho_cp, real *dt, 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 scalar_rhs_maker_bdf_cuda(void *s_lag, void *s_laglag, void *fs, void *s, void *B, void *rho_cp, real *dt, real *bd2, real *bd3, real *bd4, int *nbd, 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 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 scalar_rhs_maker_ext_cuda(void *fs_lag, void *fs_laglag, void *fs, real *ext1, real *ext2, real *ext3, 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.