Meshing, Discretization, and Solvers
The Convected Wave Equation, Time Explicit Interface (CWE) is based on the discontinuous Galerkin method also known as DG-FEM or simply DG. The method is very memory efficient and is based on a time explicit formulation. This means that it is not necessary to invert a full system matrix when stepping forward in time. Inversion of this matrix is necessary in time implicit methods and is very memory consuming for large problems. Because the CWE interface is not based on the classical FEM formulation, used in most of the other acoustics interfaces, other strategies apply for meshing and discretization.
The internal time stepping size of a time explicit method is strictly controlled by the CFL condition and thus the mesh size. Meaning that the smallest mesh elements will restrict the time steps (see Optimizing the Mesh for DG below). It turns out that the DG formulation has a sweet spot for speed and efficiency for wave problems. This is achieved by using fourth order (quartic) shape functions (the default in the interface) and a mesh with the element size of about half the wavelength of the highest frequency component that needs to be resolved. In practice a mesh with size set to λmin/2 to λmin/1.5 can usually be used.
When solving on pure tetrahedral (in 3D) or triangular (in 2D and 2D axisymmetric) meshes, the internal time step, used by the solver, is automatically calculated based on mesh size (inscribed circle metric), the wave speed and background mean flow speed, and the specifics of the solver selected. By default the time explicit solver uses the Runge-Kutta 4th order the method (RK4). This method is good as long as the mesh has a uniform mesh element size. If a mesh includes a large distribution of mesh element sizes (in particular in cases with only a few small elements) it can be advantageous to switch to the Adam-Bashforth 3 (local) method (AB3loc). This method uses intermediate local time steps in the region where there are small mesh elements. It is not expect that AB3loc will outperform RK4 for problems with a relatively uniform distribution of elements. For these cases RK4 is be the best choice.
The automatic time-step estimation of the DG method only works for the pure triangular mesh elements in 2D and 2D axisymmetric, and tetrahedral elements in 3D. Structured mesh types (quad meshes etc) are supported but requires the use of a manual time steps, defining the step can be a very challenging task. It is recommended to avoid mesh elements with short edges, since these are bad for the DG method.
Optimizing the Mesh for DG
As mentioned above, the internal time step, used by the solver, is controlled by the smallest mesh element in the model. So when meshing care should be taken to avoid small elements. Some important strategies apply:
1
Always use the Avoid too small elements option in the Element Quality Optimization settings on the Free Tetrahedral nodes in the mesh (in 3D only). The Optimization Level can be set to different degrees Basic, Medium, or High. Using this option can greatly improve the mesh for DG applications and thus speed up the computation significantly.
2
3