Geometry-based approximation of waves in complex domainsthanks: This research was funded in part by the Austrian Science Fund (FWF) projects 10.55776/F65 (MN, IP), 10.55776/P33477 (MN, IP), and 10.55776/ESP519 (MN).

Davide Pradovera Department of Mathematics, KTH Royal Institute of Technology, Lindstedtsvägen 25, 11428 Stockholm, Sweden ([email protected]).Faculty of Mathematics, University of Vienna, Oskar-Morgenstern-Platz 1, 1090 Vienna, Austria ([email protected], [email protected]).    Monica Nonino33footnotemark: 3    Ilaria Perugia33footnotemark: 3
Abstract

We consider wave propagation problems over 2-dimensional domains with piecewise-linear boundaries, possibly including scatterers. We assume that the wave speed is constant, and that the initial conditions and forcing terms are radially symmetric and compactly supported. We propose an approximation of the propagating wave as the sum of some special space-time functions. Each term in this sum identifies a particular field component, modeling the result of a single reflection or diffraction effect. We describe an algorithm for identifying such components automatically, based on the domain geometry. To showcase our proposed method, we present several numerical examples, such as waves scattering off wedges and waves propagating through a room in presence of obstacles. Software implementing our numerical algorithm is made available as open-source code.

Keywords: wave propagation, surrogate modeling, scattering, geometrical theory of diffraction.

AMS subject classifications: 35L05, 35Q60, 65M25, 78A45, 78M34.

1 Introduction

The discretization of numerical models for the simulation of complex phenomena results in high-dimensional systems to be solved, usually at an extremely high cost in terms of computational time and storage memory. Among these models, wave propagation problems represent an extremely interesting topic: relevant applications can be found, e.g., in the field of array imaging, where acoustic, electromagnetic, and elastic waves in scattering media are modeled by the reflectivity coefficient, which is often unknown. Some examples in this direction can be found in [1, 2, 3, 4], where inverse scattering problems are used to infer the reflectivity of one or more scatterers embedded either in a known and smooth medium, or in a randomly inhomogeneous medium. Another example of application of wave propagation problems is numerical acoustics, where the goal is to simulate the propagation of sound in a room, in presence of obstacles and walls with different absorbing and/or reflecting properties. See, e.g., [5, 6] for some frequency-domain examples of this.

Our focus here are problems in the time domain, whose numerical simulation is expensive, mainly because one needs to use both a fine spatial mesh and a carefully chosen time step in order to satisfy the CFL condition [7, 8]. In the interest of making these simulations feasible, model order reduction (MOR) [9, 10, 11] represents a promising framework, whose goal is to reduce the computational cost of solving the problem of interest.

In this context, it is well known [12] that wave propagation problems are characterized by a slowly decaying Kolmogorov n𝑛nitalic_n-width. Because of this, classical linear-subspace MOR methods are not able to reproduce the behavior of the wave propagation without relying on a very high-dimensional linear manifold. This makes linear surrogate models unappealing, since they do not yield significant speed-ups. In recent years, methods that rely on nonlinear and/or hybrid space-time approaches have been proposed. See, e.g., [13, 14, 15] and references therein.

In this work, we focus on wave propagation over 2-dimensional spatial domains, possibly including obstacles. We aim at proposing a new approximation framework, which satisfies the main goal of MOR techniques, that is, making the computational cost of the numerical simulations more feasible. We limit our investigation to domains with piecewise-linear boundaries and a constant wave speed. The initial conditions and forcing terms are assumed to be compactly supported and radially symmetric around a “source point”. Under these assumptions, and following ideas similar to those in [5, 6], we propose to construct a surrogate model for the solution of the target problem as a superposition of some special space-time terms, which we call “field components”.

Each field component models a reflection or diffraction effect, and is characterized by:

  • a space-time propagation term, related to the free-space radially symmetric solution of the wave equation;

  • a spatial indicator function, determining the spatial support of each component;

  • a nonlinear spatial term encoding the angular modulation of the component, which is crucial when modeling diffraction effects.

To compute the “angular modulation” term, we leverage concepts from the frequency-domain geometric theory of diffraction [16, 17]. However, in order to obtain a time-domain diffraction model that is suitable for our purposes, we first need to adapt the available results, effectively developing a novel time-domain diffraction model in the process.

The number of field components appearing in the surrogate is determined by the number of reflection and diffraction effects that are required to faithfully approximate the target wave, which ultimately depends on the geometry of the physical domain.

Among the advantages of the proposed approach, we mention the fact that each field component is separable into time-radial and angular components (in the “polar coordinates” sense). As we will see, we can leverage this to drastically reduce the computational cost and storage memory requirements of our approximation strategy.

The rest of the paper is structured as follows. In Section 1.1 we present the problem of interest. In Section 2 we introduce the main ingredients of our method, and we present our surrogate modeling algorithm. In Sections 3 and 4 we detail how we model reflection and diffraction effects, respectively. In Section 5 we present some numerical results to showcase our method. Both simple benchmarks (wedges) and more complicated tests (2D room model with scatterers) are considered. Some final considerations follow in Section 6.

1.1 Target problem

We are interested in the numerical approximation of the solution of the wave equation in complex domains. In this work, we consider 2-dimensional domains only. However, most of our discussion generalizes to 3D. We defer a discussion on this till Section 6.

We denote by Ω2Ωsuperscript2\Omega\subset\mathbb{R}^{2}roman_Ω ⊂ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT the physical domain in which the wave equation is considered. We assume that ΩΩ\Omegaroman_Ω is either a closed polygon or a set-subtraction of polygons (to allow for multiply connected domains). We denote by nesubscript𝑛𝑒n_{e}italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT and nvsubscript𝑛𝑣n_{v}italic_n start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT the number of edges and vertices of ΩΩ\partial\Omega∂ roman_Ω, respectively. We study the propagation of waves in ΩΩ\Omegaroman_Ω over a given time interval of interest [0,T]0𝑇[0,T][ 0 , italic_T ]. The model problem is the wave equation with constant (unit) wave speed:

{ttu(𝒙,t)=Δu(𝒙,t)+f(𝒙,t)for (𝒙,t)Ω×(0,T),u(𝒙,0)=u0(𝒙),tu(𝒙,0)=u1(𝒙)for 𝒙Ω,νu(𝒙,t)=0for (𝒙,t)Ω×(0,T],casessubscript𝑡𝑡𝑢𝒙𝑡Δ𝑢𝒙𝑡𝑓𝒙𝑡for 𝒙𝑡Ω0𝑇formulae-sequence𝑢𝒙0subscript𝑢0𝒙subscript𝑡𝑢𝒙0subscript𝑢1𝒙for 𝒙Ωsubscript𝜈𝑢𝒙𝑡0for 𝒙𝑡Ω0𝑇\begin{cases}\partial_{tt}u(\bm{x},t)=\Delta u(\bm{x},t)+f(\bm{x},t)\quad&% \text{for }(\bm{x},t)\in\Omega\times(0,T),\\ u(\bm{x},0)=u_{0}(\bm{x}),\partial_{t}u(\bm{x},0)=u_{1}(\bm{x})\quad&\text{for% }\bm{x}\in\Omega,\\ \partial_{\nu}u(\bm{x},t)=0\quad&\text{for }(\bm{x},t)\in\partial\Omega\times(% 0,T],\end{cases}{ start_ROW start_CELL ∂ start_POSTSUBSCRIPT italic_t italic_t end_POSTSUBSCRIPT italic_u ( bold_italic_x , italic_t ) = roman_Δ italic_u ( bold_italic_x , italic_t ) + italic_f ( bold_italic_x , italic_t ) end_CELL start_CELL for ( bold_italic_x , italic_t ) ∈ roman_Ω × ( 0 , italic_T ) , end_CELL end_ROW start_ROW start_CELL italic_u ( bold_italic_x , 0 ) = italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_italic_x ) , ∂ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT italic_u ( bold_italic_x , 0 ) = italic_u start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( bold_italic_x ) end_CELL start_CELL for bold_italic_x ∈ roman_Ω , end_CELL end_ROW start_ROW start_CELL ∂ start_POSTSUBSCRIPT italic_ν end_POSTSUBSCRIPT italic_u ( bold_italic_x , italic_t ) = 0 end_CELL start_CELL for ( bold_italic_x , italic_t ) ∈ ∂ roman_Ω × ( 0 , italic_T ] , end_CELL end_ROW (1)

with ΔΔ\Deltaroman_Δ the Laplacian operator, defined, in 2 dimensions, as Δ=j=12xjxjΔsuperscriptsubscript𝑗12subscriptsubscript𝑥𝑗subscript𝑥𝑗\Delta=\sum_{j=1}^{2}\partial_{x_{j}x_{j}}roman_Δ = ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ∂ start_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT. The homogeneous Neumann condition (i.e., the last equation above) models the whole boundary ΩΩ\partial\Omega∂ roman_Ω as sound-hard [7]. More generally, all or parts of ΩΩ\partial\Omega∂ roman_Ω may be modeled as sound-soft via a Dirichlet-type condition: u(𝒙,t)=0𝑢𝒙𝑡0u(\bm{x},t)=0italic_u ( bold_italic_x , italic_t ) = 0. Depending on the target application, impedance boundary conditions may also be appropriate: Zνu(𝒙,t)+tu(𝒙,t)=0𝑍subscript𝜈𝑢𝒙𝑡subscript𝑡𝑢𝒙𝑡0Z\partial_{\nu}u(\bm{x},t)+\partial_{t}u(\bm{x},t)=0italic_Z ∂ start_POSTSUBSCRIPT italic_ν end_POSTSUBSCRIPT italic_u ( bold_italic_x , italic_t ) + ∂ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT italic_u ( bold_italic_x , italic_t ) = 0, with Z0𝑍0Z\geq 0italic_Z ≥ 0.

We assume that the initial conditions u0subscript𝑢0u_{0}italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and u1subscript𝑢1u_{1}italic_u start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, as well as the forcing term f𝑓fitalic_f, have radial symmetry around a given point. Without loss of generality, we will take such point to be the origin of 2superscript2\mathbb{R}^{2}blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT:

u0(𝒙)=η0(𝒙),u1(𝒙)=η1(𝒙),f(𝒙,t)=η2(𝒙,t),formulae-sequencesubscript𝑢0𝒙subscript𝜂0norm𝒙formulae-sequencesubscript𝑢1𝒙subscript𝜂1norm𝒙𝑓𝒙𝑡subscript𝜂2norm𝒙𝑡u_{0}(\bm{x})=\eta_{0}(\left\|\bm{x}\right\|),\;u_{1}(\bm{x})=\eta_{1}(\left\|% \bm{x}\right\|),\;f(\bm{x},t)=\eta_{2}(\left\|\bm{x}\right\|,t),italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_italic_x ) = italic_η start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( ∥ bold_italic_x ∥ ) , italic_u start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( bold_italic_x ) = italic_η start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( ∥ bold_italic_x ∥ ) , italic_f ( bold_italic_x , italic_t ) = italic_η start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( ∥ bold_italic_x ∥ , italic_t ) , (2)

for all (𝒙,t)Ω×(0,T)𝒙𝑡Ω0𝑇(\bm{x},t)\in\Omega\times(0,T)( bold_italic_x , italic_t ) ∈ roman_Ω × ( 0 , italic_T ), with 𝒙2=j=12xj2superscriptnorm𝒙2superscriptsubscript𝑗12superscriptsubscript𝑥𝑗2\left\|\bm{x}\right\|^{2}=\sum_{j=1}^{2}x_{j}^{2}∥ bold_italic_x ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. We further assume that the functions ηjsubscript𝜂𝑗\eta_{j}italic_η start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT have compact support, namely, that there exist R>0𝑅0R>0italic_R > 0 such that ηj(ρ)=0subscript𝜂𝑗𝜌0\eta_{j}(\rho)=0italic_η start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_ρ ) = 0 for all ρ>R𝜌𝑅\rho>Ritalic_ρ > italic_R and j=0,1,2𝑗012j=0,1,2italic_j = 0 , 1 , 2. Moreover, to avoid incompatibilities with the boundary conditions, for simplicity we will only consider the situation where the supports of the functions ηjsubscript𝜂𝑗\eta_{j}italic_η start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are fully contained in ΩΩ\Omegaroman_Ω.

2 Approximation framework

Before we can model boundary effects (reflection and diffraction), we need to understand how the solution u𝑢uitalic_u would behave if no boundary were present. To this aim, we consider the wave equation in free space

{ttU(𝒙,t)=ΔU(𝒙,t)+f(𝒙,t)for (𝒙,t)2×(0,),U(𝒙,0)=u0(𝒙)for 𝒙2,tU(𝒙,0)=u1(𝒙)for 𝒙2,casessubscript𝑡𝑡𝑈𝒙𝑡Δ𝑈𝒙𝑡𝑓𝒙𝑡for 𝒙𝑡superscript20𝑈𝒙0subscript𝑢0𝒙for 𝒙superscript2subscript𝑡𝑈𝒙0subscript𝑢1𝒙for 𝒙superscript2\begin{cases}\partial_{tt}U(\bm{x},t)=\Delta U(\bm{x},t)+f(\bm{x},t)\quad&% \text{for }(\bm{x},t)\in\mathbb{R}^{2}\times(0,\infty),\\ U(\bm{x},0)=u_{0}(\bm{x})\quad&\text{for }\bm{x}\in\mathbb{R}^{2},\\ \partial_{t}U(\bm{x},0)=u_{1}(\bm{x})\quad&\text{for }\bm{x}\in\mathbb{R}^{2},% \end{cases}{ start_ROW start_CELL ∂ start_POSTSUBSCRIPT italic_t italic_t end_POSTSUBSCRIPT italic_U ( bold_italic_x , italic_t ) = roman_Δ italic_U ( bold_italic_x , italic_t ) + italic_f ( bold_italic_x , italic_t ) end_CELL start_CELL for ( bold_italic_x , italic_t ) ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT × ( 0 , ∞ ) , end_CELL end_ROW start_ROW start_CELL italic_U ( bold_italic_x , 0 ) = italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_italic_x ) end_CELL start_CELL for bold_italic_x ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , end_CELL end_ROW start_ROW start_CELL ∂ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT italic_U ( bold_italic_x , 0 ) = italic_u start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( bold_italic_x ) end_CELL start_CELL for bold_italic_x ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , end_CELL end_ROW (3)

which we have obtained from Eq. 1 by replacing ΩΩ\Omegaroman_Ω with the whole plane.

Due to radial symmetry (of the initial conditions and of the forcing term), we can recast the problem in polar coordinates. This allows us to define the free-space solution ΨΨ\Psiroman_Ψ in the radial coordinate, as the solution of

{ttΨ(ρ,t)=Δ^Ψ(ρ,t)+η2(ρ,t)for (ρ,t)(0,)×(0,),Ψ(ρ,0)=η0(ρ)for ρ[0,),tΨ(ρ,0)=η1(ρ)for ρ[0,),casessubscript𝑡𝑡Ψ𝜌𝑡^ΔΨ𝜌𝑡subscript𝜂2𝜌𝑡for 𝜌𝑡00Ψ𝜌0subscript𝜂0𝜌for 𝜌0subscript𝑡Ψ𝜌0subscript𝜂1𝜌for 𝜌0\begin{cases}\partial_{tt}\Psi(\rho,t)=\widehat{\Delta}\Psi(\rho,t)+\eta_{2}(% \rho,t)\quad&\text{for }(\rho,t)\in(0,\infty)\times(0,\infty),\\ \Psi(\rho,0)=\eta_{0}(\rho)\quad&\text{for }\rho\in[0,\infty),\\ \partial_{t}\Psi(\rho,0)=\eta_{1}(\rho)\quad&\text{for }\rho\in[0,\infty),\end% {cases}{ start_ROW start_CELL ∂ start_POSTSUBSCRIPT italic_t italic_t end_POSTSUBSCRIPT roman_Ψ ( italic_ρ , italic_t ) = over^ start_ARG roman_Δ end_ARG roman_Ψ ( italic_ρ , italic_t ) + italic_η start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_ρ , italic_t ) end_CELL start_CELL for ( italic_ρ , italic_t ) ∈ ( 0 , ∞ ) × ( 0 , ∞ ) , end_CELL end_ROW start_ROW start_CELL roman_Ψ ( italic_ρ , 0 ) = italic_η start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_ρ ) end_CELL start_CELL for italic_ρ ∈ [ 0 , ∞ ) , end_CELL end_ROW start_ROW start_CELL ∂ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT roman_Ψ ( italic_ρ , 0 ) = italic_η start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_ρ ) end_CELL start_CELL for italic_ρ ∈ [ 0 , ∞ ) , end_CELL end_ROW (4)

