Description
This is one of the four multi-block routines that provide the connection between domain decomposition at the host and at the level of the nodes, see Fig. 1.The purpose of this routine is to copy the arrays of virtual unknowns for all blocks to the local copies at the nodes. Based on itopol and iadmin, it decides wether or not to do a local copy or a PVM send. Since the virt arrays are shared between the host and the node residing on the host, the local copy is not needed. If an issend call is used, then the entire virt arrays for the subdomains are sent using PVM, see multi-block messages. See Fig. 3 for a schematical overview of issnddhs and isrcddnd.
Heading
subroutine issnddhs(nblocks, itrans, ilev, ind, isiinput, isvirt, iadmin)
Parameters
- integer
- nblocks, itrans, ilev, ind, isiinput(*), isvirt(*), iadmin(*)
- -
- nblocks
- number of blocks
- itrans
- indicates the quantities to be transported
- ilev
- the time level at which multi-block transport occurs
- ind
- sequence number of the node to send the message to
- isiinput
- array of pointers to the subdomain iinput arrays
- isvirt
- array of pointers to the subdomain virt arrays.
- iadmin
- reserved
Input
The virt arrays for the subdomains are filled. A message to node ind has already been started.
Output
None of the parameters are effected by this subroutine. The message to node ind has not been terminated and can still be appended to.
See also
isrcddhs, issnddnd, isrcddnd, issend