# Towards an Automated Design Evaluation Method for Wire Arc Additive Manufacturing
## 5 Discussion  
The computational performance of our approach is mainly governed by the four main computing stages which are (1) building the kd-tree, (2) computation of the 3D-MAT, (3) computation of the gradient, and (4) filtering the computed data. Since the actual computation time directly depends on the computation hardware and implementation-specific details (such as programming language-specific optimizations), an algorithm's performance is best compared by its computational complexity usually denoted in \(\mathcal{O}\)-notation. The effort to build the kd-tree is bound to \(\mathcal{O}(n\log n)\) and nearest neighbor searching can be performed with \(\mathcal{O}(\log n)\)[51]. Thus, the computation of the 3D-MAT for \(n\)-elements can be described by \(\mathcal{O}(2n\log n)\) taking into account that the 3D-MAT has to be calculated for the in- and outside. However, the computation of the adjacency matrix, needed for the gradient calculation, is in the simplest form of the order \(\mathcal{O}(n^{2})\), since for every triangle \(n\) a search over all \(n\) triangles has to be performed to find the adjacent ones. Finally, the filtering can be performed with \(\mathcal{O}(fn)\), since the filter criteria have to be checked once per feature \(f\) for every element. Overall, the complexity of our approach can therefore be estimated to be of the order  
\[\mathcal{O}(n\log n)+\mathcal{O}(2n\log n)+\mathcal{O}(n^{2})+\mathcal{O}(fn)= \mathcal{O}(n^{2}). \tag{7}\]  
Note that \(\mathcal{O}(n^{2})\) is the complexity of the matrix vector multiplication of an \(n\times n\) matrix. While estimations of the computational complexity of finite element methods depend on the specific problem and the applied solution strategy, finite element methods have to solve at least a matrix vector multiplication of a vector holding \(n\) boundary conditions for the surface elements with an \(m\times n\) matrix for a body with \(m\) elements in total (\(m\geq n\)), which yields to an estimated complexity of at least \(\mathcal{O}(mn)\). Therefore, we expect our method to perform at least comparably to finite element methods in terms of computation complexity. Furthermore, our approach can even be expected to perform better than finite element analysis of the process chain when considering that only a static analysis of the surface is needed instead of solving a time integration problem of the whole manufacturing process. In addition to the test example presented in Section 4, further tests on benchmark parts have been conducted which showed similar results. Furthermore, we expect our approach to produce valid results on virtually any arbitrary geometry that permits inscribing spheres as long as an acceptable mesh quality can be achieved, since the presented method assesses manufacturability only on local geometry characteristics. Overall, our implementation is capable of automatically checking the stated design rules for medium-complex parts. However, issues in convergence and classification can occur as stated in Section 4. The false classification of the thin wall traces back to erroneous angle estimation in that region. Due to the relatively rough surface discretization compared to the wall thickness, corresponding triangle center points (which are the base points for the calculation of the 3D-MAT) do not coincide. This deviation leads to an overestimation of the angle enclosed between the surface normal and the secant connecting the two corresponding points (compare Figure 3). This finding is further bolstered when considering the sensitivity of the angle computation to deviations of the secant length: the sensitivity  
\[\frac{\partial}{\partial s}\text{arccos}\Big{(}\frac{(\mathbf{p}-\mathbf{b}) \cdot\mathbf{n}_{b}}{s}\Big{)}=\frac{1}{\sqrt{\Big{(}\frac{s}{(\mathbf{p}- \mathbf{b})\cdot\mathbf{n}_{b}}\Big{)}^{2}-1}} \tag{8}\]  
goes to infinity for \(s\) approaching \((\mathbf{p}-\mathbf{b})\cdot\mathbf{n}_{b}\), which happens for parallel elements.