where Δ^^Δ\widehat{\Delta}over^ start_ARG roman_Δ end_ARG is the Laplace operator in polar coordinates (under radial symmetry), i.e., Δ^=ρρ+1ρρ^Δsubscript𝜌𝜌1𝜌subscript𝜌\widehat{\Delta}=\partial_{\rho\rho}+\frac{1}{\rho}\partial_{\rho}over^ start_ARG roman_Δ end_ARG = ∂ start_POSTSUBSCRIPT italic_ρ italic_ρ end_POSTSUBSCRIPT + divide start_ARG 1 end_ARG start_ARG italic_ρ end_ARG ∂ start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT, and U(𝒙,t)=Ψ(𝒙,t)𝑈𝒙𝑡Ψnorm𝒙𝑡U(\bm{x},t)=\Psi(\left\|\bm{x}\right\|,t)italic_U ( bold_italic_x , italic_t ) = roman_Ψ ( ∥ bold_italic_x ∥ , italic_t ) for all 𝒙2𝒙superscript2\bm{x}\in\mathbb{R}^{2}bold_italic_x ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. For closure, it may also be necessary to provide a condition at ρ=0𝜌0\rho=0italic_ρ = 0, e.g., ρΨ(0,)=0subscript𝜌Ψ00\partial_{\rho}\Psi(0,\cdot)=0∂ start_POSTSUBSCRIPT italic_ρ end_POSTSUBSCRIPT roman_Ψ ( 0 , ⋅ ) = 0 if the data ηjsubscript𝜂𝑗\eta_{j}italic_η start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are sufficiently smooth [18]. Note that, by the compact support of the initial conditions and of the forcing term, and by the finite (unit) speed of propagation of the wave equation, we have Ψ(ρ,t)=0Ψ𝜌𝑡0\Psi(\rho,t)=0roman_Ψ ( italic_ρ , italic_t ) = 0 whenever ρ>t+R𝜌𝑡𝑅\rho>t+Ritalic_ρ > italic_t + italic_R.

Remark 2.1.

Generally, the free-space solution ΨΨ\Psiroman_Ψ is not available analytically, except for very simple choices of initial conditions and forcing term. Accordingly, in most applications, the function ΨΨ\Psiroman_Ψ will need to be replaced with a suitable approximation. To this effect, one can discretize Eq. 4, e.g., with a finite element approximation (in space) and some timestepping scheme (in time). See Section 5 for more details on this.

Our goal is to approximate, for all (𝒙,t)Ω×[0,T]𝒙𝑡Ω0𝑇(\bm{x},t)\in\Omega\times[0,T]( bold_italic_x , italic_t ) ∈ roman_Ω × [ 0 , italic_T ], the solution u(𝒙,t)𝑢𝒙𝑡u(\bm{x},t)italic_u ( bold_italic_x , italic_t ) of the wave equation problem in Eq. 1 with a surrogate, defined as a sum of special functions u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT (field components):

u(𝒙,t)u~(𝒙,t)=n=1NΨ(𝒙𝝃n+rn,t)𝟙Ωn(𝒙)ζn(𝒙𝝃n)u~n(𝒙,t).𝑢𝒙𝑡~𝑢𝒙𝑡superscriptsubscript𝑛1𝑁subscriptΨnorm𝒙subscript𝝃𝑛subscript𝑟𝑛𝑡subscript1subscriptΩ𝑛𝒙subscript𝜁𝑛𝒙subscript𝝃𝑛subscript~𝑢𝑛𝒙𝑡u(\bm{x},t)\approx\widetilde{u}(\bm{x},t)=\sum_{n=1}^{N}\underbrace{\Psi(\left% \|\bm{x}-\bm{\xi}_{n}\right\|+r_{n},t)\mathbbm{1}_{\Omega_{n}}(\bm{x})\zeta_{n% }(\bm{x}-\bm{\xi}_{n})}_{\widetilde{u}_{n}(\bm{x},t)}.italic_u ( bold_italic_x , italic_t ) ≈ over~ start_ARG italic_u end_ARG ( bold_italic_x , italic_t ) = ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT under⏟ start_ARG roman_Ψ ( ∥ bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥ + italic_r start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_t ) blackboard_1 start_POSTSUBSCRIPT roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( bold_italic_x ) italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) end_ARG start_POSTSUBSCRIPT over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) end_POSTSUBSCRIPT . (5)

Therein, ΨΨ\Psiroman_Ψ is the above-mentioned free-space radially symmetric solution of Eq. 4, and 𝟙Asubscript1𝐴\mathbbm{1}_{A}blackboard_1 start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT denotes the indicator function with support A𝐴Aitalic_A, i.e.,

𝟙A(y)={1if yA,0if yA.subscript1𝐴𝑦cases1if 𝑦𝐴0if 𝑦𝐴\mathbbm{1}_{A}(y)=\begin{cases}1\quad&\text{if }y\in A,\\ 0\quad&\text{if }y\notin A.\end{cases}blackboard_1 start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ( italic_y ) = { start_ROW start_CELL 1 end_CELL start_CELL if italic_y ∈ italic_A , end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL if italic_y ∉ italic_A . end_CELL end_ROW (6)

Moreover, in Eq. 5, we have introduced the following quantities:

  • N𝑁Nitalic_N is the number of field components used in the approximation.

  • 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is the location of the point source from which u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT originates.

  • rn0subscript𝑟𝑛0r_{n}\geq 0italic_r start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ≥ 0 is a spatial delay, which is used for the synchronization of diffraction effects.

  • ΩnΩsubscriptΩ𝑛Ω\Omega_{n}\subset\Omegaroman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ⊂ roman_Ω is the spatial support of u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.

  • ζn:2{𝟎}:subscript𝜁𝑛superscript20\zeta_{n}:\mathbb{R}^{2}\setminus\{\bm{0}\}\to\mathbb{R}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT : blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ∖ { bold_0 } → blackboard_R is a weight function describing the angular modulation. We assume ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT to be a positive-homogeneous function, i.e., ζn(𝒚)=ζn(𝒚/𝒚)subscript𝜁𝑛𝒚subscript𝜁𝑛𝒚norm𝒚\zeta_{n}(\bm{y})=\zeta_{n}(\bm{y}/\left\|\bm{y}\right\|)italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_y ) = italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_y / ∥ bold_italic_y ∥ ) for all 𝒚2{𝟎}𝒚superscript20\bm{y}\in\mathbb{R}^{2}\setminus\{\bm{0}\}bold_italic_y ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ∖ { bold_0 }.

Remark 2.2.

We refer to ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT as “angular modulation” since, in 2D, the positive-homogeneity assumption is equivalent to requiring ζn(𝐲)subscript𝜁𝑛𝐲\zeta_{n}(\bm{y})italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_y ) to depend only on the angle between the vector 𝐲𝐲\bm{y}bold_italic_y and some reference direction, e.g., the positive x1subscript𝑥1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT-axis.

Note that, due to the finite speed of propagation of the free-space solution ΨΨ\Psiroman_Ψ, we have that a generic term u~n(𝒙,t)subscript~𝑢𝑛𝒙𝑡\widetilde{u}_{n}(\bm{x},t)over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) is zero whenever t<𝒙𝝃n+rnR𝑡norm𝒙subscript𝝃𝑛subscript𝑟𝑛𝑅t<\left\|\bm{x}-\bm{\xi}_{n}\right\|+r_{n}-Ritalic_t < ∥ bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥ + italic_r start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT - italic_R, i.e., for t𝑡titalic_t small enough, depending on 𝒙𝒙\bm{x}bold_italic_x.

The number of field components N𝑁Nitalic_N in Eq. 5 will be determined based on how many boundary effects (reflections and diffractions) need to be included in u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG in order to have a good approximation of the target wave u𝑢uitalic_u. We describe a strategy for automatically identifying a good N𝑁Nitalic_N in the next section.

2.1 Building the low-rank skeleton

Recalling that u𝑢uitalic_u solves the wave equation in Eq. 1 in the domain ΩΩ\Omegaroman_Ω, we use the first term in Eq. 5, namely, u~1subscript~𝑢1\widetilde{u}_{1}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, to approximate the outgoing component of u𝑢uitalic_u, ignoring any effect due to the boundary ΩΩ\partial\Omega∂ roman_Ω, except for shadows. Then, given such u~1subscript~𝑢1\widetilde{u}_{1}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, we use the other terms u~2,,u~Nsubscript~𝑢2subscript~𝑢𝑁\widetilde{u}_{2},\ldots,\widetilde{u}_{N}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT to correct this first approximation. Each extra term models a single effect due to a certain portion of the boundary, specifically, an edge (reflection off that edge) or a vertex (diffraction about that vertex).

Going back to the first field component u~1subscript~𝑢1\widetilde{u}_{1}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, let us define it, by providing its “ingredients” 𝝃1subscript𝝃1\bm{\xi}_{1}bold_italic_ξ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, r1subscript𝑟1r_{1}italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, Ω1subscriptΩ1\Omega_{1}roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, and ζ1subscript𝜁1\zeta_{1}italic_ζ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, cf. Eq. 5. We set 𝝃1=𝟎subscript𝝃10\bm{\xi}_{1}=\bm{0}bold_italic_ξ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = bold_0, the center of the initial condition, as well as r1=0subscript𝑟10r_{1}=0italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0, since no delay is necessary for this first term. Then, leveraging symmetry, we set ζ11subscript𝜁11\zeta_{1}\equiv 1italic_ζ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≡ 1, which corresponds to the (physical) assumption that the propagation of u~1subscript~𝑢1\widetilde{u}_{1}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is purely radial. Finally, we set Ω1subscriptΩ1\Omega_{1}roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT (the spatial support of the first field component around 𝟎0\bm{0}bold_0) as the set of points that can be reached from 𝟎0\bm{0}bold_0 via a straight line without going outside ΩΩ\partial\Omega∂ roman_Ω, i.e.,

Ω1={𝒙Ω:τ𝒙Ω0τ1}.subscriptΩ1conditional-set𝒙Ωformulae-sequence𝜏𝒙Ωfor-all0𝜏1\Omega_{1}=\left\{\bm{x}\in\Omega\ :\ \tau\bm{x}\in\Omega\ \ \forall 0\leq\tau% \leq 1\right\}.roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = { bold_italic_x ∈ roman_Ω : italic_τ bold_italic_x ∈ roman_Ω ∀ 0 ≤ italic_τ ≤ 1 } . (7)

In summary, the first term of u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG is

u~1(𝒙,t)=Ψ(𝒙,t)𝟙Ω1(𝒙).subscript~𝑢1𝒙𝑡Ψnorm𝒙𝑡subscript1subscriptΩ1𝒙\widetilde{u}_{1}(\bm{x},t)=\Psi(\left\|\bm{x}\right\|,t)\mathbbm{1}_{\Omega_{% 1}}(\bm{x}).over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) = roman_Ψ ( ∥ bold_italic_x ∥ , italic_t ) blackboard_1 start_POSTSUBSCRIPT roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( bold_italic_x ) . (8)
Remark 2.3.

From a practical viewpoint, the implementation of spatial supports like Ω1subscriptΩ1\Omega_{1}roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is not trivial. In our code, we verify that an arbitrary point 𝐱Ω𝐱Ω\bm{x}\in\Omegabold_italic_x ∈ roman_Ω belongs to Ω1subscriptΩ1\Omega_{1}roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT by checking if there are no intersections between the line segment from 𝐱𝐱\bm{x}bold_italic_x to 𝛏1subscript𝛏1\bm{\xi}_{1}bold_italic_ξ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and any of the edges composing ΩΩ\partial\Omega∂ roman_Ω. In some sense, this may be considered akin to “ray-tracing” [6]. A similar approach, with minor modifications, works for the other spatial supports ΩnsubscriptΩ𝑛\Omega_{n}roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT related to reflected or diffracted waves, cf. Eqs. 14 and 15 below.

Then we can move to the subsequent terms u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, n2𝑛2n\geq 2italic_n ≥ 2. Their expressions depend on our choice of reflection and diffraction modeling, and will be provided in the upcoming sections. Instead, in the rest of the present section we focus on understanding how large N𝑁Nitalic_N should be, in order for u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG to provide a faithful approximation of u𝑢uitalic_u. Equivalently, we want to count the number of times the wave gets reflected or diffracted at the boundary ΩΩ\partial\Omega∂ roman_Ω. This is done incrementally, starting from the initial value N=1𝑁1N=1italic_N = 1 (no boundary effects) and then updating this guess as more and more boundary effects get “discovered”.

