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)
113 if(err_act .eq. qrm_abort_)
then
This module contains all the error management routines and data.
subroutine dqrm_do_scotch(graph, cperm)
Please refer to:
subroutine qrm_err_act_restore(err_act)
Restores the value of the qrm_err_act variable.
This module contains the definition of the basic sparse matrix type and of the associated methods...
subroutine qrm_err_check()
This subroutine checks the errors stack. If something is found all the entries in the stack are poppe...
subroutine dqrm_spmat_destroy(qrm_spmat, all)
This subroutine destroyes a qrm_spmat instance.
This type defines the data structure used to store a matrix.
This module contains the generic interfaces for all the analysis routines.
This module implements the memory handling routines. Pretty mucch allocations and deallocations...
subroutine dqrm_ata_graph(g_csc, ata_graph)
This subroutine computes the fill reducing ordering using METIS.
subroutine qrm_err_push(code, sub, ied, aed)
This subroutine pushes an error on top of the stack.
subroutine qrm_err_act_save(err_act)
Saves a copy of the qrm_err_act variable.