40 use json_module,
only : json_file
42 use,
intrinsic :: iso_c_binding, only : c_ptr
60 type(
coef_t),
intent(in),
target :: coef
61 type(
bc_list_t),
intent(inout),
target :: bclst
62 type(json_file),
intent(inout) :: json
67 integer,
intent(in) :: n
69 real(kind=
rp),
dimension(n),
intent(inout) :: z
70 real(kind=
rp),
dimension(n),
intent(inout) :: r
71 type(c_ptr) :: z_d, r_d
__device__ T solve(const T u, const T y, const T guess, const T nu, const T kappa, const T B)
Return the device pointer for an associated Fortran array.
Identity Krylov preconditioner for accelerators.
subroutine device_ident_free(this)
Mandatory free routine (NOP)
subroutine device_ident_update(this)
Mandatory update routine (NOP)
subroutine device_ident_solve(this, z, r, n)
The (default) naive preconditioner .
subroutine device_ident_init(this, coef, bclst, json)
Mandatory init routine (NOP)
subroutine, public device_copy(a_d, b_d, n, strm)
Copy a vector .
Device abstraction, common interface for various accelerators.
integer, parameter, public rp
Global precision used in computations.
A list of allocatable `bc_t`. Follows the standard interface of lists.
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
Defines a canonical Krylov preconditioner for accelerators.
Defines a canonical Krylov preconditioner.