A fast algorithm to compute shadow areas for Kirchhoff approximation-based underwater acoustic scattering simulation

. Kirchhoff approximation method is a fast underwater acoustic scattering numerical method which adaptive to engineering application. Shadow areas calculation is one of the most important factors for computational efficiency. In this paper, several existing shadow domain calculation methods for underwater acoustic numerical simulation based on Kirchhoff approximation are introduced. On this basis, a fast sheltering method based on the linked-list search algorithm is proposed. Linked-list search algorithm uses element geometric center to express the element space position and projects the geometric center on incident wave plane along the incident sound ray. And linked-list relationship of elements is established by dividing background mesh cell on the screen. The algorithm achieves fast calculation by using linked-list relationship and optimizing the calculation path. Linked-list search algorithm and all-pair search algorithm are compared and analyzed by an example of numerical simulation. The computational efficiency of the fast shadow domain algorithm is verified by comparing the results of the two algorithms. And the suggestions for further improving the computational efficiency of the algorithm are proposed.


Introduction
When Kirchhoff approximation (KA) method is used to calculate the acoustic scattering characteristics of underwater targets, shadow areas calculation of complex targets is an important factor affecting the computational efficiency. For a simple target, the Back-facet identification (BFI) method is generally used to eliminate the element self-shadowing and an accurate calculation result can be obtained [1]. For complex geometrical targets, it is difficult to obtain accurate results using only the BFI, and sometimes even the correct results are not obtained. Therefore, it is necessary to perform element mutual shadowing judgment on the basis of element self-shadowing judgment to eliminate all shadow elements. The shadowing algorithm based on APS algorithm is a classical mutual shadowing judgment algorithm [2,3]. When the number of elements is large, the classical element mutual shadowing algorithm calculation takes a long time. In order to improve the efficiency of shadowing, an improved algorithm is proposed based on reference elements [4]. This algorithm improves the engineering applicability of the acoustic scattering calculation method based on KA method. Since the reference element-based shadowing algorithm requires extra large-size meshes, the workload of the operator is increased. At the same time, the division of large-scale meshes reduces the fine characterization of the target geometry shape by the original small-size meshes, so its calculation accuracy is also slightly affected.
In order to improve the efficiency of shadowing algorithm without affecting the calculation accuracy, this paper proposes a fast shadowing algorithm based on the Linked-list search (LLS) method. By dividing the background cells on the plane of incidence of the sound wave, the sheltering judgment of the elements in the entire calculation domain is reduced to the elements in the adjacent background cells. This process reduces the time of redundant calculations and improves the computational efficiency of the element sheltering judgment. This algorithm is suitable for the calculation of high-frequency acoustic scattering with fine division of the elements, especially when the number of elements is large.

The Kirchhoff approximation
The Kirchhoff approximation is well-known to compute high frequencies acoustic backscattering in far-field. From Kirchhoff-Helmholz equation for sound scattering calculation, the scattering field can be expressed as ( ) In Eq.(1), x is point located outside integral surface S, y is the variable on which the integral is performed, ds is the elementary area around y, out n is external normal 1 ( , ) ( ) 4 i G G r e r π = = kr x y with = − r x y (2) where | | r = r , k is wave number.
The scattering field inside the Kirchhoff-Helmholz integral is assumed to be contributed by the visible area from sound source, but zero in the shadow domain, as explained in Fig.1. This means light domain and shadow domain need to be differentiated before KA method is use to compute scattering sound field of the target.

Back-facet identification algorithm
BFI algorithm is a classical element self-shadowing method, which is generally used for convex polyhedral targets with simple geometric shapes. Define the normal vector outside the element as n, and the acoustic wave incidence vector is k as explained in Fig.2. If k⋅n ≥ 0, the element is the back facet, which means that the element is in the shadow area and is not calculated. Otherwise the element is a forward facet, meaning that it is illuminated by sound waves and participates in the calculation. By using BFI method to calculate all the elements on the target surface, all shadowed elements can be quickly eliminated.

