FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_ordering_rcm.f90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
2 ! Copyright (c) 2020 FrontISTR Commons
3 ! This software is released under the MIT License, see LICENSE.txt
4 !-------------------------------------------------------------------------------
5 
6 !----------------------------------------------------------------------
8 ! for direct solver
9 !----------------------------------------------------------------------
11  use hecmw_util
12  implicit none
13 
14  private
15  public :: hecmw_ordering_genrcm
16 
17 contains
18 
19  subroutine hecmw_ordering_genrcm(Neqns,Xadj,Adj0,Perm,Invp)
21  implicit none
22  integer(kind=kint), intent(in):: neqns
23  integer(kind=kint), intent(in):: adj0(:)
24  integer(kind=kint), intent(in):: xadj(:)
25  integer(kind=kint), intent(out):: perm(:)
26  integer(kind=kint), intent(out):: invp(:)
27  integer(kind=kint), allocatable:: indexl(:), indexu(:), itemu(:)
28  integer(kind=kint) :: i
29  allocate(indexl(0:neqns))
30  allocate(indexu(0:neqns))
31  allocate(itemu(1))
32  ! 1-based numbering to 0-based numbering
33  do i = 0, neqns
34  indexl(i) = xadj(i+1)-1
35  enddo
36  ! empty index/item for upper triangle
37  indexu(:) = 0
38  itemu(:) = 0
39  call hecmw_matrix_ordering_rcm(neqns, indexl, adj0, indexu, itemu, perm, invp)
40  deallocate(indexl)
41  deallocate(indexu)
42  deallocate(itemu)
43  end subroutine hecmw_ordering_genrcm
44 
45 end module hecmw_ordering_rcm
m_hecmw_matrix_ordering_cm
Definition: hecmw_matrix_ordering_CM.f90:6
hecmw_ordering_rcm
HECMW_ORDERING_RCM is a program for fill-reducing ordering.
Definition: hecmw_ordering_rcm.f90:10
hecmw_util
I/O and Utility.
Definition: hecmw_util_f.F90:7
hecmw_ordering_rcm::hecmw_ordering_genrcm
subroutine, public hecmw_ordering_genrcm(Neqns, Xadj, Adj0, Perm, Invp)
Definition: hecmw_ordering_rcm.f90:20
m_hecmw_matrix_ordering_cm::hecmw_matrix_ordering_rcm
subroutine, public hecmw_matrix_ordering_rcm(N, indexL, itemL, indexU, itemU, perm, iperm)
Definition: hecmw_matrix_ordering_CM.f90:67