# psb_cdbldext — Build an extended communication descriptor

[next] [prev] [prev-tail] [tail] [up]

#### 6.6 psb_cdbldext — Build an extended communication descriptor

    call psb_cdbldext(a,desc_a,nl,desc_out, info, extype)

This subroutine builds an extended communication descriptor, based on the input descriptor desc_a and on the stencil specified through the input sparse matrix a.

Type:
  Synchronous.
On Entry
a
  A sparse matrix Scope:local.
  Type:required.
  Intent: in.
  Specified as: a structured data type.
desc_a
  the communication descriptor.
  Scope:local.
  Type:required.
  Intent: in.
  Specified as: a structured data of type psb_Tspmat_type.
nl
  the number of additional layers desired.
  Scope:global.
  Type:required.
  Intent: in.
  Specified as: an integer value nl ≥ 0.
extype
  the kind of estension required.
  Scope:global.
  Type:optional .
  Intent: in.
  Specified as: an integer value psb_ovt_xhal_, psb_ovt_asov_, default: psb_ovt_xhal_

On Return
desc_out
  the extended communication descriptor.
  Scope:local.
  Type:required.
  Intent: inout.
  Specified as: a structured data of type psb_desc_type.
info
  Error code.
  Scope: local
  Type: required
  Intent: out.
  An integer value; 0 means no error has been detected.

Notes

1. Specifying psb_ovt_xhal_ for the extype argument the user will obtain a descriptor for a domain partition in which the additional layers are fetched as part of an (extended) halo; however the index-to-process mapping is identical to that of the base descriptor;
2. Specifying psb_ovt_asov_ for the extype argument the user will obtain a descriptor with an overlapped decomposition: the additional layer is aggregated to the local subdomain (and thus is an overlap), and a new halo extending beyond the last additional layer is formed.

[next] [prev] [prev-tail] [front] [up]