39 use,
intrinsic :: iso_c_binding
51 bind(c, name=
'scalar_residual_update_hip')
52 use,
intrinsic :: iso_c_binding
54 type(c_ptr),
value :: s_res_d
55 type(c_ptr),
value :: f_s_d
63 bind(c, name=
'scalar_residual_update_cuda')
64 use,
intrinsic :: iso_c_binding
66 type(c_ptr),
value :: s_res_d
67 type(c_ptr),
value :: f_s_d
75 bind(c, name=
'scalar_residual_update_opencl')
76 use,
intrinsic :: iso_c_binding
78 type(c_ptr),
value :: s_res_d
79 type(c_ptr),
value :: f_s_d
90 lambda, rhocp, bd, dt, n)
91 class(ax_t),
intent(in) :: Ax
92 type(mesh_t),
intent(inout) :: msh
93 type(space_t),
intent(inout) :: Xh
94 type(field_t),
intent(inout) :: s
95 type(field_t),
intent(inout) :: s_res
96 type(field_t),
intent(inout) :: f_Xh
97 type(coef_t),
intent(inout) :: c_Xh
98 real(kind=rp),
intent(in) :: lambda
99 real(kind=rp),
intent(in) :: rhocp
100 real(kind=rp),
intent(in) :: bd
101 real(kind=rp),
intent(in) :: dt
102 integer,
intent(in) :: n
108 call ax%compute(s_res%x, s%x, c_xh, msh, xh)
subroutine, public device_cfill(a_d, c, n)
subroutine scalar_residual_device_compute(Ax, s, s_res, f_Xh, c_Xh, msh, Xh, lambda, rhocp, bd, dt, n)
Defines the residual for the scalar transport equation.
void scalar_residual_update_opencl(void *s_res, void *f_s, int *n)
void scalar_residual_update_cuda(void *s_res, void *f_s, int *n)
Abstract type to compute scalar residual.