35 #include "qrm_common.h" 58 #if defined(have_scotch) 65 #if defined(have_scotch) 66 integer :: i, info, cblknbr
68 integer,
allocatable :: iperm(:)
69 real(kind(1.d0)) :: grafdat(scotch_graphdim), stradat(scotch_stratdim), orderdat(scotch_orderdim)
72 character(len=*),
parameter :: name=
'qrm_do_scotch' 77 __qrm_check_ret(name,
'qrm_ata_graph',9999)
80 call scotchfgraphinit(grafdat, info)
81 call scotchfstratinit(stradat, info)
87 call scotchfgraphbuild(grafdat, 1, ata_graph%n, ata_graph%iptr(1), &
88 & ata_graph%iptr(2), ata_graph%iptr, ata_graph%iptr, ata_graph%nz, &
89 & ata_graph%jcn, ata_graph%jcn, info)
95 call scotchfgraphorder(grafdat, stradat, grafdat, cperm, cblknbr, &
96 & grafdat, grafdat, info)
102 call scotchfgraphexit(grafdat)
103 call scotchfstratexit(stradat)
106 __qrm_check_ret(name,
'qrm_spmat_destroy',9999)
subroutine dqrm_do_scotch(graph, cperm)
Please refer to:
subroutine qrm_err_push(code, sub, ied, aed)
This subroutine pushes an error on top of the stack.
This module contains the generic interfaces for all the analysis routines.
subroutine qrm_err_act_save(err_act)
Saves a copy of the qrm_err_act variable.
This module contains all the error management routines and data.
This module contains the definition of the basic sparse matrix type and of the associated methods...
integer, parameter qrm_abort_
Possible actions to be performed upon detection of an error.
subroutine dqrm_spmat_destroy(qrm_spmat, all)
This subroutine destroyes a qrm_spmat instance.
subroutine qrm_err_check()
This subroutine checks the errors stack. If something is found all the entries in the stack are poppe...
This type defines the data structure used to store a matrix.
subroutine dqrm_ata_graph(g_csc, ata_graph)
This subroutine computes the fill reducing ordering using METIS.
This module implements the memory handling routines. Pretty mucch allocations and deallocations...
subroutine qrm_err_act_restore(err_act)
Restores the value of the qrm_err_act variable.