## 4 The TABASCO Algorithm in Use  
To illustrate how the TABASCO algorithm works, introductory examples have been proposed and detailed calculations are presented in this section. The Cellular Automata method allows for two approaches: simultaneous analysis and design, or the sequential approach chosen in this paper. So, the analysis using the finite element method is performed first and the design updating scheme is applied separately at each iteration. The updated value of design variable for each cell is based on the states of the neighboring cells determined in the preceding iteration, according to the Jacobi iteration scheme. The Moore-type neighborhood has been implemented. Each application of local update rules is preceded by finite element analysis performed using Matlab R2020b or Ansys 14 software. The diagram presenting the TABASCO workflow is given in Figure 3.  
The stopping criterion for iteration process can be selected according to the user assumptions. The defined number of iterations was chosen in these investigations, but in general, it can be specified, for example, based on the objective function convergence rate. The present paper proposes the new, original concept of a novel topology generator. The TABASCO algorithm utilizes some flexible local rules, discussed in earlier papers; therefore, the results of computations refer to some earlier concepts. To test the versatility of the new idea, selected 2D and 3D structures were examined. The rectangular, plain structure has been selected as the first test example (see Figure 4). The regular mesh of 20,000, 200 \(\times\) 100 4-node elements of edge length 1 mm has been implemented to perform the FEM analysis and the process of topology generation. The value of applied load has been set to P = 100 N, while the Young modulus and Poisson ratio have been set to values of E = 10 GPa and \(\
u\) = 0.3, respectively. The value of global constraint, i.e., the volume fraction 0.3, has been assumed. The resulting topology and the overview of the topology generation process are presented in Figures 5 and 6, respectively. Figure 4: Short cantilever: computational model including supports and applied loads. Figure 3: Diagram presenting the TABASCO workflow. The iteration history, illustrating a good convergence to the optimized solution, is given in Figure 7.  
A large number of iterations has been performed for all examples to allow comparisons of its performance for all considered problems. It is also intended to underline a fast decrease in the objective and a stable behavior when approaching minimal value. In Figure 7, presenting compliance history, the additional figure for the narrow interval of objective function values has been added, which gives us a closer look at the compliance behavior. The resulting compliance value equals 133.22 Nmm for \(\beta\) = 0.1. The original FCA [44] allows us to obtain the value of 134.14 Nmm for optimized topology. It is also observed that the number of iterations needed to find the solution was reduced, i.e., it is 25 iterations, whereas FCA requires 46. Figure 5: Short cantilever results: the final topology. Figure 6: A look inside the topology generation process: (**a**) Iteration 5; (**b**) Iteration 10; (**c**) Iteration 20; (**d**) Iteration 30; (**e**) Iteration 40; (**f**) Iteration 80. It can be noticed that the solution for this example is sensitive to the value of \(\beta\), but to avoid the necessity of adjusting this control parameter, the self-adaptive technique can be implemented [46], which, in each step of the iteration process, can track the objective function's lowest value. This technique can be realized by updating the values of design variables using, simultaneously, three values of \(\beta\) at each iteration, i.e., it can propose small, middle, and large ones. The algorithm selects the set of design variables created by this scheme for which the compliance has been found to be the smallest, and this set is the starting point for the next iteration.