Z-set parallel computing framework#
The modus operandi to carry out a complete computation within the parallel distributed framework of Z-set is illustrated below (where the output is illustrated in Z7 format).

Given an initial monolithic mesh (
problem.geo
), the fist step split the associated geometrical domain into a user defined number of non-overlapping subdomains (24 in this example). This is achieved in the meshing step using a partitionner, which is considered as a meshing component. Up to now, since Z-set has yet no distributed memory framework for the meshing part, this step has to be done in a sequential way. At the end, three types of files are created:the mesh of each subdomain generated, e.g.
problem-001.geo
, stored in the subfolderproblem-pmeshes
;the cutfile of each subdomain, e.g.
problem-001.cu
, containing the data related to the interface (ordering of nodes and dofs…) between the current subdomain and its neighbors, stored in the subfolderproblem-pcus
;the global cutfile
problem.cu
containing the global information about the splitting.
The practical way to realize this step and the associated splitter documentation is covered here.
As soon as the initial dataset has been split, the parallel distributed-memory computation is performed by launching as many instance of Z-set as the existing number of sudomain in an MPI framework. In this mode, each instance (or process) will load one specific subdomain and carry the computation in a similar way as for the sequential mode (except some exchanges between processes). Thus, there is no specific command to put in the input file except choosing a linear solver (
***linear_solver
) compatible with distributed-memory parallelism. The way of launching such a computation and of choosing the right solver is covered here.Once the parallel computation is finished. The parallel post-processing step is performed similarly as many instance of Z-set as the existing number of sudomain in an MPI framework are launched. Each instance (or process) will load one specific subdomain and carry the post-processing. Some exchanges between processes are needed for all global post-processors. There is no specific command to put in the input file except the classical
****post_processing
block. The way of launching such a post-processing is covered here.
Note
For the computation, it is not mandatory that the input file (.inp) and the mesh file (.geo) share the same name.