<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Basic Nomenclature</TITLE>
<META NAME="description" CONTENT="Basic Nomenclature">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">

<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="userhtml.css">

<LINK REL="next" HREF="node5.html">
<LINK REL="previous" HREF="node3.html">
<LINK REL="up" HREF="node3.html">
<LINK REL="next" HREF="node5.html">
</HEAD>

<BODY >
<!--Navigation Panel-->
<A NAME="tex2html207"
  HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 SRC="file:/usr/share/latex2html/icons/next.png"></A> 
<A NAME="tex2html203"
  HREF="node3.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 SRC="file:/usr/share/latex2html/icons/up.png"></A> 
<A NAME="tex2html197"
  HREF="node3.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 SRC="file:/usr/share/latex2html/icons/prev.png"></A> 
<A NAME="tex2html205"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 SRC="file:/usr/share/latex2html/icons/contents.png"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html208"
  HREF="node5.html">Library contents</A>
<B> Up:</B> <A NAME="tex2html204"
  HREF="node3.html">General overview</A>
<B> Previous:</B> <A NAME="tex2html198"
  HREF="node3.html">General overview</A>
 &nbsp; <B>  <A NAME="tex2html206"
  HREF="node1.html">Contents</A></B> 
<BR>
<BR>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION00031000000000000000">
Basic Nomenclature</A>
</H2>

<P>
Our computational model implies that the data allocation on the
parallel distributed memory machine is guided by the structure of the
physical model, and specifically by the discretization mesh of the
PDE. 

<P>
Each point of the discretization mesh will have (at least) one
associated equation/variable, and therefore one index. We say that
point  <IMG
 WIDTH="10" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
 SRC="img4.png"
 ALT="$i$"> <EM>depends</EM> on point <IMG
 WIDTH="11" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
 SRC="img5.png"
 ALT="$j$"> if the  equation for a
variable associated with <IMG
 WIDTH="10" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
 SRC="img4.png"
 ALT="$i$"> contains a term in <IMG
 WIDTH="11" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
 SRC="img5.png"
 ALT="$j$">,  or equivalently
if <IMG
 WIDTH="53" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
 SRC="img6.png"
 ALT="$a_{ij} \ne0$">.  
After the partition of the discretization mesh into <EM>sub-domains</EM>
assigned to the parallel processes,
we classify the  points of a given sub-domain as following.
<DL>
<DT><STRONG>Internal.</STRONG></DT>
<DD>An internal point of
 a given domain <EM>depends</EM> only on  points of the
same domain. 
If all points of a domain are assigned to one
process, then a computational step (e.g., a
matrix-vector product) of the 
equations associated with the internal points  requires no data
items from other domains and no communications.

<P>
</DD>
<DT><STRONG>Boundary.</STRONG></DT>
<DD>A point of
a given domain is a boundary point if it <EM>depends</EM> on  points
belonging to other domains.

<P>
</DD>
<DT><STRONG>Halo.</STRONG></DT>
<DD>A halo point for a given domain is a point belonging to
another domain such that there is a boundary point which <EM>depends</EM>
on it. Whenever performing a computational step, such as a
matrix-vector product, the values associated with halo points are
requested from other domains. A boundary point of a given 
domain is usually a halo point for some other domain<A NAME="tex2html3"
  HREF="footnode.html#foot174"><SUP>2</SUP></A>; therefore
the cardinality of the boundary points set denotes the amount of data
 sent to other domains. 
</DD>
<DT><STRONG>Overlap.</STRONG></DT>
<DD>An overlap point is a boundary point assigned to
multiple domains. Any operation that involves an overlap point
has to be replicated for each assignment. 
</DD>
</DL>
Overlap points do not usually exist in the basic data
distributions; however they are a feature of Domain Decomposition
Schwarz preconditioners which are the subject of related research
work&nbsp;[<A
 HREF="node105.html#2007c">3</A>,<A
 HREF="node105.html#2007d">2</A>].

<P>
We denote the sets of  internal, boundary and halo points for a given
subdomain  by <IMG
 WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
 SRC="img7.png"
 ALT="$\cal I$">, <IMG
 WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
 SRC="img8.png"
 ALT="$\cal B$"> and <IMG
 WIDTH="17" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
 SRC="img9.png"
 ALT="$\cal H$">.
Each subdomain is assigned to one process; each process usually
owns one subdomain, although the user may choose to assign more than
one subdomain to a process.  If each process <IMG
 WIDTH="10" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
 SRC="img4.png"
 ALT="$i$"> owns one
subdomain, the number of rows in the local sparse matrix is
<!-- MATH
 $|{\cal I}_i| + |{\cal B}_i|$
 -->
<IMG
 WIDTH="71" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
 SRC="img10.png"
 ALT="$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$">, and the number of local columns
(i.e. those for which there exists at least one non-zero entry in the
local rows)  is <!-- MATH
 $|{\cal I}_i| + |{\cal B}_i| +|{\cal H}_i|$
 -->
<IMG
 WIDTH="117" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
 SRC="img11.png"
 ALT="$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$">.

<P>

<DIV ALIGN="CENTER"><A NAME="fig:points"></A><A NAME="226"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
Point classfication.</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER">
<IMG
 WIDTH="318" HEIGHT="283" ALIGN="BOTTOM" BORDER="0"
 SRC="img13.png"
 ALT="\includegraphics[scale=0.65]{figures/points.eps}">
<!-- MATH
 $\rotatebox{-90}{\includegraphics[scale=0.65]{figures/points}}$
 -->
<IMG
 WIDTH="131" HEIGHT="2" ALIGN="BOTTOM" BORDER="0"
 SRC="img12.png"
 ALT="\rotatebox{-90}{\includegraphics[scale=0.65]{figures/points}}">

</DIV></TD></TR>
</TABLE>
</DIV>

<P>
This classification of mesh points guides the naming scheme that we
adopted in the library internals and in the data structures. We
explicitly note that ``Halo'' points are also often called ``ghost''
points in the literature. 

<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html207"
  HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 SRC="file:/usr/share/latex2html/icons/next.png"></A> 
<A NAME="tex2html203"
  HREF="node3.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 SRC="file:/usr/share/latex2html/icons/up.png"></A> 
<A NAME="tex2html197"
  HREF="node3.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 SRC="file:/usr/share/latex2html/icons/prev.png"></A> 
<A NAME="tex2html205"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 SRC="file:/usr/share/latex2html/icons/contents.png"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html208"
  HREF="node5.html">Library contents</A>
<B> Up:</B> <A NAME="tex2html204"
  HREF="node3.html">General overview</A>
<B> Previous:</B> <A NAME="tex2html198"
  HREF="node3.html">General overview</A>
 &nbsp; <B>  <A NAME="tex2html206"
  HREF="node1.html">Contents</A></B> 
<!--End of Navigation Panel-->

</BODY>
</HTML>