**engine_split#

Description#

This keyword specifies the partitionning engine used to split the mesh. Two types of engines are available in Z-set. The first and most common one rely on a graph partitionner libary and is the recommended way to split large meshes as it ensures well-equilibrated equilibrated together with reducing the size of interface, thus the amount of data exchanged. The second type of engine rely on a elset-based user defined partitionning, which ensure repeatability and fine control over the process. This second approach may be suited in some specific case or for testing purpose.

Syntax#

Splitter may be called through the following command

**engine_split

where engine is a splitter type, which can take the following values:

metis_split

is a interface to the METIS graph partitioning engine based on multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes. It is developped by George Karypis at the university of Minnesota (USA). Information on the METIS graph partitioner is available on Web at the link: http://glaros.dtc.umn.edu/gkhome/views/metis/.

scotch_split

is an interface to the Scotch graph partitioning engine. It is developeed by François Pellegrini at INRIA Bordeaux (France). Information on the Scotch graph partitioner is available on Web at the link: https://www.labri.fr/perso/pelegrin/scotch/.

elset_split

is a partitioner that splits meshes according to a group of differents named elsets.

The next commands are common to all the partitioning engines and have the following syntax:

[ *ascii ] [ *avoid_bad_element_on_interface ] [ *bad_elset_starts_with prefix ] [ *check_domains ] [ *check_domains_iter iter ] [ *dont_save_final_mesh ] [ *no_binary ] [ *no_elset ] [ *renumbering ]

*ascii

outputs ascii files for cut (.cut) and mesh files (.geof) instead of binary. This may be useful for hand-modifying the cut files, or for verification but sould be avoided on large computations as binary format highly improves loading speed-up.

*avoid_bad_element_on_interface

(advanced usage) enables a correction step at the end of the split to remove from the interface elements pertaining to some elsets. It must be used in conjunction with *bad_elset_starts_with. A typical usecase is to avoid poor quality elements in the interface.

*bad_elset_starts_with

specifies the prefix of elsets that are concerned by the correction *avoid_bad_element_on_interface.

*check_domains indicates

that the domains should be checked to see if there are elements attached by less than an edge in 2d, or a face in 3d. This is important to avoid rigid body and conditioning problems, especially with triangular or tetrahedral meshes. This option is off by default as the current partitionning engines generally already fulfills this requirements.

*check_domains_iter (default value: 10)

modifies the maximum of iterations allowed in this domain verification procedure.

*dont_save_final_mesh

disable the writing of the global input mesh at the end of the meshing process, which speeds-up the whole splitting process. This is recommended only if there is no other commands than splitting in the mesher section and if you don’t want to save the element sets showing the decomposition in the input mesh.

*no_binary

same behavior as *ascii command.

*no_elset suppresses creation of additional element sets

showing the domains which were created.

*renumbering

perform a global renumbering operation on the whole mesh to ensure classical numbering, which makes the whole splitting process faster. Special care is required when the problem involves boundary conditions expressed in terms of node ids, as those identifiers may be modified by the renumbering process.