Neko
0.8.1
A portable framework for high-order spectral element flow simulations
|
Device based preconditioned conjugate gradient method. More...
Public Member Functions | |
procedure, pass(this) | init => cg_device_init |
procedure, pass(this) | free => cg_device_free |
procedure, pass(this) | solve => cg_device_solve |
procedure, pass(this) | ksp_init => krylov_init |
Base type constructor. More... | |
procedure, pass(this) | ksp_free => krylov_free |
Base type destructor. More... | |
procedure, pass(this) | set_pc => krylov_set_pc |
Set preconditioner. More... | |
Public Attributes | |
real(kind=rp), dimension(:), allocatable | w |
real(kind=rp), dimension(:), allocatable | r |
real(kind=rp), dimension(:), allocatable | p |
real(kind=rp), dimension(:), allocatable | z |
type(c_ptr) | w_d = C_NULL_PTR |
type(c_ptr) | r_d = C_NULL_PTR |
type(c_ptr) | p_d = C_NULL_PTR |
type(c_ptr) | z_d = C_NULL_PTR |
type(c_ptr) | gs_event = C_NULL_PTR |
class(pc_t), pointer | m => null() |
Preconditioner. More... | |
real(kind=rp) | rel_tol |
Relative tolerance. More... | |
real(kind=rp) | abs_tol |
Absolute tolerance. More... | |
integer | max_iter |
Maximum number of iterations. More... | |
class(pc_t), allocatable | m_ident |
Internal preconditioner (Identity) More... | |
Device based preconditioned conjugate gradient method.
Definition at line 50 of file cg_device.f90.
procedure, pass(this) cg_device::cg_device_t::free |
Definition at line 62 of file cg_device.f90.
procedure, pass(this) cg_device::cg_device_t::init |
Definition at line 61 of file cg_device.f90.
|
inherited |
Base type destructor.
Definition at line 75 of file krylov.f90.
|
inherited |
Base type constructor.
Definition at line 73 of file krylov.f90.
|
inherited |
Set preconditioner.
Definition at line 77 of file krylov.f90.
procedure, pass(this) cg_device::cg_device_t::solve |
Definition at line 63 of file cg_device.f90.
|
inherited |
Absolute tolerance.
Definition at line 68 of file krylov.f90.
type(c_ptr) cg_device::cg_device_t::gs_event = C_NULL_PTR |
Definition at line 59 of file cg_device.f90.
|
inherited |
Preconditioner.
Definition at line 66 of file krylov.f90.
|
inherited |
Internal preconditioner (Identity)
Definition at line 70 of file krylov.f90.
|
inherited |
Maximum number of iterations.
Definition at line 69 of file krylov.f90.
real(kind=rp), dimension(:), allocatable cg_device::cg_device_t::p |
Definition at line 53 of file cg_device.f90.
type(c_ptr) cg_device::cg_device_t::p_d = C_NULL_PTR |
Definition at line 57 of file cg_device.f90.
real(kind=rp), dimension(:), allocatable cg_device::cg_device_t::r |
Definition at line 52 of file cg_device.f90.
type(c_ptr) cg_device::cg_device_t::r_d = C_NULL_PTR |
Definition at line 56 of file cg_device.f90.
|
inherited |
Relative tolerance.
Definition at line 67 of file krylov.f90.
real(kind=rp), dimension(:), allocatable cg_device::cg_device_t::w |
Definition at line 51 of file cg_device.f90.
type(c_ptr) cg_device::cg_device_t::w_d = C_NULL_PTR |
Definition at line 55 of file cg_device.f90.
real(kind=rp), dimension(:), allocatable cg_device::cg_device_t::z |
Definition at line 54 of file cg_device.f90.
type(c_ptr) cg_device::cg_device_t::z_d = C_NULL_PTR |
Definition at line 58 of file cg_device.f90.