fact_superlu Subroutine

public subroutine fact_superlu(sulu, verbose)

Arguments

Type IntentOptional AttributesName
type(SULU_ENV), intent(inout) :: sulu
logical(kind=I4), intent(in) :: verbose

Calls

proc~~fact_superlu~~CallsGraph proc~fact_superlu fact_superlu interface~dgssvx dgssvx proc~fact_superlu->interface~dgssvx interface~statfree StatFree proc~fact_superlu->interface~statfree interface~statinit StatInit proc~fact_superlu->interface~statinit

Contents

Source Code


Source Code

   subroutine fact_superlu(sulu, verbose)
   implicit none
   type(SULU_ENV),   intent(inout) :: sulu
   logical(kind=I4), intent(in)    :: verbose

      sulu%lwork = 0
      call StatInit(sulu%stat)

      sulu%options%Fact = DOFACT
      sulu%SMB%ncol     = 0

      call dgssvx(   options            = sulu%options,       & ! superlu_options_t   *options
                     A                  = sulu%SMA,           & ! SuperMatrix         *A
                     perm_c             = sulu%perm_c,        & ! int                 *perm_c
                     perm_r             = sulu%perm_r,        & ! int                 *perm_r
                     etree              = sulu%etree ,        & ! int                 *etree
                     equed              = sulu%equed,         & ! char                *equed
                     R                  = sulu%RR,            & ! double              *R
                     C                  = sulu%CC,            & ! double              *C
                     L                  = sulu%SML,           & ! SuperMatrix         *L
                     U                  = sulu%SMU,           & ! SuperMatrix         *U
                     work               = sulu%work,          & ! void                *work
                     lwork              = sulu%lwork,         & ! int                  lwork
                     B                  = sulu%SMB,           & ! SuperMatrix         *B
                     X                  = sulu%SMX,           & ! SuperMatrix         *X
                     recip_pivot_growth = sulu%rpg,           & ! double              *recip_pivot_growth
                     rcond              = sulu%rcond,         & ! double              *rcond
                     ferr               = sulu%ferr,          & ! double              *ferr
                     berr               = sulu%berr,          & ! double              *berr
                     Glu                = sulu%Glu,           & ! GlobalLU_t          *Glu
                     mem_usage          = sulu%mem_usage,     & ! mem_usage_t         *mem_usage
                     stat               = sulu%stat,          & ! SuperLUStat_t       *stat
                     info               = sulu%info           & ! int                 *info
                  )

      if (verbose) call StatPrint(sulu%stat)
      call StatFree(sulu%stat)

   return
   endsubroutine fact_superlu