Introduction

Acoustic analysis employs a variety of numerical methods, including the Method of Moments (MoM)1, the boundary element method (BEM)2,3, the plane wave time-domain (PWTD) algorithm4, the singular boundary method (SBM)5, the finite element method (FEM)6,7, and the finite integration technique (FIT)8. Among these, the BEM is particularly well-suited for acoustic problems due to its use of a fundamental solution that inherently satisfies the Sommerfeld radiation condition in unbounded domains. This allows the BEM to efficiently handle infinite domain problems—such as acoustic and electromagnetic fields—with discretization required only on the boundary, often yielding higher accuracy with lower computational cost compared to domain-type methods9.

BEM implementations can be categorized into frequency-domain (FDBEM)10 and time-domain (TDBEM)11,12 approaches. In FDBEM, the governing equation is transformed into the Helmholtz equation, which is then converted into a boundary integral equation using a frequency-dependent fundamental solution. While efficient for single-frequency problems, FDBEM requires repeated matrix inversions for broadband analyses, which becomes computationally expensive for large-scale problems.

In TDBEM, there are two different kinds of implementations. The one is to utilize the time-dependent fundamental solution13. Although the domain integral could be avoided in the boundary integral equation, a time consuming convolution quadrature is usually involved. Moreover, the calculation of boundary integral becomes very difficult due to the causality of the fundamental solution. The other one is to utilize the time-independent fundamental solution to the Laplace equation. This introduction of time-independent fundamental solution leads to a a domain integral term which is related to the sound pressure time variation in the conventional boundary integral equation. To avoid direct domain integration, several techniques have been developed, such as the dual reciprocity method (DRM)14, the radial integration method (RIM)14, and the multiple reciprocity method (MRM)15. The DRM and RIM, which utilize radial basis function (RBF) interpolation to approximate the domain term, are widely adopted as they preserve the boundary-only character of the BEM. The DRBEM has been successfully applied to nonlinear wave problems16, transient convection–diffusion–reaction problems17, transient heat conduction18,19, viscoelastic fracture problems20, among others.

In acoustic applications involving mechanical vibrations or shocks, the low-frequency range (0–200 Hz) dominates the spectrum, making time-domain methods particularly relevant. After DRM discretization of the time-domain wave equation, a system of semi-discrete second-order ODEs is obtained. Traditional time-stepping schemes often suffer from numerical instability21. The Runge–Kutta method (RKM), known for its high convergence rate and stability22,23, is well-suited for such systems.

This paper employs a fourth-order RKM to solve the ODE system derived from the DRM discretization. Since the RKM is designed for first-order systems, the second-order ODEs are converted into first-order form by introducing an auxiliary variable, effectively doubling the system size.

The remainder of this paper is organized as follows: “The dual reciprocity boundary element method for scalar wave propagation” outlines the DRBEM formulation for scalar wave propagation. Section “Dual reciprocity boundary element method for scalar wave propagation problem” details the application of the RKM to the semi-discretized ODE system. Section “Numerical example” presents two numerical examples validating the proposed method. Conclusions and future research directions are discussed in “Conclusion”.

The dual reciprocity boundary element method for scalar wave propagation

The governing equation of the acoustic scattering problem

In an ideal homogeneous domain \(\:\varOmega\:\) which is enclosed by the boundary \(\Gamma\), the acoustic propagation in the absence of internal sound sources can be described by the following equation 

$$\Delta u\left( {{\varvec{x}},t} \right)=\frac{1}{{{\text{c}^2}}}\ddot {u}\left( {{\varvec{x}},t} \right) {\varvec{x}} \in \Omega$$
(1)

where \(\:c\) denotes the speed of sound propagation, the superscript \(\:\ddot{\:}\) denotes the second-order derivative with respect to time variable t, \(\:u\left(x,t\right)\) denotes the sound pressure at the point \(\:x\) in the medium at the time t, and \(\:\varDelta\:\) is the Laplace operator, which is expressed in two-dimensional as well as three-dimensional models as follows

