solvers_mod Module

module~~solvers_mod~~UsesGraph module~solvers_mod solvers_mod module~sparse_mod sparse_mod module~sparse_mod->module~solvers_mod module~kinds_mod kinds_mod module~kinds_mod->module~solvers_mod module~kinds_mod->module~sparse_mod module~time_mod time_mod module~kinds_mod->module~time_mod module~text_mod text_mod module~kinds_mod->module~text_mod module~array_mod array_mod module~kinds_mod->module~array_mod module~time_mod->module~solvers_mod module~time_mod->module~text_mod module~text_mod->module~solvers_mod module~array_mod->module~sparse_mod iso_c_binding iso_c_binding iso_c_binding->module~time_mod iso_fortran_env iso_fortran_env iso_fortran_env->module~text_mod
Help

Used By

module~~solvers_mod~~UsedByGraph module~solvers_mod solvers_mod program~testsparse_prg testSparse_prg module~solvers_mod->program~testsparse_prg
Help


Interfaces

public interface jacobi_t

  • private function newJacobi() result(self)

    Arguments

    None

    Return Value type(jacobi_t)

public interface gaussSeidel_t

  • private function newGaussSeidel() result(self)

    Arguments

    None

    Return Value type(gaussSeidel_t)

public interface SOR_t

  • private function newSOR(w) result(self)

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in) :: w

    Return Value type(SOR_t)

public interface conjugateGradient_t

  • private function newConjugateGradient() result(self)

    Arguments

    None

    Return Value type(conjugateGradient_t)

public interface biCGSTAB_t

  • private function newBiCGSTAB() result(self)

    Arguments

    None

    Return Value type(biCGSTAB_t)


Derived Types

type, public, abstract :: solver_t

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 :: setup
procedure(step_p), public :: step
procedure(solve_p), public :: solve

type, public, extends(solver_t) :: jacobi_t

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

private function newJacobi()

Type-Bound Procedures

procedure, public :: setup => setup_jkb
procedure, public :: step => step_jkb
procedure, public :: solve => solve_jkb

type, public, extends(solver_t) :: gaussSeidel_t

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

private function newGaussSeidel()

Type-Bound Procedures

procedure, public :: setup => setup_gs
procedure, public :: step => step_gs
procedure, public :: solve => solve_gs

type, public, extends(solver_t) :: SOR_t

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
real(kind=wp), public :: w =1.0_wp

Constructor

private function newSOR(w)

Type-Bound Procedures

procedure, public :: setup => setup_sor
procedure, public :: step => step_sor
procedure, public :: solve => solve_sor

type, public, extends(solver_t) :: conjugateGradient_t

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

Constructor

private function newConjugateGradient()

Type-Bound Procedures

procedure, public :: setup => setup_cg
procedure, public :: step => step_cg
procedure, public :: solve => solve_cg

type, public, extends(solver_t) :: biCGSTAB_t

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

Constructor

private function newBiCGSTAB()

Type-Bound Procedures

procedure, public :: setup => setup_bcg
procedure, public :: step => step_bcg
procedure, public :: solve => solve_bcg