solve_lu Submodule


Uses

    • Ancestors:
    • solver_solve
  • module~~solve_lu~~UsesGraph module~solve_lu solve_lu solver_solve solver_solve module~solve_lu->solver_solve

Module Functions

module function construct_type_solver_dense_lu(N) result(structure)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: N

Return Value class(abst_solver), allocatable

module function construct_type_solver_sparse_crs_lu(N, MAXFCT, MNUM, MTYPE, PHASE, NRHS, MSGVLV, A) result(structure)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: N
integer(kind=int32), intent(in) :: MAXFCT
integer(kind=int32), intent(in) :: MNUM
integer(kind=int32), intent(in) :: MTYPE
integer(kind=int32), intent(in) :: PHASE
integer(kind=int32), intent(in) :: NRHS
integer(kind=int32), intent(in) :: MSGVLV
type(type_crs), intent(in) :: A

Return Value class(abst_solver), allocatable


Module Subroutines

module subroutine check_dense_lu(self, status, time)

Arguments

Type IntentOptional Attributes Name
class(type_solver_dense_lu), intent(inout) :: self
integer(kind=int32), intent(in) :: status
real(kind=real64), intent(in) :: time

module subroutine check_sparse_crs_lu(self, status, time)

Arguments

Type IntentOptional Attributes Name
class(type_solver_sparse_crs_lu), intent(inout) :: self
integer(kind=int32), intent(in) :: status
real(kind=real64), intent(in) :: time

module subroutine solve_dense_lu(self, A, b, x, status)

solve linear equation

Arguments

Type IntentOptional Attributes Name
class(type_solver_dense_lu), intent(inout) :: self
class(abst_matrix), intent(in) :: A
real(kind=real64), intent(inout) :: b(:)
real(kind=real64), intent(inout) :: x(:)
integer(kind=int32), intent(inout) :: status

LU decomposition

module subroutine solve_sparse_crs_lu(self, A, b, x, status)

Arguments

Type IntentOptional Attributes Name
class(type_solver_sparse_crs_lu), intent(inout) :: self
class(abst_matrix), intent(in) :: A
real(kind=real64), intent(inout) :: b(:)
real(kind=real64), intent(inout) :: x(:)
integer(kind=int32), intent(inout) :: status