$$\left\{ \begin{gathered} \Delta = \frac{{{\partial ^2}}}{{\partial {x_1}^{2}}}+\frac{{{\partial ^2}}}{{\partial {x_2}^{2}}} 2D \hfill \\ \Delta = \frac{{{\partial ^2}}}{{\partial {x_1}^{2}}}+\frac{{{\partial ^2}}}{{\partial {x_2}^{2}}}+\frac{{{\partial ^2}}}{{\partial {x_3}^{2}}} 3D \hfill \\ \end{gathered} \right.$$
(2)

There are three types of boundary conditions

$$\left\{ \begin{gathered} u\left( {{\varvec{x}},t} \right)=\bar {u}\left( {{\varvec{x}},t} \right) {\varvec{x}} \in {\Gamma _1} \hfill \\ \frac{{\partial u}}{{\partial {\mathbf{n}}}}\left( {{\varvec{x}},t} \right)={{\bar {u}}_n}\left( {{\varvec{x}},t} \right) {\varvec{x}} \in {\Gamma _2} \hfill \\ \alpha u\left( {{\varvec{x}},t} \right)+\beta \frac{{\partial u}}{{\partial {\mathbf{n}}}}\left( {{\varvec{x}},t} \right)=0 {\varvec{x}} \in {\Gamma _3} \hfill \\ \end{gathered} \right.$$
(3)

In which, n stands for the outward normal to the corresponding surface. To guarantee the existence of the solution, the initial condition as follows should be given.

$$\begin{gathered} u\left( {{\varvec{x}},{t_0}} \right)={u_0}\left( {\varvec{x}} \right) {\varvec{x}} \in \Omega \hfill \\ \frac{{\partial u}}{{\partial t}}\left( {{\varvec{x}},{t_0}} \right)={{\dot {u}}_0}\left( {\varvec{x}} \right) {\varvec{x}} \in \Omega \hfill \\ \end{gathered}$$
(4)

where \({\Gamma _1}\), \({\Gamma _2}\), \({\Gamma _3}\) are the Dirichlet boundary, the Neumann boundary and the Robin boundary, respectively. They Satisfy \({\Gamma _1} \cup {\Gamma _2} \cup {\Gamma _3} = \Gamma\).

Dual reciprocity boundary element method for scalar wave propagation problem

The governing equation Eq. (1) can be converted into an equivilant integral equation by employing a fundamental solution to the Laplacian.

$$\begin{gathered} C({\mathbf{y}})u({\mathbf{y}},t)=\int_{\Gamma } {u({\mathbf{x}},t)\left( {\frac{{\partial {u^*}({\mathbf{y}},{\mathbf{x}})}}{{\partial n({\mathbf{x}})}}} \right)d\Gamma ({\mathbf{x}})} - \int_{\Gamma } {{u^*}({\mathbf{y}},{\mathbf{x}})\left( {\frac{{\partial u({\mathbf{x}},t)}}{{\partial n({\mathbf{x}})}}} \right)d\Gamma ({\mathbf{x}})} \hfill \\ - {c^2}\int_{\Omega } {{u^*}({\mathbf{y}},{\mathbf{x}})\frac{{{\partial ^2}u({\mathbf{x}},t)}}{{\partial {t^2}}}d\Omega ({\mathbf{x}})} \hfill \\ \end{gathered}$$
(5)

where \(C({\mathbf{y}})\) is the coefficient, \(C({\mathbf{y}})=0\) if \({\mathbf{y}}\) locates outside the domain, \(C({\mathbf{y}})=0\) if \({\mathbf{y}}\) locates inside the domain, \(C({\mathbf{y}})=1\) if \({\mathbf{y}}\) locates on a smooth boundary. \({u^*}({\mathbf{y}},{\mathbf{x}})\) is the fundamental solution to the Laplacian operator

$${u^*}({\mathbf{y}},{\mathbf{x}})=\frac{1}{{4\pi r({\mathbf{y}},{\mathbf{x}})}}$$
(6)

In this conversion, the term is treated as an equivalent heat source which is variable along with time. Thus, the equivalent heat source appears in the right hand side of Eq. (5) in the form of domain integral. In the DRM, the term of equivalent heat source can be approximated through a radial basis function interpolation method with variable coefficients.

$$\frac{{{\partial ^2}}}{{\partial {t^2}}}u({\mathbf{x}},t) = \sum\limits_{i} {{\alpha _i}(t)} {\varphi _i}(\left\| {{\mathbf{x}} - {{\mathbf{x}}_i}} \right\|)$$
(7)

where \({{\mathbf{x}}_i}\) is the interpolation center which located inside the considered domain, \({\alpha _i}\left( t \right)\) is the RBF coefficient. There are many types of RBFs involving the Multiquadrics, the Gaussian RBF and the compact supported RBF. The Multiquadrics which is listed in Eq. (8) usually gives a more accurate result than other types of RBF.

$${\varphi _i}\left( r \right)=\sqrt {{r^2}+{a^2}}$$
(8)

where \(\:a\) is the shape parameter whose evaluation plays a very important role in the interpolation.

After the integration by parts for twice from the term \({c^2}\int_{\Omega } {{u^*}({\mathbf{y}},{\mathbf{x}})\frac{{{\partial ^2}u({\mathbf{x}},t)}}{{\partial {t^2}}}d\Omega ({\mathbf{x}})}\) in Eq. (5), the following formula can be obtained.

$$\begin{gathered} C({\mathbf{y}})u({\mathbf{y}},t) - \int_{\Gamma } {u({\mathbf{x}},t)\left( {\frac{{\partial {u^*}({\mathbf{y}},{\mathbf{x}})}}{{\partial n({\mathbf{x}})}}} \right)d\Gamma ({\mathbf{x}})} \hfill \\ +\int_{\Gamma } {{u^*}({\mathbf{y}},{\mathbf{x}})\left( {\frac{{\partial u({\mathbf{x}},t)}}{{\partial n({\mathbf{x}})}}} \right)d\Gamma ({\mathbf{x}})} \hfill \\ ={c^2}C({\mathbf{y}})\sum\limits_{i} {{\alpha _i}(t){\phi _i}({\mathbf{y}})} \hfill \\ - {c^2}\sum\limits_{i} {\int_{\Gamma } {{\phi _i}({\mathbf{x}})\left( {\frac{{\partial {u^*}({\mathbf{y}},{\mathbf{x}})}}{{\partial n({\mathbf{x}})}}} \right)d\Gamma ({\mathbf{x}})} {\alpha _i}(t)} \hfill \\ +{c^2}\sum\limits_{i} {\int_{\Gamma } {{u^*}({\mathbf{y}},{\mathbf{x}})\left( {\frac{{\partial {\phi _i}({\mathbf{x}})}}{{\partial n({\mathbf{x}})}}} \right)d\Gamma ({\mathbf{x}})} {\alpha _i}(t)} \hfill \\ \end{gathered}$$
(9)

where \({\phi _i}({\mathbf{y}})\) is the particular solution and satisfies

$$\,{\nabla ^2}{\phi _i}(\left\| {{\mathbf{y}} - {{\mathbf{y}}_i}} \right\|)={\varphi _i}(\left\| {{\mathbf{y}} - {{\mathbf{y}}_i}} \right\|)$$
(10)

Within the RBF interpolation, the coefficients can be evaluated through

$${\mathbf{\alpha }}(t) = {{\mathbf{\Phi }}^{ - 1}}\frac{{{\partial ^2}}}{{\partial {t^2}}}{\mathbf{u}}(t)$$
(11)

where \({{\mathbf{\Phi }}_{ji}}=\varphi \left( {\left\| {{{\mathbf{x}}_j} - {{\mathbf{x}}_i}} \right\|} \right)\).

In this application, the scattered nodes are generated inside the considered domain. This nodes are employed to perform the RBF interpolation. The Eq. (9) could be extended to the following formula by considering the particular solution.

$$\begin{gathered} C({\mathbf{y}})u({\mathbf{y}},t) \hfill \\ =\sum\limits_{j} {\sum\limits_{m} {\int_{{{\Gamma _j}}} {\frac{\partial }{{\partial n}}{u^*}({\mathbf{y}},{\mathbf{x}})u({{\mathbf{x}}_m},t){N_m}({\mathbf{x}})d\Gamma ({\mathbf{x}})} } } \hfill \\ - \sum\limits_{j} {\sum\limits_{m} {\int_{{{\Gamma _j}}} {{u^*}({\mathbf{y}},{\mathbf{x}})\frac{\partial }{{\partial n}}u({{\mathbf{x}}_m},t){N_m}({\mathbf{x}})d\Gamma ({\mathbf{x}})} } } \hfill \\ - {c^2}\sum\limits_{i} {\sum\limits_{j} {\sum\limits_{m} {\int_{{{\Gamma _j}}} {\frac{\partial }{{\partial n}}{u^*}({\mathbf{y}},{\mathbf{x}}){\phi _i}({{\mathbf{x}}_m}){N_m}({\mathbf{x}})d\Gamma ({\mathbf{x}})} } } {\alpha _i}(t)} \hfill \\ +{c^2}\sum\limits_{i} {\sum\limits_{j} {\sum\limits_{m} {\int_{{{\Gamma _j}}} {{u^*}({\mathbf{y}},{\mathbf{x}})\left( {\frac{{\partial {\phi _i}({{\mathbf{x}}_m})}}{{\partial n({\mathbf{x}})}}} \right){N_m}({\mathbf{x}})d\Gamma ({\mathbf{x}})} } } {\alpha _i}(t)} \hfill \\ +{c^2}C({\mathbf{y}})\sum\limits_{i} {{\alpha _i}(t){\phi _i}({\mathbf{y}})} \hfill \\ \end{gathered}$$
(12)

After collocating the field points at all RBF centers which are distributed inside domain, the followling systems could be obtained.

$$\mathop {\mathbf{H}}\limits^{{db}} \mathop {\mathbf{u}}\limits^{b} (t) - \mathop {\mathbf{u}}\limits^{d} (t) - \mathop {\mathbf{G}}\limits^{{db}} \frac{{\partial \mathop {\mathbf{u}}\limits^{b} (t)}}{{\partial n}}=\left( {\mathop {\mathbf{H}}\limits^{{db}} \mathop {{\mathbf{\hat {U}}}}\limits^{{bd}} - \mathop {{\mathbf{\hat {U}}}}\limits^{{dd}} - \mathop {\mathbf{G}}\limits^{{db}} \mathop {{\mathbf{\hat {Q}}}}\limits^{{bd}} } \right)\mathop {{{\mathbf{\Phi }}^{ - 1}}}\limits^{{dd}} \mathop {{\mathbf{\ddot {u}}}}\limits^{d} (t)$$
(13)

in which, d and b denote the number of internal nodes and the number of boundary nodes, respectively. The superscript indicates the size of the corresponding matrix and vectors.

If we collocate the field points at all boundary nodes which locate on smooth boundary, we have

$$\left( {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} } \right)\mathop {\mathbf{u}}\limits^{b} (t) - \mathop {\mathbf{G}}\limits^{{bb}} \frac{{\partial \mathop {\mathbf{u}}\limits^{b} (t)}}{{\partial n}}=\left( {\left( {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} } \right)\mathop {{\mathbf{\hat {U}}}}\limits^{{bd}} {\mathbf{-}}\mathop {\mathbf{G}}\limits^{{bb}} \mathop {{\mathbf{\hat {Q}}}}\limits^{{bd}} } \right)\mathop {{{\mathbf{\Phi }}^{ - 1}}}\limits^{{dd}} \mathop {{\mathbf{\ddot {u}}}}\limits^{d} (t)$$
(14)

