get_dual_conn Interface

interface

**m Connectivity/free_conn

NAME free_conn USAGE call free_conn(a2b)

DESCRIPTION Destructor

INPUTS a2b :: type(connectivity) The connectivity to be destroyed;


**f Connectivity/bcast_conn

NAME bcast_conn USAGE

 call bcast_conn(a2b)

DESCRIPTION Distribute a copy of the connectivity from process 0 to everybody else.

INPUTS a2b :: type(connectivity) The connectivity to be broadcast;


**m Connectivity/get_ith_conn

NAME get_ith_conn USAGE call get_ith_conn(ith_conn,a2b,i)

DESCRIPTION Getter. Access the I-th row in the connectivity table. Returns a pointer to the requested row. Note: returning a pointer and not a copy, because it is used in tight loops; user should NEVER modify nor deallocate the returned pointer.

INPUTS a2b :: type(connectivity), intent(in), target The connectivity to be accessed; i :: integer Request access to the I-th row; OUTPUT ith_conn(:) :: integer, pointer A pointer to the i-th row;


**m Connectivity/get_conn_csr

NAME get_conn_csr USAGE call get_conn_csr(a2b,lookup,conn)

DESCRIPTION Get a full copy of the connectivity table in CSR format. Being a copy the user may do as he/she pleases with it, and should remember to deallocate it.

INPUTS a2b :: type(connectivity), intent(in) The connectivity to be accessed; OUTPUT lookup(:) :: integer, allocatable conn(:) :: integer, allocatable A copy of the lookup table. The neighbours of item I are listed at CONN(lookup(i):lookup(i+1)-1)



Calls

interface~~get_dual_conn~~CallsGraph interface~get_dual_conn get_dual_conn proc~get_dual_conn get_dual_conn interface~get_dual_conn->proc~get_dual_conn interface~abort_psblas abort_psblas proc~get_dual_conn->interface~abort_psblas interface~alloc_conn alloc_conn proc~get_dual_conn->interface~alloc_conn proc~abort_psblas abort_psblas interface~abort_psblas->proc~abort_psblas proc~alloc_conn alloc_conn interface~alloc_conn->proc~alloc_conn proc~alloc_conn->interface~abort_psblas psb_abort psb_abort proc~abort_psblas->psb_abort

private module subroutine get_dual_conn(a2b, b2a)

Arguments

Type IntentOptional AttributesName
class(connectivity), intent(in) :: a2b
type(connectivity), intent(out) :: b2a