Refer to caption
Figure 1: Computation of some timetable entries. The boundary ΩΩ\partial\Omega∂ roman_Ω has 11 sides, so that, e.g., (𝒂1)14subscriptsubscript𝒂114(\bm{a}_{1})_{14}( bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT 14 end_POSTSUBSCRIPT is related to 𝒚3subscript𝒚3\bm{y}_{3}bold_italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT and (𝒂1)17subscriptsubscript𝒂117(\bm{a}_{1})_{17}( bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT 17 end_POSTSUBSCRIPT is related to 𝒚6subscript𝒚6\bm{y}_{6}bold_italic_y start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT. The shadowed area ΩΩ1ΩsubscriptΩ1\Omega\setminus\Omega_{1}roman_Ω ∖ roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is in darker grey.

To help us in this endeavor, we employ what we call a timetable, which, in this work, is simply a list of vectors, each with size ne+nvsubscript𝑛𝑒subscript𝑛𝑣n_{e}+n_{v}italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. (Note that similar ideas can can also be found in [19, 5, 6] and references therein.) The timetable is built incrementally starting from an empty list, appending one new vector every time a new term is added in the sum in Eq. 5, starting from u~1subscript~𝑢1\widetilde{u}_{1}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. The entries of the n𝑛nitalic_n-th timetable vector are the waiting times before u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT comes in contact with an edge or a vertex of ΩΩ\partial\Omega∂ roman_Ω. If it is impossible for u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT to “cast light” (along a straight path) onto a certain edge or vertex (e.g., γ3subscript𝛾3\gamma_{3}italic_γ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT and 𝒚4subscript𝒚4\bm{y}_{4}bold_italic_y start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT in Fig. 1), then the corresponding entry in the timetable is set to \infty. After this, it suffices to look for the smallest not-yet-explored entry of the timetable to identify what the next term of the approximation u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG should be111Note that ties are possible when selecting the smallest timetable entry, e.g., if u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT reaches an edge and an adjacent vertex at the same time (for an example, see the bottom vertex and the two adjacent sides of the triangle in Fig. 1). In such cases, each of such timetable entries must be explored in arbitrary order, one after the other.. Once the entry in the timetable has been explored, its value is set to \infty.

We start by describing how the first vector 𝒂1ne+nvsubscript𝒂1superscriptsubscript𝑛𝑒subscript𝑛𝑣\bm{a}_{1}\in\mathbb{R}^{n_{e}+n_{v}}bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUPERSCRIPT of the timetable (corresponding to u~1subscript~𝑢1\widetilde{u}_{1}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT) is computed, and how 𝒂1subscript𝒂1\bm{a}_{1}bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT allows us to identify the (geometric) features of u~2subscript~𝑢2\widetilde{u}_{2}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. The vector 𝒂1subscript𝒂1\bm{a}_{1}bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT can be partitioned into edges-related part (the first nesubscript𝑛𝑒n_{e}italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT entries) and vertices-related part (the last nvsubscript𝑛𝑣n_{v}italic_n start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT entries).

  • Edge times. Given a generic edge γjΩsubscript𝛾𝑗Ω\gamma_{j}\subset\partial\Omegaitalic_γ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊂ ∂ roman_Ω (j=1,,ne𝑗1subscript𝑛𝑒j=1,\ldots,n_{e}italic_j = 1 , … , italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT) belonging to the domain boundary, we define the corresponding entry of 𝒂1subscript𝒂1\bm{a}_{1}bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT as

    (𝒂1)j={r1+inf{𝒙𝝃1:𝒙γjΩ¯1}if the set is non-empty,otherwise.\left(\bm{a}_{1}\right)_{j}=\begin{cases}r_{1}+\inf\left\{\left\|\bm{x}-\bm{% \xi}_{1}\right\|:\bm{x}\in\gamma_{j}\cap\overline{\Omega}_{1}\right\}&\text{if% the set is non-empty},\\ \infty&\text{otherwise}.\end{cases}( bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = { start_ROW start_CELL italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + roman_inf { ∥ bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∥ : bold_italic_x ∈ italic_γ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∩ over¯ start_ARG roman_Ω end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT } end_CELL start_CELL if the set is non-empty , end_CELL end_ROW start_ROW start_CELL ∞ end_CELL start_CELL otherwise . end_CELL end_ROW (9)

    Note that we have taken the shortest path from 𝝃1subscript𝝃1\bm{\xi}_{1}bold_italic_ξ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT to γjsubscript𝛾𝑗\gamma_{j}italic_γ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, and that we have denoted the closure of Ω1subscriptΩ1\Omega_{1}roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT as Ω¯1subscript¯Ω1\overline{\Omega}_{1}over¯ start_ARG roman_Ω end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT.

  • Vertex times. Given a generic vertex 𝒚jΩsubscript𝒚𝑗Ω\bm{y}_{j}\subset\partial\Omegabold_italic_y start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊂ ∂ roman_Ω (j=1,,nv𝑗1subscript𝑛𝑣j=1,\ldots,n_{v}italic_j = 1 , … , italic_n start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT) of the domain boundary, we set

    (𝒂1)ne+j={r1+𝒚j𝝃1if 𝒚jΩ¯1,otherwise.subscriptsubscript𝒂1subscript𝑛𝑒𝑗casessubscript𝑟1normsubscript𝒚𝑗subscript𝝃1if subscript𝒚𝑗subscript¯Ω1otherwise\left(\bm{a}_{1}\right)_{n_{e}+j}=\begin{cases}r_{1}+\left\|\bm{y}_{j}-\bm{\xi% }_{1}\right\|\quad&\text{if }\bm{y}_{j}\in\overline{\Omega}_{1},\\ \infty\quad&\text{otherwise}.\end{cases}( bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_j end_POSTSUBSCRIPT = { start_ROW start_CELL italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + ∥ bold_italic_y start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - bold_italic_ξ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∥ end_CELL start_CELL if bold_italic_y start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ over¯ start_ARG roman_Ω end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL ∞ end_CELL start_CELL otherwise . end_CELL end_ROW (10)

Note that we have included the delay r1subscript𝑟1r_{1}italic_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT (which is actually zero here) as a way to streamline Eqs. 9 and 10 for the upcoming section. See Fig. 1 for a diagram showcasing these formulas.

The smallest entry of 𝒂1subscript𝒂1\bm{a}_{1}bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is the time at which the first “boundary event” (reflection or diffraction) can happen222We say “can happen” since not all vertices can cause diffraction, when hit from a certain point source. This issue is discussed in Section 4.. The index of the smallest entry tells us whether the event is a reflection (index 1jne1𝑗subscript𝑛𝑒1\leq j\leq n_{e}1 ≤ italic_j ≤ italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT) or a diffraction (index ne+1jne+nvsubscript𝑛𝑒1𝑗subscript𝑛𝑒subscript𝑛𝑣n_{e}+1\leq j\leq n_{e}+n_{v}italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + 1 ≤ italic_j ≤ italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT), and also what edge/vertex causes the event. From here, we use the models described in Sections 3 and 4 to build u~2subscript~𝑢2\widetilde{u}_{2}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, by computing 𝝃2subscript𝝃2\bm{\xi}_{2}bold_italic_ξ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, r2subscript𝑟2r_{2}italic_r start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, Ω2subscriptΩ2\Omega_{2}roman_Ω start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, and ζ2subscript𝜁2\zeta_{2}italic_ζ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

Then, the second timetable vector 𝒂2subscript𝒂2\bm{a}_{2}bold_italic_a start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT can be computed by replacing all subscripts “1” by “2” in Eqs. 9 and 10. This is followed by the construction of u~3subscript~𝑢3\widetilde{u}_{3}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT, and so on. The process continues until all not-yet-explored entries of the timetable are larger than T+R𝑇𝑅T+Ritalic_T + italic_R, where, as mentioned above, R𝑅Ritalic_R is the half-width of the support of forcing term and initial conditions. Indeed, starting from this time instant, the would-be next terms of u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG do not affect the approximation anymore, since, due to the finite speed of wave propagation, they only act (on ΩΩ\Omegaroman_Ω) after the end of the time horizon, i.e., for t>T𝑡𝑇t>Titalic_t > italic_T. The total number of field components N𝑁Nitalic_N is simply the number of vectors in the timetable.

We summarize the overall procedure for the construction of the terms u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT in Algorithm 1. For ease of presentation, once an entry of the timetable has been explored, it is set to \infty as a way for the algorithm to ignore it from that point forward.

Algorithm 1 Step-by-step construction of the surrogate model
  Set N1𝑁1N\leftarrow 1italic_N ← 1, find Ω1subscriptΩ1\Omega_{1}roman_Ω start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT as in Eq. 7, and define u~1subscript~𝑢1\widetilde{u}_{1}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT as in Eq. 8
  Define 𝒂1ne+nvsubscript𝒂1superscriptsubscript𝑛𝑒subscript𝑛𝑣\bm{a}_{1}\in\mathbb{R}^{n_{e}+n_{v}}bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUPERSCRIPT using Eqs. 9 and 10
  Set i1𝑖1i\leftarrow 1italic_i ← 1 and jargminj=1,,ne+nv(𝒂1)jj\leftarrow\operatorname*{arg\,min}_{j=1,\ldots,n_{e}+n_{v}}\left(\bm{a}_{1}% \right)_{j}italic_j ← start_OPERATOR roman_arg roman_min end_OPERATOR start_POSTSUBSCRIPT italic_j = 1 , … , italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( bold_italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT
  while (𝒂i)jT+Rsubscriptsubscript𝒂𝑖𝑗𝑇𝑅\left(\bm{a}_{i}\right)_{j}\leq T+R( bold_italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ italic_T + italic_R do
     Set (𝒂i)jsubscriptsubscript𝒂𝑖𝑗\left(\bm{a}_{i}\right)_{j}\leftarrow\infty( bold_italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ← ∞ and NN+1𝑁𝑁1N\leftarrow N+1italic_N ← italic_N + 1
     if jne𝑗subscript𝑛𝑒j\leq n_{e}italic_j ≤ italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT then
        Find 𝝃Nsubscript𝝃𝑁\bm{\xi}_{N}bold_italic_ξ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, rNsubscript𝑟𝑁r_{N}italic_r start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, ΩNsubscriptΩ𝑁\Omega_{N}roman_Ω start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, and ζNsubscript𝜁𝑁\zeta_{N}italic_ζ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT as in Section 3 \leftarrow Reflection from edge j𝑗jitalic_j
     else
        Find vertex index jjnesuperscript𝑗𝑗subscript𝑛𝑒j^{\prime}\leftarrow j-n_{e}italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ← italic_j - italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT
        Find 𝝃Nsubscript𝝃𝑁\bm{\xi}_{N}bold_italic_ξ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, rNsubscript𝑟𝑁r_{N}italic_r start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, ΩNsubscriptΩ𝑁\Omega_{N}roman_Ω start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, and ζNsubscript𝜁𝑁\zeta_{N}italic_ζ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT as in Section 4 \leftarrow Diffraction from vertex jsuperscript𝑗j^{\prime}italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT
     end if
     Define u~Nsubscript~𝑢𝑁\widetilde{u}_{N}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT from 𝝃Nsubscript𝝃𝑁\bm{\xi}_{N}bold_italic_ξ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, rNsubscript𝑟𝑁r_{N}italic_r start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, ΩNsubscriptΩ𝑁\Omega_{N}roman_Ω start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, and ζNsubscript𝜁𝑁\zeta_{N}italic_ζ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT, as in Eq. 5
     Define 𝒂Nne+nvsubscript𝒂𝑁superscriptsubscript𝑛𝑒subscript𝑛𝑣\bm{a}_{N}\in\mathbb{R}^{n_{e}+n_{v}}bold_italic_a start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUPERSCRIPT using Eqs. 9 and 10, with “N𝑁Nitalic_N” replacing “1111” in subscripts
     Set (i,j)argmini=1,,N,j=1,,ne+nv(𝒂i)j(i,j)\leftarrow\operatorname*{arg\,min}_{i=1,\ldots,N,j=1,\ldots,n_{e}+n_{v}}% \left(\bm{a}_{i}\right)_{j}( italic_i , italic_j ) ← start_OPERATOR roman_arg roman_min end_OPERATOR start_POSTSUBSCRIPT italic_i = 1 , … , italic_N , italic_j = 1 , … , italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( bold_italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT
  end while

In trapping domains, see, e.g., Section 5.2, the number of terms N𝑁Nitalic_N might be rather large due to waves repeatedly “bouncing back and forth” between two or more edges/vertices. A large N𝑁Nitalic_N, although necessary for a good approximation of all wavefronts, is undesirable since it increases the computational cost of both the construction of the surrogate u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG and its evaluation.

In [19], it is suggested to set a fixed upper bound (e.g., 1 or 2) on the maximum number of successive diffraction events that are taken into account. Here, we propose and employ an alternative method that allows for a finer control on whether a certain field component is included or not, based on its magnitude. Specifically, we remove all terms u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT that are smaller (in magnitude) than a certain tolerance tol, uniformly over 𝒙𝒙\bm{x}bold_italic_x and t𝑡titalic_t. This can be done as a post-processing step (thus speeding up the evaluation of u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG but not its construction) or even while building the surrogate itself. This can be achieved with a simple modification of Algorithm 1, by introducing a test on the magnitude of each soon-to-be-added wave contribution u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, discarding terms that are too small.

3 Modeling reflection

We now present the strategy for modeling reflection due to an edge γ𝛾\gammaitalic_γ of the domain boundary ΩΩ\partial\Omega∂ roman_Ω. We rely on the well-known “geometrical optics” model, which describes wave propagation in terms of rays, not accounting for any diffraction [20]. We assume that we are adding a new term u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT to the surrogate model in Eq. 5, due to a reflection phenomenon caused by the field component u~isubscript~𝑢𝑖\widetilde{u}_{i}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, i<n𝑖𝑛i<nitalic_i < italic_n. Specifically, we assume that a wave originating at 𝝃isubscript𝝃𝑖\bm{\xi}_{i}bold_italic_ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT hits the edge γΩ𝛾Ω\gamma\subset\partial\Omegaitalic_γ ⊂ ∂ roman_Ω, which, in particular, requires γΩi¯𝛾¯subscriptΩ𝑖\gamma\cap\overline{\Omega_{i}}\neq\emptysetitalic_γ ∩ over¯ start_ARG roman_Ω start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG ≠ ∅. We need to prescribe several ingredients.

Spatial correction rnsubscript𝑟𝑛r_{n}italic_r start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

We just transfer rnsubscript𝑟𝑛r_{n}italic_r start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT over from the incoming wave: rn=risubscript𝑟𝑛subscript𝑟𝑖r_{n}=r_{i}italic_r start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Indeed, as we will see in Section 4, we require the term rnsubscript𝑟𝑛r_{n}italic_r start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT only when modeling diffraction.

Source point 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

We use the method of images, which gives the position of 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT as the reflection of 𝝃isubscript𝝃𝑖\bm{\xi}_{i}bold_italic_ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT with respect to the edge γ𝛾\gammaitalic_γ:

𝝃n=2argmin𝒛γ~𝒛𝝃i𝝃i,subscript𝝃𝑛2subscriptargmin𝒛~𝛾norm𝒛subscript𝝃𝑖subscript𝝃𝑖\bm{\xi}_{n}=2\operatorname*{arg\,min}_{\bm{z}\in\widetilde{\gamma}}\left\|\bm% {z}-\bm{\xi}_{i}\right\|-\bm{\xi}_{i},bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = 2 start_OPERATOR roman_arg roman_min end_OPERATOR start_POSTSUBSCRIPT bold_italic_z ∈ over~ start_ARG italic_γ end_ARG end_POSTSUBSCRIPT ∥ bold_italic_z - bold_italic_ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∥ - bold_italic_ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , (11)

where γ~2~𝛾superscript2\widetilde{\gamma}\subset\mathbb{R}^{2}over~ start_ARG italic_γ end_ARG ⊂ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT is the straight line on which edge γ𝛾\gammaitalic_γ lies. See Fig. 2 (left).

Refer to caption
Figure 2: Graphical representation of a reflection off edge γ𝛾\gammaitalic_γ. On the left, the law of reflection prescribes θr=θisubscript𝜃𝑟subscript𝜃𝑖\theta_{r}=\theta_{i}italic_θ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT = italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. We show the straight line γ~~𝛾\widetilde{\gamma}over~ start_ARG italic_γ end_ARG supporting γ𝛾\gammaitalic_γ with a dotted stroke. For a given observation point 𝒙𝒙\bm{x}bold_italic_x, 𝒚(𝒙)𝒚𝒙\bm{y}(\bm{x})bold_italic_y ( bold_italic_x ) denotes the point of incidence of the reflected field component. On the right, computation of the spatial support ΩnsubscriptΩ𝑛\Omega_{n}roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT (light-grey area) and its complementary shadow zone ΩΩnΩsubscriptΩ𝑛\Omega\setminus\Omega_{n}roman_Ω ∖ roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT (dark-grey area) for the reflected field component, in the presence of a rectangular obstacle. The dashed portion of edge γ𝛾\gammaitalic_γ denotes the shadow γγ(i)𝛾superscript𝛾𝑖\gamma\setminus\gamma^{(i)}italic_γ ∖ italic_γ start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT. The shadow zone consists of two connected components.
Weight function ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

Let 𝒙𝝃n𝒙subscript𝝃𝑛\bm{x}-\bm{\xi}_{n}bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be a generic point where we wish to evaluate the weight function ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. We define the incidence point 𝒚(𝒙)𝒚𝒙\bm{y}(\bm{x})bold_italic_y ( bold_italic_x ) as the intersection (if any) between edge γ𝛾\gammaitalic_γ and the segment from 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT to 𝒙𝒙\bm{x}bold_italic_x. See Fig. 2 (left). According to the method of images, the amplitude of the reflected wave is equal (up to sign) to the amplitude of the incoming wave:

ζn(𝒙𝝃n)=±ζi(𝒚(𝒙)𝝃i).subscript𝜁𝑛𝒙subscript𝝃𝑛plus-or-minussubscript𝜁𝑖𝒚𝒙subscript𝝃𝑖\zeta_{n}(\bm{x}-\bm{\xi}_{n})=\pm\zeta_{i}(\bm{y}(\bm{x})-\bm{\xi}_{i}).italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) = ± italic_ζ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( bold_italic_y ( bold_italic_x ) - bold_italic_ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) . (12)

Above and throughout this section, the sign ±plus-or-minus\pm± depends on the type of boundary conditions on the edge γ𝛾\gammaitalic_γ (“+++” for Neumann, “--” for Dirichlet).

Now, recall that we are assuming all weight functions to be positive-homogeneous. According to Remark 2.2, this means that ζi(𝒙𝝃i)subscript𝜁𝑖𝒙subscript𝝃𝑖\zeta_{i}(\bm{x}-\bm{\xi}_{i})italic_ζ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) is only a function of the angle ϕi(𝒙)subscriptitalic-ϕ𝑖𝒙\phi_{i}(\bm{x})italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( bold_italic_x ) between 𝒙𝝃i𝒙subscript𝝃𝑖\bm{x}-\bm{\xi}_{i}bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and the positive x1subscript𝑥1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT-axis. See Fig. 2 (left) for a graphical depiction. Specifically, with an abuse of notation, let ζi(𝒙𝝃i)=ζi(ϕi(𝒙))subscript𝜁𝑖𝒙subscript𝝃𝑖subscript𝜁𝑖subscriptitalic-ϕ𝑖𝒙\zeta_{i}(\bm{x}-\bm{\xi}_{i})=\zeta_{i}(\phi_{i}(\bm{x}))italic_ζ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_ζ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( bold_italic_x ) ) and ζn(𝒙𝝃n)=ζn(ϕn(𝒙))subscript𝜁𝑛𝒙subscript𝝃𝑛subscript𝜁𝑛subscriptitalic-ϕ𝑛𝒙\zeta_{n}(\bm{x}-\bm{\xi}_{n})=\zeta_{n}(\phi_{n}(\bm{x}))italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) = italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_ϕ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x ) ), where the “new” angle-dependent functions ζisubscript𝜁𝑖\zeta_{i}italic_ζ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT are 2π2𝜋2\pi2 italic_π-periodic. By Eq. 12, we deduce the property

ζn(ϕn(𝒙))=±ζi(ϕi(𝒚(𝒙)))=subscript𝜁𝑛subscriptitalic-ϕ𝑛𝒙plus-or-minussubscript𝜁𝑖subscriptitalic-ϕ𝑖𝒚𝒙absent\displaystyle\zeta_{n}(\phi_{n}(\bm{x}))=\pm\zeta_{i}(\phi_{i}(\bm{y}(\bm{x})))=italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_ϕ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x ) ) = ± italic_ζ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( bold_italic_y ( bold_italic_x ) ) ) = ±ζi(2βγϕn(𝒚(𝒙)))plus-or-minussubscript𝜁𝑖2subscript𝛽𝛾subscriptitalic-ϕ𝑛𝒚𝒙\displaystyle\pm\zeta_{i}(2\beta_{\gamma}-\phi_{n}(\bm{y}(\bm{x})))± italic_ζ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 2 italic_β start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT - italic_ϕ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_y ( bold_italic_x ) ) )
=\displaystyle== ±ζi(2βγϕn(𝒙)),plus-or-minussubscript𝜁𝑖2subscript𝛽𝛾subscriptitalic-ϕ𝑛𝒙\displaystyle\pm\zeta_{i}(2\beta_{\gamma}-\phi_{n}(\bm{x})),± italic_ζ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 2 italic_β start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT - italic_ϕ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x ) ) , (13)