where \(\mathop {\mathbf{I}}\limits^{{bb}}\) denotes the unit matrix with b rows and b columns (Eq. (14) is only applicable when collocation points are located on smooth boundaries). We can rewrite the Eq. (14) in a larger matrix form as

$$\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} }&{ - \mathop {\mathbf{G}}\limits^{{bb}} } \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{u}}\limits^{b} (t)} \\ {\mathop {\frac{{\partial {\mathbf{u}}}}{{\partial n}}}\limits^{b} (t)} \end{array}} \right]=\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} }&{ - \mathop {\mathbf{G}}\limits^{{bb}} } \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {{\mathbf{\hat {U}}}}\limits^{{bd}} } \\ {\mathop {{\mathbf{\hat {Q}}}}\limits^{{bd}} } \end{array}} \right]\mathop {{{\mathbf{\Phi }}^{ - 1}}}\limits^{{dd}} \mathop {{\mathbf{\ddot {u}}}}\limits^{d} (t)$$
(15)

Considering three types of boundary condition, the boundary condition can be described in an uniform expression

$${\beta _1}u({\mathbf{x}},t)+{\beta _2}\frac{{\partial u({\mathbf{x}},t)}}{{\partial n({\mathbf{x}})}}={\beta _3} {\mathbf{x}} \in \Gamma$$
(16)

