<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Parallel Partitioning Without Branching of Inner Boundaries for Arbitrary Domain?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ilyas Kadyrov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sergey Kopysov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Novikov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Mechanics, Udmurt Federal Research Center UB RAS</institution>
          ,
          <addr-line>Izhevsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Reeb Graph Constructed by Surface Triangulation</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Udmurt State University</institution>
          ,
          <addr-line>Izhevsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>60</fpage>
      <lpage>66</lpage>
      <abstract>
        <p>In this paper we consider an approach to the parallel partitioning of a arbitrary domain into connected subdomains without branching of internal boundaries. The Reeb graph is a simplified representation of the topology of the required domain. Algorithms are shown in this paper is a modification of the presented earlier algorithm of the formation of the plane Reeb graph. The algorithm for constructing the volume Reeb graph allows us to determine the internal topology of the domain. A new algorithm of the formation of the partitioning into subdomains without branching of internal boundaries is presented.</p>
      </abstract>
      <kwd-group>
        <kwd>Volume Reeb graph</kwd>
        <kwd>Reeb graph</kwd>
        <kwd>Multiply connected domain</kwd>
        <kwd>Topology definition without branching</kwd>
        <kwd>Unstructured mesh</kwd>
        <kwd>Mesh decomposition</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Algorithm 1: Formation of the Reeb graph</p>
      <p>Data: T triangulation, consisting of 2-simplexes 2 T ;
f level Morse function; nt number of available threads</p>
      <p>Result: Reeb graph Ri(V; E)
1 while m &lt; jV (T )j do
2 Partition nodes, according to coordinate z(v), where k = 1:::nt
3 Computing values of Morse function f (vk; m), for nodes in thread k
4 m m + 1
5 Form layers of Morse function f
6 while Pjm=1 jLSj ( )j &lt; jT j do
7 Each layer we will distribute between available threads k = 0::nt
forall vk do
8 LSm( ) = P LSmk( ) = f 2 Cl(LS( )) : 8v ; f (vk) &gt;
g
9</p>
      <p>m = m + 1
10 foreach LS( m) do
11 Define 2-simplexes , containing vi foreach vi do
12 St(vi) = f 2 T jvi g link ¾star¿
13 foreach vh 2 St do
14 Define link of 0-simplexes vh
15 if (Lk+(vh); Lk (vh); Lk (vh); Lk (vh)) then
16 vhc = vh
17 L(vhc) = l, где l = f1; 2; 3; 4; 5g
link type of 0-simplexes
18 Find auxiliary nodes
19 foreach vic do
20 if L(vic) = 2 ^ L(vic+1) = 3 then
2212 vFici+n1d=novdiaesи vviaic+;v2ia+=1 voian+1s,uvraface vlicn, eL, (bveic+tw1)ee=n 0vic^aLn(dvicv+ic+1)1.= 0.
23 Renumbering nodes and suppose that i ! i + 2
24 Form and compile Reeb graph Ri(V; E)
2</p>
    </sec>
    <sec id="sec-2">
      <title>The Volume Reeb Graph</title>
      <p>
        Define a tree of connections between the critical nodes vc and construct the
