55 type(
field_t),
intent(inout) :: s
56 real(kind=
rp),
intent(in) :: ref_value
57 real(kind=
rp),
intent(in) :: g(3)
58 real(kind=
rp),
intent(in) :: beta
59 integer :: n_fields, i, n
61 n_fields =
size(fields%fields)
62 n = fields%fields(1)%f%dof%size()
65 call device_add2s2(fields%fields(i)%f%x_d, s%x_d, g(i)*beta, n)
66 call device_cadd(fields%fields(i)%f%x_d, -g(i)*beta*ref_value, n)
Implements the device kernel for the boussinesq_source_term_t type.
subroutine, public boussinesq_source_term_compute_device(fields, s, ref_value, g, beta)
Computes the Boussinesq source term on the device.
subroutine, public device_add2s2(a_d, b_d, c1, n)
subroutine, public device_cadd(a_d, c, n)
integer, parameter, public rp
Global precision used in computations.
field_list_t, To be able to group fields together