where

$$\left\{ {\begin{array}{*{20}{c}} {{\beta _1}=1 {\beta _2}=0{\text{ Dirichlet boundary}}} \\ {{\beta _1}=0 {\beta _2}=1{\text{ Neumann boundary}}} \\ {{\beta _1} \ne 0 {\beta _2} \ne 0{\text{ Robin boundary}}} \end{array}} \right.$$
(17)

The sound pressure and its normal derivative at the boundary nodes should satisfy

$$\left[ {\begin{array}{*{20}{c}} {{{\mathop {\mathbf{B}}\limits^{{bb}} }_1}}&{{{\mathop {\mathbf{B}}\limits^{{bb}} }_2}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{u}}\limits^{b} (t)} \\ {\mathop {\frac{{\partial {\mathbf{u}}}}{{\partial n}}(t)}\limits^{b} } \end{array}} \right]={\mathop {\mathbf{\beta }}\limits^{b} _3}(t)$$
(18)

where \({\mathop {\mathbf{B}}\limits^{{bb}} _1} = {\beta _1}\mathop {\mathbf{I}}\limits^{{bb}}\) and \({\mathop {\mathbf{B}}\limits^{{bb}} _2} = {\beta _2}\mathop {\mathbf{I}}\limits^{{bb}}\) are diagonal matrix.

Combining Eq. (15) and Eq. (18) yields

$$\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} }&{ - \mathop {\mathbf{G}}\limits^{{bb}} } \\ {{{\mathop {\mathbf{B}}\limits^{{bb}} }_1}}&{{{\mathop {\mathbf{B}}\limits^{{bb}} }_2}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{u}}\limits^{b} (t)} \\ {\mathop {\frac{{\partial {\mathbf{u}}}}{{\partial n}}}\limits^{b} (t)} \end{array}} \right]=\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} }&{ - \mathop {\mathbf{G}}\limits^{{bb}} } \\ 0&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {{\mathbf{\hat {U}}}}\limits^{{bd}} } \\ {\mathop {{\mathbf{\hat {Q}}}}\limits^{{bd}} } \end{array}} \right]\mathop {{{\mathbf{\Phi }}^{ - 1}}}\limits^{{dd}} \mathop {{\mathbf{\ddot {u}}}}\limits^{d} (t)+\left[ {\begin{array}{*{20}{c}} 0 \\ {{{\mathop {\mathbf{\beta }}\limits^{b} }_3}(t)} \end{array}} \right]$$
(19)

Thus, the boundary quantities can be computed through

$$\begin{gathered} \left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{u}}\limits^{b} (t)} \\ {\mathop {\frac{{\partial {\mathbf{u}}}}{{\partial n}}}\limits^{b} (t)} \end{array}} \right]={\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} }&{ - \mathop {\mathbf{G}}\limits^{{bb}} } \\ {{{\mathop {\mathbf{B}}\limits^{{bb}} }_1}}&{{{\mathop {\mathbf{B}}\limits^{{bb}} }_2}} \end{array}} \right]^{ - 1}}\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} }&{ - \mathop {\mathbf{G}}\limits^{{bb}} } \\ 0&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {{\mathbf{\hat {U}}}}\limits^{{bd}} } \\ {\mathop {{\mathbf{\hat {Q}}}}\limits^{{bd}} } \end{array}} \right]\mathop {{{\mathbf{\Phi }}^{ - 1}}}\limits^{{dd}} \mathop {{\mathbf{\ddot {u}}}}\limits^{d} (t) \hfill \\ \begin{array}{*{20}{c}} {}&{}&{} \end{array}+{\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} }&{ - \mathop {\mathbf{G}}\limits^{{bb}} } \\ {{{\mathop {\mathbf{B}}\limits^{{bb}} }_1}}&{{{\mathop {\mathbf{B}}\limits^{{bb}} }_2}} \end{array}} \right]^{ - 1}}\left[ {\begin{array}{*{20}{c}} 0 \\ {{{\mathop {\mathbf{\beta }}\limits^{b} }_3}(t)} \end{array}} \right] \hfill \\ \end{gathered}$$
(20)

If we denote

