Neko
0.8.1
A portable framework for high-order spectral element flow simulations
|
Defines various Conjugate Gradient methods for accelerators. More...
Data Types | |
type | cg_device_t |
Device based preconditioned conjugate gradient method. More... | |
Functions/Subroutines | |
subroutine | cg_device_init (this, n, max_iter, M, rel_tol, abs_tol) |
Initialise a device based PCG solver. More... | |
subroutine | cg_device_free (this) |
Deallocate a device based PCG solver. More... | |
type(ksp_monitor_t) function | cg_device_solve (this, Ax, x, f, n, coef, blst, gs_h, niter) |
Standard PCG solve. More... | |
Defines various Conjugate Gradient methods for accelerators.
subroutine cg_device::cg_device_free | ( | class(cg_device_t), intent(inout) | this | ) |
Deallocate a device based PCG solver.
Definition at line 108 of file cg_device.f90.
subroutine cg_device::cg_device_init | ( | class(cg_device_t), intent(inout) | this, |
integer, intent(in) | n, | ||
integer, intent(in) | max_iter, | ||
class(pc_t), intent(inout), optional, target | M, | ||
real(kind=rp), intent(inout), optional | rel_tol, | ||
real(kind=rp), intent(inout), optional | abs_tol | ||
) |
Initialise a device based PCG solver.
Definition at line 69 of file cg_device.f90.
type(ksp_monitor_t) function cg_device::cg_device_solve | ( | class(cg_device_t), intent(inout) | this, |
class(ax_t), intent(inout) | Ax, | ||
type(field_t), intent(inout) | x, | ||
real(kind=rp), dimension(n), intent(inout) | f, | ||
integer, intent(in) | n, | ||
type(coef_t), intent(inout) | coef, | ||
type(bc_list_t), intent(inout) | blst, | ||
type(gs_t), intent(inout) | gs_h, | ||
integer, intent(in), optional | niter | ||
) |
Standard PCG solve.
Definition at line 154 of file cg_device.f90.