where βγsubscript𝛽𝛾\beta_{\gamma}italic_β start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT is the angle between edge γ𝛾\gammaitalic_γ and the positive x1subscript𝑥1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT-axis. This uniquely identifies ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, given ζisubscript𝜁𝑖\zeta_{i}italic_ζ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and βγsubscript𝛽𝛾\beta_{\gamma}italic_β start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT.

Spatial support ΩnsubscriptΩ𝑛\Omega_{n}roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT

We first identify what portion of γ𝛾\gammaitalic_γ is actually “lit” by u~isubscript~𝑢𝑖\widetilde{u}_{i}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT: γ(i)=γΩi¯superscript𝛾𝑖𝛾¯subscriptΩ𝑖\gamma^{(i)}=\gamma\cap\overline{\Omega_{i}}italic_γ start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT = italic_γ ∩ over¯ start_ARG roman_Ω start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG. Note that we may have γγ(i)𝛾superscript𝛾𝑖\gamma\neq\gamma^{(i)}italic_γ ≠ italic_γ start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT, for instance when obstacles are present between 𝝃isubscript𝝃𝑖\bm{\xi}_{i}bold_italic_ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and γ𝛾\gammaitalic_γ. See Fig. 2 (right) for an illustration. Then, roughly speaking, we define the new support ΩnsubscriptΩ𝑛\Omega_{n}roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT as the union of all line segments from 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT that pass through γ(i)superscript𝛾𝑖\gamma^{(i)}italic_γ start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT. To be more precise, given 𝒙Ω𝒙Ω\bm{x}\in\Omegabold_italic_x ∈ roman_Ω, let 𝒚(𝒙)𝒚𝒙\bm{y}(\bm{x})bold_italic_y ( bold_italic_x ) be the intersection (if any) between γ𝛾\gammaitalic_γ and the line segment from 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT to 𝒙𝒙\bm{x}bold_italic_x. Also, if 𝒚(𝒙)𝒚𝒙\bm{y}(\bm{x})bold_italic_y ( bold_italic_x ) exists, we define τ0(𝒙)=𝒚(𝒙)𝝃n/𝒙𝝃n(0,1)subscript𝜏0𝒙norm𝒚𝒙subscript𝝃𝑛norm𝒙subscript𝝃𝑛01\tau_{0}(\bm{x})=\left\|\bm{y}(\bm{x})-\bm{\xi}_{n}\right\|/\left\|\bm{x}-\bm{% \xi}_{n}\right\|\in(0,1)italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_italic_x ) = ∥ bold_italic_y ( bold_italic_x ) - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥ / ∥ bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥ ∈ ( 0 , 1 ), which satisfies 𝒚(𝒙)=𝝃n+τ0(𝒙)(𝒙𝝃n)𝒚𝒙subscript𝝃𝑛subscript𝜏0𝒙𝒙subscript𝝃𝑛\bm{y}(\bm{x})=\bm{\xi}_{n}+\tau_{0}(\bm{x})(\bm{x}-\bm{\xi}_{n})bold_italic_y ( bold_italic_x ) = bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT + italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_italic_x ) ( bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ). The new support is defined as

Ωn={𝒙Ω:𝒚(𝒙)γ(i) and 𝝃n+τ(𝒙𝝃n)Ωτ0(𝒙)<τ1}.subscriptΩ𝑛conditional-set𝒙Ωformulae-sequence𝒚𝒙superscript𝛾𝑖 and subscript𝝃𝑛𝜏𝒙subscript𝝃𝑛Ωfor-allsubscript𝜏0𝒙𝜏1\Omega_{n}=\left\{\bm{x}\in\Omega\ :\ \bm{y}(\bm{x})\in\gamma^{(i)}\text{ and % }\bm{\xi}_{n}+\tau(\bm{x}-\bm{\xi}_{n})\in\Omega\ \ \forall\tau_{0}(\bm{x})<% \tau\leq 1\right\}.roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = { bold_italic_x ∈ roman_Ω : bold_italic_y ( bold_italic_x ) ∈ italic_γ start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT and bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT + italic_τ ( bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ∈ roman_Ω ∀ italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( bold_italic_x ) < italic_τ ≤ 1 } . (14)
Refer to caption
Figure 3: Example of reflection off an edge in the presence of an obstacle, from Fig. 2. Neumann conditions are imposed on all edges. Source wave (left), reflected wave (middle), and superimposition of the two (right). Note how the obstacle creates a shadow zone for source and reflected waves. For simplicity, in this plot we are not showing any reflection or diffraction effects due to the rectangular obstacle, since they would be modeled at different stages of the algorithm.

Figure 3 represents a possible output of the numerical algorithm. In this case, we simulate only the reflections, thus discarding, for the time being, any effect due to diffraction. It is clear that, by modeling reflection effects only, we may obtain a discontinuous approximation of the solution of our target problem, with discontinuities arising at the boundaries of the spatial supports identified so far. As we will see in the next section, introducing diffraction in our approximation will allow us to obtain a continuous approximation u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG.

4 Modeling diffraction

Here, we describe a strategy for modeling waves diffracted by a vertex of the domain boundary ΩΩ\partial\Omega∂ roman_Ω. This is required in building a new field component u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT whenever the smallest unexplored entry of the timetable is related to a vertex, i.e., j>ne𝑗subscript𝑛𝑒j>n_{e}italic_j > italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT in Algorithm 1, cf. Section 2.

In our modeling, we take inspiration from the uniform theory of diffraction (UTD) [17, 20, 21]. UTD provides an effective description of diffraction in the frequency domain, which we need to specialize for our time-domain modeling. This task is difficult for several reasons. On the one hand, standard approaches for frequency-to-time-domain conversion involve the inversion of the Fourier transform, which is rather costly in a numerical setting, where integration/convolution must be replaced by quadrature. (This issue actually affects also time-domain diffraction modeling based on impulse responses, see, e.g., [22, 23].) On the other hand, UTD is an asymptotic method, whose accuracy relies on assuming the frequency to be sufficiently large. As such, an inverse Fourier transform is not guaranteed to provide sound results, whenever the signal bandwidth includes low frequencies.

Both these reasons behoove us to develop a novel time-domain version of UTD. Specifically, we wish our diffraction modeling to fit in the framework of Eq. 5, so that:

  • Diffraction is modeled as a wave outgoing from a point source at some 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. This is actually in line with standard approaches, e.g., [24, 6], where diffraction is modeled through virtual sources on the vertex (in 2D) or edge (in 3D) that causes the diffraction event. This motivates the choice of the center 𝝃n:=𝒚j=𝒚jneassignsubscript𝝃𝑛subscript𝒚superscript𝑗subscript𝒚𝑗subscript𝑛𝑒\bm{\xi}_{n}:=\bm{y}_{j^{\prime}}=\bm{y}_{j-n_{e}}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT := bold_italic_y start_POSTSUBSCRIPT italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = bold_italic_y start_POSTSUBSCRIPT italic_j - italic_n start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT, the diffraction vertex (we are employing the notation of Algorithm 1).

  • Diffraction has a spatial support ΩnsubscriptΩ𝑛\Omega_{n}roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, which (again in accordance to diffraction theory) we define as the set of all points that are visible (along straight-line paths) from 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, i.e.,

    Ωn={𝒙Ω:𝝃n+τ(𝒙𝝃n)Ω0<τ1}.subscriptΩ𝑛conditional-set𝒙Ωformulae-sequencesubscript𝝃𝑛𝜏𝒙subscript𝝃𝑛Ωfor-all0𝜏1\Omega_{n}=\left\{\bm{x}\in\Omega\ :\ \bm{\xi}_{n}+\tau(\bm{x}-\bm{\xi}_{n})% \in\Omega\ \ \forall 0<\tau\leq 1\right\}.roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = { bold_italic_x ∈ roman_Ω : bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT + italic_τ ( bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ∈ roman_Ω ∀ 0 < italic_τ ≤ 1 } . (15)
  • The space-time dependence of the diffraction amplitude should be separable into an angular component ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, and a radial-temporal component, which, in fact, is assumed to coincide with the free-space wave propagation profile ΨΨ\Psiroman_Ψ.

The last step is the most critical one, as it involves a simplifying modeling choice, specifically made to fit the approximate diffraction wave within our framework. Still, there are strong theoretical foundations for this, as we proceed to explain.

4.1 Modeling the angular modulation

From a phenomenological point of view, the angular modulation ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT can be related to the diffraction coefficient appearing in geometrical diffraction theory [16, 20]. Indeed, the diffraction coefficient D𝐷Ditalic_D has exactly the desired role of scaling factor for the diffraction amplitude, which depends on the angle that the target measurement point 𝒙𝒙\bm{x}bold_italic_x forms with the edges adjacent the diffraction vertex. As such, we set ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT equal to the UTD diffraction coefficient D𝐷Ditalic_D.

We define D𝐷Ditalic_D in full detail in Appendix A. Here, for our discussion, we only need the following basic facts: in 2-dimensional UTD, the diffraction coefficient D𝐷Ditalic_D depends on the above-mentioned angle between 𝒙𝒙\bm{x}bold_italic_x and 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, but also on (i) the domain geometry locally around the diffraction point, (ii) the location of the source that causes the diffraction, (iii) the frequency of the incident signal, and (iv) the distance 𝒙𝝃nnorm𝒙subscript𝝃𝑛\left\|\bm{x}-\bm{\xi}_{n}\right\|∥ bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥.

The last two above-mentioned items are problematic in our framework: since we work in the time domain, we do not have a single incident frequency k𝑘kitalic_k; moreover, due to our separability assumption, we require the angular modulation to be independent of 𝒙𝝃nnorm𝒙subscript𝝃𝑛\left\|\bm{x}-\bm{\xi}_{n}\right\|∥ bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥. However, frequency and radial distance always appear together, as a product, in the UTD diffraction coefficient. Specifically, such product μ:=k𝒙𝝃nassign𝜇𝑘norm𝒙subscript𝝃𝑛\mu:=k\left\|\bm{x}-\bm{\xi}_{n}\right\|italic_μ := italic_k ∥ bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥ can be interpreted as the distance between 𝒙𝒙\bm{x}bold_italic_x and the diffraction point 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, measured in wavelength units.

In practice, the value of μ𝜇\muitalic_μ determines how quickly the magnitude of D𝐷Ditalic_D decays to 00, as one moves away from a so-called “shadow boundary”, i.e., the boundary of the spatial support of either the incident or the reflected wave(s). Equivalently, μ𝜇\muitalic_μ determines the width of the transition region, which encompasses any shadow boundaries. See Appendices A and 15. Also, note that UTD requires μ𝜇\muitalic_μ to be large enough (1absent1\geq 1≥ 1), and that μ𝜇\mu\to\inftyitalic_μ → ∞ yields the geometrical-optics setting, i.e., a diffraction-free model, with ζn0subscript𝜁𝑛0\zeta_{n}\equiv 0italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ≡ 0.

Since the dependence of D𝐷Ditalic_D on the two troublesome terms happens only through μ𝜇\muitalic_μ, we propose the following strategy for defining a k𝑘kitalic_k- and 𝒙𝝃nnorm𝒙subscript𝝃𝑛\left\|\bm{x}-\bm{\xi}_{n}\right\|∥ bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥-independent angular modulation ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT: we set ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT as the diffraction coefficient D𝐷Ditalic_D obtained for some value of μ=μ¯𝜇¯𝜇\mu=\overline{\mu}italic_μ = over¯ start_ARG italic_μ end_ARG that is fixed a priori. Such value μ¯¯𝜇\overline{\mu}over¯ start_ARG italic_μ end_ARG should be sufficiently large not to cause issues in UTD, but also sufficiently small to avoid the geometrical-optics pitfall.

Obviously, the specific choice of μ¯¯𝜇\overline{\mu}over¯ start_ARG italic_μ end_ARG should be based on the ultimate approximation target: minimizing the discrepancy between u𝑢uitalic_u and u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG. However, it turns out that D𝐷Ditalic_D depends relatively mildly on the value of μ𝜇\muitalic_μ. See Appendix A for a theoretical justification, and Section 5.1 for some numerical tests. In our experiments, we settle for the value μ¯=10¯𝜇10\overline{\mu}=10over¯ start_ARG italic_μ end_ARG = 10. A more careful quantitative investigation of the role of μ𝜇\muitalic_μ on the diffraction approximation accuracy is envisioned as a future research direction.

Instead of using frequency-domain UTD, the time-domain diffraction coefficient could be computed by convolution of the incoming wave with a “diffraction impulse response”, as done in [23, 25]. Such a convolution would need to be approximated (by quadrature) over and over, at each diffraction event. Notably, since the diffraction impulse response is not a Dirac delta, a convolution with it naturally introduces a radial modulation too. This entails that the diffraction wave does not behave like an angular modulation of the free-space wave ΨΨ\Psiroman_Ψ, as assumed in our model.

Our modeling of diffraction through a diffraction coefficient that does not depend on time nor radius, although biased in the above-described way, is very efficient, as it avoids the expensive computation of convolutions with the diffraction impulse response. As we will show in our numerical experiments, this increased efficiency comes at the cost of a relatively small modeling error. As such, our approach remains justified.

4.2 Estimating the modeling error

We can assess the quality of our diffraction model a priori, by comparing its resulting approximation of the diffraction wave (u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT) with that obtained via the above-mentioned convolution approach [23], which we denote by ůnsubscript̊𝑢𝑛\mathring{u}_{n}over̊ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT here.

As before, assume that field component u~isubscript~𝑢𝑖\widetilde{u}_{i}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT impinges on vertex 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, causing a diffraction event emanating from there. Given an arbitrary space-time position (𝒙,t)𝒙𝑡(\bm{x},t)( bold_italic_x , italic_t ), the local discrepancy between the diffraction waves obtained with the two methods can be expressed by inverse Fourier transform, as

u~n(𝒙,t)ůn(𝒙,t)=subscript~𝑢𝑛𝒙𝑡subscript̊𝑢𝑛𝒙𝑡absent\displaystyle\widetilde{u}_{n}(\bm{x},t)-\mathring{u}_{n}(\bm{x},t)=over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) - over̊ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) = D~μ¯[u~i](𝝃n,k)eiktdkDk[u~i](𝝃n,k)eiktdksubscript~𝐷¯𝜇subscriptdelimited-[]subscript~𝑢𝑖subscript𝝃𝑛𝑘superscript𝑒𝑖𝑘𝑡d𝑘subscriptsubscript𝐷𝑘delimited-[]subscript~𝑢𝑖subscript𝝃𝑛𝑘superscript𝑒𝑖𝑘𝑡d𝑘\displaystyle\widetilde{D}_{\overline{\mu}}\int_{\mathbb{R}}\mathcal{F}[% \widetilde{u}_{i}](\bm{\xi}_{n},k)e^{ikt}\textrm{d}k-\int_{\mathbb{R}}D_{k}% \mathcal{F}[\widetilde{u}_{i}](\bm{\xi}_{n},k)e^{ikt}\textrm{d}kover~ start_ARG italic_D end_ARG start_POSTSUBSCRIPT over¯ start_ARG italic_μ end_ARG end_POSTSUBSCRIPT ∫ start_POSTSUBSCRIPT blackboard_R end_POSTSUBSCRIPT caligraphic_F [ over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] ( bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_k ) italic_e start_POSTSUPERSCRIPT italic_i italic_k italic_t end_POSTSUPERSCRIPT d italic_k - ∫ start_POSTSUBSCRIPT blackboard_R end_POSTSUBSCRIPT italic_D start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT caligraphic_F [ over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] ( bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_k ) italic_e start_POSTSUPERSCRIPT italic_i italic_k italic_t end_POSTSUPERSCRIPT d italic_k
=\displaystyle== (D~μ¯Dk)[u~i](𝝃n,k)eiktdk.subscriptsubscript~𝐷¯𝜇subscript𝐷𝑘delimited-[]subscript~𝑢𝑖subscript𝝃𝑛𝑘superscript𝑒𝑖𝑘𝑡d𝑘\displaystyle\int_{\mathbb{R}}\left(\widetilde{D}_{\overline{\mu}}-D_{k}\right% )\mathcal{F}[\widetilde{u}_{i}](\bm{\xi}_{n},k)e^{ikt}\textrm{d}k.∫ start_POSTSUBSCRIPT blackboard_R end_POSTSUBSCRIPT ( over~ start_ARG italic_D end_ARG start_POSTSUBSCRIPT over¯ start_ARG italic_μ end_ARG end_POSTSUBSCRIPT - italic_D start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) caligraphic_F [ over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] ( bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_k ) italic_e start_POSTSUPERSCRIPT italic_i italic_k italic_t end_POSTSUPERSCRIPT d italic_k .

