Tytuł pozycji:
Sphere packing algorithm for the generation of digital models of polycrystalline microstructures with heterogeneous grain sizes
Development of the cellular automata (CA) sphere packing algorithm dedicated to the generation of two- and three-dimensional digital, synthetic microstructure models with heterogenous grain size distribution is presented within the paper. The synthetic microstructure model is generated in four major steps: generation of 2D/3D cellular automata computational domain, generation of circles/spheres with a required size distribution, close-packed filling of the computational domain with generated circles/spheres, growth of the circles/spheres according to the unconstrained CA growth algorithm. As a result, synthetic microstructure models with specific, required grain size distribution described by e.g. uni- or bimodal one are obtained. To reduce computational complexity and decrease execution time, the rotation of the circles/spheres during the packing stage is based on the vector accounting for the distance from computational domain borders and other spheres. The CA grain growth algorithm is also implemented using threads mechanism allowing parallel execution of computations to increase its efficiency. The developed algorithm with the implementation details as well as a set of examples of obtained results are presented within the paper.
W pracy przedstawiono opracowanie algorytmu pakowania sferycznego automatu komórkowego (CA) dedykowanego do generowania dwu- i trójwymiarowych, cyfrowych, syntetycznych modeli mikrostruktury o niejednorodnym rozkładzie ziarnistości. Syntetyczny model mikrostruktury jest generowany w czterech głównych etapach: generowanie domeny obliczeniowej automatu komórkowego 2D/3D, generowanie okręgów/kul o wymaganym rozkładzie wielkości, wypełnianie domeny obliczeniowej wygenerowanymi okręgami/kulami, wzrost okręgów/kul zgodnie z algorytmem nieograniczonego wzrostu CA. W rezultacie otrzymujemy syntetyczne modele mikrostruktury o specyficznym, wymaganym rozkładzie uziarnienia opisanym np. jedno- lub dwumodalnym rozkładem. Aby zmniejszyć złożoność obliczeniową i skrócić czas wykonania, rotacja kół/kul podczas etapu pakowania opiera się na wektorowym rozliczaniu odległości od granic domen obliczeniowych z innymi sferami. Algorytm wzrostu ziarna CA jest również zaimplementowany z wykorzystaniem mechanizmu wątków, co pozwala na równoległe wykonywanie obliczeń w celu zwiększenia jego wydajności. W artykule przedstawiono opracowany algorytm wraz ze szczegółami implementacji oraz zestawem przykładów uzyskanych wyników.