FrontISTR 5.2.0
Large-scale structural analysis program with finit element method
Loading...
Searching...
No Matches
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
17contains
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
45end module hecmw_ordering_rcm
HECMW_ORDERING_RCM is a program for fill-reducing ordering.
subroutine, public hecmw_ordering_genrcm(neqns, xadj, adj0, perm, invp)
I/O and Utility.
Definition: hecmw_util_f.F90:7
subroutine, public hecmw_matrix_ordering_rcm(n, indexl, iteml, indexu, itemu, perm, iperm)