**parallel_adaptation_x#

Description#

This keyword specifies the parallel algorithm used for remeshing a distributed Zebulon mesh. For the moment, two algorithms are available in Z-set (parallel_adaptation_1 and parallel_adaptation_2). Both algorithms rely on a sequential remesher, need a distributed input meshes and must be run in parallel, e.g with Zrun -mpimpi -m mesher.inp. To facilitate the transfer of finite element fields, the geometry of the interface between subdomains is preserved. Parallel algorithms share all options of **adaptation on page , so only specific options are detailed hereafter. To ensure the correctness of the interfaces, both algorithms are based on the communication of a thin layer of elements.

Syntax#

The command has the following syntax:

**parallel_adaptation_x \(~\,\) [ *dump_each_step ] \(~\,\) [ *skin_depth depth ] \(~\,\) [ options compatible with **adaptation ]

*dump_each_step

writes produced meshes at several steps of the process. Useful in debug.

*skin_depth depth

is the number of element layers used in the algorithm. The default value is 2.

Note that parallel_adapt_x shares the limitations of the used sequential remesher (linear elements, tetrahedra, …). Also, parallel_adaptation_1 and parallel_adaptation_2, use Graph utilities and need External/Koala library.

**parallel_adaptation_1#

Description#

This command specifies the first parallel algorithm. It is based on a three steps process. First, all subdomains communicate to the master process a thin layer of elements connected to the interface of the subdomain decomposition. Then, the master process assembles all parts, performs a remeshing without touching the external boundary and sends back the remeshed layers to the other subdomains. Finally, all subdomains perform a volumic remeshing. The figure below illustrates the algorithm. For options, please refer to parallel_adaptation_x.

Syntax#

**parallel_adaptation_1 \(~\,\) [ and all options compatible with **parallel_adapt ]

../../_images/algo_0_8sd_with_text.svg

**parallel_adaptation_2#

Description#

This command specifies the second parallel algorithm. It is slightly more complex than the previous algorithm but a better scalability is expected. It is based on a color per color algorithm. First, a graph coloring of the graph of domain-domain connectivity is done. Then, a loop on all colors is performed. Subdomains of the current color ask to their neighbors a thin layer of elements, perform the remeshing process, and send back to their neighbors the remeshed layers. Once all colors have been processed subdomains are remeshed in parallel with frozen interfaces. The figure below illustrates the algorithm. For other options, please refer to parallel_adaptation_x.

Syntax#

**parallel_adaptation_2 \(~\,\) [ *multiple_greedy_algorithm ] \(~\,\) [ and all options compatible with **parallel_adapt ]

*multiple_greedy_algorithm

enables the use of several greedy graph coloring algorithms in order to provide a lower number of colors.

../../_images/algo_1_8sd_3x2_full_with_text.svg