Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(psb_dspmat_type), | private | :: | a | PSBLAS |
|||
character(len=10), | private | :: | cmethod | ||||
character(len=10), | private | :: | cprec | ||||
real(kind=psb_dpk_), | private, | allocatable | :: | diag(:) | A's diag |
||
type(dimensions), | private | :: | dim | Dimensions |
|||
real(kind=psb_dpk_), | private | :: | eps_solv | ||||
integer, | private | :: | itmax_solv | ||||
type(mesh), | private, | pointer | :: | msh | => | null() | Mesh |
logical, | private | :: | mtx_sys | ||||
character(len=32), | private | :: | name | Name |
|||
integer, | private | :: | nlev | ||||
type(psb_dprec_type), | private | :: | prec | ||||
integer, | private | :: | status |
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(inout) | :: | eqn |
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(inout) | :: | eqn |
Constructor
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(out) | :: | eqn | |||
character(len=*), | intent(in) | :: | input_file | |||
character(len=*), | intent(in) | :: | sec | |||
type(mesh), | intent(inout), | target | :: | msh | ||
type(dimensions), | intent(in) | :: | dim |
Constructor
Destructor
Constructor
Destructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(inout) | :: | eqn |
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(inout) | :: | eqn |
Constructor
Constructor
Constructor
Status inquirer
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(in) | :: | eqn |
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(in) | :: | eqn |
Constructor
Constructor
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(in) | :: | eqn |
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(inout) | :: | eqn |
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(inout) | :: | eqn | |||
real(kind=psb_dpk_), | intent(in) | :: | b(:) | |||
real(kind=psb_dpk_), | intent(out) | :: | x(:) | |||
integer, | intent(out) | :: | iter | |||
real(kind=psb_dpk_), | intent(out) | :: | err |
Linear System Solving
Constructor
Linear System Solving Inserts a ``cloud'' of coefficients into eqn%A
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
integer, | intent(in) | :: | ia(:) | |||
integer, | intent(in) | :: | ja(:) | |||
real(kind=psb_dpk_), | intent(in) | :: | cloud(:) | |||
class(pde), | intent(inout) | :: | eqn |
Constructor
Constructor
Output
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(in) | :: | eqn | |||
character(len=*), | intent(in) | :: | mat | |||
logical, | intent(out) | :: | mtx_rhs |
Getter
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(inout) | :: | eqn | |||
type(psb_dspmat_type) | :: | b |
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(inout) | :: | eqn | |||
real(kind=psb_dpk_), | allocatable | :: | d(:) |
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(in) | :: | eqn |
Getter
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(in) | :: | eqn |
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(in) | :: | eqn | |||
type(mesh), | pointer | :: | msh |
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(in) | :: | eqn |
Getter & Setter
Constructor
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pde), | intent(inout) | :: | eqn |
TYPE pde
PRIVATE
CHARACTER(len=32) :: name !! Name
TYPE(dimensions) :: dim !! Dimensions
TYPE(mesh), POINTER :: msh => NULL() !! Mesh
TYPE(psb_dspmat_type) :: A !! PSBLAS
REAL(psb_dpk_), ALLOCATABLE :: diag(:) !! A's diag
! Linear System
TYPE(psb_dprec_type) :: prec
CHARACTER(len=10) :: cmethod
CHARACTER(len=10) :: cprec
INTEGER :: nlev
REAL(psb_dpk_) :: eps_solv
INTEGER :: itmax_solv
LOGICAL :: mtx_sys
! Status
INTEGER :: status
CONTAINS
PROCEDURE, PUBLIC :: create_pde !! Constructor
PROCEDURE, PUBLIC, PASS(eqn) :: spins_pde !! Linear System Solving
PROCEDURE, PUBLIC :: free_pde !! Destructor
PROCEDURE, PUBLIC :: write_pde
PROCEDURE, PRIVATE :: get_pde_dim, get_pde_msh_fun !! Getter
GENERIC, PUBLIC :: dim_ => get_pde_dim
GENERIC, PUBLIC :: msh_ => get_pde_msh_fun
PROCEDURE, PRIVATE :: get_pde_diag, update_pde_diag !! Getter & Setter
GENERIC, PUBLIC :: get_diag => get_pde_diag
PROCEDURE, PRIVATE :: get_pde_A !! Getter
GENERIC, PUBLIC :: get_A => get_pde_A
GENERIC, PUBLIC :: update_diag => update_pde_diag
PROCEDURE :: is_pde_bld, is_pde_asb !! Status inquirer
PROCEDURE :: free_pde_prec, build_pde_prec
PROCEDURE :: solve_pde_sys, reinit_pde
PROCEDURE, PRIVATE :: get_pde_name
GENERIC, PUBLIC :: name_ => get_pde_name
PROCEDURE, PUBLIC :: nemo_sizeof
PROCEDURE, PRIVATE :: get_pde_msh_sub
GENERIC, PUBLIC :: get_mesh => get_pde_msh_sub
PROCEDURE, PUBLIC :: asb_pde_
END TYPE pde