|
| subroutine | bicgstab_device::device_bicgstab_update_p (p_d, r_d, v_d, beta, omega, n) |
| | Search direction update \(p = r + \beta (p - \omega v)\).
|
| |
| subroutine | bicgstab_device::device_bicgstab_product_and_norm (product, norm_squared, a_d, b_d, mult_d, n) |
| | Weighted inner product and squared norm in one reduction.
|
| |
| real(kind=rp) function | bicgstab_device::device_bicgstab_part1 (s_d, r_d, v_d, mult_d, alpha, n) |
| | BiCGStab part 1, \(s = r - \alpha v\).
|
| |
| subroutine | bicgstab_device::device_bicgstab_part2 (rtr, rho, x_d, r_d, p_hat_d, s_hat_d, s_d, t_d, f_d, mult_d, alpha, omega, n) |
| | BiCGStab part 2, \(x = x + \alpha \hat{p} + \omega \hat{s}\) and \(r = s - \omega t\).
|
| |
| subroutine | bicgstab_device::bicgstab_device_init (this, n, max_iter, m, rel_tol, abs_tol, monitor) |
| | Initialise a device BiCGStab solver.
|
| |
| subroutine | bicgstab_device::bicgstab_device_free (this) |
| | Free a device BiCGStab solver.
|
| |
| type(ksp_monitor_t) function | bicgstab_device::bicgstab_device_solve (this, ax, x, f, n, coef, bc_projector, gs_h, niter) |
| | Solve a linear system with the device BiCGStab method.
|
| |
| subroutine | bicgstab_device::bicgstab_device_check_inner_product (inner_product, norm_a, norm_b, quantity) |
| | Check an inner product for a BiCGStab breakdown.
|
| |
| real(kind=rp) function | bicgstab_device::bicgstab_device_sqrt (value, quantity) |
| | Return the square root of a valid squared norm.
|
| |
| type(ksp_monitor_t) function, dimension(3) | bicgstab_device::bicgstab_device_solve_coupled (this, ax, x, y, z, fx, fy, fz, n, coef, bc_projector, gs_h, niter) |
| | Solve three independent systems with the device BiCGStab method.
|
| |