Neko
0.8.1
A portable framework for high-order spectral element flow simulations
|
Fused preconditioned conjugate gradient method. More...
Public Member Functions | |
procedure, pass(this) | init => fusedcg_device_init |
procedure, pass(this) | free => fusedcg_device_free |
procedure, pass(this) | solve => fusedcg_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 | z |
real(kind=rp), dimension(:,:), allocatable | p |
real(kind=rp), dimension(:), allocatable | alpha |
type(c_ptr) | w_d = C_NULL_PTR |
type(c_ptr) | r_d = C_NULL_PTR |
type(c_ptr) | z_d = C_NULL_PTR |
type(c_ptr) | alpha_d = C_NULL_PTR |
type(c_ptr) | p_d_d = C_NULL_PTR |
type(c_ptr), dimension(:), allocatable | p_d |
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... | |
Fused preconditioned conjugate gradient method.
Definition at line 53 of file fusedcg_device.F90.
procedure, pass(this) fusedcg_device::fusedcg_device_t::free |
Definition at line 68 of file fusedcg_device.F90.
procedure, pass(this) fusedcg_device::fusedcg_device_t::init |
Definition at line 67 of file fusedcg_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) fusedcg_device::fusedcg_device_t::solve |
Definition at line 69 of file fusedcg_device.F90.
|
inherited |
Absolute tolerance.
Definition at line 68 of file krylov.f90.
real(kind=rp), dimension(:), allocatable fusedcg_device::fusedcg_device_t::alpha |
Definition at line 58 of file fusedcg_device.F90.
type(c_ptr) fusedcg_device::fusedcg_device_t::alpha_d = C_NULL_PTR |
Definition at line 62 of file fusedcg_device.F90.
type(c_ptr) fusedcg_device::fusedcg_device_t::gs_event = C_NULL_PTR |
Definition at line 65 of file fusedcg_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 fusedcg_device::fusedcg_device_t::p |
Definition at line 57 of file fusedcg_device.F90.
type(c_ptr), dimension(:), allocatable fusedcg_device::fusedcg_device_t::p_d |
Definition at line 64 of file fusedcg_device.F90.
type(c_ptr) fusedcg_device::fusedcg_device_t::p_d_d = C_NULL_PTR |
Definition at line 63 of file fusedcg_device.F90.
real(kind=rp), dimension(:), allocatable fusedcg_device::fusedcg_device_t::r |
Definition at line 55 of file fusedcg_device.F90.
type(c_ptr) fusedcg_device::fusedcg_device_t::r_d = C_NULL_PTR |
Definition at line 60 of file fusedcg_device.F90.
|
inherited |
Relative tolerance.
Definition at line 67 of file krylov.f90.
real(kind=rp), dimension(:), allocatable fusedcg_device::fusedcg_device_t::w |
Definition at line 54 of file fusedcg_device.F90.
type(c_ptr) fusedcg_device::fusedcg_device_t::w_d = C_NULL_PTR |
Definition at line 59 of file fusedcg_device.F90.
real(kind=rp), dimension(:), allocatable fusedcg_device::fusedcg_device_t::z |
Definition at line 56 of file fusedcg_device.F90.
type(c_ptr) fusedcg_device::fusedcg_device_t::z_d = C_NULL_PTR |
Definition at line 61 of file fusedcg_device.F90.