Wrapper for dsm to compute the sparsity pattern partition.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sparsity_pattern), | intent(inout) | :: | me | |||
integer, | intent(in) | :: | n |
number of columns of jacobian matrix |
||
integer, | intent(in) | :: | m |
number of rows of jacobian matrix |
||
integer, | intent(out) | :: | info |
status output from dsm |
subroutine dsm_wrapper(me,n,m,info) implicit none class(sparsity_pattern),intent(inout) :: me integer,intent(in) :: n !! number of columns of jacobian matrix integer,intent(in) :: m !! number of rows of jacobian matrix integer,intent(out) :: info !! status output from [[dsm]] integer :: mingrp !! for call to [[dsm]] integer,dimension(:),allocatable :: ipntr !! for call to [[dsm]] integer,dimension(:),allocatable :: jpntr !! for call to [[dsm]] integer,dimension(:),allocatable :: irow !! for call to [[dsm]] !! (temp copy since [[dsm]] !! will modify it) integer,dimension(:),allocatable :: icol !! for call to [[dsm]] !! (temp copy since [[dsm]] !! will modify it) allocate(ipntr(m+1)) allocate(jpntr(n+1)) allocate(me%ngrp(n)) irow = me%irow icol = me%icol call dsm(m,n,me%num_nonzero_elements,& irow,icol,& me%ngrp,me%maxgrp,& mingrp,info,ipntr,jpntr) end subroutine dsm_wrapper