solver_t Derived Type

type, public, abstract :: solver_t

Inherited By

type~~solver_t~~InheritedByGraph type~solver_t solver_t type~sor_t SOR_t type~solver_t->type~sor_t type~conjugategradient_t conjugateGradient_t type~solver_t->type~conjugategradient_t type~gaussseidel_t gaussSeidel_t type~solver_t->type~gaussseidel_t type~jacobi_t jacobi_t type~solver_t->type~jacobi_t type~bicgstab_t biCGSTAB_t type~solver_t->type~bicgstab_t
Help

Components

TypeVisibility AttributesNameInitial
integer, public :: maxIts =-1
real(kind=wp), public :: tol =1.0E-6_wp
character(len=:), public, allocatable:: name_long
character(len=:), public, allocatable:: name_short
real(kind=wp), public :: solveTime

Type-Bound Procedures

procedure(setup_p), public, deferred :: setup

  • subroutine setup_p(self, A) Prototype

    Arguments

    Type IntentOptional AttributesName
    class(solver_t), intent(inout) :: self
    class(sparse_t), intent(in) :: A

procedure(step_p), public, deferred :: step

  • function step_p(self, A, b, x0, l) result(x1) Prototype

    Arguments

    Type IntentOptional AttributesName
    class(solver_t), intent(inout) :: self
    class(sparse_t), intent(in) :: A
    real(kind=wp), intent(in), dimension(A%N):: b
    real(kind=wp), intent(in), dimension(A%N):: x0
    integer, intent(in) :: l

    Return Value real(kind=wp), dimension(:), allocatable

procedure(solve_p), public, deferred :: solve

  • function solve_p(self, A, b, x0) result(x) Prototype

    Arguments

    Type IntentOptional AttributesName
    class(solver_t), intent(inout) :: self
    class(sparse_t), intent(in) :: A
    real(kind=wp), intent(in), dimension(A%N):: b
    real(kind=wp), intent(in), optional dimension(A%N):: x0

    Return Value real(kind=wp), dimension(:), allocatable