gaussSeidel_t Derived Type

type, public, extends(solver_t) :: gaussSeidel_t

type~~gaussseidel_t~~InheritsGraph type~gaussseidel_t gaussSeidel_t type~solver_t solver_t type~solver_t->type~gaussseidel_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
real(kind=wp), public, dimension(:), allocatable:: D

Constructor

public interface gaussSeidel_t

  • private function newGaussSeidel() result(self)

    Arguments

    None

    Return Value type(gaussSeidel_t)


Type-Bound Procedures

procedure, public :: setup => setup_gs

  • private subroutine setup_gs(self, A)

    Arguments

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

procedure, public :: step => step_gs

  • private function step_gs(self, A, b, x0, l) result(x)

    Arguments

    Type IntentOptional AttributesName
    class(gaussSeidel_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, public :: solve => solve_gs

  • private function solve_gs(self, A, b, x0) result(x)

    Arguments

    Type IntentOptional AttributesName
    class(gaussSeidel_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