$$\mathop {\mathbf{Z}}\limits^{{_{{2b \times d}}}} ={\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} }&{ - \mathop {\mathbf{G}}\limits^{{bb}} } \\ {{{\mathop {\mathbf{B}}\limits^{{bb}} }_1}}&{{{\mathop {\mathbf{B}}\limits^{{bb}} }_2}} \end{array}} \right]^{ - 1}}\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} }&{ - \mathop {\mathbf{G}}\limits^{{bb}} } \\ 0&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {{\mathbf{\hat {U}}}}\limits^{{bd}} } \\ {\mathop {{\mathbf{\hat {Q}}}}\limits^{{bd}} } \end{array}} \right]$$
(21)
$$\mathop {\mathbf{e}}\limits^{{2{\text{b}}}} = {\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{bb}} - 0.5\mathop {\mathbf{I}}\limits^{{bb}} }&{ - \mathop {\mathbf{G}}\limits^{{bb}} } \\ {{{\mathop {\mathbf{B}}\limits^{{bb}} }_1}}&{{{\mathop {\mathbf{B}}\limits^{{bb}} }_2}} \end{array}} \right]^{ - 1}}\left[ {\begin{array}{*{20}{c}} 0 \\ {{{\mathop {\mathbf{\beta }}\limits^{b} }_3}(t)} \end{array}} \right]$$
(22)

Considering Eqs. (2022), the Eq. (13) can be simplified into

$$\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{db}} }&{ - \mathop {\mathbf{G}}\limits^{{db}} } \end{array}} \right]\left( {{\mathbf{Z}}\mathop {{{\mathbf{F}}^{ - 1}}}\limits^{{dd}} \mathop {{\mathbf{\ddot {u}}}}\limits^{d} +{\mathbf{e}}} \right) - \mathop {\mathbf{u}}\limits^{d} =\left\{ {\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{db}} }&{ - \mathop {\mathbf{G}}\limits^{{db}} } \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {{\mathbf{\tilde {U}}}}\limits^{{bd}} } \\ {\mathop {{\mathbf{\tilde {Q}}}}\limits^{{bd}} } \end{array}} \right] - \mathop {{\mathbf{\tilde {U}}}}\limits^{{dd}} } \right\}\mathop {{{\mathbf{F}}^{ - 1}}}\limits^{{dd}} \mathop {{\mathbf{\ddot {u}}}}\limits^{d}$$
(23)

The term of \(\mathop {{\mathbf{\ddot {u}}}}\limits^{d}\) can be explicitly expressed by

$$\begin{gathered} \mathop {{\mathbf{\ddot {u}}}}\limits^{d} =\mathop {\mathbf{\Phi }}\limits^{{dd}} {\left\{ {\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{db}} }&{ - \mathop {\mathbf{G}}\limits^{{db}} } \end{array}} \right]{\mathbf{Z}} - \left\{ {\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{db}} }&{ - \mathop {\mathbf{G}}\limits^{{db}} } \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {{\mathbf{\tilde {U}}}}\limits^{{bd}} } \\ {\mathop {{\mathbf{\tilde {Q}}}}\limits^{{bd}} } \end{array}} \right] - \mathop {{\mathbf{\tilde {U}}}}\limits^{{dd}} } \right\}} \right\}^{ - 1}}\mathop {\mathbf{u}}\limits^{d} \hfill \\ - \mathop {\mathbf{\Phi }}\limits^{{dd}} {\left\{ {\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{db}} }&{ - \mathop {\mathbf{G}}\limits^{{db}} } \end{array}} \right]{\mathbf{Z}} - \left\{ {\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{db}} }&{ - \mathop {\mathbf{G}}\limits^{{db}} } \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {{\mathbf{\tilde {U}}}}\limits^{{bd}} } \\ {\mathop {{\mathbf{\tilde {Q}}}}\limits^{{bd}} } \end{array}} \right] - \mathop {{\mathbf{\tilde {U}}}}\limits^{{dd}} } \right\}} \right\}^{ - 1}}\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{db}} }&{ - \mathop {\mathbf{G}}\limits^{{db}} } \end{array}} \right]{\mathbf{e}} \hfill \\ \end{gathered}$$
(24)

we further denote

$$\mathop {\mathbf{A}}\limits^{{dd}} =\mathop {\mathbf{\Phi }}\limits^{{dd}} {\left\{ {\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{db}} }&{ - \mathop {\mathbf{G}}\limits^{{db}} } \end{array}} \right]{\mathbf{Z}} - \left\{ {\left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{db}} }&{ - \mathop {\mathbf{G}}\limits^{{db}} } \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\mathop {{\mathbf{\tilde {U}}}}\limits^{{bd}} } \\ {\mathop {{\mathbf{\tilde {Q}}}}\limits^{{bd}} } \end{array}} \right] - \mathop {{\mathbf{\tilde {U}}}}\limits^{{dd}} } \right\}} \right\}^{ - 1}}$$
(25)
$$\mathop {\mathbf{B}}\limits^{{d \times (2b)}} = - \mathop {\mathbf{A}}\limits^{{dd}} \left[ {\begin{array}{*{20}{c}} {\mathop {\mathbf{H}}\limits^{{db}} }&{ - \mathop {\mathbf{G}}\limits^{{db}} } \end{array}} \right]$$
(26)

The following system of second-order ODEs can be derived

$$\mathop {{\mathbf{\ddot {u}}}}\limits^{d} =\mathop {\mathbf{A}}\limits^{{dd}} \mathop {\mathbf{u}}\limits^{d} + \mathop {\mathbf{B}}\limits^{{d \times (2b)}} \mathop {\mathbf{e}}\limits^{{2b}}$$
(27)

Before the implementation of the Runge–Kutta method, an intermedia variable should be introduced to lower the order of the differential Eq. 

$$\mathop {{\mathbf{\dot {u}}}}\limits^{d} =\mathop {\mathbf{v}}\limits^{d}$$
(28)

