Keywords

1 Linearized Euler Equation Method

The linearized Euler equation (LEE) method is an approach to solve sound propagation under an arbitrary background flow by an addition of the advection effect of the medium to the basic equations of the finite-difference time-domain (FDTD) method. The main application of the method is sound propagation simulations outdoors with wind effects.

1.1 Governing Equations

The medium velocity \({\varvec{U}}\) is represented as a composition of the background flow component \(\bar{{\varvec{U}}}\) and the acoustic particle velocity component \({\varvec{U}}'\) as

$$\begin{aligned} {\varvec{U}}&= \bar{{\varvec{U}}} + {\varvec{U}}'. \end{aligned}$$

Other physical quantities are similarly represented. For example, pressure deviation from the average medium air pressure is represented by decomposing into the airflow component \(\bar{p}\) and the acoustic pressure component \(p'\) as

$$\begin{aligned} p&= \bar{p} + p'. \end{aligned}$$

For outdoor acoustic propagation problems, a simplified linearized Euler model under adiabatic, barotropic, and non-buoyant conditions can be employed. In the simplified model, the fundamental equations of fluid flow, the equations of motion, and continuity, are linearized by the background flow components of velocity, pressure, and density, \(\bar{{\varvec{U}}}\), \(\bar{p}\) and \(\bar{\rho }\) respectively [1, 2].

$$\begin{aligned} \frac{\partial {\varvec{U}}'}{\partial t}&= -\left( \bar{{\varvec{U}}} \cdot \nabla \right) {\varvec{U}}' - \left( {\varvec{U}}' \cdot \nabla \right) \bar{{\varvec{U}}} - \frac{1}{\bar{\rho }} \nabla p', \end{aligned}$$
(5.1)
$$\begin{aligned} \frac{\partial p'}{\partial t}&= - \bar{\rho } \bar{c}^2 \nabla \cdot {\varvec{U}}' -\bar{{\varvec{U}}} \cdot \nabla p', \end{aligned}$$
(5.2)

where \(\bar{\rho }\) and \(\bar{c}\) are the medium air density and the speed of sound respectively.

1.2 Discretization

Equations (5.1), (5.2) are discretized using a three-dimensional orthogonal staggered grid where \(p'\) is located at the cell centroid and each component of \({\varvec{U}}'\) is located at the cell face of the respective coordinate direction. The pressure and velocity variables are located at staggered positions in time as well. Hereafter, the components of the background flow vector and the acoustic velocity vector are denoted as follows:

$$\begin{aligned} \bar{{\varvec{U}}}&= \{ \begin{array}{ccc} \bar{u}&\bar{v}&\bar{w} \end{array} \}^\mathrm{T}, \ {\varvec{U}}' = \{ \begin{array}{ccc} u'&v'&w' \end{array} \}^\mathrm{T}. \end{aligned}$$

where \(^T\) denotes the transpose operator.

1.2.1 Temporal Discretization

Time advancement is performed using the prediction-step staggered-in-time (PSIT) technique [3], which allows a simple implementation and smaller memory footprints. The technique calculates firstly a predicted value of the acoustic velocity at time step \(n\), \(\tilde{{\varvec{U}}}'^n\), using the acoustic velocity at time step \(n-1/2\), \({\varvec{U}}'^{n - 1/2}\), and the acoustic pressure at time step \(n\), \(p'^n\), with the following equation

$$\begin{aligned} \tilde{{\varvec{U}}}'^n&= {\varvec{U}}'^{n - 1/2} - \frac{\varDelta t}{2 \bar{\rho }} \nabla p'^n, \end{aligned}$$
(5.3)

which is a backward Euler discretized form of Eq. (5.1) between time step \(n - 1/2\) to \(n\), but without the contribution of the background flow velocity \(\bar{{\varvec{U}}}\)

$$\begin{aligned} \frac{\partial {\varvec{U}}'}{\partial t}&= - \frac{1}{\bar{\rho }} \nabla p'. \end{aligned}$$
(5.4)

The predicted value is used to calculate the acoustic velocity at the next time step \(n+1/2\), \({\varvec{U}}'^{n+1/2}\), using a timewise discretized form of Eq. (5.1).

$$\begin{aligned} {\varvec{U}}'^{n+1/2}&= {\varvec{U}}'^{n-1/2} - \frac{\varDelta t}{\bar{\rho }} \nabla p'^n - \varDelta t \, \left( \bar{{\varvec{U}}} \cdot \nabla \right) \tilde{{\varvec{U}}}'^n - \varDelta t \, \left( \tilde{{\varvec{U}}}'^n \cdot \nabla \right) \bar{{\varvec{U}}}. \end{aligned}$$
(5.5)

Similarly, for Eq. (5.2) the predicted value of the acoustic pressure at time step \(n+1/2\) is calculated by using the acoustic pressure at time step \(n\), \(p'^n\), and the acoustic velocity at time step \(n+1/2\), \({\varvec{U}}'^{n+1/2}\). The predicted value in turn is used to calculate the acoustic pressure at the next time step \(n+1\), \(p'^{n+1}\).

$$\begin{aligned} \tilde{p}'^{n+1/2}&= p'^n - \frac{\bar{\rho } \bar{c}^2 \varDelta t}{2}\nabla \cdot {\varvec{U}}'^{n+1/2}, \end{aligned}$$
(5.6)
$$\begin{aligned} p'^{n+1}&= p'^n - \bar{\rho } \bar{c}^2 \varDelta t \, \nabla \cdot {\varvec{U}}'^{n+1/2} - \varDelta t \, \bar{{\varvec{U}}} \cdot \nabla \tilde{p}'^{n+1/2}. \end{aligned}$$
(5.7)

1.2.2 Spatial Discretization

The spatial derivatives in the prediction-step equations, namely Eqs. (5.3), (5.6), are discretized by the second-order central finite difference scheme that are widely used in usual FDTD simulations. For example, the \(x\) component of \(\nabla p'^n\) in the right hand side of Eq. (5.3) is written as

$$\begin{aligned} \left. \frac{\partial p'^n}{\partial x}\right| _{i+1/2,j,k}&\approx \frac{p'^{n}_{i+1,j,k} - p'^{n}_{i,j,k}}{\varDelta x}, \end{aligned}$$
(5.8)

where \(\varDelta x\) is the \(x\) directional grid spacing.

On the other hand, Eqs. (5.5), (5.7) are simplified assuming that the background flow \(\bar{{\varvec{U}}}\) is a uniform \(x\)-directional flow of speed \(\bar{u}\)

$$\begin{aligned} \bar{{\varvec{U}}}&= \{ \begin{array}{ccc} \bar{u}&0&0 \end{array} \}^\mathrm{T}. \end{aligned}$$

By substituting this equation to Eq. (5.5), only the \(x\)-directional derivative remains in the third term in the right hand side of Eq. (5.5). Besides, the fourth term in the right hand side is cancelled out due to the omnidirectional zero gradient of \(\bar{{\varvec{U}}}\). Hence, by representing each component of \(\tilde{{\varvec{U}}}'\) by

$$\begin{aligned} \tilde{{\varvec{U}}}'&= \{ \begin{array}{ccc} \tilde{u}'&\tilde{v}'&\tilde{w}' \end{array} \}^\mathrm{T}, \end{aligned}$$

each component of Eq. (5.5) and Eq. (5.7) are written as follows.

$$\begin{aligned} u'^{n+1/2}_{i+1/2,j,k}&= u'^{n-1/2}_{i+1/2,j,k} - \frac{\varDelta t}{\bar{\rho }} \left. \frac{\partial p'^n}{\partial x}\right| _{i+1/2,j,k} - \varDelta t \, \bar{u} \left. \frac{\partial \tilde{u}'^n}{\partial x}\right| _{i+1/2,j,k}, \end{aligned}$$
(5.9)
$$\begin{aligned} v'^{n+1/2}_{i,j+1/2,k}&= v'^{n-1/2}_{i,j+1/2,k} - \frac{\varDelta t}{\bar{\rho }} \left. \frac{\partial p'^n}{\partial y}\right| _{i,j+1/2,k} - \varDelta t \, \bar{u} \left. \frac{\partial \tilde{v}'^n}{\partial x}\right| _{i,j+1/2,k}, \end{aligned}$$
(5.10)
$$\begin{aligned} w'^{n+1/2}_{i,j,k+1/2}&= w'^{n-1/2}_{i,j,k+1/2} - \frac{\varDelta t}{\bar{\rho }} \left. \frac{\partial p'^n}{\partial z}\right| _{i,j,k+1/2} - \varDelta t \, \bar{u} \left. \frac{\partial \tilde{w}'^n}{\partial x}\right| _{i,j,k+1/2}, \end{aligned}$$
(5.11)
$$\begin{aligned} p'^{n+1}_{i,j,k} = p'^{n}_{i,j,k} - \bar{\rho }\bar{c}^2 \varDelta t&\left( \left. \frac{\partial u'^{n+1/2}}{\partial x}\right| _{i,j,k} + \left. \frac{\partial v'^{n+1/2}}{\partial y}\right| _{i,j,k} \right. \nonumber \\&\;\; \left. + \left. \frac{\partial w'^{n+1/2}}{\partial z}\right| _{i,j,k} \right) - \varDelta t \, \bar{u} \left. \frac{\partial \tilde{p}'^{n+ 1/2}}{\partial x}\right| _{i,j,k}. \end{aligned}$$
(5.12)

The spatial derivatives in Eqs. (5.9)–(5.12) are discretized by two strategies: one is to apply the second-order central finite difference scheme, which is denoted hereafter as Type FD-2nd. Another is to apply a compact difference scheme to the third term in the right hand side of each equation and to apply the second-order central finite difference scheme to all other terms, which is denoted hereafter as Type FD-Compact.    

Type FD-2nd.:

Taking the \(x\)-directional momentum equation Eq. (5.9) as example, the spatial derivative of the second term in the right hand side is discretized by Eq. (5.8). The third term is discretized using the finite difference of double grid spacing \(2 \varDelta x\) as follows:

$$\begin{aligned} \left. \frac{\partial \tilde{u}'^n}{\partial x}\right| _{i+1/2,j,k}&\approx \frac{\tilde{u}'^n_{i+3/2,j,k} - \tilde{u}'^n_{i-1/2,j,k}}{2 \varDelta x}. \end{aligned}$$
Type FD-Compact.:

Taking Eq. (5.9) as example, the spatial derivative of the second term in the right hand side is identically discretized to Type FD-2nd by Eq. (5.8). The third term, on the other hand, is discretized with the Padé scheme [4], which is a fourth-order compact difference scheme that represents the approximation of \(\partial \tilde{u}'^n/\partial x\), \(\phi '^n\), as follows:

$$\begin{aligned} \frac{1}{4}\phi '^n_{i-1/2,j,k} + \phi '^n_{i+1/2,j,k} + \frac{1}{4}\phi '^n_{i+3/2,j,k} = \frac{3}{4}\frac{\tilde{u}'^n_{i+3/2,j,k} - \tilde{u}'^n_{i-1/2,j,k}}{\varDelta x}. \end{aligned}$$

The matrix equation of \(\phi '^n\) obtained by applying the Padé scheme to the entire grid is solved by a tridiagonal matrix algorithm (TDMA) solver [5].

 

1.3 Computational Setup

A sound propagation problem in a uniform medium under a uniform background flow within a two-dimensional free space is solved in order to compare the formulations and the analytical solutions.

Fig. 5.1
figure 1

Acoustic pulse in a uniform flow

An \(x\)-directional uniform background flow of speed \(\bar{u}\) is given as the background flow. The initial acoustic pressure and acoustic velocity are given as

$$\begin{aligned} p'&= p_0\mathrm{{exp}}\left\{ -\alpha \left( x^2 + y^2\right) \right\} , \\ {\varvec{U}}'&= {\varvec{0}}, \end{aligned}$$

as shown in Fig. 5.1. Under the initial conditions, the analytical solution of the acoustic pressure is given by Ref. [6] as

$$\begin{aligned} p'&= \frac{p_0}{2 \alpha } \int _0^\infty \mathrm{{exp}}\left( -\frac{\xi ^2}{4 \alpha }\right) \cos \left( \bar{c} \xi t \right) J_0 \left( \xi \eta \right) \xi d\xi , \\ \eta&= \sqrt{(x - \bar{u} t)^2 + y^2}, \\ \alpha&= \frac{\log 2}{b^2}, \end{aligned}$$

where \(p_0\) is the initial pressure amplitude, \(b\) is the half width at half maximum of the initial pressure amplitude, and \(J_0\) is the Bessel function of the first kind of order 0. In the tests, \(b\) is set to \(3\) and \(p_0\) and \(\bar{c}\) are set to unity. The Mach number is assumed to be 0.1, namely

$$\begin{aligned} M&= \frac{\bar{u}}{\bar{c}} = 0.1. \end{aligned}$$

The computational domain is a square of diagonal points \((x, y) = (-100, -100)\) and \((100, 100)\), which is divided by an orthogonal uniform grid of \(201 \times 201 \times 1\) cells in \(x \times y \times z\) directions. The time step \(\varDelta t\) is set to 0.5.

1.4 Results

The contours of instantaneous pressure amplitudes \(|p'|\) at time \(t = 40\) and \(80\) for the analytical solutions and the discretized formulations are shown in Fig. 5.2. Slow advection in \(x\)-direction following the uniform background flow of \(M = 0.1\) is seen in all cases. At \(t = 40\), all computed results show good agreements with the analytical case. However, as the propagation distance grows, at \(t = 80\) we see differences. At the downstream direction, a numerical dispersion is seen in Type FD-2nd. On the contrary, Type FD-Compact shows no such error and agrees well with the analytical case.

Fig. 5.2
figure 2

Propagation of acoustic pulse in uniform flow at \(t = 40\) and 80. Dotted, dash-dotted, dashed and solid iso-contours denote \(|p'|\) values defined by a geometric ratio of 4 (which corresponds to about 12 dB in relative SPL) from \(6.25\times 10^{-5}\) to 0.004

2 Constrained Interpolation Profile Method

The constrained interpolation profile (CIP) method was developed in the field of fluid dynamics as a kind of the method of characteristics (MOC) [79]. This method has been applied to numerical simulations of sound field in time domain [1014] as it has an advantage of low numerical dispersion over the FDTD method. Additionally, a spatial grid size, which the CIP method requires for adequate accuracy, is larger than that the FDTD method requires. High accuracy is achieved by a technique called “multi-moments” where not only physical values, such as the sound pressure and the particle velocity, but also their spatial derivatives are explicitly and simultaneously calculated at all grid points. In the MOC, including the CIP method, a time step size is free from Courant condition. The CIP method does not require a small time step size other time-domain methods require for accuracy and stability, resulting in a reduction of total computational time.

A collocated grid system is employed in the CIP method. All discrete physical values and their spatial derivatives are defined at the same grid point as shown in Fig. 5.3.

Fig. 5.3
figure 3

Collocated grid system in the CIP method

2.1 Formulation

The CIP method for acoustic simulation computes advection equations derived from the governing equations of sound fields. The equation of continuity and the equation of motion for a lossless linear sound field are transformed into

$$\begin{aligned} \partial _{t} p + c Z \partial _{x} v_{x} = 0 ,\quad Z \partial _{t} v_{x} + c \partial _{x} p = 0, \end{aligned}$$
(5.13)

where \(\partial _{\alpha }\) represents an operator \(\partial /\partial \alpha \), and \(p\), \(v_{x}\), \(c\), and \(Z\) are the sound pressure, the particle velocity in the \(x\)-direction, the speed of sound, and the characteristic impedance of a medium, respectively. It should be noted that these equations express one-dimensional wave propagation in the \(x\)-direction. Addition and subtraction of the two equations in Eq. (5.13) lead to the following advection equations:

$$\begin{aligned} \partial _{t} f_{x \pm } \pm c \partial _{x} f_{x \pm } = 0 ,\, \, \, \mathrm{for} \, \, \, f_{x \pm } = p \pm Zv_{x}. \end{aligned}$$
(5.14)

\(f_{x +}\) and \(f_{x -}\), which are called “characteristic curves”, represent forward and backward components of the sound field in the \(x\)-direction and Eq. (5.14) expresses propagation of them with the velocity of \(c\).

In the MOC, the advection equations expressing wave propagation are computed by advection calculations schematically illustrated in Fig. 5.4. As shown in the diagram, advecting \(f_{x\pm }\) at points \(\mp c\varDelta t\) distant from a grid point \(x_{i}\) at a time step \(n\) gives those at \(x_{i}\) at the next time step:

$$\begin{aligned} f^{n+1}_{x\pm }(x_{i}) = f^{n}_{x\pm }(x_{i} \mp c \varDelta t), \end{aligned}$$
(5.15)

where \(\varDelta t\) is the time step size, and the superscripts \(n\) and \(n+1\) denote time steps. When the points \(x_{i}\mp c\varDelta t\), called advection sources, are not at grid points, \(f_{x\pm }^{n}(x_{i}\mp c\varDelta t)\) are obtained by using interpolations.

Fig. 5.4
figure 4

Advection of values in the method of characteristics

In the CIP method, a kind of the MOC, values at advection sources are interpolated with high accuracy by using the Hermite interpolation [7, 15], normally the third-order Hermite interpolation. These calculations need spatial derivatives of \(f_{x\pm }\) at each grid. Advection equations for the derivatives are derived from the differentiation of Eq. (5.14):

$$\begin{aligned} \partial _{t} g_{x \pm } \pm c \partial _{x} g_{x \pm } = 0 ,\, \, \, \mathrm{for} \, \, \, g_{x \pm } = \partial _{x} p \pm Z\partial _{x}v_{x}. \end{aligned}$$
(5.16)

The CIP method simultaneously computes Eq. (5.14) and (5.16) using the third-order Hermite interpolation.

Fig. 5.5
figure 5

Directionally separated advection of values in the multi-dimensional CIP method. a \(x\)-directional advection. b \(y\)-directional advection

Multi-dimensional wave propagation is computed by the directionally separated advection formulation, where one-dimensional advections for each axis are alternately computed as shown in Fig. 5.5, for a two-dimensional simulation for example. Lettig results of \(x\)-directional advections be values at an intermediate step, values at the next time step is obtained by advecting the values at the intermediate step in the \(y\)-direction. This technique requires additional advection calculations for spatial derivatives with respect to the direction perpendicular to the advection direction. For the \(x\)-directional advection in a two-dimensional field, for example, the CIP method simultaneously computes the following advection equations as well as Eqs. (5.14) and (5.16):

$$\begin{aligned} \partial _{t} \eta _{x \pm } \pm c \partial _{x} \eta _{x \pm } = 0&,&\, \, \, \mathrm{for} \, \, \, \eta _{x \pm } = \partial _{y} p \pm Z\partial _{y}v_{x},\end{aligned}$$
(5.17)
$$\begin{aligned} \partial _{t} \mu _{x \pm } \pm c \partial _{x} \mu _{x \pm } = 0&,&\, \, \, \mathrm{for} \, \, \, \mu _{x \pm } = \partial _{x}\partial _{y} p \pm Z\partial _{x}\partial _{y}v_{x}, \end{aligned}$$
(5.18)

where \(\eta _{x\pm }\) and \(\mu _{x\pm }\) are derivatives of \(f_{x\pm }\) and \(g_{x\pm }\) with respect to the \(y\)-direction, respectively. A kind of the CIP method, called the “type-C” CIP method, employs the third-order Hermite interpolation to obtain the perpendicular derivatives \(\eta _{x\pm }\) and \(\mu _{x_\pm }\) at the advection sources [9, 11, 12]. Additionally, in a three-dimensional simulation, advection equations for the derivatives of \(f_{x\pm }\), \(g_{x\pm }\), \(\eta _{x\pm }\), and \(\mu _{x\pm }\) with respect to the \(z\)-direction have to be taken into calculations. We can calculate the \(y\)-directional (and the \(z\)-directional in three-dimensional simulations) advections in a similar procedure to that for the \(x\)-direction described above.

Although the type-C CIP method employing the Hermite interpolation for the perpendicular derivatives has high accuracy, it is computationally expensive. A simplified scheme, called the “type-M” CIP method, has been proposed [8, 10, 12]. The type-M CIP method calculates advection of the perpendicular derivatives only for Eq. (5.17) using the first-order Lagrange interpolation, i.e., the upwind scheme. Omitting calculations of Eq. (5.18), this scheme saves the computer memory and computational time, but has lower accuracy than that the type-C CIP method has.

2.2 Implementation

The followings explain an implementation procedure of the type-C CIP method for a two-dimensional sound field simulation. We assume here that the sound field is discretized in the \(x\)- and the \(y\)-direction by the same grid size of \(\varDelta l\) and \(i\) and \(j\) denote the grid point number in each direction as shown in Fig. 5.3.

Firstly, we carry out advection calculations in the \(\pm x\)-direction. At a time step \(n\), the characteristic curves and their derivatives at a grid point (\(i\),\(j\)) are derived from the physical values and their derivatives at the same point:

$$\begin{aligned} f_{x \pm }^{n}(i,j)&= p^{n}(i,j) \pm Z v_{x}^{n}(i,j), \end{aligned}$$
(5.19)
$$\begin{aligned} g_{x \pm }^{n}(i,j)&= \partial _{x} p^{n}(i,j) \pm Z \partial _{x} v_{x}^{n}(i,j), \end{aligned}$$
(5.20)
$$\begin{aligned} \eta _{x \pm }^{n}(i,j)&= \partial _{y} p^{n}(i,j) \pm Z \partial _{y} v_{x}^{n}(i,j), \end{aligned}$$
(5.21)
$$\begin{aligned} \mu _{x \pm }^{n}(i,j)&= \partial _{x}\partial _{y} p^{n}(i,j) \pm Z \partial _{x}\partial _{y} v_{x}^{n}(i,j). \end{aligned}$$
(5.22)

The third-order Hermite interpolation simultaneously calculates \(f_{x\pm }\) and \(g_{x\pm }\) at an intermediate step, which are values at the advection sources at the time step \(n\):

$$\begin{aligned} f_{x\pm }^{*}(i,j)&= a_{\pm }\xi _{\pm }^{3} + b_{\pm }\xi _{\pm }^{2} + g_{x\pm }^{n}(i,j)\xi _{\pm } + f_{x\pm }^{n}(i,j), \end{aligned}$$
(5.23)
$$\begin{aligned} g_{x\pm }^{*}(i,j)&= 3a_{\pm } \xi _{\pm }^{2} + 2b_{\pm }\xi _{\pm } + g_{x\pm }^{n}(i,j), \end{aligned}$$
(5.24)

where superscript \(*\) represents the intermediate step and

$$\begin{aligned} a_{\pm }&= \frac{g_{x\pm }^{n}(i,j) + g_{x\pm }^{n}(i\mp 1,j)}{(\mp \varDelta l)^{2}} + \frac{2 \left( f_{x\pm }^{n}(i,j) - f_{x\pm }^{n}(i\mp 1,j) \right) }{(\mp \varDelta l)^{3}}, \end{aligned}$$
(5.25)
$$\begin{aligned} b_{\pm }&= \frac{3 \left( f_{x\pm }^{n}(i\mp 1,j) - f_{x\pm }^{n}(i,j) \right) }{(\mp \varDelta l)^{2}} - \frac{2g_{x\pm }^{n}(i,j) + g_{x\pm }^{n}(i\mp 1,j)}{\mp \varDelta l}, \end{aligned}$$
(5.26)
$$\begin{aligned} \xi _{\pm }&= \mp c\varDelta t. \end{aligned}$$
(5.27)

Equations (5.23)–(5.27), which are polynomial forms of the third-oder Hermite interpolation, can be transformed into simple sum-of-product forms for efficient computation:

$$\begin{aligned} f_{x\pm }^{*}(i,j) = \,&C_{1\pm } f_{x\pm }^{n}(i\mp 1,j) + C_{2\pm } f_{x\pm }^{n}(i,j) \nonumber \\&+ C_{3\pm } g_{x\pm }^{n}(i\mp 1,j) + C_{4\pm } g_{x\pm }^{n}(i,j), \end{aligned}$$
(5.28)
$$\begin{aligned} g_{x\pm }^{*}(i,j) =\,&C'_{1\pm } f_{x\pm }^{n}(i\mp 1,j) + C'_{2\pm } f_{x\pm }^{n}(i,j) \nonumber \\&+ C'_{3\pm } g_{x\pm }^{n}(i\mp 1,j) + C'_{4\pm } g_{x\pm }^{n}(i,j). \end{aligned}$$
(5.29)

The coefficients will be obtained before starting computations:

$$\begin{aligned} C_{1\pm }&= -2 \chi ^{3} + 3\chi ^{2},\end{aligned}$$
(5.30)
$$\begin{aligned} C_{2\pm }&= 2 \chi ^{3} - 3 \chi ^{2} + 1,\end{aligned}$$
(5.31)
$$\begin{aligned} C_{3\pm }&= \xi _{\pm } (\chi ^{2} - \chi ),\end{aligned}$$
(5.32)
$$\begin{aligned} C_{4\pm }&= \xi _{\pm } (\chi ^{2} - 2 \chi + 1),\end{aligned}$$
(5.33)
$$\begin{aligned} C'_{1\pm }&= 6 ( - \chi ^{3} + \chi ^{2} ) / \xi _{\pm },\end{aligned}$$
(5.34)
$$\begin{aligned} C'_{2\pm }&= 6 ( \chi ^{3} - \chi ^{2} ) / \xi _{\pm },\end{aligned}$$
(5.35)
$$\begin{aligned} C'_{3\pm }&= 3 \chi ^{2} - 2 \chi ,\end{aligned}$$
(5.36)
$$\begin{aligned} C'_{4\pm }&= 3 \chi ^{2} - 4 \chi + 1, \end{aligned}$$
(5.37)

where \(\chi = c \varDelta t / \varDelta l \). Advection of the perpendicular derivatives \(\eta _{x\pm }\) and \(\mu _{x\pm }\) are also calculated in the same way:

$$\begin{aligned} \eta _{x\pm }^{*}(i,j) = \,&C_{1\pm } \eta _{x\pm }^{n}(i\mp 1,j) + C_{2\pm } \eta _{x\pm }^{n}(i,j) \nonumber \\&+ C_{3\pm } \mu _{x\pm }^{n}(i\mp 1,j) + C_{4\pm } \mu _{x\pm }^{n}(i,j), \end{aligned}$$
(5.38)
$$\begin{aligned} \mu _{x\pm }^{*}(i,j) =\,&C'_{1\pm } \eta _{x\pm }^{n}(i\mp 1,j) + C'_{2\pm } \eta _{x\pm }^{n}(i,j) \nonumber \\&+ C'_{3\pm } \mu _{x\pm }^{n}(i\mp 1,j) + C'_{4\pm } \mu _{x\pm }^{n}(i,j). \end{aligned}$$
(5.39)

Results of advection calculations in the \(x\)-direction are restored to the physical values and their derivatives at the intermediate step:

$$\begin{aligned} p^{*}(i,j)&= \left( f_{x+}^{*}(i,j) + f_{x-}^{*}(i,j) \right) / 2,\end{aligned}$$
(5.40)
$$\begin{aligned} v_{x}^{*}(i,j)&= \left( f_{x+}^{*}(i,j) - f_{x-}^{*}(i,j) \right) / 2Z,\end{aligned}$$
(5.41)
$$\begin{aligned} \partial _{x} p^{*}(i,j)&= \left( g_{x+}^{*}(i,j) + g_{x-}^{*}(i,j) \right) / 2,\end{aligned}$$
(5.42)
$$\begin{aligned} \partial _{x} v_{x}^{*}(i,j)&= \left( g_{x+}^{*}(i,j) - g_{x-}^{*}(i,j) \right) / 2Z,\end{aligned}$$
(5.43)
$$\begin{aligned} \partial _{y} p^{*}(i,j)&= \left( \eta _{x+}^{*}(i,j) + \eta _{x-}^{*}(i,j) \right) / 2,\end{aligned}$$
(5.44)
$$\begin{aligned} \partial _{y} v_{x}^{*}(i,j)&= \left( \eta _{x+}^{*}(i,j) - \eta _{x-}^{*}(i,j) \right) / 2Z,\end{aligned}$$
(5.45)
$$\begin{aligned} \partial _{x} \partial _{y} p^{*}(i,j)&= \left( \mu _{x+}^{*}(i,j) + \mu _{x-}^{*}(i,j) \right) / 2,\end{aligned}$$
(5.46)
$$\begin{aligned} \partial _{x} \partial _{y} v_{x}^{*}(i,j)&= \left( \mu _{x+}^{*}(i,j) - \mu _{x-}^{*}(i,j) \right) / 2Z. \end{aligned}$$
(5.47)

The particle velocity in the \(x\)-direction and their derivatives are directly assigned to those at the next time step: \(v_{x}^{n+1}(i,j) = v_{x}^{*}(i,j)\), for example.

Secondly, advection calculations in the \(\pm y\)-direction are carried out in a similar procedure described above. The \(y\)-directional characteristic curves and their derivatives are derived from the physical values and their derivatives at the intermediate step:

$$\begin{aligned} f_{y \pm }^{*}(i,j)&= p^{*}(i,j) \pm Z v_{y}^{*}(i,j), \end{aligned}$$
(5.48)
$$\begin{aligned} g_{y \pm }^{*}(i,j)&= \partial _{y} p^{*}(i,j) \pm Z \partial _{y} v_{y}^{*}(i,j), \end{aligned}$$
(5.49)
$$\begin{aligned} \eta _{y \pm }^{*}(i,j)&= \partial _{x} p^{*}(i,j) \pm Z \partial _{x} v_{y}^{*}(i,j), \end{aligned}$$
(5.50)
$$\begin{aligned} \mu _{y \pm }^{*}(i,j)&= \partial _{x}\partial _{y} p^{*}(i,j) \pm Z \partial _{x}\partial _{y} v_{y}^{*}(i,j). \end{aligned}$$
(5.51)

The third-order Hermite interpolation gives the values at the next time step \(n+1\):

$$\begin{aligned} f_{y\pm }^{n+1}(i,j) =\,&C_{1\pm } f_{y\pm }^{*}(i,j\mp 1) + C_{2\pm } f_{y\pm }^{*}(i,j) \nonumber \\&+ C_{3\pm } g_{y\pm }^{*}(i,j\mp 1) + C_{4\pm } g_{y\pm }^{*}(i,j), \end{aligned}$$
(5.52)
$$\begin{aligned} g_{y\pm }^{n+1}(i,j) = \,&C'_{1\pm } f_{y\pm }^{*}(i,j\mp 1) + C'_{2\pm } f_{y\pm }^{*}(i,j) \nonumber \\&+ C'_{3\pm } g_{y\pm }^{*}(i,j\mp 1) + C'_{4\pm } g_{y\pm }^{*}(i,j), \end{aligned}$$
(5.53)
$$\begin{aligned} \eta _{y\pm }^{n+1}(i,j) =\,&C_{1\pm } \eta _{y\pm }^{*}(i,j\mp 1) + C_{2\pm } \eta _{y\pm }^{*}(i,j) \nonumber \\&+ C_{3\pm } \mu _{y\pm }^{*}(i,j\mp 1) + C_{4\pm } \mu _{y\pm }^{*}(i,j), \end{aligned}$$
(5.54)
$$\begin{aligned} \mu _{y\pm }^{n+1}(i,j) =\,&C'_{1\pm } \eta _{y\pm }^{*}(i,j\mp 1) + C'_{2\pm } \eta _{y\pm }^{*}(i,j) \nonumber \\&+ C'_{3\pm } \mu _{y\pm }^{*}(i,j\mp 1) + C'_{4\pm } \mu _{y\pm }^{*}(i,j). \end{aligned}$$
(5.55)

Results of advection calculations in the \(y\)-direction are restored to the physical values and their derivatives at the time step \(n+1\):

$$\begin{aligned} p^{n+1}(i,j)&= \left( f_{y+}^{n+1}(i,j) + f_{y-}^{n+1}(i,j) \right) / 2,\end{aligned}$$
(5.56)
$$\begin{aligned} v_{y}^{n+1}(i,j)&= \left( f_{y+}^{n+1}(i,j) - f_{y-}^{n+1}(i,j) \right) / 2Z,\end{aligned}$$
(5.57)
$$\begin{aligned} \partial _{y} p^{n+1}(i,j)&= \left( g_{y+}^{n+1}(i,j) + g_{y-}^{n+1}(i,j) \right) / 2,\end{aligned}$$
(5.58)
$$\begin{aligned} \partial _{y} v_{y}^{n+1}(i,j)&= \left( g_{y+}^{n+1}(i,j) - g_{y-}^{n+1}(i,j) \right) / 2Z,\end{aligned}$$
(5.59)
$$\begin{aligned} \partial _{x} p^{n+1}(i,j)&= \left( \eta _{y+}^{n+1}(i,j) + \eta _{y-}^{n+1}(i,j) \right) / 2,\end{aligned}$$
(5.60)
$$\begin{aligned} \partial _{x} v_{y}^{n+1}(i,j)&= \left( \eta _{y+}^{n+1}(i,j) - \eta _{y-}^{n+1}(i,j) \right) / 2Z,\end{aligned}$$
(5.61)
$$\begin{aligned} \partial _{x} \partial _{y} p^{n+1}(i,j)&= \left( \mu _{y+}^{n+1}(i,j) + \mu _{y-}^{n+1}(i,j) \right) / 2,\end{aligned}$$
(5.62)
$$\begin{aligned} \partial _{x} \partial _{y} v_{y}^{n+1}(i,j)&= \left( \mu _{y+}^{n+1}(i,j) - \mu _{y-}^{n+1}(i,j) \right) / 2Z. \end{aligned}$$
(5.63)

In the type-M CIP method, the third-oder Hermite interpolation of the perpendicular derivatives, Eqs. (5.38) and (5.54), are replaced with the first-order Lagrange interpolation as follows:

$$\begin{aligned} \eta _{x\pm }^{*}(i,j)&= C_{1\pm }^{L} \eta _{x\pm }^{n}(i\mp 1,j) + C_{2\pm }^{L} \eta _{x\pm }^{n}(i,j)\end{aligned}$$
(5.64)
$$\begin{aligned} \eta _{y\pm }^{n+1}(i,j)&= C_{1\pm }^{L} \eta _{y\pm }^{*}(i,j\mp 1) + C_{2\pm }^{L} \eta _{y\pm }^{*}(i,j), \end{aligned}$$
(5.65)

where

$$\begin{aligned} C_{1\pm }^{L}&= \chi , \end{aligned}$$
(5.66)
$$\begin{aligned} C_{2\pm }^{L}&= 1 - \chi . \end{aligned}$$
(5.67)

The above equations correspond with the upwind scheme. Advection calculations for Eqs. (5.39) and (5.55) are omitted and the second derivatives of the physical values, \(\partial _{x} \partial _{y} p\), \(\partial _{x} \partial _{y} v_{x}\), and \(\partial _{x} \partial _{y} v_{y}\), are not defined at the grid points, resulting in reduction of required computer memory and computational time.

2.3 Boundary Conditions

In the CIP method, boundary conditions at the interface between two media are given using the reflection coefficient [16]. When \(f_{x+}\) and \(g_{x+}\) are incident on the boundary at \(x_{b}\), for example, the boundary conditions are represented as

$$\begin{aligned} f_{x-}(x_{b})&= \varGamma f_{x+}(x_{b}), \end{aligned}$$
(5.68)
$$\begin{aligned} g_{x-}(x_{b})&= \varGamma ' g_{x+}(x_{b}), \end{aligned}$$
(5.69)

where \(\varGamma \) and \(\varGamma '\) denote the reflection coefficient of \(p\) and \(v_{x}\) and that of the spatial derivatives \(\partial _{x} p\) and \(\partial _{x} v_{x}\), respectively.

Here, we designate a medium in the \(-x\) side of the boundary as medium-1 and that in the opposite side as medium-2. The reflection coefficient \(\varGamma \) is given as

$$\begin{aligned} \varGamma = \frac{Z_{2} - Z_{1}}{Z_{2}+Z_{1}}, \end{aligned}$$
(5.70)

where \(Z_{1}\) and \(Z_{2}\) are the characteristic impedance of each medium (hereafter, values with a subscript 1 and 2 denote those in each medium). Eq. (5.70) is derived from Dirichlet conditions of the sound pressure and the particle velocity on the boundary:

$$\begin{aligned} p_{1}&= p_{2}, \end{aligned}$$
(5.71)
$$\begin{aligned} v_{x1}&= v_{x2}. \end{aligned}$$
(5.72)

Meanwhile, Neumann conditions on the boundary are

$$\begin{aligned} \frac{1}{\rho _{1}}\partial _{x}p_{1}&= \frac{1}{\rho _{2}}\partial _{x}p_{2},\end{aligned}$$
(5.73)
$$\begin{aligned} \rho _{1}c_{1}^{2}\partial _{x}v_{x1}&= \rho _{2}c_{2}^{2}\partial _{x}v_{x2}, \end{aligned}$$
(5.74)

where \(\rho _{1}\) and \(\rho _{2}\) are the density of each medium. These conditions lead to the following relation:

$$\begin{aligned} \varGamma ' = - \frac{Z_{2} - Z_{1}}{Z_{2} + Z_{1}} = -\varGamma . \end{aligned}$$
(5.75)

We can explicitly give the reflection coefficients \(\varGamma \) and \(\varGamma '\) as constants as long as they satisfy Eq. (5.75). For example, \(\varGamma = 1\) and \(\varGamma '=-1\) are set to a perfectly reflective surface.

In multi-dimensional simulations, boundary conditions for the perpendicular derivatives are given in similar forms to Eqs. (5.68) and (5.69). In a two-dimensional simulation, for example, the boundary conditions for the perpendicular derivatives are represented as

$$\begin{aligned} \eta _{x-}(x_{b})&= \varGamma \eta _{x+}(x_{b}),\end{aligned}$$
(5.76)
$$\begin{aligned} \mu _{x-}(x_{b})&= \varGamma ' \mu _{x+}(x_{b}). \end{aligned}$$
(5.77)

The equations above are derived from the differentiation of Eqs. (5.71)–(5.74).

2.4 Perfectly Matched Layer

The CIP method computes a sound field formed into a finite discrete domain. When we apply the CIP method to a simulation of an infinite sound filed, such as an outdoor sound field, an absorption treatment is required to suppress reflection waves from outer boundaries of the finite simulation domain as the FDTD method requires. The CIP method computes wave propagation dividing it into forward and backward components. Consequently, the CIP method naturally provides an automatic-absorbing boundary condition (A-ABC) on the outer boundaries letting incoming components be zero. However, the A-ABC is similar to the Mur’s ABC of the first kind in the FDTD method [17]. In multi-dimensional simulations, the A-ABC has insufficient absorption performance for oblique-incident waves on the outer boundaries although it is effective for a normal-incident wave.

The perfectly matched layer-absorbing boundary condition (PML-ABC) [18] is often employed in multi-dimensional FDTD simulations to achieve high absorption performance on the outer boundaries for oblique-incident waves as well as a normal-incident wave. The followings explain formulation to implement the PML-ABC in multi-dimensional sound field simulations using the type-C CIP method [19, 20]. Although, for simplicity, two-dimensional formulation is shown below, it can be simply extended to three-dimensional simulations.

Fig. 5.6
figure 6

Perfectly matched layer surrounding a sound field

Figure 5.6 schematically illustrates the PML, which surrounds a calculated sound field to suppress reflection waves from the outer boundaries. In the PML region, nonzero attenuation parameter reduces sound waves and results in suppression of incoming waves. Discontinuous change of the attenuation parameter causes reflection. Therefore, increasing attenuation parameter is given as a function of the distance from the PML surface, that is the interface between the sound field and the PML:

$$\begin{aligned} R = R_{\text{ max }}\left( \frac{d}{L} \right) ^{m}, \end{aligned}$$
(5.78)

where \(R_{\text{ max }}\) is the maximum value of the attenuation parameter, \(L\) is the thickness of the PML, and \(m\) decides distribution of the attenuation parameter. \(d\) denotes the distance from the PML surface and can be expressed by coordinates as shown in Fig. 5.6. It should be noted that nonzero attenuation parameter is given only in the direction where the PML intends to suppress reflection waves; \(R_{x}=R\), \(R_{y}=0\) in the PML for the \(x\)-direction, \(R_{x}=0\), \(R_{y}=R\) in that for the \(y\)-direction, and \(R_{x}=R\), \(R_{y}=R\) in that at a corner of calculated sound field.

In the PML region with nonzero attenuation parameter \(R_{x}\), the governing equations for acoustic fields corresponding to Eq. (5.13) are [21]

$$\begin{aligned} \partial _{t} p + c Z \partial _{x} v_{x} = -\frac{R_{x}}{\rho }p ,\, \, Z \partial _{t} v_{x} + c \partial _{x} p = -\frac{R_{x}}{\rho }Zv_{x}. \end{aligned}$$
(5.79)

Addition and subtraction of them lead to the following equations letting \(r_{x}=R_{x}/\rho \):

$$\begin{aligned} \partial _{t} f_{x \pm } \pm c \partial _{x} f_{x \pm } = -r_{x}f_{x\pm }. \end{aligned}$$
(5.80)

Although Eq. (5.80) has a non-advection term, that is a dissipation term, in the right-hand side, it can be computed by separating into advection and non-advection phases [8]:

$$\begin{aligned} \partial _{t} f_{x \pm } \pm c \partial _{x} f_{x \pm } = 0, \end{aligned}$$
(5.81)
$$\begin{aligned} \partial _{t} f_{x \pm } = -r_{x}f_{x\pm }. \end{aligned}$$
(5.82)

Equation (5.81) is a normal advection equation. Therefore, it can be calculated by the procedure previously described for lossless fields. We let here results of the advection calculations at a time step \(n\) be \(f_{x\pm }^{n(A)}\), \(g_{x\pm }^{n(A)}\), \(\eta _{x\pm }^{n(A)}\), and \(\xi _{x\pm }^{n(A)}\).

In the non-advection phase, the analytical solution of Eq. (5.82) gives \(f_{x\pm }\) at the next time step using \(f_{x\pm }^{n(A)}\):

$$\begin{aligned} f_{x \pm }^{n+1} = f_{x\pm }^{n(A)}\mathrm{{exp}}(-r_{x} \varDelta t). \end{aligned}$$
(5.83)

The derivatives \(g_{x\pm }\) at the next time step are also analytically obtained by the spatial differentiation of Eq. (5.83) with respect to \(x\):

$$\begin{aligned} g_{x \pm }^{n+1} = \left\{ g_{x\pm }^{n(A)} - \varDelta t (\partial _{x}r_{x}) f_{x\pm }^{n(A)} \right\} \mathrm{{exp}}(-r_{x} \varDelta t), \end{aligned}$$
(5.84)

where the spatial derivative of \(r_{x}\) is given by

$$\begin{aligned} \partial _{x} r_{x} = (\partial _{x}d) \frac{m R_{\text{ max }} }{\rho L} \left( \frac{d}{L}\right) ^{m-1}. \end{aligned}$$
(5.85)

Furthermore, the differentiations of Eqs. (5.83) and (5.84) with respect to \(y\) derive the solutions of the perpendicular derivatives \(\eta _{x\pm }\) and \(\mu _{x\pm }\):

$$\begin{aligned} \eta _{x \pm }^{n+1} = \eta _{x\pm }^{n(A)}\mathrm{{exp}}(-r_{x} \varDelta t), \end{aligned}$$
(5.86)
$$\begin{aligned} \mu _{x \pm }^{n+1} = \left\{ \mu _{x\pm }^{n(A)} - \varDelta t (\partial _{x}r_{x}) \eta _{x\pm }^{n(A)}\right\} \mathrm{{exp}}(-r_{x} \varDelta t). \end{aligned}$$
(5.87)

As described above, the values at the next time step, that is the results of the non-advection phase, can be straightly calculated by using those previously obtained in the advection phase.

We can compute \(y\)-directional wave propagations in the PML region in a similar procedure to the above.

Fig. 5.7
figure 7

Comparison of sound pressure distributions in the two-dimensional free field with and without the PML over the lower outer boundary. Calculation parameters are: \(c=340.5\) m/s, \(\varDelta t = 0.25 \times 10^{-4}\) s, \(\varDelta l = 0.025\) m, \(R_{\text{ max }} = 2.0\rho c\), \(m=2\), and \(N=64\). a Without PML. b With 64-layer PML

Figure 5.7 exhibits sound pressure distributions in a two-dimensional free field with and without the PML over the lower outer boundary. The PML consists of 64 layers and the outer boundaries including the lower one behind the PML employ the A-ABC. The illustrated area is a part of an adequately large calculated field, which has dimensions of \(65.6 \times 27.2\) m. Therefore, no reflection waves from the outer boundaries except the lower one appear in the illustrated area in a time range shown in Fig. 5.7. In the results without the PML, we can observe the reflection wave from the A-ABC and find that the amplitude of it increases as the incident angle increases. In contrast, in the results with the PML, the reflection wave almost disappears.

3 Finite-Volume Time-Domain Method

The FDTD approach has widely been accepted as a simple, fast, and proven method for numerical sound propagation prediction. However, the method requires an orthogonal structured grid system for a discretized representation of an acoustic field. The use of the orthogonal grid system is recognized as one of shortcomings of the FDTD method because it is generally not suitable for the representation of complex geometries. Meshing (preprocessing) and postprocessing complex geometries with orthogonal structured grids often require extensive human works.

The issue is addressed here through an introduction of a full finite-volume time-domain (FVTD) method meant as a replacement for the FDTD method. The main strength of the full FVTD approach is the capability to utilize unstructured grids, which contain arbitrary polyhedral cells. The strength opens possibility of using a vast variety of general-purpose pre- and post-processors designed for finite volume or finite element grids.

3.1 Finite-Volume Formulation

The wave propagation equation represented in velocity potential\(\phi \) is written as follows.

$$\begin{aligned} \frac{\partial ^2 \phi }{\partial t^2} = c_0^2\nabla ^2 \phi , \end{aligned}$$
(5.88)

where \(t\), \(c_0\), \(\nabla ^2\) are time, the propagation speed of the wave, and the Laplacian operator, respectively. Using \(\phi \), pressure \(p\) and particle velocity \({\varvec{u}}\) are written as follows.

$$\begin{aligned} p&= \rho \frac{\partial \phi }{\partial t} ,\end{aligned}$$
(5.89)
$$\begin{aligned} {\varvec{u}}&= -\nabla \phi . \end{aligned}$$
(5.90)

Equation (5.88) is discretized under an unstructured grid system as shown in Fig. 5.8 where the definition point of physical quantities are taken at the barycenter of each control volume (CV). For the left hand side of Eq. (5.88), by integrating over the CV with time-invariant volume \(V\) and applying central time-differential scheme, we get

$$\begin{aligned} \frac{\partial ^2}{\partial t^2}\int \limits _V \phi \, dV&\approx \frac{\phi ^{n+1} - 2\phi ^n + \phi ^{n-1}}{\varDelta t^2}V, \nonumber \end{aligned}$$

where \(\phi ^{n-1}\), \(\phi ^{n}\), \(\phi ^{n+1}\) denote the values of \(\phi \) at the \((n-1)\)th, \(n\)th, \((n+1)\)th steps of time step \(\varDelta t\). For the right hand side, by integrating Eq. (5.88) within a CV and applying divergence theorem, we get

$$\begin{aligned} \int \limits _V c_0^2\, \nabla ^2 \phi dV&= c_0^2 \int \limits _S d{\varvec{S}} \cdot \nabla \phi \nonumber \\&\approx c_0^2 \sum _\mathrm{f} {\varvec{S}}_\mathrm{f} \cdot (\nabla \phi )_\mathrm{f}, \end{aligned}$$
(5.91)

where \({\varvec{S}}_\mathrm{f}\) denotes the face area vector of the f-th face that constitutes the polyhedral CV in question as follows:

$$\begin{aligned} {\varvec{S}}_\mathrm{f} = S_\mathrm{f}{\varvec{n}}_\mathrm{f}, \end{aligned}$$
(5.92)

where \(S_\mathrm{f}\) and \({\varvec{n}}_\mathrm{f}\) are the area and the unit outward normal vector of the face \(\mathrm{f}\), respectively.

Fig. 5.8
figure 8

Unstructured mesh system

If a vector connecting the centers of the CV P and its adjacent CV N, \({\varvec{d}}_{PN}\), is parallel to \({\varvec{S}}_f\), \({\varvec{S}}_\mathrm{f}\left( \nabla \phi \right) _\mathrm{f}\) is written in terms of \(\partial \phi /\partial n_\mathrm{f}\), the surface-normal gradient of \(\phi \). Thus, the term within the summation in the rightmost hand side of Eq. (5.91) is discretized as follows.

$$\begin{aligned} {\varvec{S}}_\mathrm{f} \cdot (\nabla \phi )_\mathrm{f}&= S_\mathrm{f} \frac{\partial \phi }{\partial n_\mathrm{f}} \nonumber \\&\approx S_\mathrm{f} \frac{\phi _{\mathrm{N}} - \phi _\mathrm{P}}{|{\varvec{d}}_\mathrm{PN}|}. \end{aligned}$$
(5.93)

However, if \({\varvec{d}}_{PN}\) is nonorthogonal to \({\varvec{S}}_\mathrm{f}\), \({\varvec{S}}_\mathrm{f}\) has to be decomposed into its orthogonal part \({\varvec{\varDelta }}_\mathrm{f}\) and nonorthogonal part \({\varvec{k}}_\mathrm{f}\).

$$\begin{aligned} {\varvec{S}}_\mathrm{f} \cdot (\nabla \phi )_\mathrm{f} = {\varvec{\varDelta }}_\mathrm{f} \cdot (\nabla \phi )_\mathrm{f} + {\varvec{k}}_\mathrm{f} \cdot (\nabla \phi )_\mathrm{f}. \nonumber \end{aligned}$$

The first term of the right hand side of the equation above, the orthogonal part, is discretized similarly to Eq. (5.93) as follows:

$$\begin{aligned} {\varvec{\varDelta }}_\mathrm{f} \cdot (\nabla \phi )_\mathrm{f} \approx \left| {\varvec{\varDelta }}_\mathrm{f} \right| \frac{\phi _{\mathrm{N}} - \phi _\mathrm{P}}{|{\varvec{d}}_\mathrm{PN}|}. \nonumber \end{aligned}$$

The nonorthogonal part, \((\nabla \phi )_\mathrm{f}\) in the second term, is given by interpolating the gradient of \(\phi \) at the centers of CVs P and N.

$$\begin{aligned} (\nabla \phi )_\mathrm{f} = f_x(\nabla \phi )_\mathrm{P} + (1 - f_x) (\nabla \phi )_\mathrm{N}. \end{aligned}$$
(5.94)

Here, the interpolation coefficient \(f_x\) and the gradient \((\nabla \phi )_\mathrm{P}\) are given as follows.

$$\begin{aligned} f_x&= \frac{\overline{\mathrm{fN}}}{\left| {\varvec{d}}_\mathrm{PN}\right| }, \nonumber \\ (\nabla \phi )_\mathrm{P}&= \frac{1}{V}\int _S d{\varvec{S}} \, \phi \nonumber \\&\approx \frac{1}{V} \sum _\mathrm{f} {\varvec{S}} \phi _\mathrm{f}, \nonumber \end{aligned}$$

where \(\phi _\mathrm{f}\) is a face-interpolated value of \(\phi \) at the center of CVs.

The orthogonal and nonorthogonal component vectors \({\varvec{\varDelta }}_\mathrm{f}\) and \({\varvec{k}}_\mathrm{f}\) can be calculated arbitrarily [22]. An orthogonal correction as follows is applied here.

$$\begin{aligned} {\varvec{\varDelta }}_\mathrm{f}&= \frac{{\varvec{d}}_\mathrm{PN}}{\left| {\varvec{d}}_\mathrm{PN}\right| } S_\mathrm{f}, \end{aligned}$$
(5.95)
$$\begin{aligned} {\varvec{k}}_\mathrm{f}&= {\varvec{S}}_\mathrm{f} - {\varvec{\varDelta }}_\mathrm{f}. \end{aligned}$$
(5.96)

The vectors are schematically drawn in Fig. 5.9.

Fig. 5.9
figure 9

Nonorthogonal mesh correction vectors

3.2 Rigid Boundary Conditions

On acoustically rigid boundaries b, the normal component of particle velocity \(u_b\) is fixed to zero.

$$\begin{aligned} u_\mathrm{b}&= {\varvec{n}}_\mathrm{b}\cdot {\varvec{u}}_\mathrm{b} = 0. \end{aligned}$$
(5.97)

Substituting the relationship above to Eqs. (5.90) and (5.92) leads to the equation below, which represents the surface normal gradient of \(\phi \) being zero.

$$\begin{aligned} {\varvec{S}}_\mathrm{b}\cdot (\nabla \phi )_\mathrm{b} = 0. \nonumber \end{aligned}$$

3.3 Computational Setup

Table 5.1 Computational setup

In order to validate the proposed FVTD technique under unstructured meshes, a comparative test using a sound propagation problem in a closed cube of 1 m \(\times \) 1 m \(\times \) 1 m, one of the AIJ-BPCA (Benchmark Platform on Computational Methods for Architectural and Environmental Acoustics) [23] problems, was carried out. The detail of the tested cases are shown in Table 5.1.  

  1. Case 1

    The problem was solved using a conventional FDTD code written in Fortran 77 employing a pressure-particle velocity leapfrog scheme. The case is meant to be the benchmark case to which the results obtained by the proposed technique is compared for validation. Each edge of the cube was divided to 81 subedges to create a mesh of cell width \(\varDelta x = 0.0123\) m and the number of cells 531,441 (Fig. 5.10b). The time step \(\varDelta t\) and the Courant number \(C_o\) were set to 0.02 ms and 0.96, respectively.

  2. Case 2

    The problem was solved with the proposed technique under a hexahedral orthogonal mesh and setup both identical to the ones for Case 1.

  3. Case 3

    The problem was solved with the proposed technique under a nonuniform tetrahedral unstructured mesh automatically generated by an open-source mesher, Gmsh [24]. The characteristic length \(l_c\) (the length with which each edge of the cube is divided) is set to 0.025 m, to make a mesh with the number of CVs 531,333 (roughly the same as Cases 1 and 2). The ratio of maximum and minimum CV edge lengths of the generated mesh was 6.32. The time step \(\varDelta t\) was set to 0.0049 ms to keep the maximum Courant number to 0.99. In this case no nonorthogonal techniques was applied.

  4. Case 4

    The setups are same as Case 3, except that the orthogonal correction technique was applied.

 

Fig. 5.10
figure 10

a Problem geometry of the benchmark problem AIJ-BPCA B0-1T, b Surface mesh for Cases 1 and 2 (coarsened by factor of 2 for visibility), c Surface mesh for Cases 3 and 4 (coarsened by factor of 2) and d Surface and internal mesh (coarsened by factor of 8) for Cases 3 and 4

For all cases, the initial values of \(\phi \) were set to represent the pressure and particle velocity conditions of

$$\begin{aligned} p^{-1/2}(r)&= \left\{ \!\! \begin{array}{ll} {\displaystyle \frac{\cos 8 \pi r + 1}{2}} &{} \quad (r < 0.125) \\ 0 &{} \quad (\mathrm{otherwise })\end{array} \right. \mathrm {[Pa]}, \end{aligned}$$
(5.98)
$$\begin{aligned} {\varvec{u}}^0(r)&= {\varvec{0}}, \end{aligned}$$
(5.99)

where \(r\) [m] is the distance from the center of the cube. All cases were run up to \(t = 0.04 \mathrm{s}\).

3.4 Results and Discussion

The transient sound pressure waveforms at the receiving point R2 shown in Fig. 5.10a are plotted in Fig. 5.11, using the result of Case 1 as the benchmark case for comparison with other cases. From Fig. 5.11a, one can see that the results of FDTD and FVTD techniques agree so precisely that they can be regarded as virtually identical results. From the results one can verify the proposed FVTD technique has the same accuracy as the conventional FDTD under identical geometry, mesh, and computational setups.

Fig. 5.11
figure 11

Transient sound pressure waveforms at the receiving point R2

On the other hand, from the comparison of Cases 1 and 3 in Fig. 5.11b, the waveform obtained by the FVTD technique under the tetrahedral mesh is phasing forward in about 1.5 %. Also, the overall waveform is gradually dispersing over time. In addition, the results of Case 4 is shown in Fig. 5.11c. Despite the employment of the correction technique, the drift of the phase did not improve. Even worse, waveforms started to oscillate and diverged eventually.

From the results one can conclude that while one can expect identical results between FDTD and FVTD techniques under identical setups, there remains works for the FVTD technique in reducing the phase error coming from nonorthogonalities of unstructured grids.

3.5 Computational Loads

To compare the proposed technique with the conventional FDTD from the standpoint of computational loads, processor times and memory usages were instrumented for Cases 1–4, as shown in Table 5.2. The instrumentations were carried out on an Opteron 2.4 GHz 64-bit Linux platform. The FVTD computations turned out to require more than ten times of processor and memory usages. Hence it should be noted that, from the computational load of view, the proposed FVTD technique is not meant to completely replace FDTD especially in large cases, but should rather be used for small to medium cases where rapid preprocessing (case setup) and postprocessing have of particular importance.

Table 5.2 Processor and memory usages

Although Cases 2 and 3 have roughly the same number of cells, one may notice that Case 3 requires smaller amount of computational time per time step. This is because the computational load required in calculating the Laplacian term is determined mostly by the number of faces per CV, as shown in Eq. (5.91). It is also shown that, from Cases 3 and 4, applying nonorthogonal correction technique more than doubles the processor usage.