All-pair search algorithm
BFI algorithm can eliminate most of the shadow domains on the target. However, the geometrically complex targets need to calculate whether the element is shadowed by other elements. The shadowing algorithm based on the all-pair search (APS) algorithm is the most commonly used method for calculating whether an element is shadowed by others.
APS algorithm is a simple and direct element shadowing method as shown in Fig.3. First calculate the distance d between all the elements and the sound source, and select a target element i. Secondly, compare the distance d i and d j between the target element and other elements j (j=1, 2, …, N, where N is the total number of target elements) from the sound source. If d i < d j then the target element will not be shadowed by other elements. Otherwise, the target element may be shadowed by the element j, and the shadowing computation between the elements is required. The specific implementation method is shown in the literature [2].
(b) Computing process. The above process requires all the elements to be operated, that is, all the elements are searched, and each search process needs to traverse all the other elements. Therefore, the order of computational complexity of APS algorithm is O(N 2 ). It should be noted that shadowing computation is performed every time the incident angle or the scattering angle changes, so the calculation time consumed is quite long, and it is not suitable to calculate the model with a large number of elements.

Reference plate method
In order to improve the computational efficiency of the APS method when the number of elements is large, a reference plate with a slightly larger size is introduced instead of the original fine mesh for shadowing processing, and the calculation efficiency is improved by reducing the number of times the element mutual shadowing judgment.
When the reference plate method meshes the target geometry, an additional rough mesh model needs to be created as a reference plate for the element shadowing judgment, as shown in Fig.4. When the shadowing computation between the elements is made, the fine mesh is used as the target mesh, and the distance of the sound source from the fine mesh and the reference plate are calculated separately. The specific implementation method is shown in the literature [4].

Shadow domain calculation based on Linked-list search algorithm
According to the analysis in the previous section, although the existing sheltering algorithms have their own characteristics, they have their own limitations. The BFI algorithm can effectively deal with the element selfshadowing problem and has high computational efficiency. However, it is limited to convex polyhedral targets with simple geometric shapes and cannot be used for element mutual sheltering judgment. The APS algorithm can effectively solve the problem of element mutual sheltering and is suitable for targets with complex geometric shapes. However, because it is necessary to judge the mutual sheltering relationship of any two grids, the computational efficiency is drastically reduced when the number of grids is large. The reference plate method improves the mutual occlusion calculation speed by establishing an additional coarse mesh model as a reference plate to reduce the times of occlusion judgments of the mesh. However, the division of the reference plate increases the workload of the meshing, and the introduction of the coarse mesh as the reference plate reduces the accuracy of the calculation to some extent. According to the above analysis, when the element sheltering judgment is made, the BFI method can be used to eliminate the element self-occlusion. However, the shadow domain computation requires a more efficient and accurate algorithm. Therefore, this paper introduces the LLS method to improve the computational efficiency of the shadow domain calculation algorithm.

Linked-list search algorithm
The earliest birth of the LLS algorithm was to improve the efficiency of numerical calculation. Monaghan and Gingold [5] proposed in the study of smoothed particle hydrodynamics (SPH) methods that can save a lot of computation time by treating cells as a bookkeeping record. If all the particles are distributed in the cell and defined using a linked list, the computation time can be saved to a large extent. Monaghan [6] discusses the process of using the linked-list method to search for nearest neighbors. Rhoades [7] applied the same method when searching for nearest neighbors, and claimed that the algorithm is quite efficient and practical for use in vector computers. At present, the LLS algorithm has been widely used in the meshless method of hydrodynamics calculation.
The LLS algorithm requires laying a temporary background mesh on the problem domain, as shown in Fig.5. The size of the mesh unit should be chosen to be the same as the size of the supported domain, so that for any given particle, its neighbors can only be in the same mesh cell, or in closely adjacent mesh cells. Therefore, the search ranges in 1D, 2D, and 3D space are within 3, 9, and 27 cells, respectively. The LLS algorithm distributes each particle in a mesh cell and joins all the particles in each mesh with a simple storage rule. If the average number of particles in each cell is small enough, the complexity order of the LLS algorithm is O(N).

Improved shadow domain calculation algorithm
When using the LLS algorithm for the shadow domain calculation, it is first necessary to establish the relationship between the surface elements of the object and the particles. In acoustic calculation, the element size needs to satisfy the following formula according to the calculation frequency 6 c L f ≤ where L is the element size, c is the speed of sound in the fluid medium, and f is the acoustic frequency. When applying the above formula for acoustic element division, the smaller the element size, the larger the number, and the larger the calculation. Therefore, under the condition that the above formula is satisfied, the division size of the elements should be as close as possible to each other. This method can ensure the calculation accuracy and reduce the amount of calculation, and at the same time provide a convenient condition for establishing the relationship between the elements and the particles.
Since the size of each element is close, the geometric center of each element can be matched to the particles in the LLS algorithm. As shown in Fig.6, the geometric center of the 3D object elements are projected to the projection plane along the incident wave direction, so that the projected points can be used as particles in the LLS algorithm, and the support domain of each particle is the element size of the object surface. Then the background mesh cell is divided according to the size of the particle support domain on the projection plane, and then the particles in each background cell are determined. Thereby a linked list relationship of the surface mesh of the object is established. In the case of shadow domain computing, first find other projected points in the adjacent mesh cells based on the position of the target projected point in the background mesh cell. Secondly, according to the relationship between the projected point and the geometry center of element, the target element and the element that may be shadow domain are determined. And the element shadow domain judgment can be done by using the method in literature [4] for these elements. Since the support domain size is the same as the size of the object surface element, this method narrows the search and can not miss any element that may be shadowed. Moreover, the calculation accuracy of this method is the same as APS algorithm, and the calculation speed is even higher than the reference plate method.