Equation (27) is transformed into a first-order ordinary differential Eq. 

$$\left[ \begin{gathered} \mathop {\dot {\mathbf{v}}}\limits^{d} \hfill \\ \mathop {{\mathbf{\dot {u}}}}\limits^{d} \hfill \\ \end{gathered} \right]=\left[ {\begin{array}{*{20}{c}} 0&{\mathop \mathbf{A}\limits^{{dd}} } \\ {\mathop {\mathbf{I}}\limits^{{dd}} }&0 \end{array}} \right]\left[ \begin{gathered} \mathop \mathbf{v}\limits^{d} \hfill \\ \mathop {\mathbf{u}}\limits^{d} \hfill \\ \end{gathered} \right]+\left[ \begin{gathered} \mathop {\mathbf{B}}\limits^{{d \times (2b)}} \\ 0 \\ \end{gathered} \right]\mathop {\mathbf{e}}\limits^{{2b}}$$
(29)

Equation (29) can be given by

$$\mathop {{\mathbf{\dot {x}}}}\limits^{{2d}} =\mathop {\mathbf{A}}\limits^{{2d \times 2d}} \mathop {\mathbf{x}}\limits^{{2d}} + \mathop {\mathbf{B}}\limits^{{2d \times (2b)}} \mathop {\mathbf{e}}\limits^{{2b}}$$
(30)

where \(\mathop {\mathbf{x}}\limits^{{2d}} =\left[ \begin{gathered} \mathop \mathbf{v}\limits^{d} \hfill \\ \mathop {\mathbf{u}}\limits^{d} \hfill \\ \end{gathered} \right]\),\(\mathop {\mathbf{A}}\limits^{{2d \times 2d}} =\left[ {\begin{array}{*{20}{c}} 0&{\mathop {\mathbf{A}}\limits^{{dd}} } \\ {\mathop {\mathbf{I}}\limits^{{dd}} }&0 \end{array}} \right]\),\(\mathop {\mathbf{B}}\limits^{{2d \times (2b)}} =\left[ \begin{gathered} \mathop {\mathbf{B}}\limits^{{d \times (2b)}} \\ 0 \\ \end{gathered} \right]\).

Fourth-order Runge-Kutta method

The Runge-Kutta method is widely applied in ODEs solution for its high convergence rate. Although, the high order Runge-Kutta method could be applied directly to solve the second order ODEs24, this direct solution usually involves more parameters than that involved in the reduced-order application. Moreover, the direct solution is considered to be equivalent to the reduced order method essentially. Thus, the Runge-Kutta method is applied to solvereduced order model Eq. (30) rather than Eqs. (27) in this application.

Take the first-ordered linear ordinary differential equation as an example to illustrate the general form of the Runge-Kutta formula

