POLYFLOW - Why does the listing file (log file) report various numbers for the mesh deomposition (with Metis)?


When inspecting the listing file, it may happen that apparently non-consistent information be displayed, such as:
Computation domain decomposed into 256 sub-parts
Computation domain decomposed into 259 sub-parts
Computation domain decomposed into 256 sub-parts
Why so? What does this hide? What troubles are expected?
The listing file reports a decomposition step, located at the item "Automatic mesh decomposition and optimization". In particular, one can see there an information like
Nb. of active elements : mmm
Nb. of sub-parts ..... : nnn
where mmm is the number of elements (that depends on the discretisation) and nnn is the decomposition. First of all, it is important to mention that the decomposition result may depend on the machine on which it is performed. In many situations, nnn is an integer power of 2. It happens sometimes that it it not the case; islets are found and may cause troubles.
Also, even if nnn is an integer power of 2, some sub-parts may be non connected. This has consequences for the main solver when variables are delayed (typically the pressure for Navier-Stokes equations). In this case, non-connected sub-parts are internally split, and additional sub-parts are thus created. At this level, there is no new decomposition done; simply non-connecteed sub-parts are split and renumbered accordingly. Here, instead of assigning numbers such as p' and p" for the non-connected part p, one has assigned the numbers p and nnn+1. In the case suggested above in the problem description, one may reasonnably presume that three sub-parts were originally non-connected.

When nnn is an integer power of 2, troubles may sometimes be found, especially when nnn is large. This indeed increases the probability for creation of islets. Such islets usually cause troubles for velocity-pressure simulations. It also increases the probability for creation by Metis of thin rows of elements. A way for pssibly circumventing this consists of running the calculation with a lower decomposition.
Usually the decomposition is invoked into POLYFLOW. It is possible to invoke the decomposition in POLYDATA. This also allows displaying the output of the decomposition, and identifying possible troubles. The task may become tedious when there is a large number of sub-parts. When a suitable decomposition is found, the user can save the newly decomposed mesh in a file, and use it as such in the calculation, by invoking POLYFLOW with the option -opt msh.





Show Form
No comments yet. Be the first to add a comment!