Above, \mathcal{F}caligraphic_F denotes the Fourier transform operator, whereas Dk=Dk(𝒙𝝃n)subscript𝐷𝑘subscript𝐷𝑘𝒙subscript𝝃𝑛D_{k}=D_{k}(\bm{x}-\bm{\xi}_{n})italic_D start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_D start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) is the UTD diffraction coefficient, which depends on both the position 𝒙𝒙\bm{x}bold_italic_x and the wavenumber k𝑘kitalic_k, cf. Appendix A. On the other hand, D~μ¯subscript~𝐷¯𝜇\widetilde{D}_{\overline{\mu}}over~ start_ARG italic_D end_ARG start_POSTSUBSCRIPT over¯ start_ARG italic_μ end_ARG end_POSTSUBSCRIPT is the diffraction coefficient used in our modeling, which is k𝑘kitalic_k-independent and depends on 𝒙𝒙\bm{x}bold_italic_x only through the direction of 𝒙𝝃n𝒙subscript𝝃𝑛\bm{x}-\bm{\xi}_{n}bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. (Note that, in geometrical optics, one would set D~μ¯=0subscript~𝐷¯𝜇0\widetilde{D}_{\overline{\mu}}=0over~ start_ARG italic_D end_ARG start_POSTSUBSCRIPT over¯ start_ARG italic_μ end_ARG end_POSTSUBSCRIPT = 0.)

It follows that, to achieve a small error, one should pick a value of D~μ¯subscript~𝐷¯𝜇\widetilde{D}_{\overline{\mu}}over~ start_ARG italic_D end_ARG start_POSTSUBSCRIPT over¯ start_ARG italic_μ end_ARG end_POSTSUBSCRIPT close to that of Dksubscript𝐷𝑘D_{k}italic_D start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, specifically at wavenumbers k𝑘kitalic_k that lie closest to the Fourier spectrum of u~i(𝝃n,)subscript~𝑢𝑖subscript𝝃𝑛\widetilde{u}_{i}(\bm{\xi}_{n},\cdot)over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , ⋅ ). In this way, we can expect that our approach, despite being based on a heuristic choice of μ¯¯𝜇\overline{\mu}over¯ start_ARG italic_μ end_ARG, independently of k𝑘kitalic_k, should do significantly better than geometrical optics.

This being said, our method has limitations, which are better seen by looking at the following global-in-wavenumber bound on the error magnitude:

|u~n(𝒙,t)ůn(𝒙,t)|supk|D~μ¯Dk|[u~i](𝝃n,)L1().subscript~𝑢𝑛𝒙𝑡subscript̊𝑢𝑛𝒙𝑡subscriptsupremum𝑘subscript~𝐷¯𝜇subscript𝐷𝑘subscriptnormdelimited-[]subscript~𝑢𝑖subscript𝝃𝑛superscript𝐿1\left|\widetilde{u}_{n}(\bm{x},t)-\mathring{u}_{n}(\bm{x},t)\right|\leq\sup_{k% }\left|\widetilde{D}_{\overline{\mu}}-D_{k}\right|\left\|\mathcal{F}[% \widetilde{u}_{i}](\bm{\xi}_{n},\cdot)\right\|_{L^{1}(\mathbb{R})}.| over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) - over̊ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) | ≤ roman_sup start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT | over~ start_ARG italic_D end_ARG start_POSTSUBSCRIPT over¯ start_ARG italic_μ end_ARG end_POSTSUBSCRIPT - italic_D start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT | ∥ caligraphic_F [ over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] ( bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , ⋅ ) ∥ start_POSTSUBSCRIPT italic_L start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT ( blackboard_R ) end_POSTSUBSCRIPT . (16)

Our method may lead to gross errors if Dksubscript𝐷𝑘D_{k}italic_D start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT has large variations in k𝑘kitalic_k. In this respect, it is worth nothing that, thanks to the availability of explicit formulas for Dksubscript𝐷𝑘D_{k}italic_D start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, cf. Appendix A, it is possible to obtain an upper-bound for |DkD~μ¯|subscript𝐷𝑘subscript~𝐷¯𝜇|D_{k}-\widetilde{D}_{\overline{\mu}}|| italic_D start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - over~ start_ARG italic_D end_ARG start_POSTSUBSCRIPT over¯ start_ARG italic_μ end_ARG end_POSTSUBSCRIPT | by direct inspection. Still, bound Eq. 16 is pessimistic, as we will show in our numerical experiments.

As a practical alternative, we propose a heuristic a posteriori error indicator, with the objective of obtaining better (but still approximate) information on the magnitude of the diffraction modeling error. To this aim, we apply the following multi-fidelity argument. Let u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG be the approximation obtained through our method, including also diffraction terms, modeled as in Section 4.1. On the other hand, let u~GOsubscript~𝑢GO\widetilde{u}_{\text{GO}}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT GO end_POSTSUBSCRIPT be the approximation obtained with our approach, disregarding diffraction completely (“GO” stands for “geometrical optics”). As indicator of the approximation error |u~u|~𝑢𝑢\left|\widetilde{u}-u\right|| over~ start_ARG italic_u end_ARG - italic_u |, we simply use the cross-fidelity discrepancy |u~GOu~|subscript~𝑢GO~𝑢|\widetilde{u}_{\text{GO}}-\widetilde{u}|| over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT GO end_POSTSUBSCRIPT - over~ start_ARG italic_u end_ARG |. The justification behind this follows.

First, we note that, since reflection effects are modeled exactly in our approach, cf. Section 3, uu~GO𝑢subscript~𝑢GOu-\widetilde{u}_{\text{GO}}italic_u - over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT GO end_POSTSUBSCRIPT coincides with the superposition of all diffraction-caused effects. Second, we make the heuristic assumption that diffraction effects in u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG are approximated with at most a 50%percent5050\%50 % relative error. (Of course, we have no way of verifying this in practice, as we would need access to the exact solution.) Accordingly, we have that 2|u~u||u~GOu|2~𝑢𝑢subscript~𝑢GO𝑢2|\widetilde{u}-u|\leq|\widetilde{u}_{\text{GO}}-u|2 | over~ start_ARG italic_u end_ARG - italic_u | ≤ | over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT GO end_POSTSUBSCRIPT - italic_u | and, by the triangular inequality,

|u~u||u~GOu||u~u||u~GOu~|.~𝑢𝑢subscript~𝑢GO𝑢~𝑢𝑢subscript~𝑢GO~𝑢\left|\widetilde{u}-u\right|\leq\left|\widetilde{u}_{\text{GO}}-u\right|-\left% |\widetilde{u}-u\right|\leq\left|\widetilde{u}_{\text{GO}}-\widetilde{u}\right|.| over~ start_ARG italic_u end_ARG - italic_u | ≤ | over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT GO end_POSTSUBSCRIPT - italic_u | - | over~ start_ARG italic_u end_ARG - italic_u | ≤ | over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT GO end_POSTSUBSCRIPT - over~ start_ARG italic_u end_ARG | .

We assess the reliability of this estimate in our numerical experiments in the next section.

5 Numerical results

In our experiments, we require a “reference” solution of Eq. 1 to validate our results. To this effect, we use the solution uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT obtained by discretizing Eq. 1 with:

  • the P1-finite element (FE) method with mass-lumping, over a regular triangulation (mesh) of the physical domain ΩΩ\Omegaroman_Ω;

  • explicit leapfrog timestepping with a uniform time step that satisfies the CFL condition on the chosen mesh.

See [7, 8] for more details on this discretization strategy.

If the domain ΩΩ\Omegaroman_Ω is unbounded, we first need to truncate it in such a way that reflections from the non-physical truncation boundary do not affect the solution in the region of interest for t<T𝑡𝑇t<Titalic_t < italic_T. Recalling that the problem data are supported in a ball of radius R𝑅Ritalic_R and center 𝟎0\bm{0}bold_0, this can be done, e.g., by truncating ΩΩ\Omegaroman_Ω at the sphere with radius R+T𝑅𝑇R+Titalic_R + italic_T (we recall that we are assuming a unit wave speed) and center 𝟎0\bm{0}bold_0. In our tests, we rely on FEniCS [26] to carry out the FE discretization on 2-dimensional domains ΩΩ\Omegaroman_Ω. Note that, instead, unbounded geometries are allowed in our proposed approach, making domain truncations unnecessary.

All our tests are performed in Python 3.8 on a machine with an 8-core 4.70 GHz Intel® processor. For reproducibility, our code is made available at https://github.com/pradovera/ray-wave-2d.

5.1 Some simple wedges

As a way to assess our proposed method in simple settings, we consider four different “wedge” domains. We define ΩΩ\Omegaroman_Ω to be one of the portions of the plane 2superscript2\mathbb{R}^{2}blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT delimited by two straight lines intersecting at a point, with α𝛼\alphaitalic_α being the outer angle at such point. The specific choices of wedge angles α𝛼\alphaitalic_α are reported in Table 1 for the four cases.

Refer to caption
Figure 4: Initial conditions for the wedge examples, indexed #1 through #4 from left to right. The (dashed) distance between the center of the Gaussian and the boundary vertex is 4 units in all cases.
Example exterior incidence number N𝑁Nitalic_N of supt[0,T]err(t)subscriptsupremum𝑡0𝑇err𝑡\sup_{t\in[0,T]}\textup{err}(t)roman_sup start_POSTSUBSCRIPT italic_t ∈ [ 0 , italic_T ] end_POSTSUBSCRIPT err ( italic_t ), cf. Eq. 17
index angle α𝛼\alphaitalic_α angle θ𝜃\thetaitalic_θ components u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT
#1 1.5π1.5𝜋1.5\pi1.5 italic_π 0.313π0.313𝜋0.313\pi0.313 italic_π 5 0.146%percent0.1460.146\%0.146 %
#2 1.62π1.62𝜋1.62\pi1.62 italic_π 0.192π0.192𝜋0.192\pi0.192 italic_π 8 0.828%percent0.8280.828\%0.828 %
#3 0.879π0.879𝜋0.879\pi0.879 italic_π 0.434π0.434𝜋0.434\pi0.434 italic_π 4 3.14%percent3.143.14\%3.14 %
#4 0.879π0.879𝜋0.879\pi0.879 italic_π 1.04π1.04𝜋1.04\pi1.04 italic_π 3 4.68%percent4.684.68\%4.68 %
Table 1: Setup for the four wedge examples. The angle θ𝜃\thetaitalic_θ is as in Fig. 4. The last two columns refer to the results of our algorithm.

We set up a wave-propagation problem like Eq. 1, with u0subscript𝑢0u_{0}italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT an isotropic Gaussian with standard deviation 0.20.20.20.2. The center of u0subscript𝑢0u_{0}italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is at a point located at a 4-unit distance from the wedge vertex, in the direction determined by the “incidence angle” θ𝜃\thetaitalic_θ. See Fig. 4 for a representation of the initial conditions in the four cases. We set u1=f=0subscript𝑢1𝑓0u_{1}=f=0italic_u start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_f = 0, we enforce Neumann boundary conditions on the whole ΩΩ\partial\Omega∂ roman_Ω, and we seek the solution at the final time T=5𝑇5T=5italic_T = 5, i.e., 1111 time unit after the wave crest has reached the wedge vertex.

Refer to caption
Figure 5: Free-space solution ΨΨ\Psiroman_Ψ. The dashed line denotes the upper bound of the “causality cone” of ΨΨ\Psiroman_Ψ, i.e., ρ=t+R𝜌𝑡𝑅\rho=t+Ritalic_ρ = italic_t + italic_R, with R=1𝑅1R=1italic_R = 1.
Refer to caption
Figure 6: Results for the four wedge examples. Each row pertains to a different example. In each row, from left to right: surrogate solution, FE solution, and error. The color scales for the first two columns are the same. All results are shown at the final time t=T𝑡𝑇t=Titalic_t = italic_T.

To this aim, we employ our proposed approach, see Section 2. First, we compute an approximation of the free-space solution ΨΨ\Psiroman_Ψ, which solves Eq. 4, by employing the P1-FE method with explicit leapfrog timestepping. Note that, since Eq. 4 is cast in polar coordinates, we only need to discretize a 1D interval with P1-FE. Since the initial condition u0subscript𝑢0u_{0}italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is supported within the unit disk, we have R=1𝑅1R=1italic_R = 1, and it suffices to approximate Ψ(ρ,t)Ψ𝜌𝑡\Psi(\rho,t)roman_Ψ ( italic_ρ , italic_t ) for (ρ,t)[0,T+R]×[0,T]𝜌𝑡0𝑇𝑅0𝑇(\rho,t)\in[0,T+R]\times[0,T]( italic_ρ , italic_t ) ∈ [ 0 , italic_T + italic_R ] × [ 0 , italic_T ]. Since this space-time domain is only 2-dimensional, we can afford a very fine discretization. In our experiments, we employ a 1001×2001100120011001\times 20011001 × 2001 uniform Cartesian space-time grid, i.e., the mesh size is δx=T+R1000𝛿𝑥𝑇𝑅1000\delta x=\frac{T+R}{1000}italic_δ italic_x = divide start_ARG italic_T + italic_R end_ARG start_ARG 1000 end_ARG and the time step is δt=T2000𝛿𝑡𝑇2000\delta t=\frac{T}{2000}italic_δ italic_t = divide start_ARG italic_T end_ARG start_ARG 2000 end_ARG. This satisfies the CFL condition. We show the resulting ΨΨ\Psiroman_Ψ (which, in fact, we should denote by ΨFEsubscriptΨFE\Psi_{\textup{FE}}roman_Ψ start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT) in Fig. 5. Note that, since we are solving the wave equation in 2D, the magnitude of ΨΨ\Psiroman_Ψ decays like 𝒪(t1/2)𝒪superscript𝑡12\mathcal{O}(t^{-1/2})caligraphic_O ( italic_t start_POSTSUPERSCRIPT - 1 / 2 end_POSTSUPERSCRIPT ) as t𝑡t\to\inftyitalic_t → ∞, which corresponds to a spatial decay of 𝒪(ρ1/2)𝒪superscript𝜌12\mathcal{O}(\rho^{-1/2})caligraphic_O ( italic_ρ start_POSTSUPERSCRIPT - 1 / 2 end_POSTSUPERSCRIPT ). In 3D, the decay would be quicker, namely, 𝒪(t1)𝒪superscript𝑡1\mathcal{O}(t^{-1})caligraphic_O ( italic_t start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ) in time and 𝒪(ρ1)𝒪superscript𝜌1\mathcal{O}(\rho^{-1})caligraphic_O ( italic_ρ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ) in space.

After this preliminary step, we use the timetable-based strategy from Section 2 to identify reflection and scattering effects, which are then added up to give the final approximation u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG. We show the resulting u~(,T)~𝑢𝑇\widetilde{u}(\cdot,T)over~ start_ARG italic_u end_ARG ( ⋅ , italic_T ) in Fig. 6. In this figure, we also display a reference solution uFE(,T)subscript𝑢FE𝑇u_{\textup{FE}}(\cdot,T)italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT ( ⋅ , italic_T ), which we obtain by direct discretization of Eq. 1 by P1-FE and leapfrog timestepping, as described at the beginning of Section 5.

In all four examples, we see that u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG and uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT seem qualitatively close. Notably, we can observe a good representation of the most prominent wavefronts, which are due to propagation of either the main “free-space” wave or to its reflections. Indeed, those wave contributions are reconstructed exactly: the only errors are the ones due to FE approximation and timestepping, which affect both uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT and u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG (the latter through the approximation of ΨΨ\Psiroman_Ψ). Instead, some differences are present when comparing diffraction effects, which arise as circular waves about the wedge vertex. We can quantitatively observe this in the last column of both Tables 1 and 6.

In example #1, we observe a very small error, which, in fact, is simply the (FE and timestepping) discretization error. This is related to the fact that the wedge index ν=π/(2πα)=2𝜈𝜋2𝜋𝛼2\nu=\pi/(2\pi-\alpha)=2italic_ν = italic_π / ( 2 italic_π - italic_α ) = 2 is an integer, thus making diffraction unnecessary in approximating the wave u𝑢uitalic_u [17].

In the other examples, diffraction effects are necessary to correctly identify u𝑢uitalic_u. While a good qualitative behavior can be observed in Fig. 6, we can see in Table 1 that a modest error is present. Specifically, as error measure, we use the supremum over t[0,T]𝑡0𝑇t\in[0,T]italic_t ∈ [ 0 , italic_T ] of the relative L2(Ω)superscript𝐿2ΩL^{2}(\Omega)italic_L start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( roman_Ω )-approximation error, defined as