$$\left\{ \begin{gathered} \frac{{dx}}{{dt}}=f(t,x) \hfill \\ x({t_0})={x_0} \hfill \\ \end{gathered} \right.$$
(31)

where \(f(t,x)\) is a known function, t is the time variable and t0 stands for the initial time.

The Runge-Kutta method gives the recurrence scheme as follow

$$\left\{ \begin{gathered} {x_{n+1}}={x_n}+h\sum\limits_{{i=l}}^{s} {{\omega _i}{k_i}} \hfill \\ {k_i}=f({t_n}+{a_i}h, {x_n}+h\sum\limits_{{j=l}}^{{s - 1}} {{\beta _{ij}}{k_j}} ) \hfill \\ \end{gathered} \right.$$
(32)

where \({\omega _i}\),\({a_i}\),\({\beta _{ij}}\) are constants, s is the order of the method, h stands for the step length. A typical fourth-order Runge-Kutta formula is

$$\left\{ \begin{gathered} {x_{n+1}}={x_n}+\frac{h}{6}({k_1}+2{k_2}+2{k_3}+{k_4}) \hfill \\ {k_1}=f({t_n},{x_n}) \hfill \\ {k_2}=f({t_n}+\frac{h}{2},{x_n}+\frac{h}{2}{k_1}) \hfill \\ {k_3}=f({t_n}+\frac{h}{2},{x_n}+\frac{h}{2}{k_2}) \hfill \\ {k_4}=f({t_n}+h,{x_n}+h{k_3}) \hfill \\ \end{gathered} \right.$$
(33)

Substituting Eq. (30) into Eq. (33) yields to the following system of Eq. 

$$\left\{ \begin{matrix}\mathop x\limits^{2d} \left( {{\textbf{t}_{_{\textbf{k} + 1}}}} \right) = \mathop x\limits^{2d} \left( {{\textbf{t}_\textbf{k}}} \right) + \frac{\textbf{h}}{{\text{6}}}\left( {\mathop {{K_1}}\limits^{2d} + \mathop {2{K_2}}\limits^{2d} + 2\mathop {{K_3}}\limits^{2d} + \mathop {{K_4}}\limits^{2d} } \right) \hfill \cr \mathop {{K_1}}\limits^{2d} = \mathop {\bf{A}}\limits^{2d \times 2d} \mathop x\limits^{2d} \left( {{\textbf{t}_\textbf{k}}} \right) + \mathop {\bf{B}}\limits^{2\textbf{d} \times (2\textbf{b})} \mathop e\limits^{2\textbf{b}} \left( {{\textbf{t}_\textbf{k}}} \right) \hfill \cr \mathop {{K_2}}\limits^{2d} = \mathop {\bf{A}}\limits^{2d \times 2d} \left[ {\mathop x\limits^{2d} \left( {{\textbf{t}_\textbf{k}}} \right) + \frac{\textbf{h}}{{\text{2}}}\mathop {{K_1}}\limits^{2d} } \right] + \mathop {\bf{B}}\limits^{2\textbf{d} \times (2\textbf{b})} \mathop e\limits^{2\textbf{b}} \left( {{\textbf{t}_\textbf{k}} + \frac{\textbf{h}}{{\text{2}}}} \right) \hfill \cr \mathop {{K_3}}\limits^{2d} = \mathop {\bf{A}}\limits^{2d \times 2d} \left[ {\mathop x\limits^{2d} \left( {{\textbf{t}_\textbf{k}}} \right) + \frac{\textbf{h}}{{\text{2}}}\mathop {{K_2}}\limits^{2d} } \right] + \mathop {\bf{B}}\limits^{2\textbf{d} \times (2\textbf{b})} \mathop e\limits^{2\textbf{b}} \left( {{\textbf{t}_\textbf{k}} + \frac{\textbf{h}}{2}} \right) \hfill \cr \mathop {{K_4}}\limits^{2d} = \mathop {\bf{A}}\limits^{2d \times 2d} \left[ {\mathop x\limits^{2d} \left( {{\textbf{t}_\textbf{k}}} \right) + \textbf{h}\mathop {{K_2}}\limits^{2d} } \right] + \mathop {\bf{B}}\limits^{2\textbf{d} \times (2\textbf{b})} \mathop e\limits^{2\textbf{b}} \left( {{\textbf{t}_\textbf{k}} + \textbf{h}} \right) \hfill \cr \end{matrix} \right.$$
(34)

Numerical example

In this section, the Runge-Kutta dual reciprocity boundary element method for scalar wave propagation problems is tested through two numerical examples. A cylinder shaped domain and a cube domain are considered in these two examples, respectively. Within in these two examples, the results obtained by the proposed method are compared with the analytical solution and the result from the precise intergal dual reciprocity method18, respectively. In both examples, all the physical quantities are dimensionless. The shape parameter of the RBF is evaluated by 0.2 to guarantee the numerical stability of the methods, although larger value of shape parameter usually leads to a more accurate result as suggested in Huang’s work25. The relative errors are computed from the following formulation.

$$error=\frac{1}{{{{\left| u \right|}_{\hbox{max} }}}}\sqrt {\frac{1}{N}\sum\limits_{{i=1}}^{N} {{{(u_{i}^{{(refer)}} - u_{i}^{{(n)}})}^2}} }$$
(35)

In which \(u_{i}^{{(refer)}}\) is the referred value of the corresponding variable at the i-th sample point, \(u_{i}^{{(n)}}\) stands for the computed value by the presented method, \({\left| u \right|_{\hbox{max} }}\) denotes the maximum value of the variable at all sampling points.

Scalar wave propagation in a cylindrical tunnel

A cylindrical tunnel with a diameter of 2 and a height of 5 as illustrated in Fig. 1 is considered in this example. The coordinate system is originated at the center of the bottom surface. The axis coincides with the z-direction.

Fig. 1
Fig. 1
Full size image

The considered cylinder domain.

In this implementation, 60 discontinuous serendipity boundary element with in total 231 boundary nodes are employed to discritized the boundary. 488 RBF interpolation points are distributed inside the cylinder to perform the RBF interpolation. The boundary elements and the scattered RBF interpolation points are illustrated in Figs. 2 and 3, respectively.

Fig. 2
Fig. 2
Full size image

Cylinder boundary element and node distribution.

Fig. 3
Fig. 3
Full size image

RBF interpolation point distribution in the cylinder.

The distribution and variation of the sound pressure on the boundary is given through the following formula.

$$u\left( {x,y,z,t} \right)=2{x^3} + {y^3} + 2.5{z^3}+6x{t^2} + 3y{t^2} + 7.5z{t^2} \left( {x,y,z} \right) \in {\Gamma _1}, t>0$$
$$\frac{{\partial u}}{{\partial {\mathbf{n}}}}\left( {x,y,z,t} \right)=7.5{z^2}+7.5{t^2} \left( {x,y,z} \right) \in {\Gamma _2}, t>0$$

The initial distribution of sound pressure in the domain is given by.

$$u\left( {x,y,z} \right)=2{x^3}+{y^3}+2.5{z^3} \left( {x,y,z} \right) \in \Omega$$

The exact distribution of the pressure in the domain could be described by the following formula.

$$u\left( {x,y,z,t} \right)=2{x^3} + {y^3} + 2.5{z^3}+6x{t^2} + 3y{t^2} + 7.5z{t^2} \left( {x,y,z} \right) \in \Omega$$

Five sample points as listed in Table 1 are introduced in this example to illustrate the accuracy of the presented method.

Table 1 The sampling points in the first example.

The computational time starts from 0s and ends at 20s. The time step length of 0.008s is applied in this example. The pressure variation history at 5 sample points are illustrated in Fig. 4. The numerical results coincides well with the analytical solution.

Fig. 4
Fig. 4
Full size image

Calculation results and reference values of sound pressure amplitude at observation points.

To make the comparison more clearly, the pressure at the 2nd sample point and at the 4th sample point in sample moment is listed in Table 2. From this table, it is easy to find that the pressure result computed through the presented method matches nicely with the referred solution.

Table 2 Comparison on pressure results between the RKDRM and the referring method.

To further study the convergence of the presented method, 6 different time steps including 0.008, 0.00625, 0.005s, 0.004, 0.0025 and 0.002 have been tested in this example.As illustrated in Fig. 5; Table 3, the average relative error at the end of the computed time interval converges stably.

Fig. 5
Fig. 5
Full size image

The convergence of error with the time step is calculated.

Table 3 Table of convergence of calculation error with different step lengths.

From Table 3; Fig. 5, it can be concluded that the smaller the step size, the smaller sized time step could achieve more accurate result. In this application, the error comes mainly from the spatial discritization.

In the next example, the Runge-Kutta dual reciprocity boundary element method will be further investigated and compared with the precise integration dual reciprocity boundary element method.

Wave propagation in a cubic region

In this example, a cubic domain occupying in [0 1]X[0 1]X[0 1] is considered. This example is presented to illustrate the efficiency of the RKDRM. The result obtained by the RKDRM is compared with that from the precise integral dual reciprocity method(PIDRM).

In this analysis, 54 serendipity elements involving 240 boundary nodes and 64 RBF interpolation nodes as shown in Figs. 6 and 7 are applied.

Fig. 6
Fig. 6
Full size image

Boundary element and node distribution.

Fig. 7
Fig. 7
Full size image

Distribution of RBF interpolation points in the cube.

The boundary pressure is given as:

$$u\left( {x,y,z,t} \right)=2{x^3} + {y^3} + 2.5{z^3}+6x{t^2} + 3y{t^2} + 7.5z{t^2} \left( {x,y,z} \right) \in \Gamma , t>0$$

The initial distribution of the pressure in the domain can be described as:

$$u\left( {x,y,z} \right)=2{x^3}+{y^3}+2.5{z^3} \left( {x,y,z} \right) \in \Omega$$

The exact solution for the sound pressure in the domain is.

$$u\left( {x,y,z,t} \right)=2{x^3} + {y^3} + 2.5{z^3}+6x{t^2} + 3y{t^2} + 7.5z{t^2} \left( {x,y,z} \right) \in \Omega$$

Five sample points are listed in Table 4.

Table 4 Coordinates of cube sampling points.

The considered time interval lasts from 0s to 2s. In this application, the step length is 0.005. The results obtained by two methods are illustrated in Fig. 8. The pressures computed through the RKDRM are stated by discretized symbols while the pressures computed through the PIDRM are stated by curves. In the comparison implementation of PIDRM, a constant boundary is assumed in each time step. In PIDRM, the subdivision parameter is evaluated by 10 and the number of truncated terms is 6 which is the same as that in Zhou’s work19.

Fig. 8
Fig. 8
Full size image

The calculated value and reference value of the target point sound pressure amplitude.

As can be seen from Fig. 8, the pressure results that are obtained by the RKDRM coincides with that from the PIDRM.

The accuracy of the Runge-Kutta dual reciprocity boundary element method and that of the PIDRM are further compared through the implementations with different time steps. In the comparison application, 126 boundary nodes, 24 quadratic units and 139 RBF interpolation points are involved in the discretization. Five time steps involving 0.01, 0.005, 0.004, 0.0025 and 0.002 are employed. Figure 9 illustrates the average relative error of pressures among all the sampling points at the end of the variation time.

Fig. 9
Fig. 9
Full size image

The relative errors of the two methods.

For a more precise and visual representation, the data in the above chart are listed in the following table.

Table 5 The relative errors with increasing number of time steps.

From Fig. 9; Table 5, it can be seen clearly that the average errors of both methods are small. The accuracy of the RKDRM is higher than that of the PIDRM especially in the case of larger time step length. The errors in the application of both the PIDRM and the RKDRM converge stably with the increasing number of time steps. This comparison indicates that the RKDRM is more suitable for problems with rapidly variable boundary condition.

It is worth noting that the boundary quantities is assumed to be steady in each time step in the PIDRM. Thus, the discretization error is inevitably introduced in this example. We can further improve the accuracy of the PIDRM by utilizing a time convolution integral which is related to the boundary quantities. However, much more computational time should be consumed to accurately compute the convolution.

To further illustrate the efficiency of the presented method, the time consumptions is also compared between the PIDRM and the RKDRM. For the same level of accuracy, the time step 0.005 is considered in the RKDRM application. The time step 0.002 is considered in the PIDRM application. The time cost in both applications are illustrated in Fig. 10. The Intel I5-9400 F CPU with 2.9 GHz frequency.

Fig. 10
Fig. 10
Full size image

Comparison of calculation time between two methods with similar errors.

As can be concluded from Fig. 10, the RKDRM is much faster than the PIDRM to achieve the result at the same accuracy level. This is because in the implementation of PIDRM, a lot of matrix multiplication operations are performed to compute the matrix exponential function in the first step. In the RKDRM, however, less matrix mulplications or inversions are involved.

Conclusion

A coupled DRBEM and Runge–Kutta method has been developed for solving time-domain scalar wave problems. The approach utilizes a steady-state fundamental solution and RBF interpolation to convert the problem into a boundary-only form, leading to a system of second-order ODEs after discretization. These are transformed into first-order form and integrated in time using the fourth-order Runge–Kutta method. Numerical examples demonstrate the method’s accuracy, stability, and computational efficiency compared to existing techniques.