Calculation process of LLS algorithm
In the calculation of the LLS algorithm, it is theoretically necessary to compute the particles in all adjacent mesh cell, as shown in Fig.7(a). However, in the calculation process, the times of calculations can be reduced by optimizing the calculation sequence.
Firstly, the maximum and minimum values of the abscissa and ordinate of the particles should be determined based on the coordinates of all the particles. Then the background mesh cell is divided according to the extreme values of the coordinates and the particle support domain size. In this way, the number of background mesh cells without particles can be minimized. Secondly, the background mesh cell is sorted and labeled, and the relationship between each particle and the background mesh cell is established, that is, the linked list relationship is established to prepare for the search calculation. Only the cell on the right and top of the target cell is selected, when selecting adjacent cells, as shown in Fig.7(b). In the search calculation, the particles in the target cell and the particles in the adjacent cell are sequentially performed, starting from the cell in the lower left corner. The calculation of the target cell is performed in order from left to right and bottom to top, as shown in Fig.7(c). The calculation process is shown in Fig.8.

Computational model
The KA method is used to calculate the target strength (TS) of unmanned underwater vehicles (UUV). The shadow domain calculation uses APS algorithm and LLS algorithm respectively. The computational time of each part of the program is recorded by adding a timing code to the main program, and the computational efficiency of the two shadow domain calculation methods is compared. Model V 10 124976 The principal dimensions of the UUV is shown in Table 1. Five calculation models are set according to the average size of the object surface element, and the total number of elements is sequentially increased, as shown in Table 2. The established mesh model is shown in Fig.9.

Calculation accuracy and efficiency analysis
The computer configuration used for the calculation is shown in Table 3. In order to compare the calculation accuracy and efficiency of the APS algorithm and the LLS algorithm, serial calculation is used to eliminate the influence of parallel computing efficiency. The computational error of the computer hardware system is eliminated by taking the method of averaging with multiple calculations.  Fig.11 shows the results of the model V using the APS algorithm and the LLS algorithm to calculate the target strength. The results of the two algorithms are exactly equal. This proves that the use of the LLS algorithm does not reduce the computational accuracy, and its computational accuracy is the same as that of the conventional algorithm. The calculation accuracy of the Kirchhoff approximation-based method can be referred to the literature [8]. Fig.12 shows the curves of total calculation time for different calculation scales. As the total number of elements increases, the computation time of the APS algorithm is significantly higher than that of the LLS algorithm. The larger the calculation scale, the better the calculation effect of the LLS algorithm. When the total number of elements is around 120 thousand, the calculation speed of the LLS algorithm is more than 50 times that of the APS algorithm.    calculation time has a strong correlation with the average number of projected points. This means that the number of the projected points in the background mesh cell determines the calculation speed of the LLS algorithm. Therefore, the computational efficiency of the LLS algorithm can be further improved by reducing the average number of projected points in the background mesh cell.

Conclusions
This paper presents a fast calculation method of shadow domain based on linked-list search algorithm in acoustic scattering calculation based on Kirchhoff approximation. The method introduces the linked-list search algorithm into the shadow domain calculation by projecting the centroid of the element to the plane of incidence of the acoustic wave and dividing the background mesh cell in the incident plane.
Results have been shown that the linked-list search algorithm can effectively solve the shadow domain computational problem without reducing the calculation accuracy. The calculation speed is significantly higher than the traditional method, especially suitable for the case of a large number of computational elements.
In addition, the calculation speed of the linked list search algorithm is closely related to the number of particles in the background mesh cell. The smaller the number of particles in the background mesh cell, the faster the calculation. Future work will further improve the computational speed of the algorithm by optimizing and controlling the number of particles in the background mesh cell.