err(t):=(Ω(u~(𝒙,t)uFE(𝒙,t))2d𝒙/ΩuFE(𝒙,t)2d𝒙)1/2.assignerr𝑡superscriptsubscriptΩsuperscript~𝑢𝒙𝑡subscript𝑢FE𝒙𝑡2d𝒙subscriptΩsubscript𝑢FEsuperscript𝒙𝑡2d𝒙12\textup{err}(t):=\left(\int_{\Omega}\left(\widetilde{u}(\bm{x},t)-u_{\textup{% FE}}(\bm{x},t)\right)^{2}\textup{d}\bm{x}\leavevmode\nobreak\ \bigg{/}\int_{% \Omega}u_{\textup{FE}}(\bm{x},t)^{2}\textup{d}\bm{x}\right)^{1/2}.err ( italic_t ) := ( ∫ start_POSTSUBSCRIPT roman_Ω end_POSTSUBSCRIPT ( over~ start_ARG italic_u end_ARG ( bold_italic_x , italic_t ) - italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT d bold_italic_x / ∫ start_POSTSUBSCRIPT roman_Ω end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT d bold_italic_x ) start_POSTSUPERSCRIPT 1 / 2 end_POSTSUPERSCRIPT . (17)

We see the largest error in example #4, where the relative L2(Ω)superscript𝐿2ΩL^{2}(\Omega)italic_L start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( roman_Ω )-approximation error amounts to about 5%percent55\%5 %. This example corresponds to a case of “almost grazing” incidence, with the source point being located rather close to one of the wedge’s edges. In turn, this leads to two shadow boundaries located very close to each other, with overlapping transition regions, cf. Appendix A. We interpret this result as evidence of the fact that our diffraction model from Section 4 is less accurate with grazing than with non-grazing incidence. Despite this, the error remains small in all the above tests, and our diffraction model may be considered satisfactory overall.

5.1.1 Building a cavity out of wedges

As a slightly more complicated example, we now combine the four wedges from the previous section to obtain the open cavity represented in Fig. 7. In this case, more reflection and diffraction effects arise, due to the trapping nature of the domain. Our initial conditions and forcing term are the same as before, but now all edges are sound-soft. Accordingly, we model them using Dirichlet boundary conditions. The time horizon is T=9𝑇9T=9italic_T = 9.

Refer to caption
Refer to caption
Refer to caption
Figure 7: Graph view of the field components for the cavity example. Markers are used to denote source points 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Dotted line segments denote causality effects: a black star is linked to a blue square (resp., red circle) if the field component emanating from the former causes a reflection (resp., diffraction) emanating from the latter. To avoid clutter, the field components have been separated into three plots according to causality: in the left plot we show all 7777 events (reflections or diffractions) directly caused by u~1subscript~𝑢1\widetilde{u}_{1}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, in the middle plot we show all 20202020 events directly caused by the 7777 field components in the left plot, etc.

Using our strategy from Section 2, we build the approximation u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG, which contains 45454545 wave terms (1111 source wave, 32323232 reflected waves, and 12121212 diffraction waves). As visual reference, we display the source points of all field components u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT in Fig. 7. Each dotted line segment is a “causality link”, showing how one field component causes the next, by either reflection or diffraction.

Refer to caption
Figure 8: Results for the cavity domain. Each row corresponds to a different time instant t{3,6,9}𝑡369t\in\{3,6,9\}italic_t ∈ { 3 , 6 , 9 }, from top to bottom. In each row, from left to right: surrogate solution u~(,t)~𝑢𝑡\widetilde{u}(\cdot,t)over~ start_ARG italic_u end_ARG ( ⋅ , italic_t ), FE solution uFE(,t)subscript𝑢FE𝑡u_{\textup{FE}}(\cdot,t)italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT ( ⋅ , italic_t ), and error u~(,t)uFE(,t)~𝑢𝑡subscript𝑢FE𝑡\widetilde{u}(\cdot,t)-u_{\textup{FE}}(\cdot,t)over~ start_ARG italic_u end_ARG ( ⋅ , italic_t ) - italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT ( ⋅ , italic_t ). The color scales for the first two columns are the same.

In Fig. 8, we compare the approximation u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG with the reference solution uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT, obtained as described at the beginning of Section 5, on a spatial mesh with around 106superscript10610^{6}10 start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT degrees of freedom. Once more, we see a good qualitative agreement between u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG and uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT, with the most important features of u𝑢uitalic_u being identified well. We see “error waves” of small amplitude propagating from the 3 vertices of ΩΩ\Omegaroman_Ω that generate diffraction effects. These correspond to errors in diffraction modeling. More quantitatively, the relative L2(Ω)superscript𝐿2ΩL^{2}(\Omega)italic_L start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( roman_Ω )-approximation errors are roughly 0.05%percent0.050.05\%0.05 % (at t=3𝑡3t=3italic_t = 3), 7.21%percent7.217.21\%7.21 % (at t=6𝑡6t=6italic_t = 6), and 12%percent1212\%12 % (at t=9𝑡9t=9italic_t = 9).

The approximation u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG is built in approximately 500500500500ms, out of which 420420420420ms are used to compute the free-space solution ΨΨ\Psiroman_Ψ. This is a surprisingly small time, compared to the computation of the reference uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT, which takes about a minute, with the 2D meshing alone taking around 20202020s. Note that we are including also the meshing time in order to have a fair comparison of the costs incurred by the two considered methods, with the target being obtaining a reasonably accurate approximate solution of the wave equation.

As an additional experiment to validate our diffraction modeling, we study how the approximation error depends on the choice of μ¯¯𝜇\overline{\mu}over¯ start_ARG italic_μ end_ARG, which affects the diffraction coefficient by being (roughly) inversely proportional to the width of the transition regions around shadow boundaries, cf. Section 4. We compute the L2(Ω)superscript𝐿2ΩL^{2}(\Omega)italic_L start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( roman_Ω )-approximation error at times t=6𝑡6t=6italic_t = 6 and t=9𝑡9t=9italic_t = 9, for values of μ¯¯𝜇\overline{\mu}over¯ start_ARG italic_μ end_ARG between 1111 and 100100100100. Note that every value of μ¯¯𝜇\overline{\mu}over¯ start_ARG italic_μ end_ARG involves the computation of a new diffraction coefficient D𝐷Ditalic_D for each diffraction event, but otherwise does not require retraining the surrogate model u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG: only the angular weights ζnsubscript𝜁𝑛\zeta_{n}italic_ζ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT vary, while all other terms in Eq. 5 remain the same.

Refer to caption
Figure 9: Relative L2(Ω)superscript𝐿2ΩL^{2}(\Omega)italic_L start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( roman_Ω )-approximation error at t=6𝑡6t=6italic_t = 6 and t=9𝑡9t=9italic_t = 9 for different values of μ¯¯𝜇\overline{\mu}over¯ start_ARG italic_μ end_ARG.

In Fig. 9, we show how the errors have a minimum around μ¯=7¯𝜇7\overline{\mu}=7over¯ start_ARG italic_μ end_ARG = 7 for t=6𝑡6t=6italic_t = 6, and around μ¯=11¯𝜇11\overline{\mu}=11over¯ start_ARG italic_μ end_ARG = 11 for t=9𝑡9t=9italic_t = 9. This shift in the minimum point seems to suggest that larger values of μ¯¯𝜇\overline{\mu}over¯ start_ARG italic_μ end_ARG should be used for approximations at longer times, an observation that may be especially relevant for simulations over long time horizons. That being said, the error appears to vary only mildly around the locations of such minima: for instance, at t=6𝑡6t=6italic_t = 6, the relative error obtained for μ¯=10¯𝜇10\overline{\mu}=10over¯ start_ARG italic_μ end_ARG = 10 is 7.21%percent7.217.21\%7.21 %, only slightly more than the minimum error, 7.06%percent7.067.06\%7.06 %. (Note also the narrowness of the vertical scale of the plot.) This provides an empirical justification for choosing a single value of μ¯¯𝜇\overline{\mu}over¯ start_ARG italic_μ end_ARG (around 10101010) for all diffraction events, and for all times t𝑡titalic_t.

5.2 A tall room

We now move to a simplified sound propagation problem in a room. For simplicity, we consider a 2-dimensional problem, thus assuming an infinitely tall room, and modeling line sources in the z𝑧zitalic_z-direction (e.g., an array of loudspeakers) as point sources.

The complicated domain Ω2Ωsuperscript2\Omega\subset\mathbb{R}^{2}roman_Ω ⊂ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT is depicted in Fig. 10. It is composed of two communicating “rooms” with sound-hard walls, as well as of a third large room (above), which is modeled as infinitely large. In the main room, three sound-soft triangular obstacles are also present.

Setting once more u1=f=0subscript𝑢1𝑓0u_{1}=f=0italic_u start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_f = 0, we are interested in modeling the propagation of an initial condition u0subscript𝑢0u_{0}italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT modeled as a Ricker wavelet centered at 𝟎0\bm{0}bold_0, see Fig. 10 (top left), over the time horizon t[0,T]𝑡0𝑇t\in[0,T]italic_t ∈ [ 0 , italic_T ], with T=20𝑇20T=20italic_T = 20. To this aim, we employ our proposed method from Section 2.

As in the previous example, we start by computing an approximation of the free-space solution Ψ=Ψ(ρ,t)ΨΨ𝜌𝑡\Psi=\Psi(\rho,t)roman_Ψ = roman_Ψ ( italic_ρ , italic_t ) for (ρ,t)[0,T+R]×[0,T]𝜌𝑡0𝑇𝑅0𝑇(\rho,t)\in[0,T+R]\times[0,T]( italic_ρ , italic_t ) ∈ [ 0 , italic_T + italic_R ] × [ 0 , italic_T ], see Eq. 4, with R𝑅Ritalic_R being the radius of the support of the initial condition u0subscript𝑢0u_{0}italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Again, we use P1-FE with leapfrog timestepping for this.

Since many reflective surfaces face each other, the domain ΩΩ\Omegaroman_Ω is trapping. Accordingly, we expect the number N𝑁Nitalic_N of waves in the approximation u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG to be rather large. In the interest of reducing the number of such terms, we employ the on-the-fly tolerance-based strategy described in Section 2.1, removing all wave terms u~nsubscript~𝑢𝑛\widetilde{u}_{n}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT whose magnitude is smaller than tol=2.5102tol2.5superscript102\textup{tol}=2.5\cdot 10^{-2}tol = 2.5 ⋅ 10 start_POSTSUPERSCRIPT - 2 end_POSTSUPERSCRIPT. After this, N=798𝑁798N=798italic_N = 798 terms are left. Although this value of N𝑁Nitalic_N may seem large, the evaluation of the corresponding surrogate u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG is rather quick, due to the explicit nature of each wave contribution (and to the fact that their supports are smaller than the whole ΩΩ\Omegaroman_Ω).

Refer to caption
Figure 10: 2-dimensional domain ΩΩ\Omegaroman_Ω modeling a room. Top left plot: initial condition u~(,0)=u(,0)=u0~𝑢0𝑢0subscript𝑢0\widetilde{u}(\cdot,0)=u(\cdot,0)=u_{0}over~ start_ARG italic_u end_ARG ( ⋅ , 0 ) = italic_u ( ⋅ , 0 ) = italic_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, a Ricker wavelet; we also show the point 𝒙tracesubscript𝒙trace\bm{x}_{\textup{trace}}bold_italic_x start_POSTSUBSCRIPT trace end_POSTSUBSCRIPT as a cross. Top right plot: intermediate solution u~(,7.5)~𝑢7.5\widetilde{u}(\cdot,7.5)over~ start_ARG italic_u end_ARG ( ⋅ , 7.5 ). Bottom left plot: intermediate solution u~(,15)~𝑢15\widetilde{u}(\cdot,15)over~ start_ARG italic_u end_ARG ( ⋅ , 15 ). Bottom right plot: final solution u~(,20)~𝑢20\widetilde{u}(\cdot,20)over~ start_ARG italic_u end_ARG ( ⋅ , 20 ).
Refer to caption
Figure 11: Value of solution at point 𝒙trace=(1,2)subscript𝒙trace12\bm{x}_{\textup{trace}}=(-1,-2)bold_italic_x start_POSTSUBSCRIPT trace end_POSTSUBSCRIPT = ( - 1 , - 2 ).

We show the resulting u~(,t)~𝑢𝑡\widetilde{u}(\cdot,t)over~ start_ARG italic_u end_ARG ( ⋅ , italic_t ) for the four times t{0,7.5,15,20}𝑡07.51520t\in\{0,7.5,15,20\}italic_t ∈ { 0 , 7.5 , 15 , 20 } in Fig. 10. There, we can see why so many terms are necessary for the approximation of u𝑢uitalic_u: we must model many reflection and diffraction effects. Since energy escapes the system only through the top “door”, the wave will persist for quite a long time. Accordingly, a larger T𝑇Titalic_T will make a larger N𝑁Nitalic_N necessary.

In order to better inspect this effect, we show the trace of the solution at the arbitrarily chosen point 𝒙trace=(1,2)subscript𝒙trace12\bm{x}_{\textup{trace}}=(-1,-2)bold_italic_x start_POSTSUBSCRIPT trace end_POSTSUBSCRIPT = ( - 1 , - 2 ) in Fig. 11. We notice that oscillations persist for t>10𝑡10t>10italic_t > 10. We use this last plot also to validate our results. To this aim, we compare:

  • The surrogate u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG obtained as described above, with tol=2.5102tol2.5superscript102\textup{tol}=2.5\cdot 10^{-2}tol = 2.5 ⋅ 10 start_POSTSUPERSCRIPT - 2 end_POSTSUPERSCRIPT.

  • The surrogate u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG obtained with our strategy, but with tol=103tolsuperscript103\textup{tol}=10^{-3}tol = 10 start_POSTSUPERSCRIPT - 3 end_POSTSUPERSCRIPT. This leads to an increased number of rays N9.6103𝑁9.6superscript103N\approx 9.6\cdot 10^{3}italic_N ≈ 9.6 ⋅ 10 start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT.

  • The reference solution uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT obtained by the P1-FE with leapfrog timestepping, as described at the beginning of Section 5. The mesh size must be chosen small enough to well resolve both the initial condition and the domain ΩΩ\Omegaroman_Ω, as well as propagation of the solution itself. In our case, we found that a mesh with approximately 1.41061.4superscript1061.4\cdot 10^{6}1.4 ⋅ 10 start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT elements leads to sufficient accuracy for a comparison with both above surrogate models u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG. To satisfy the CFL condition on this mesh, we choose a time step Δt7103Δ𝑡7superscript103\Delta t\approx 7\cdot 10^{-3}roman_Δ italic_t ≈ 7 ⋅ 10 start_POSTSUPERSCRIPT - 3 end_POSTSUPERSCRIPT.

We can observe that the two surrogates obtained with our approach give very similar results. Indeed, the cutoff tolerance tol affects the results only for sufficiently large t𝑡titalic_t, due to the accumulation of “small” waves that are excluded from the coarser surrogate but included in the finer one.

Moreover, taking the FE solution as reference, we see that most of the peaks of the surrogates are aligned with the FE ones (i.e., the “phase” of the wave is well approximated), but there are some noticeable discrepancies in their amplitudes. This is due to the fact that, in our approach, reflection is modeled exactly, whereas the magnitudes of the diffraction waves are only approximated. For this reason, we should not expect the amplitude error to get smaller if we reduce tol. The only effective way of improving the approximation would be using a more accurate diffraction model.

As a final result, we also report:

  • The “construction” time, i.e., the time required to compute the numerical solution. For u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG, this means executing Algorithm 1. For uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT, this means building the mesh, assembling the FE stiffness and (lumped) mass matrices, and carrying out the timestepping.

  • The “evaluation” time, i.e., the time required to evaluate the numerical solution (u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG or uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT) at a single (𝒙,t)𝒙𝑡(\bm{x},t)( bold_italic_x , italic_t )-point.

They can be found in Table 2.

u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG (tol=2.5102tol2.5superscript102\textup{tol}=2.5\cdot 10^{-2}tol = 2.5 ⋅ 10 start_POSTSUPERSCRIPT - 2 end_POSTSUPERSCRIPT) u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG (tol=103tolsuperscript103\textup{tol}=10^{-3}tol = 10 start_POSTSUPERSCRIPT - 3 end_POSTSUPERSCRIPT) uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT
Construction 1.031011.03superscript1011.03\cdot 10^{1}1.03 ⋅ 10 start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT 1.391021.39superscript1021.39\cdot 10^{2}1.39 ⋅ 10 start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT 9.211019.21superscript1019.21\cdot 10^{1}9.21 ⋅ 10 start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT
Evaluation 3.381043.38superscript1043.38\cdot 10^{-4}3.38 ⋅ 10 start_POSTSUPERSCRIPT - 4 end_POSTSUPERSCRIPT 4.711034.71superscript1034.71\cdot 10^{-3}4.71 ⋅ 10 start_POSTSUPERSCRIPT - 3 end_POSTSUPERSCRIPT 3.891053.89superscript1053.89\cdot 10^{-5}3.89 ⋅ 10 start_POSTSUPERSCRIPT - 5 end_POSTSUPERSCRIPT
Table 2: Computational times (in seconds) for the room test case. To obtain more statistically significant results, each displayed time is the average over 3333 (resp. 103superscript10310^{3}10 start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT) runs of the construction (resp. evaluation) phase with identical parameters.

We can observe the increased construction and evaluation times that result from decreasing tol. Moreover, we see that, in this example, our proposed approach is more competitive in the construction phase, but less so in the evaluation phase. The larger evaluation time of our surrogate is ultimately due to the nonlinearity of the functions that appear in u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG. In this context, it may be surprising to note that, in our implementation, the most expensive step in evaluating u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG (taking about half of the online time) is determining whether an evaluation point is in the spatial supports ΩnsubscriptΩ𝑛\Omega_{n}roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT or not. On the other hand, evaluating the FE solution at a space-time point is an extremely cheap operation, essentially corresponding to a vector dot product.

This being said, we can notice a clear advantage of our approach in this context. Once the approximation u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG has been built, it can easily be evaluated at arbitrary locations in space and time, namely, not only at the final time t=T𝑡𝑇t=Titalic_t = italic_T. This is because all the terms defining the approximate expansion Eq. 5 (ΨΨ\Psiroman_Ψ, 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, etc.) are cheap to store in memory. One cannot usually do the same with the FE solution. Indeed, once the time-stepping has been carried out, the evaluation of uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT at arbitrary instants before t=T𝑡𝑇t=Titalic_t = italic_T (by space-time interpolation) is possible only if the whole sequence of solution at all time-steps has been stored, a practice that is commonly avoided due to the (often) unfeasible memory requirements.

5.2.1 A time-harmonic source

One of the advantages of our approach is that it allows changing the source terms of the problem in a seamless way. Notably, under minor technical constraints (e.g., the spatial support of the new source term should not be larger than the old one), this kind of change does not require training a new surrogate.

To showcase this, we approximate the wave propagating from a time-harmonic point source at 𝒙=𝟎𝒙0\bm{x}=\bm{0}bold_italic_x = bold_0 with angular frequency ω>0𝜔0\omega>0italic_ω > 0. In our tests, we pick ω{2π,10π}𝜔2𝜋10𝜋\omega\in\{2\pi,10\pi\}italic_ω ∈ { 2 italic_π , 10 italic_π }. To this aim, we define u𝑢uitalic_u as the solution of the following (ω𝜔\omegaitalic_ω-dependent) problem:

{ttu(𝒙,t)=Δu(𝒙,t)ω2sin(ωt)g(𝒙)for (𝒙,t)Ω×(0,T),u(𝒙,0)=0for 𝒙Ω,tu(𝒙,0)=0for 𝒙Ω,νu(𝒙,t)=0for (𝒙,t)Ω×(0,T],casessubscript𝑡𝑡𝑢𝒙𝑡Δ𝑢𝒙𝑡superscript𝜔2𝜔𝑡𝑔𝒙for 𝒙𝑡Ω0𝑇𝑢𝒙00for 𝒙Ωsubscript𝑡𝑢𝒙00for 𝒙Ωsubscript𝜈𝑢𝒙𝑡0for 𝒙𝑡Ω0𝑇\begin{cases}\partial_{tt}u(\bm{x},t)=\Delta u(\bm{x},t)-\omega^{2}\sin(\omega t% )g(\bm{x})\quad&\text{for }(\bm{x},t)\in\Omega\times(0,T),\\ u(\bm{x},0)=0\quad&\text{for }\bm{x}\in\Omega,\\ \partial_{t}u(\bm{x},0)=0\quad&\text{for }\bm{x}\in\Omega,\\ \partial_{\nu}u(\bm{x},t)=0\quad&\text{for }(\bm{x},t)\in\partial\Omega\times(% 0,T],\end{cases}{ start_ROW start_CELL ∂ start_POSTSUBSCRIPT italic_t italic_t end_POSTSUBSCRIPT italic_u ( bold_italic_x , italic_t ) = roman_Δ italic_u ( bold_italic_x , italic_t ) - italic_ω start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT roman_sin ( italic_ω italic_t ) italic_g ( bold_italic_x ) end_CELL start_CELL for ( bold_italic_x , italic_t ) ∈ roman_Ω × ( 0 , italic_T ) , end_CELL end_ROW start_ROW start_CELL italic_u ( bold_italic_x , 0 ) = 0 end_CELL start_CELL for bold_italic_x ∈ roman_Ω , end_CELL end_ROW start_ROW start_CELL ∂ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT italic_u ( bold_italic_x , 0 ) = 0 end_CELL start_CELL for bold_italic_x ∈ roman_Ω , end_CELL end_ROW start_ROW start_CELL ∂ start_POSTSUBSCRIPT italic_ν end_POSTSUBSCRIPT italic_u ( bold_italic_x , italic_t ) = 0 end_CELL start_CELL for ( bold_italic_x , italic_t ) ∈ ∂ roman_Ω × ( 0 , italic_T ] , end_CELL end_ROW (18)

where g𝑔gitalic_g denotes a narrow 2-dimensional Gaussian, centered at 𝟎0\bm{0}bold_0 and with standard deviation 0.050.050.050.05.

As usual, we define Ψ=Ψ(ρ,t)ΨΨ𝜌𝑡\Psi=\Psi(\rho,t)roman_Ψ = roman_Ψ ( italic_ρ , italic_t ) as the (ω𝜔\omegaitalic_ω-dependent) solution of the free-space version of Eq. 18 in radial-temporal coordinates. To obtain an approximation for the wave u𝑢uitalic_u generated by the time-harmonic source for an arbitrary ω𝜔\omegaitalic_ω, it suffices to plug the corresponding ΨΨ\Psiroman_Ψ in each term of the surrogate u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG from the previous section! We show the results of our approximation in Fig. 12, where we can observe a very good agreement between approximation and reference FE solution.

Refer to caption
Figure 12: Value of solution at point 𝒙trace=(1,2)subscript𝒙trace12\bm{x}_{\textup{trace}}=(-1,-2)bold_italic_x start_POSTSUBSCRIPT trace end_POSTSUBSCRIPT = ( - 1 , - 2 ) for excitation frequencies ω=2π𝜔2𝜋\omega=2\piitalic_ω = 2 italic_π (top) and ω=10π𝜔10𝜋\omega=10\piitalic_ω = 10 italic_π (bottom). The reference FE solution is also included in both plots as a dashed line.
Refer to caption
Figure 13: Approximation error at 𝒙trace=(1,2)subscript𝒙trace12\bm{x}_{\textup{trace}}=(-1,-2)bold_italic_x start_POSTSUBSCRIPT trace end_POSTSUBSCRIPT = ( - 1 , - 2 ) for excitation frequencies ω=2π𝜔2𝜋\omega=2\piitalic_ω = 2 italic_π (top) and ω=10π𝜔10𝜋\omega=10\piitalic_ω = 10 italic_π (bottom). We also include the a priori error bound and the heuristic a posteriori error indicator using dotted and dashed lines, respectively. Note that, to avoid clutter, we show a “filtered” version of the error, using a window of width 0.10.10.10.1: max|δ|0.05|u~(𝒙trace,t+δ)u(𝒙trace,t+δ)|subscript𝛿0.05~𝑢subscript𝒙trace𝑡𝛿𝑢subscript𝒙trace𝑡𝛿\max_{|\delta|\leq 0.05}|\widetilde{u}(\bm{x}_{\textup{trace}},t+\delta)-u(\bm% {x}_{\textup{trace}},t+\delta)|roman_max start_POSTSUBSCRIPT | italic_δ | ≤ 0.05 end_POSTSUBSCRIPT | over~ start_ARG italic_u end_ARG ( bold_italic_x start_POSTSUBSCRIPT trace end_POSTSUBSCRIPT , italic_t + italic_δ ) - italic_u ( bold_italic_x start_POSTSUBSCRIPT trace end_POSTSUBSCRIPT , italic_t + italic_δ ) |.

We display the approximation error in Fig. 13. There, we also display an a priori error bound based on Eq. 17, as well as the heuristic a posteriori error indicator |u~GOu~|subscript~𝑢GO~𝑢|\widetilde{u}_{\text{GO}}-\widetilde{u}|| over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT GO end_POSTSUBSCRIPT - over~ start_ARG italic_u end_ARG |, with u~GOsubscript~𝑢GO\widetilde{u}_{\text{GO}}over~ start_ARG italic_u end_ARG start_POSTSUBSCRIPT GO end_POSTSUBSCRIPT being the approximation obtained with our approach under the assumption of geometrical optics. The a priori error bound is piecewise-constant since time-independent terms are added to the error whenever new diffraction waves reach 𝒙tracesubscript𝒙trace\bm{x}_{\textup{trace}}bold_italic_x start_POSTSUBSCRIPT trace end_POSTSUBSCRIPT.

For t<6𝑡6t<6italic_t < 6, no diffraction is present, the error indicators are both zero, since the only errors are due to discretization of the PDE333Discretization errors are invisible to the two indicators but can normally be estimated through other means, e.g., using standard results for FEM-based approximation of the wave equation.. For t>6𝑡6t>6italic_t > 6, the a priori estimator provides a reliable but pessimistic upper bound for the error. On the other hand, the a posteriori indicator manages to stay much closer to the actual error. Although not substantiated by theory, this error indicator seems quite effective at giving quantitative information on the error magnitude, without the need to compute a reference solution.

Note that using FE to approximate the wave u𝑢uitalic_u requires carrying out a new simulation from scratch for every frequency to be studied. To this end, one needs to choose a mesh with ω𝜔\omegaitalic_ω-dependent resolution: the mesh size should be small enough for the well-known pollution effect (see, e.g., [27]) to be absent.

A constraint on the mesh resolution is present also in our proposed approach. However, it only applies to the problem defining the free-space solution ΨΨ\Psiroman_Ψ, which is 1-dimensional in space. Hence, having to refine the mesh represents a much smaller obstacle to efficiency. In particular, as the frequency ω𝜔\omegaitalic_ω increases, the computation of u~~𝑢\widetilde{u}over~ start_ARG italic_u end_ARG becomes comparatively more and more efficient, with respect to the computation of uFEsubscript𝑢FEu_{\textup{FE}}italic_u start_POSTSUBSCRIPT FE end_POSTSUBSCRIPT.

6 Conclusions

We have presented a surrogate modeling strategy for approximating waves propagating through complex 2-dimensional domains with polygonal boundaries. Our method relies on the automatic identification of reflection and diffraction effects caused by the domain geometry. Each effect is modeled through a relatively simple nonlinear expression. Reflection-related components are built using geometrical optics, whereas diffraction-related components are modeled by a novel ad hoc modification of the geometrical theory of diffraction. We have also provided estimators for the quality of the approximation achieved by our method.

In our numerical tests, we have observed a good accuracy, with the main features of the target wave being well identified. Notably, our diffraction model has proven to be fairly effective. Still, it relies on the parameter μ𝜇\muitalic_μ, which, in some sense, determines the strength of surrogate diffraction effects. Although we have presented some heuristics for choosing μ𝜇\muitalic_μ, more refined strategies for selecting μ𝜇\muitalic_μ and, more generally, a thorough validation of our diffraction model remain open issues.

In terms of complexity, our method requires the solution of a simplified 1D-in-space problem, much simpler than the original 2D-in-space one. Another favorable aspect of our algorithm is its potential to be run on parallel architectures, since the computation of different rays can be carried out independently. This is not the case for standard timestepping-based discretizations, due to their intrinsically sequential nature.

6.1 Open questions and possible extensions

We now present some open questions concerning our method, which give cues for further research on the subject.

Additional physics

A first question is whether our algorithm may be applied to wave equations incorporating further physical effects, like dissipation. In such setting, information can propagate faster than the wave speed due to diffusion. In our opinion, it should still be possible to apply our method to some effect, as long as dissipation is kept low, so as to maintain at least a partial notion of causality.

3D

Concerning other extensions, we have already mentioned that our geometry-based approach to wave propagation generalizes from 2D to 3D. In 3D, reflection and diffraction happen at facets and edges, as opposed to edges and vertices, respectively [20]. Moving from polygons to polyhedra leads to an increase in the “optical entities” to be considered (e.g., triangles have 3 edges and 3 vertices, whereas tetrahedra have 4 facets and 6 edges), especially if complex 2D surfaces need to be meshed. This leads to an increase in the number of field components to be considered. If the number of successive reflections/diffractions is large, this effect is further amplified. For instance, if at most 3 (resp., 5) successive reflection or diffraction events happen involving tetrahedral scatterers, we may expect the cost of our method to increase by a factor of 5 (resp., 13) with respect to a similar simulation with triangular scatterers in 2D.

Moreover, some additional implementation issues arise in 3D due to the higher spatial dimension. For instance, when computing the spatial supports ΩnsubscriptΩ𝑛\Omega_{n}roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, our current strategy, cf. Remark 2.3, could be rather expensive if implemented naively, especially if the number of facets of ΩΩ\partial\Omega∂ roman_Ω is large. More sophisticated strategies to represent the sets ΩnsubscriptΩ𝑛\Omega_{n}roman_Ω start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, e.g., involving beam-tracing [6] as opposed to ray-tracing, may be required to handle 3 dimensions more effectively. That being said, besides the geometrical side, our method still only requires solving a 1D FEM problem in spherical symmetry, even though the physical dimension of the underlying problem has increased.

Coupling with other methods

Our method is not too well suited to approximate wave propagation in trapping media, since the number N𝑁Nitalic_N of terms in the approximation may increase dramatically. To alleviate this issue, one might consider splitting the domain into non-trapping and trapping parts. Our approach could be then applied to approximate wave propagation in non-trapping subdomains, while standard MOR approaches (based, e.g., on projection onto a basis of standing waves) may deliver an efficient approximation over the trapping region. As in other MOR methods based on domain decomposition [28, 29], the most complex step is the (dynamic) coupling between subdomains. This remains an open issue for our method. We also note that, more generally, developing such an approach could also enable applying our method within multi-physics problems, e.g., when modeling the interaction between propagating wave and structures.

Parametrized problems

Finally, we recall that, in many applications, the ultimate target is understanding how the wave u𝑢uitalic_u solving Eq. 1 depends on underlying parameters 𝐩𝐩\mathbf{p}bold_p, e.g., the forcing term f𝑓fitalic_f, the shape of the domain ΩΩ\Omegaroman_Ω, etc. In this setting, MOR tries to construct a surrogate model of the form u~=u~(𝒙,t;𝐩)~𝑢~𝑢𝒙𝑡𝐩\widetilde{u}=\widetilde{u}(\bm{x},t;\mathbf{p})over~ start_ARG italic_u end_ARG = over~ start_ARG italic_u end_ARG ( bold_italic_x , italic_t ; bold_p ), providing a good approximation of u𝑢uitalic_u over a whole range of parameter values. Even though our technique was presented here in the non-parametric setting, we believe that it potentially allows incorporating the parameter dependence in a natural and efficient way. In our opinion, this might be achievable by leveraging the simple and interpretable structure of the field components (free-space solution, spatial support, and angular modulation). As a simple preliminary example, we showcased this in Section 5.2.1 for a parametric source term, with the parameter being the frequency. We are currently investigating how to extend our method to more complicated parametric problems.

Appendix A UTD diffraction coefficient

Consider the setup shown in Fig. 14: a wedge with exterior angle α𝛼\alphaitalic_α and vertex 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is hit by a wave coming from 𝝃𝝃\bm{\xi}bold_italic_ξ, located at an angular position ϕ=θitalic-ϕ𝜃\phi=\thetaitalic_ϕ = italic_θ. The angle ϕitalic-ϕ\phiitalic_ϕ is measured from one of the two sides of the wedge. For simplicity, we assume that each of the wedge’s sides is either sound-soft or sound-hard. For a discussion of the UTD coefficients in the case of impedance boundary conditions, we refer to [30].

Let 𝒙𝒙\bm{x}bold_italic_x be a point located at distance s=𝒙𝝃n𝑠norm𝒙subscript𝝃𝑛s=\left\|\bm{x}-\bm{\xi}_{n}\right\|italic_s = ∥ bold_italic_x - bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ∥ from 𝝃nsubscript𝝃𝑛\bm{\xi}_{n}bold_italic_ξ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, at an angle ϕ=ϕ(𝒙)italic-ϕitalic-ϕ𝒙\phi=\phi(\bm{x})italic_ϕ = italic_ϕ ( bold_italic_x ). The diffraction coefficient D=D(𝒙)𝐷𝐷𝒙D=D(\bm{x})italic_D = italic_D ( bold_italic_x ) represents the magnitude (and sign) of the diffraction wave at 𝒙𝒙\bm{x}bold_italic_x, assuming that the incident wave, with origin at 𝝃𝝃\bm{\xi}bold_italic_ξ, is time-harmonic with unit amplitude and frequency k𝑘kitalic_k. UTD [17] predicts a diffraction coefficient

D=D1+D2±(D3+D4),𝐷plus-or-minussubscript𝐷1subscript𝐷2subscript𝐷3subscript𝐷4D=D_{1}+D_{2}\pm(D_{3}+D_{4}),italic_D = italic_D start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_D start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ± ( italic_D start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + italic_D start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ) ,

with the sign ±plus-or-minus\pm± depending on the type of boundary conditions (“+++” for Neumann, “--” for Dirichlet). Given the wedge index ν:=π/(2πα)assign𝜈𝜋2𝜋𝛼\nu:=\pi/(2\pi-\alpha)italic_ν := italic_π / ( 2 italic_π - italic_α ), all contributions Djsubscript𝐷𝑗D_{j}italic_D start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT have the form

Dj=ν22πkscot(ϕ^j)F(2kscos(ϕ~j)2),D_{j}=-\frac{\nu}{2\sqrt{2\pi ks}}\cot(\widehat{\phi}_{j})F\left(2ks\cos(% \widetilde{\phi}_{j})^{2}\right),italic_D start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = - divide start_ARG italic_ν end_ARG start_ARG 2 square-root start_ARG 2 italic_π italic_k italic_s end_ARG end_ARG roman_cot ( over^ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) italic_F ( 2 italic_k italic_s roman_cos ( over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) ,

with

ϕ^1=π+ϕθ2ν,ϕ~1=\displaystyle\widehat{\phi}_{1}=\frac{\pi+\phi-\theta}{2}\nu,\quad\widetilde{% \phi}_{1}=over^ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = divide start_ARG italic_π + italic_ϕ - italic_θ end_ARG start_ARG 2 end_ARG italic_ν , over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = N1(2πα)ϕθ2,subscript𝑁12𝜋𝛼italic-ϕ𝜃2\displaystyle N_{1}(2\pi-\alpha)-\frac{\phi-\theta}{2},italic_N start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( 2 italic_π - italic_α ) - divide start_ARG italic_ϕ - italic_θ end_ARG start_ARG 2 end_ARG ,
ϕ^2=πϕ+θ2ν,ϕ~2=\displaystyle\widehat{\phi}_{2}=\frac{\pi-\phi+\theta}{2}\nu,\quad\widetilde{% \phi}_{2}=over^ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = divide start_ARG italic_π - italic_ϕ + italic_θ end_ARG start_ARG 2 end_ARG italic_ν , over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = N2(2πα)ϕθ2,subscript𝑁22𝜋𝛼italic-ϕ𝜃2\displaystyle N_{2}(2\pi-\alpha)-\frac{\phi-\theta}{2},italic_N start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( 2 italic_π - italic_α ) - divide start_ARG italic_ϕ - italic_θ end_ARG start_ARG 2 end_ARG ,
ϕ^3=π+ϕ+θ2ν,ϕ~3=\displaystyle\widehat{\phi}_{3}=\frac{\pi+\phi+\theta}{2}\nu,\quad\widetilde{% \phi}_{3}=over^ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = divide start_ARG italic_π + italic_ϕ + italic_θ end_ARG start_ARG 2 end_ARG italic_ν , over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = N3(2πα)ϕ+θ2,subscript𝑁32𝜋𝛼italic-ϕ𝜃2\displaystyle N_{3}(2\pi-\alpha)-\frac{\phi+\theta}{2},italic_N start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( 2 italic_π - italic_α ) - divide start_ARG italic_ϕ + italic_θ end_ARG start_ARG 2 end_ARG ,
ϕ^4=πϕθ2ν,ϕ~4=\displaystyle\widehat{\phi}_{4}=\frac{\pi-\phi-\theta}{2}\nu,\quad\widetilde{% \phi}_{4}=over^ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT = divide start_ARG italic_π - italic_ϕ - italic_θ end_ARG start_ARG 2 end_ARG italic_ν , over~ start_ARG italic_ϕ end_ARG start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT = N4(2πα)ϕ+θ2,subscript𝑁42𝜋𝛼italic-ϕ𝜃2\displaystyle N_{4}(2\pi-\alpha)-\frac{\phi+\theta}{2},italic_N start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT ( 2 italic_π - italic_α ) - divide start_ARG italic_ϕ + italic_θ end_ARG start_ARG 2 end_ARG ,

and

F(x)=2x(xcos(y2)dy)2+(xsin(y2)dy)2.𝐹𝑥2𝑥superscriptsuperscriptsubscript𝑥superscript𝑦2d𝑦2superscriptsuperscriptsubscript𝑥superscript𝑦2d𝑦2F(x)=2\sqrt{x}\sqrt{\left(\int_{\sqrt{x}}^{\infty}\cos(y^{2})\textrm{d}y\right% )^{2}+\left(\int_{\sqrt{x}}^{\infty}\sin(y^{2})\textrm{d}y\right)^{2}}.italic_F ( italic_x ) = 2 square-root start_ARG italic_x end_ARG square-root start_ARG ( ∫ start_POSTSUBSCRIPT square-root start_ARG italic_x end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∞ end_POSTSUPERSCRIPT roman_cos ( italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) d italic_y ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( ∫ start_POSTSUBSCRIPT square-root start_ARG italic_x end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∞ end_POSTSUPERSCRIPT roman_sin ( italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) d italic_y ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG .

The integers Njsubscript𝑁𝑗N_{j}italic_N start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are defined as

N1=[ν2],N2=[ν2],N3=[1+ν2],andN4=[1ν2],formulae-sequencesubscript𝑁1delimited-[]𝜈2formulae-sequencesubscript𝑁2delimited-[]𝜈2formulae-sequencesubscript𝑁3delimited-[]1𝜈2andsubscript𝑁4delimited-[]1𝜈2N_{1}=\left[\frac{\nu}{2}\right],\quad N_{2}=\left[-\frac{\nu}{2}\right],\quad N% _{3}=\left[\frac{1+\nu}{2}\right],\quad\text{and}\quad N_{4}=\left[\frac{1-\nu% }{2}\right],italic_N start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = [ divide start_ARG italic_ν end_ARG start_ARG 2 end_ARG ] , italic_N start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = [ - divide start_ARG italic_ν end_ARG start_ARG 2 end_ARG ] , italic_N start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = [ divide start_ARG 1 + italic_ν end_ARG start_ARG 2 end_ARG ] , and italic_N start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT = [ divide start_ARG 1 - italic_ν end_ARG start_ARG 2 end_ARG ] ,

with square brackets denoting the rounding operator, which yields the integer that is closest to its argument.

Refer to caption
Figure 14: Diagrams for the two cases of scattering for concave corners (0<α<π0𝛼𝜋0<\alpha<\pi0 < italic_α < italic_π): without (left plot) and with shadow zone (right plot). The dashed lines are reflection shadow boundaries. The dash-dotted line is an incident shadow boundary. Shadow regions are absent if and only if παθπ𝜋𝛼𝜃𝜋\pi-\alpha\leq\theta\leq\piitalic_π - italic_α ≤ italic_θ ≤ italic_π. The angular coordinate 0<ϕ<2πα0italic-ϕ2𝜋𝛼0<\phi<2\pi-\alpha0 < italic_ϕ < 2 italic_π - italic_α is measured starting from one of the two adjacent edges of ΩΩ\partial\Omega∂ roman_Ω.

The diffraction coefficient has unit jumps (with suitable signs) at the shadow boundaries, i.e., at the angular positions corresponding to boundaries of the spatial support of the source wave (in which case, we have an “incident shadow boundary”, ISB) or of one of its reflections (in which case, we have a “reflection shadow boundary”, RSB). The locations of the shadow boundaries can be identified geometrically. For instance, for convex wedges (0<α<π0𝛼𝜋0<\alpha<\pi0 < italic_α < italic_π), shadow boundaries are at ϕ=|πθ|italic-ϕ𝜋𝜃\phi=\left|\pi-\theta\right|italic_ϕ = | italic_π - italic_θ | (which is an ISB if θ>π𝜃𝜋\theta>\piitalic_θ > italic_π, and an RSB otherwise) and at ϕ=2πα|παθ|italic-ϕ2𝜋𝛼𝜋𝛼𝜃\phi=2\pi-\alpha-\left|\pi-\alpha-\theta\right|italic_ϕ = 2 italic_π - italic_α - | italic_π - italic_α - italic_θ | (which is an ISB if θ<πα𝜃𝜋𝛼\theta<\pi-\alphaitalic_θ < italic_π - italic_α, and an RSB otherwise).

The diffraction coefficient for α=π3𝛼𝜋3\alpha=\frac{\pi}{3}italic_α = divide start_ARG italic_π end_ARG start_ARG 3 end_ARG, θ=π5𝜃𝜋5\theta=\frac{\pi}{5}italic_θ = divide start_ARG italic_π end_ARG start_ARG 5 end_ARG, Neumann conditions, and ks{1,10,100}𝑘𝑠110100ks\in\{1,10,100\}italic_k italic_s ∈ { 1 , 10 , 100 } are shown in Fig. 15 (left). Two jumps happen, at an RSB (at ϕ=45πitalic-ϕ45𝜋\phi=\frac{4}{5}\piitalic_ϕ = divide start_ARG 4 end_ARG start_ARG 5 end_ARG italic_π) and at an ISB (at ϕ=65πitalic-ϕ65𝜋\phi=\frac{6}{5}\piitalic_ϕ = divide start_ARG 6 end_ARG start_ARG 5 end_ARG italic_π). Similar results are obtained for Dirichlet conditions, cf. Fig. 15 (right).

We can observe that the value of ks𝑘𝑠ksitalic_k italic_s determines how quickly D𝐷Ditalic_D decays to 0 around each shadow boundaries: larger values of ks𝑘𝑠ksitalic_k italic_s yield a narrower “transition region”, which, loosely speaking, is the support of D𝐷Ditalic_D around each discontinuity. Indeed, asymptotically in ks𝑘𝑠ksitalic_k italic_s, the width of each transition region is proportional to 1/ks1𝑘𝑠1/\sqrt{ks}1 / square-root start_ARG italic_k italic_s end_ARG [20].

Refer to caption
Figure 15: UTD diffraction coefficients for Neumann (left) and Dirichlet (right) wedges.

References

  • [1] L. Borcea, V. Druskin, A. V. Mamonov, M. Zaslavsky, Robust nonlinear processing of active array data in inverse scattering via truncated reduced order models, Journal of Computational Physics 381 (2019) 1–26. doi:10.1016/j.jcp.2018.12.021.
  • [2] L. Borcea, V. Druskin, A. V. Mamonov, M. Zaslavsky, J. Zimmerling, Reduced order model approach to inverse scattering, SIAM Journal on Imaging Sciences 13 (2) (2020) 685–723. doi:10.1137/19M1296355.
  • [3] L. Borcea, G. Papanicolaou, C. Tsogka, J. Berryman, Imaging and time reversal in random media, Inverse Problems 18 (5) (2002). doi:10.1088/0266-5611/18/5/303.
  • [4] P. H. Tournier, I. Aliferis, M. Bonazzoli, M. de Buhan, M. Darbas, V. Dolean, F. Hecht, P. Jolivet, I. El Kanfoud, C. Migliaccio, F. Nataf, C. Pichot, S. Semenov, Microwave tomographic imaging of cerebrovascular accidents by using high-performance computing, Parallel Computing 85 (2019) 88–97. doi:10.1016/j.parco.2019.02.004.
  • [5] S. F. Potter, M. K. Cameron, R. Duraiswami, Numerical geometric acoustics: An eikonal-based approach for modeling sound propagation in 3D environments, Journal of Computational Physics 486 (2023) Article 112111. doi:https://doi.org/10.1016/j.jcp.2023.112111.
  • [6] L. Savioja, U. P. Svensson, Overview of geometrical room acoustic modeling techniques, The Journal of the Acoustical Society of America 138 (2) (2015) 708–730. doi:10.1121/1.4926438.
  • [7] G. Cohen, A. Hauck, M. Kaltenbacher, T. Otsuru, Different Types of Finite Elements, in: S. Marburg, B. Nolte (Eds.), Computational Acoustics of Noise Propagation in Fluids - Finite and Boundary Element Methods, Springer Berlin Heidelberg, Berlin, Heidelberg, 2008, pp. 57–88. doi:10.1007/978-3-540-77448-8_3.
  • [8] E. Hairer, G. Wanner, C. Lubich, Geometric Numerical Integration, Vol. 31 of Springer Series in Computational Mathematics, Springer Berlin Heidelberg, Berlin, Heidelberg, 2002. doi:10.1007/978-3-662-05018-7.
  • [9] P. Benner, M. Ohlberger, A. Cohen, K. Willcox, Model reduction and approximation: theory and algorithms, SIAM, 2017. doi:10.1137/1.9781611974829.
  • [10] S. Glas, A. T. Patera, K. Urban, A reduced basis method for the wave equation, International Journal of Computational Fluid Dynamics 34 (2) (2020) 139–146. doi:10.1080/10618562.2019.1686486.
  • [11] J. S. Hesthaven, C. Pagliantini, G. Rozza, Reduced basis methods for time-dependent problems, Acta Numerica 31 (2022) 265–345. doi:10.1017/S0962492922000058.
  • [12] C. Greif, K. Urban, Decay of the Kolmogorov N-width for wave problems, Applied Mathematics Letters 96 (2019) 216–222. doi:10.1016/j.aml.2019.05.013.
  • [13] N. Cagniart, Y. Maday, B. Stamm, Model Order Reduction for Problems with Large Convection Effects, in: Contributions to Partial Differential Equations and Applications, Vol. 47, Springer International Publishing, Cham, 2019, pp. 131–150. doi:10.1007/978-3-319-78325-3_10.
  • [14] H. Kleikamp, M. Ohlberger, S. Rave, Nonlinear model order reduction using diffeomorphic transformations of a space-time domain, in: MATHMOD 2022 Discussion Contribution Volume, ARGESIM Publisher Vienna, 2022, pp. 57–58. doi:10.11128/arep.17.a17129.
  • [15] J. Reiss, P. Schulze, J. Sesterhenn, V. Mehrmann, The shifted proper orthogonal decomposition: A mode decomposition for multiple transport phenomena, SIAM Journal on Scientific Computing 40 (3) (2018) A1322–A1344. doi:10.1137/17M1140571.
  • [16] J. B. Keller, Geometrical theory of diffraction, J. Opt. Soc. Am. 52 (2) (1962) 116–130. doi:10.1364/JOSA.52.000116.
  • [17] R. G. Kouyoumjian, P. H. Pathak, A uniform geometrical theory of diffraction for an edge in a perfectly conducting surface, Proceedings of the IEEE 62 (11) (1974) 1448–1461. doi:10.1109/PROC.1974.9651.
  • [18] A. G. Mackie, The generalized radially symmetric wave equation, Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences 236 (1205) (1956) 265–277.
  • [19] H. Lee, B.-H. Lee, An efficient algorithm for the image model technique, Applied Acoustics 24 (2) (1988) 87–115. doi:10.1016/0003-682X(88)90033-3.
  • [20] D. A. McNamara, C. W. I. Pistorius, J. A. G. Malherbe, Introduction to the uniform geometrical theory of diffraction, Artech House Norwood, MA, 1990.
  • [21] M. A. Nethercote, R. C. Assier, I. D. Abrahams, Analytical methods for perfect wedge diffraction: A review, Wave Motion 93 (Mar. 2020). doi:10.1016/j.wavemoti.2019.102479.
  • [22] P. T. Calamia, U. P. Svensson, Fast time-domain edge-diffraction calculations for interactive acoustic simulations, EURASIP Journal on Advances in Signal Processing 2007 (2006) 1–10.
  • [23] U. P. Svensson, R. I. Fred, J. Vanderkooy, An analytic secondary source model of edge diffraction impulse responses, The Journal of the Acoustical Society of America 106 (5) (1999) 2331–2344. doi:10.1121/1.428071.
  • [24] M. A. Biot, I. Tolstoy, Formulation of wave propagation in infinite media by normal coordinates with an application to diffraction, The Journal of the Acoustical Society of America 29 (3) (2005) 381–391. doi:10.1121/1.1908899.
  • [25] R. R. Torres, U. P. Svensson, M. Kleiner, Computation of edge diffraction for more accurate room acoustics auralization, The Journal of the Acoustical Society of America 109 (2) (2001) 600–610. doi:10.1121/1.1340647.
    URL https://doi.org/10.1121/1.1340647
  • [26] M. S. Alnæs, J. Blechta, J. Hake, Others, The FEniCS Project version 1.5, Archive of Numerical Software 3 (100) (2015).
  • [27] I. M. Babuška, S. A. Sauter, Is the pollution effect of the FEM avoidable for the Helmholtz equation considering high wave numbers?, SIAM Journal on Numerical Analysis 34 (6) (1997) 2392–2423. doi:10.1137/S0036142994269186.
  • [28] A. de Castro, P. Kuberry, I. Tezaur, P. Bochev, A novel partitioned approach for reduced order model—finite element model (ROM-FEM) and ROM-ROM coupling, pp. 475–489. doi:10.1061/9780784484470.044.
  • [29] T. Taddei, X. Xu, L. Zhang, A non-overlapping optimization-based domain decomposition approach to component-based model reduction of incompressible flows, Journal of Computational Physics 509 (2024) 113038. doi:https://doi.org/10.1016/j.jcp.2024.113038.
    URL https://www.sciencedirect.com/science/article/pii/S0021999124002870
  • [30] R. Tiberio, G. Pelosi, G. Manara, A uniform GTD formulation for the diffraction by a wedge with impedance faces, IEEE Transactions on Antennas and Propagation 33 (8) (1985) 867–873. doi:10.1109/TAP.1985.1143687.