Reeb graph R(V; E) with the edges e(vi; vj) 2 E for the triangulation T in R3 ,
consisting of 3-simplexes [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        We will use the Morse level function f of different directions in some
coordinate planes. To determine the critical nodes vc and introduce the parameter
c(vc) corresponding to the number of edges outgoing from it, and taking the
value: 1 - one node; 2 - two nodes; 3 - branch; 0 is an auxiliary point va, which
with the nearest critical nodes vc form curvilinear arcs between the critical nodes
in the branching case [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Note by 0 the simplex vs, as the "auxiliary". In contrast to the previously
implemented approach to the formation of the Reeb graph, this algorithm uses
a volume triangulation of the domain T .
2 T ; nt
number of available
Algorithm 2: Computing volume Reeb graph</p>
      <p>Data: T triangulation of 3-simplexes</p>
      <p>threads.</p>
      <p>Result: Volume Reeb graph R(V; E)
1 Compute graph by Algorithm 1 on result - 2d vertical Reeb graph R0(V; E)
while m &lt; jV (T )j do
2 for k = 1 to nt do
3 For each thread we assign a separate subgraph.
4 for i 6 n do
5 if va auxilary then
6 Form layer Si = f8v T j v z(va) of 3-simplexes</p>
      <p>Si level layer for triangulation of 2-simplexes T
7 foreach Sn do
8 Compile Reeb graphs Rn+1(V; E) from Algorithm 1,
separately for each Sn</p>
      <p>Bypassing the Morse function f , one of the horizontal axes
9</p>
      <p>Compile volume Reeb graph R(V; E), where R0::n(V; E)
m = m + 1
R(V; E)</p>
      <p>The volume Reeb graph R(V; E) is represented as a set of subgraphs that are
constructed from the mesh (or cells) layers in different directions of traversal of
the Morse function.</p>
      <p>The general graph has the notation R0(V; E), the remaining subgraphs will
have the notation Rn+1(V; E), where nt is the number of inner layers.
3</p>
      <p>Domain Partitioning by Volume Reeb Graph
Segmentation of subdomains into smaller fragments, which are blocks that
represent split pants-decomposition. After obtaining the volume Reeb graph it is
necessary to cut the domain T along the auxiliary nodes of the graph. The
obtained layers S, which represent some contour of 2 or 3 simplexes, have some
upper bound.</p>
      <p>For each layer, the Morse function f with a different direction in the
coordinate system is applied.</p>
      <p>Algorithm 3: Partitioning of triangulation T on basis of Reeb graph
Data: T triangulation of 3-simplexes 2 T ; R(V; E) Reeb graph
Result: Set of layers fLSm( )g
1 We defince auxiliary vertices va = fva vc j c(vc) 0g
2 while vm &lt; jV (R0)j do
3 Distribute each layer for auxilary nodes for available threads k = 0::nt
4 Looking for the nearest auxiliary nodes vmc for holes
5 Abstractly draw the cutting planes with respect to 4 vc along two axes
6 Define the layers LSmk( ) = 2 LSmk( ); 2= LSmk( ) S LSmk 1( )
7 m m + 1</p>
      <p>
        The resulting Reeb graph is associated with the main graph obtained in
Algorithm 1 and is positioned relative to the auxiliary nodes[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Thus we obtain
a volume connected graph which characterize the complete topology of the given
domain.
      </p>
      <p>An example of how the algorithm works is shown in the figure 2. On the
figure 2 (a) presented partition of "frame" without branching of inner boundaries
with only 1 secant axis. This decomposition cannot produce many subdomains
without branching. On the figure 2 (b) decomposition produced in two axis on
a large number of subdomains.</p>
      <p>
        The topology of this domain and the graph characterizing it allow us to divide
the domain into minimal independent parts.[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] The partitioning algorithm uses
the Reeb graph for each layer, which makes it possible to implement a large
number of algorithms.
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Numerical Experiments</title>
      <p>Computational experiments were carried out on three-dimensional unstructured
meshes for multiply connected regions, differing in the topological type, surface
geometry and the details of its description by the mesh itself.</p>
      <p>On figure 4 was hidden some subdomains to present the difference between
(a) partition without branching of inner boundaries and (b) with branching.</p>
      <p>At the moment, by parallelizing the main cycles and passes through 2 and 3
simplexes of triangulation, the following estimates of computations are achieved.
To measure estimate speed of algorithms in this paper we will use "speedup"
S = TTnst . The speedup is defined as the ratio of the serial runtime of the best
sequential algorithm for solving a problem Ts to the time taken by the parallel
algorithm time Tnt to solve the same problem on nt processors, cores or threads.</p>
      <p>The results of parallel algorithm speedup shown in Table 1 was computed
only on main parts of algorithm. The main parts of algorithm is compute of
volume Reeb graph and partition on subdomains. We didn’t measured parts of
reading and writing mesh from external memory.</p>
      <p>Source codes produced in C++ and parallel part made by using OpenMP.
The algorithms considered in this paper make it possible to determine the
features of the topology of various domains. The parallel version of algorithm was
evaluated in O(K log2 K=n), where n is the number of available threads and K
is a number of 0-simplexes of mesh. The estimation of the computational costs
of the partitioning algorithm by the Reeb graph is O(L log2 L), where L is a sum
of all simplexes of mesh. Algorithms showed sufficiently accurate results, which
indicates the reliability of their application.</p>
      <p>The considered partitions, due to the elimination of branching of inner
boundaries, reduce the number and simplify the structure of exchanges between
computational processes in parallel algorithms of mesh methods.</p>
      <p>The layer-by-layer ordering of mesh cells in the subdomains of the
unstructured mesh excludes conflicts in computing in the shared memory of
computational systems with a hybrid architecture.</p>
      <p>Partitioning into a given number of subdomains can be provided by
recursively dividing the obtained subdomains of an unstructured mesh and combining
the layers of cells that provide independent access to the data.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Korneev</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Langer</surname>
            <given-names>U.</given-names>
          </string-name>
          2004 Encyclopedia of Computational Mechanics pp
          <fpage>617</fpage>
          -
          <lpage>647</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Kadyrov</surname>
            <given-names>I. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopysov</surname>
            <given-names>S. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novikov</surname>
            <given-names>A. K.</given-names>
          </string-name>
          <year>2018</year>
          <article-title>Partitioning of Triangulated Multiply Connected Domain into Subdomains Without Branching of Inner Boudaries (Uchenye Zapiski Kazanskogo Universiteta</article-title>
          . Seriya
          <string-name>
            <surname>Fiziko-Matematicheskie Nauki</surname>
          </string-name>
          )
          <volume>160</volume>
          [In print]
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kopysov</surname>
            <given-names>S. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuzmin</surname>
            <given-names>I. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nedozhogin</surname>
            <given-names>N. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novikov</surname>
            <given-names>A. K.</given-names>
          </string-name>
          <year>2012</year>
          <article-title>Parallel Algorithms for Constructing and Solving the Schur Complement on Graphics Accelerators (Uchenye Zapiski Kazanskogo Universiteta</article-title>
          . Seriya
          <string-name>
            <surname>Fiziko-Matematicheskie Nauki</surname>
          </string-name>
          )
          <volume>154</volume>
          (
          <issue>3</issue>
          ) pp
          <fpage>202</fpage>
          -
          <lpage>215</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Martynenko</surname>
            <given-names>S. I.</given-names>
          </string-name>
          <year>2008</year>
          <article-title>Formalization of Computations at Numerical Solution of Boundary Value Problems (Uchenye Zapiski Kazanskogo Universiteta</article-title>
          . Seriya
          <string-name>
            <surname>Fiziko-Matematicheskie Nauki</surname>
          </string-name>
          )
          <volume>150</volume>
          (
          <issue>1</issue>
          ) pp
          <fpage>76</fpage>
          -
          <lpage>90</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Postnikov</surname>
            <given-names>M. M.</given-names>
          </string-name>
          <year>1971</year>
          Introduction in Morse Theory (Moscow: Nauka) p
          <fpage>568</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Zimovnov</surname>
            <given-names>A. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mestetskiy</surname>
            <given-names>L. M.</given-names>
          </string-name>
          <year>2016</year>
          <article-title>On algorithm of curve-skeleton extraction for 3D model based on planar projections (Vestn. TvGU Seriya: Prikladnaya matematika) (3</article-title>
          ) pp
          <fpage>67</fpage>
          -
          <lpage>83</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hajij</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dey</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            <given-names>Х</given-names>
          </string-name>
          .
          <year>2016</year>
          <article-title>Segmenting a surface mesh into pants using Morse theory</article-title>
          (
          <issue>Graphical Models</issue>
          )
          <volume>88</volume>
          pp
          <fpage>12</fpage>
          -
          <lpage>21</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Mestetskiy</surname>
            <given-names>L. M.</given-names>
          </string-name>
          <year>2009</year>
          <article-title>Continuous morphology of binary images: figures, skeletons and circulars</article-title>
          (Moscow: Fizmatlit) p
          <fpage>288</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Harvey</surname>
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wenger</surname>
            <given-names>R.</given-names>
          </string-name>
          2010
          <string-name>
            <given-names>A</given-names>
            <surname>Randomized O. (M log M)</surname>
          </string-name>
          <article-title>Time Algorithm for Computing Reeb Graphs of Arbitary Simplical Complexes</article-title>
          (USA: SoCG '10) p
          <fpage>267</fpage>
          -
          <lpage>276</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Novikov</surname>
            <given-names>A. K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Piminova</surname>
            <given-names>N. K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopysov</surname>
            <given-names>S. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sagdeeva</surname>
            <given-names>Y. A.</given-names>
          </string-name>
          <year>2016</year>
          <article-title>Layer-bylayer ordering in parallel finite composition on shared-memory multiprocessors (IOP Conf</article-title>
          .
          <source>Ser.: Mater. Sci. Eng</source>
          .)
          <volume>158</volume>
          (
          <issue>1</issue>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>