7 use json_module,
only : json_file
25 type(
coef_t),
intent(in),
target :: coef
26 type(
bc_list_t),
intent(inout),
target :: bclst
27 type(json_file),
intent(inout) :: json
34 integer,
intent(in) :: n
35 real(kind=
rp),
intent(inout) :: z(n), r(n)
53 call register_precon(
'preconditioner_template', allocator)
57 class(
pc_t),
allocatable,
intent(inout) :: obj
__device__ T solve(const T u, const T y, const T guess, const T nu, const T kappa, const T B)
Allocate a preconditioner.
integer, parameter, public rp
Global precision used in computations.
Template for a user-defined Krylov preconditioner.
subroutine preconditioner_template_free(this)
subroutine preconditioner_template_update(this)
subroutine preconditioner_template_solve(this, z, r, n)
subroutine preconditioner_template_allocate(obj)
subroutine preconditioner_template_init(this, coef, bclst, json)
subroutine, public preconditioner_template_register_types()
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.