42 use,
intrinsic :: iso_c_binding
54 bind(c, name =
'scalar_residual_update_hip')
55 use,
intrinsic :: iso_c_binding
57 type(c_ptr),
value :: s_res_d
58 type(c_ptr),
value :: f_s_d
66 bind(c, name =
'scalar_residual_update_cuda')
67 use,
intrinsic :: iso_c_binding
69 type(c_ptr),
value :: s_res_d
70 type(c_ptr),
value :: f_s_d
78 bind(c, name =
'scalar_residual_update_opencl')
79 use,
intrinsic :: iso_c_binding
81 type(c_ptr),
value :: s_res_d
82 type(c_ptr),
value :: f_s_d
93 lambda, rhocp, bd, dt, n)
94 class(
ax_t),
intent(in) :: Ax
95 type(
mesh_t),
intent(inout) :: msh
96 type(
space_t),
intent(inout) :: Xh
97 type(
field_t),
intent(inout) :: s
98 type(
field_t),
intent(inout) :: s_res
99 type(
field_t),
intent(in) :: f_Xh
100 type(
coef_t),
intent(inout) :: c_Xh
101 type(
field_t),
intent(in) :: lambda
102 real(kind=
rp),
intent(in) :: rhocp
103 real(kind=
rp),
intent(in) :: bd
104 real(kind=
rp),
intent(in) :: dt
105 integer,
intent(in) :: n
111 call ax%compute(s_res%x, s%x, c_xh, msh, xh)
Defines a Matrix-vector product.
subroutine, public device_copy(a_d, b_d, n)
Copy a vector .
subroutine, public device_cfill(a_d, c, n)
Set all elements to a constant c .
integer, parameter, public rp
Global precision used in computations.
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.
Defines a function space.
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)
Base type for a matrix-vector product providing .
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
Abstract type to compute scalar residual.
The function space for the SEM solution fields.