1 Introduction

The acoustic and the elastic wave equations are important in the modeling of many physical phenomena. For instance, the prediction of earthquakes and other seismic activity often relies on numerical simulations of these equations. Many numerical methods exist for the semi-discretization in space of the wave equation. High-order continuous finite elements are reviewed, e.g., in [15]. Discontinuous Galerkin (dG) methods have been successfully applied to the wave equation, written either as a first-order system [19, 25] or in its original second-order formulation in time [21]. The issue of preserving a discrete energy balance within dG methods is addressed in [7, 9]. Hybridizable dG (HDG) methods have been devised in [26, 28] for the first-order formulation, whereas the second-order formulation in time has been considered in [12, 27] with an eye toward conservation properties. The convergence analysis of HDG schemes has been performed in [14] in the time-continuous case and in [20] by considering a Petrov–Galerkin time discretization.

The use of hybrid high-order (HHO) methods for the space semi-discretization of the wave equation has been studied numerically in [6], both for the second-order and the first-order formulations. Therein, various time-stepping schemes were considered, including the Newmark scheme for the second-order formulation (leading to exact conservation of a discrete energy) and explicit and implicit Runge–Kutta schemes for the first-order formulation (which typically lead to some dissipative mechanism). HHO methods were introduced in [17] for linear diffusion problems and in [16] for locking-free linear elasticity. These methods rely on a pair of unknowns, combining polynomials attached to the mesh faces and to the mesh cells, and the cell unknowns can be eliminated locally by a static condensation procedure. HHO methods have been bridged to HDG methods in [11] and offer various advantages: support of polyhedral meshes, local conservation principles, optimal convergence rates, and computational efficiency. The main differences between HHO and HDG lie in the devising of the stabilization operator, and in the fact that HHO adopts a primal viewpoint to formulate the discretization. Moreover, the error analysis in HHO methods is somewhat different than in HDG methods since it relies on \(L^2\)-orthogonal projections without the need to invoke a specific approximation operator. Recent applications of HHO methods to nonlinear solid mechanics include [1, 2, 5, 8].

The goal of the present work is to put the numerical study of [6] on a firm theoretical basis by establishing error estimates in the space semi-discrete setting. We detail the error analysis on the acoustic wave equation and then discuss the (rather straightforward) extension to the elastic wave equation. Our first main results (Theorems 1 and 2 ) concern the second-order formulation in time of the wave equation for which we establish \(H^1\)- and \(L^2\)-error estimates (say at the final time). The techniques of proof are different from those of [14] for HDG methods. Instead, they exploit the primal viewpoint at the core of HHO methods and draw on the error analysis from [3, 18] for continuous finite elements and [21] for dG methods. There are, however, substantial differences with respect to [3, 21] as well. The key issue is that HHO methods rely on a pair of discrete unknowns, so that it is not possible to proceed as usual by extending the discrete bilinear form to an infinite-dimensional functional space that can include the exact solution. This leads us to introduce the notion of HHO solution map for the steady differential operator in space. We then use this map to perform a suitable error decomposition in the context of the wave equation, in the spirit of the seminal work [29], where an elliptic projector was introduced to derive optimal \(L^2\)-error estimates for the heat equation approximated by continuous finite elements (the same idea is re-used in [3] for the wave equation). Our second main result (Theorem 3) concerns the first-order formulation for which we establish an \(H^1\)-error estimate (say at the final time). The technique of proof again differs from [14] since it avoids introducing a specific HDG projection as devised in [13], and instead relies on \(L^2\)-projections to build the error decomposition. One advantage is that the proof becomes transparent to the use of polyhedral meshes, whereas the above HDG projection requires some specific element shapes (a Raviart–Thomas function is typically invoked in its construction).

This paper is organized as follows. In Sect. 2, we give a brief overview on HHO methods for the discretization of a model diffusion problem and study the approximation properties of the HHO solution map that are used in the subsequent analysis. In Sect. 3, we present the acoustic wave equation in its second-order formulation, describe its semi-discretization in space using HHO methods, and perform the error analysis in the \(H^1\) and \(L^2\)-norms. We do the same in Sect. 4 for the acoustic wave equation in its first-order formulation, focusing on the \(H^1\)-norm error analysis. In Sect. 5, we extend the schemes to elastodynamics and discuss the time discretization by either Newmark or Runge–Kutta schemes. In Sect. 6, we discuss numerical results to verify the convergence rates predicted by the theory and to illustrate the performance of the method in predicting the propagation of a Ricker elastic wave in an heterogeneous medium. Finally, we draw some conclusions in Sect. 7.

2 The HHO Method for Steady Diffusion Problems

Let \(\varOmega \) be an open, bounded, connected subset of \({\mathbb {R}}^d\), \(d\in \{1,2,3\}\), with a Lipschitz boundary \(\varGamma \). For simplicity, we assume that \(\varOmega \) is a polyhedron. We use standard notation for the Lebesgue and Sobolev spaces. Boldface notation is used for vectors and vector-valued fields. For a weight function \(\phi \in L^\infty (\varOmega )\) taking positive values uniformly bounded from below away from zero, we introduce the shorthand notation \(\Vert v\Vert _{L^2(\phi ;\varOmega )} \mathrel {\mathop :}=\Vert \phi ^{\frac{1}{2}}v\Vert _{L^2(\varOmega )}\) for all \(v\in L^2(\varOmega )\), together with a similar notation for vector-valued fields in \({\varvec{L}}^2(\varOmega )\).

The goal of this section is to briefly outline the HHO discretization of the following model diffusion problem:

$$\begin{aligned} \text {Find }u\in H^1_0(\varOmega ) \text { s.t. }b(u,w)=(g,w)_{L^2(\varOmega )}\ \forall w\in H^1_0(\varOmega ), \end{aligned}$$
(1)

with the source term \(g\in L^2(\varOmega )\) and the bilinear form \(b:H^1_0(\varOmega )\times H^1_0(\varOmega )\rightarrow {\mathbb {R}}\) such that

$$\begin{aligned} b(v,w) \mathrel {\mathop :}=(\nabla v,\nabla w)_{{\varvec{L}}^2(\lambda ;\varOmega )}. \end{aligned}$$
(2)

We assume that the coefficient \(\lambda \) takes positive values and is piecewise constant on a partition of \(\varOmega \) into a finite collection of polyhedral subdomains. We define the bounded isomorphism \(B:H^1_0(\varOmega )\rightarrow H^{-1}(\varOmega )\) such that \(B(v)\mathrel {\mathop :}=-\nabla {\cdot }(\lambda \nabla v)\) and observe that the exact solution of (1) satisfies \(B(u)=g\).

2.1 Meshes and Discrete Operators

Let \(({\mathcal {T}}_h)_{h>0}\) be a sequence of meshes of \(\varOmega \) so that each mesh covers \(\varOmega \) exactly. We assume that each mesh \({\mathcal {T}}_h\) fits the partition of \(\varOmega \) into polyhedral subdomains related to the coefficient \(\lambda \). For all \(h>0\), \({\mathcal {T}}_h\) is composed of cells that can be polyhedral in \({\mathbb {R}}^d\) (with planar faces), and hanging nodes are possible. The mesh faces are collected in the set \({\mathcal {F}}_h\) which is split into \({\mathcal {F}}_h={\mathcal {F}}_h^\circ \cup {\mathcal {F}}_h^\partial \), where \({\mathcal {F}}_h^\circ \) is the collection of the mesh interfaces and \({\mathcal {F}}_h^\partial \) is the collection of the boundary faces. A generic cell is denoted \(T\in {\mathcal {T}}_h\), its diameter \(h_T\), its unit outward normal \({\varvec{n}}_T\), and the faces composing the boundary of T are collected in the set \({\mathcal {F}}_{\partial T}\). The sequence \(({\mathcal {T}}_h)_{h>0}\) is assumed to be shape-regular in the sense of [16]. In a nutshell, the polyhedral mesh \({\mathcal {T}}_h\) admits for all \(h>0\) a simplicial submesh \({\mathcal {T}}'_h\) such that any cell (or face) of \({\mathcal {T}}_h'\) is a subset of a cell (or face) of \({\mathcal {T}}_h\), and there exists a shape-regularity parameter \(\varrho >0\) such that for all \(h>0\), all \(T\in {\mathcal {T}}_h\), and all \(S\in {\mathcal {T}}_h'\) such that \(S\subset T\), we have \(\varrho h_T\le h_S\le \varrho ^{-1}r_S\), where \(r_S\) and \(h_S\) denote the inradius and the diameter of the simplex S.

The HHO method utilizes discrete unknowns attached to the mesh cells and to the mesh faces. Let \(k\ge 0\) be the polynomial degree used for the face unknowns and let \(k'\in \{k,k+1\}\) be the polynomial degree used for the cell unknowns. We say that the HHO discretization is of equal-order if \(k'=k\) and of mixed-order if \(k'=k+1\). The choice \(k'=k-1\) is also possible, but is not further discussed here since it essentially leads to the same developments as the equal-order choice \(k'=k\) for the wave equation. Let us set

(3)

where \({\mathbb {P}}^{k'}(T;{\mathbb {R}})\) (resp., \({\mathbb {P}}^{k}(F;{\mathbb {R}})\)) consists of the restriction to T (resp., F) of scalar-valued d-variate polynomials of degree at most \(k'\) (resp., \((d-1)\)-variate polynomials of degree at most k composed with any affine geometric mapping from the hyperplane supporting F to \({\mathbb {R}}^{d-1}\)). A generic element in \({\hat{V}}_h\) is denoted \({\hat{v}}_h\mathrel {\mathop :}=(v_{\mathcal {T}},v_{\mathcal {F}})\), and we write \(v_T\) (resp., \(v_F\)) for the component of \({\hat{v}}_h\) attached to a generic mesh cell \(T\in {\mathcal {T}}_h\) (resp., face \(F\in {\mathcal {F}}_h\)). Let \({\hat{v}}_h\in {\hat{V}}_h\) and let \(T\in {\mathcal {T}}_h\). The local components of \({\hat{v}}_h\) attached to the cell T and its faces \(F\in {\mathcal {F}}_{\partial T}\) are denoted

$$\begin{aligned} {\hat{v}}_T\mathrel {\mathop :}=(v_T,v_{\partial T}\mathrel {\mathop :}=(v_F)_{F\in {\mathcal {F}}_{\partial T}}) \in {\hat{V}}_T \mathrel {\mathop :}=V_T^{k'} \times V_{\partial T}^k, \end{aligned}$$
(4)

with \(V_T^{k'}\mathrel {\mathop :}={\mathbb {P}}^{k'}(T;{\mathbb {R}})\) and . Let \(\varPi _T^{k'}\) (resp., \(\varPi _{\partial T}^k\)) be the \(L^2(T)\)-orthogonal (resp., \(L^2(\partial T)\)-orthogonal) projection onto \(V_T^{k'}\) (resp., \(V_{\partial T}^k\)).

The HHO discretization is assembled by summing the contributions of all the mesh cells, and in each mesh cell the method is based on a gradient reconstruction from the cell and the face unknowns and a stabilization operator connecting the trace of the cell unknowns to the face unknowns. The gradient reconstruction operator \({\varvec{G}}_T:{\hat{V}}_T\rightarrow {\mathbb {P}}^{k}(T;{\mathbb {R}}^d)\) is such that for all \({\hat{v}}_T\in {\hat{V}}_T\),

$$\begin{aligned} ({\varvec{G}}_T({\hat{v}}_T),{\varvec{q}})_{{\varvec{L}}^2(T)} = -(v_T,\nabla {\cdot }{\varvec{q}})_{L^2(T)} + (v_{\partial T},{\varvec{q}}{\cdot }{\varvec{n}}_T)_{L^2(\partial T)}, \quad \forall {\varvec{q}}\in {\mathbb {P}}^{k}(T;{\mathbb {R}}^d). \end{aligned}$$
(5)

Notice that \({\varvec{G}}_T({\hat{v}}_T)\) can be evaluated componentwise by inverting the mass matrix associated with a chosen basis of the scalar-valued polynomial space \({\mathbb {P}}^{k}(T;{\mathbb {R}})\). An alternative to the gradient reconstruction operator is the potential reconstruction operator \(R_T:{\hat{V}}_T\rightarrow {\mathbb {P}}^{k+1}(T;{\mathbb {R}})\) such that for all \({\hat{v}}_T\in {\hat{V}}_T\),

$$\begin{aligned} (\nabla R_T({\hat{v}}_T),\nabla q)_{{\varvec{L}}^2(T)} = -(v_T,\varDelta q)_{L^2(T)} + (v_{\partial T},\nabla q{\cdot }{\varvec{n}}_T)_{L^2(\partial T)}, \quad \forall q \in {\mathbb {P}}^{k+1}(T;{\mathbb {R}}), \end{aligned}$$
(6)

together with the mean-value condition \((R_T({\hat{v}}_T)-v_T,1)_{L^2(T)}=0\). Notice that \(R_T({\hat{v}}_T)\) can be evaluated by inverting the stiffness matrix associated with a chosen basis of the scalar-valued polynomial space \({\mathbb {P}}^{k+1}(T;{\mathbb {R}})/{\mathbb {R}}\). To define the stabilization operator, let us set \(\xi _{\partial T}({\hat{v}}_T)\mathrel {\mathop :}=v_{T|\partial T}-v_{\partial T}\) for all \({\hat{v}}_T\in {\hat{V}}_T\). Then, in the equal-order case (\(k'=k\)), we define

$$\begin{aligned} S_{\partial T}({\hat{v}}_T) \mathrel {\mathop :}=\varPi _{\partial T}^k\Big (\xi _{\partial T}({\hat{v}}_T) + \big ( (I-\varPi _T^k)R_T(0,\xi _{\partial T}({\hat{v}}_T)) \big )_{|\partial T} \Big ), \end{aligned}$$
(7)

and in the mixed-order case \((k'=k+1\)), we define

$$\begin{aligned} S_{\partial T}({\hat{v}}_T) \mathrel {\mathop :}=\varPi _{\partial T}^k\big (\xi _{\partial T}({\hat{v}}_T)\big ). \end{aligned}$$
(8)

The potential reconstruction operator \(R_T\) is not needed in the mixed-order case, and in the equal-order case it is only used to evaluate the local stabilization operator. Alternatively, following the original HHO methods [16, 17], one can also consider \(\nabla R_T\) as a gradient instead of \({\varvec{G}}_T\).

2.2 HHO Discretization

We define the global discrete bilinear form \(b_h:{\hat{V}}_h\times {\hat{V}}_h\rightarrow {\mathbb {R}}\) such that \(b_h({\hat{v}}_h,{\hat{w}}_h)\mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h} b_T({\hat{v}}_T,{\hat{w}}_T)\) with the local discrete bilinear form \(b_T:{\hat{V}}_T\times {\hat{V}}_T\rightarrow {\mathbb {R}}\) such that

$$\begin{aligned} b_T({\hat{v}}_T,{\hat{w}}_T) \mathrel {\mathop :}=({\varvec{G}}_T({\hat{v}}_T),{\varvec{G}}_T({\hat{w}}_T))_{{\varvec{L}}^2(\lambda ;T)} + \tau _{\partial T} (S_{\partial T}({\hat{v}}_T),S_{\partial T}({\hat{w}}_T))_{L^2(\partial T)}, \end{aligned}$$
(9)

with the weight \(\tau _{\partial T}\mathrel {\mathop :}=\lambda _T h_T^{-1}\) and \(\lambda _T\mathrel {\mathop :}=\lambda _{|T}\). To enforce the homogeneous Dirichlet condition, we consider the subspaces

$$\begin{aligned} \left\{ \begin{aligned} V_{{\mathcal {F}}0}^k&\mathrel {\mathop :}=\{v_{\mathcal {F}}\in V_{\mathcal {F}}^k \ | \ v_F=0\ \forall F\in {\mathcal {F}}_h^\partial \}, \\ {\hat{V}}_{h0}&\mathrel {\mathop :}=V_{{\mathcal {T}}}^{k'} \times V_{{\mathcal {F}}0}^k = \{{\hat{v}}_h\in {\hat{V}}_h \ | \ v_F=0\ \forall F\in {\mathcal {F}}_h^\partial \}. \end{aligned}\right. \end{aligned}$$
(10)

The HHO discretization of the model problem (1) is as follows:

$$\begin{aligned} \text {Find }{\hat{u}}_h\in {\hat{V}}_{h0} \text { s.t. }b_h({\hat{u}}_h,{\hat{w}}_h)=(g,w_{\mathcal {T}})_{L^2(\varOmega )}\ \forall {\hat{w}}_h\in {\hat{V}}_{h0}. \end{aligned}$$
(11)

Notice that only the cell component of the discrete test function \({\hat{w}}_h\mathrel {\mathop :}=(w_{\mathcal {T}},w_{\mathcal {F}})\) is used on the right-hand side. It is convenient to define the global gradient reconstruction operator such that \(\big ({\varvec{G}}_{\mathcal {T}}({\hat{v}}_h)\big )_{|T} \mathrel {\mathop :}={\varvec{G}}_T({\hat{v}}_T)\) for all \(T\in {\mathcal {T}}_h\) and all \({\hat{v}}_h\in {\hat{V}}_h\), to define \(R_{\mathcal {T}}:{\hat{V}}_h\rightarrow V_{\mathcal {T}}^{k+1}\) similarly, and to set \(s_h({\hat{v}}_h,{\hat{w}}_h)\mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h}\tau _{\partial T} (S_{\partial T}({\hat{v}}_T),S_{\partial T}({\hat{w}}_T))_{L^2(\partial T)}\). Then we have

$$\begin{aligned} b_h({\hat{v}}_h,{\hat{w}}_h) = ({\varvec{G}}_{\mathcal {T}}({\hat{v}}_h),{\varvec{G}}_{\mathcal {T}}({\hat{w}}_h))_{{\varvec{L}}^2(\lambda ;\varOmega )} + s_h({\hat{v}}_h,{\hat{w}}_h). \end{aligned}$$
(12)

2.3 Analysis Tools

We now state the main results on the analysis of HHO methods. In what follows, the symbol C denotes a generic positive constant whose value can change at each occurrence and which is independent of the mesh size. A direct verification shows that the map \(\Vert {\cdot }\Vert _{{\hat{V}}_{h0}}:{\hat{V}}_h\rightarrow {\mathbb {R}}\) such that

$$\begin{aligned} \Vert {\hat{v}}_h\Vert _{{\hat{V}}_{h0}}^2 \mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h} \big (\Vert \nabla v_T\Vert _{{\varvec{L}}^2(\lambda ;T)}^2 + \tau _{\partial T}\Vert v_{\partial T}-v_T\Vert _{L^2(\partial T)}^2\big ), \qquad \forall {\hat{v}}_h\in {\hat{V}}_h, \end{aligned}$$
(13)

defines a norm on \({\hat{V}}_{h0}\) (and a seminorm on \({\hat{V}}_h\)), and we have the following important stability result [16, 17].

Lemma 1

(Stability) There are \(0<\alpha \le \varpi <\infty \) such that for all \({\hat{v}}_h\in {\hat{V}}_{h0}\) and all \(h>0\),

$$\begin{aligned} \alpha \, \Vert {\hat{v}}_h\Vert _{{\hat{V}}_{h0}}^2 \le \Vert {\varvec{G}}_{\mathcal {T}}({\hat{v}}_h)\Vert _{{\varvec{L}}^2(\lambda ;\varOmega )}^2 + |{\hat{v}}_h|_{S}^2 \le \varpi \, \Vert {\hat{v}}_h\Vert _{{\hat{V}}_{h0}}^2, \end{aligned}$$
(14)

with the seminorm \(|{\hat{v}}_h|_{S}^2 \mathrel {\mathop :}=s_h({\hat{v}}_h,{\hat{v}}_h)\).

A natural way to approximate a function \(v\in H^1(\varOmega )\) by a discrete pair is to consider \({\hat{I}}_h(v) \mathrel {\mathop :}=(\varPi _{\mathcal {T}}^{k'}(v),\varPi _{{\mathcal {F}}}^k(v))\in {\hat{V}}_h\), where \(\varPi _{\mathcal {T}}^{k'}\) and \(\varPi _{{\mathcal {F}}}^k\) are the \(L^2\)-orthogonal projections onto \(V_{\mathcal {T}}^{k'}\) and \(V_{\mathcal {F}}^k\), respectively. We denote by \({\hat{I}}_T(v)\in {\hat{V}}_T\) the local components of \({\hat{I}}_h(v)\) attached to the cell \(T\in {\mathcal {T}}_h\). The definition of \({\hat{I}}_h\) is meaningful since a function \(v\in H^1(\varOmega )\) does not jump across the mesh interfaces. Let \({\varvec{\varPi }}_{\mathcal {T}}^k\) denote the \({\varvec{L}}^2\)-orthogonal projection onto \({\varvec{W}}_{\mathcal {T}}\). Let us define \({{\mathsf {E}}}_{\mathcal {T}}^{k+1}:H^1(\varOmega )\rightarrow V_{\mathcal {T}}^{k+1}\) to be the elliptic projection onto \(V_{\mathcal {T}}^{k+1}\), so that for all \(v\in H^1(\varOmega )\) and all \(T\in {\mathcal {T}}_h\), \(\big ({{\mathsf {E}}}_{\mathcal {T}}^{k+1}(v)\big )_{|T}\) is uniquely defined by the relations \((\nabla ({{\mathsf {E}}}_{\mathcal {T}}^{k+1}(v)-v),\nabla q)_{{\varvec{L}}^2(T)}=0\) for all \(q\in {\mathbb {P}}^{k+1}(T;{\mathbb {R}})\), and \(({{\mathsf {E}}}_{\mathcal {T}}^{k+1}(v)-v,1)_{L^2(T)}=0\). The following result [16, 17] contains the key arguments to bound the consistency error and derive optimal \(H^1\)-error estimates.

Lemma 2

(Commuting with \({\hat{I}}_h\)) The following holds true:

$$\begin{aligned} {\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(v)) = {\varvec{\varPi }}_{\mathcal {T}}^k(\nabla v), \qquad \nabla R_{\mathcal {T}}({\hat{I}}_h(v)) = \nabla {{\mathsf {E}}}_{\mathcal {T}}^{k+1}(v), \qquad \forall v\in H^1(\varOmega ). \end{aligned}$$
(15)

Moreover, there is C such that for all \(h>0\), all \(T\in {\mathcal {T}}_h\), and all \(v\in H^1(\varOmega )\), we have

$$\begin{aligned} \Vert S_{\partial T}({\hat{I}}_h(v))\Vert _{L^2(\partial T)} \le C h_T^{\frac{1}{2}} \Vert \nabla (v-{\mathcal {P}}_{\mathcal {T}}^{k+1}(v))\Vert _{{\varvec{L}}^2(T)}, \end{aligned}$$
(16)

where \({\mathcal {P}}_{\mathcal {T}}^{k+1}\mathrel {\mathop :}={{\mathsf {E}}}_{\mathcal {T}}^{k+1}\) if \(k'=k\) and \({\mathcal {P}}_{\mathcal {T}}^{k+1}\mathrel {\mathop :}=\varPi _{\mathcal {T}}^{k+1}\) if \(k'=k+1\).

In view of the error analysis for the time-dependent wave equation, an important notion is the HHO solution map \({\hat{J}}_h:H^{1+\nu }(\varOmega ) \rightarrow {\hat{V}}_{h0}\), \(\nu >\frac{1}{2}\), such that for all \(p\in H^{1+\nu }(\varOmega )\), \({\hat{J}}_h(p)\in {\hat{V}}_{h0}\) is uniquely defined by the following equations:

$$\begin{aligned} b_h({\hat{J}}_h(p),{\hat{q}}_h) = \langle B(p),q_{\mathcal {T}}\rangle _\varOmega , \qquad \forall {\hat{q}}_h\in {\hat{V}}_{h0}, \end{aligned}$$
(17)

where \(\langle B(p),q_{\mathcal {T}}\rangle _\varOmega \mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h} \big \{ (\nabla p,\nabla q_T)_{{\varvec{L}}^2(\lambda ;T)} + (\lambda \nabla p{\cdot }{\varvec{n}}_T,q_{\partial T}-q_T)_{L^2(\partial T)} \big \}\). (Notice that \(\langle B(p),q_{\mathcal {T}}\rangle _\varOmega = (B(p),q_{\mathcal {T}})_{L^2(\varOmega )}\) whenever \(B(p)\in L^2(\varOmega )\).) The coercivity of \(b_h\) on \({\hat{V}}_{h0}\) (see Lemma 1) shows that \({\hat{J}}_h(p)\) is well-defined by means of (17). For all \(p\in H^{1+\nu }(\varOmega )\), we consider the seminorm

$$\begin{aligned} \left\{ \begin{aligned}&|p|_{*,h}^2\mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h} \lambda _T \big \{ \Vert {\varvec{\gamma }}\Vert _{{\varvec{L}}^2(T)}^2 + h_T\Vert {\varvec{\gamma }}{\cdot }{\varvec{n}}_T\Vert _{L^2(\partial T)}^2 + \Vert \nabla \eta \Vert _{{\varvec{L}}^2(T)}^2\big \}, \\&\quad \text {with}\ {\varvec{\gamma }}\mathrel {\mathop :}=\nabla p - {\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(p)), \ \eta \mathrel {\mathop :}=p-{\mathcal {P}}_{\mathcal {T}}^{k+1}(p). \end{aligned}\right. \end{aligned}$$
(18)

Notice that \(\Vert {\varvec{\gamma }}\Vert _{{\varvec{L}}^2(T)}\le \Vert \nabla \eta \Vert _{{\varvec{L}}^2(T)}\) owing to Lemma 2, but the two terms are kept for clarity. For a linear form \(\phi \in ({\hat{V}}_{h0})'\), we set \(\Vert \phi \Vert _{({\hat{V}}_{h0})'} \mathrel {\mathop :}=\sup _{{\hat{q}}_h\in {\hat{V}}_{h0}} \frac{|\phi ({\hat{q}}_h)|}{\Vert {\hat{q}}_h\Vert _{{\hat{V}}_{h0}}}\) with the norm \(\Vert {\cdot }\Vert _{{\hat{V}}_{h0}}\) defined in (13). In what follows, we sometimes assume that an elliptic regularity pickup is available, i.e., there is \(s\in (\frac{1}{2},1]\) and \(c_{\mathrm {ell}}\) such that for all \(g\in L^2(\varOmega )\), the unique function \(\zeta _g\in H^1_0(\varOmega )\) such that \(B(\zeta _g) = g\) in \(\varOmega \) satisfies \(\Vert \zeta _g\Vert _{H^{1+s}(\varOmega )} \le c_{\mathrm {ell}}\ell _\varOmega ^2\Vert g\Vert _{L^2(\varOmega )}\), where \(\ell _\varOmega \mathrel {\mathop :}={\text {diam}}(\varOmega )\) is a global length scale. For all \(p\in H^{1+\nu }(\varOmega )\) with \(B(p)\in L^2(\varOmega )\), we consider the additional seminorm

$$\begin{aligned} |p|_{**,h} \mathrel {\mathop :}=|p|_{*,h} + \ell _\varOmega ^{\delta }h^{1-\delta }\Vert B(p)-\varPi _{\mathcal {T}}^{k'}(B(p))\Vert _{L^2(\varOmega )}, \end{aligned}$$
(19)

with \(\delta \mathrel {\mathop :}=0\) if \(k'\ge 1\) and \(\delta \mathrel {\mathop :}=s\) if \(k'=0\).

Lemma 3

(HHO solution map) There is C such that for all \(h>0\) and all \(p\in H^{1+\nu }(\varOmega )\), we have

$$\begin{aligned} \Vert {\hat{J}}_h(p)-{\hat{I}}_h(p)\Vert _{{\hat{V}}_{h0}} \le C \, |p|_{*,h}. \end{aligned}$$
(20)

Moreover, assuming that an elliptic regularity pickup is available and \(B(p)\in L^2(\varOmega )\), we have

$$\begin{aligned} \Vert J_{\mathcal {T}}(p)-\varPi _{\mathcal {T}}^{k'}(p)\Vert _{L^2(\varOmega )} \le C \, \ell _\varOmega ^{1-s}h^s |p|_{**,h}. \end{aligned}$$
(21)

Proof

The proofs adapts arguments from [16, 17]. Let us set \({\hat{e}}_h\mathrel {\mathop :}={\hat{J}}_h(p)-{\hat{I}}_h(p)\) with \({\hat{e}}_h\mathrel {\mathop :}=(e_{\mathcal {T}},e_{\mathcal {F}})\). We observe that for all \({\hat{q}}_h\in {\hat{V}}_{h0}\),

$$\begin{aligned} b_h({\hat{e}}_h,{\hat{q}}_h) = \langle B(p),q_{\mathcal {T}}\rangle _\varOmega - b_h({\hat{I}}_h(p),{\hat{q}}_h) =\mathrel {\mathop :}\delta _h({\hat{q}}_h), \end{aligned}$$

where the linear form \(\delta _h\in ({\hat{V}}_{h0})'\) represents the consistency error. A direct calculation, which is classical in the analysis of HHO methods (see [16, 17]), shows that

$$\begin{aligned} \delta _h({\hat{q}}_h) = \sum _{T\in {\mathcal {T}}} \lambda _T ({\varvec{\gamma }}{\cdot }{\varvec{n}}_T,q_{\partial T}-q_T)_{L^2(\partial T)} - s_h({\hat{I}}_h(p),{\hat{q}}_h), \end{aligned}$$

with \({\varvec{\gamma }}\) defined in (18) (notice that we used \(({\varvec{\gamma }},\nabla q_T)_{{\varvec{L}}^2(T)}=0\) since \(\nabla q_T \in \nabla {\mathbb {P}}^{k'}(T;{\mathbb {R}}) \subset {\mathbb {P}}^k(T;{\mathbb {R}}^d)\)). By invoking the Cauchy–Schwarz inequality and the bound (16) on the stabilization, we infer that there is a constant \(c_\delta \) such that for all \(h>0\),

$$\begin{aligned} \Vert \delta _h\Vert _{({\hat{V}}_{h0})'}\le c_\delta |p|_{*,h}. \end{aligned}$$

Invoking the coercivity of \(b_h\) on \({\hat{V}}_{h0}\) then yields \(\alpha \Vert {\hat{e}}_h\Vert _{{\hat{V}}_{h0}}^2 \le \delta _h({\hat{e}}_h) \le c_\delta |p|_{*,h} \Vert {\hat{e}}_h\Vert _{{\hat{V}}_{h0}}\), which proves the bound (20) on \(\Vert {\hat{e}}_h\Vert _{{\hat{V}}_{h0}}\).

Let us now prove (21). Let \(\zeta \in H^1_0(\varOmega )\) be such that \(B(\zeta ) = e_{\mathcal {T}}\) in \(\varOmega \). Proceeding as in the proof of [17, Thm. 10] or [16, Thm. 11] yields

$$\begin{aligned} \Vert e_{\mathcal {T}}\Vert _{L^2(\varOmega )}^2 = (e_{\mathcal {T}},B(\zeta ))_{L^2(\varOmega )} =\sum _{T\in {\mathcal {T}}_h} \lambda _T\Big \{ (\nabla e_T,\nabla \zeta )_{{\varvec{L}}^2(T)} + (e_{\partial T}-e_T,\nabla \zeta {\cdot }{\varvec{n}}_T)_{L^2(\partial T)} \Big \}, \end{aligned}$$

and since \(b_h({\hat{e}}_h,{\hat{I}}_h(\zeta ))=(B(p),\varPi _{\mathcal {T}}^{k'}(\zeta ))_{L^2(\varOmega )}-b_h({\hat{I}}_h(p),{\hat{I}}_h(\zeta ))\) and \((\nabla p,\nabla \zeta )_{{\varvec{L}}^2(\lambda ;\varOmega )} =(B(p),\zeta )_{L^2(\varOmega )}\), we infer that \(\Vert e_{\mathcal {T}}\Vert _{L^2(\varOmega )}^2 = {\mathfrak {T}}_1+{\mathfrak {T}}_2+{\mathfrak {T}}_3\) with

$$\begin{aligned} {\mathfrak {T}}_1&\mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h} \lambda _T (e_{\partial T}-e_T,{\varvec{\xi }}{\cdot }{\varvec{n}}_T)_{L^2(\partial T)} - s_h({\hat{e}}_h,{\hat{I}}_h(\zeta )),\\ {\mathfrak {T}}_2&\mathrel {\mathop :}=(\nabla p,\nabla \zeta )_{{\varvec{L}}^2(\lambda ;\varOmega )}-b_h({\hat{I}}_h(p),{\hat{I}}_h(\zeta )),\\ {\mathfrak {T}}_3&\mathrel {\mathop :}=-(B(p),\zeta -\varPi _{\mathcal {T}}^{k'}(\zeta ))_{L^2(\varOmega )}, \end{aligned}$$

with \({\varvec{\xi }}\mathrel {\mathop :}=\nabla \zeta -{\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(\zeta ))\) and where we used that \((\nabla e_T,{\varvec{\xi }})_{{\varvec{L}}^2(T)} = 0\). Using (15)–(16) and the inequality from the elliptic regularity pickup, we infer that

$$\begin{aligned} |{\mathfrak {T}}_1| \le C\, \Vert {\hat{e}}_h\Vert _{{\hat{V}}_{h0}} \, c_{\mathrm {ell}} \ell _\varOmega ^{1-s}h^s\Vert e_{\mathcal {T}}\Vert _{L^2(\varOmega )} \le C'\, |p|_{*,h} \, c_{\mathrm {ell}} \ell _\varOmega ^{1-s}h^s\Vert e_{\mathcal {T}}\Vert _{L^2(\varOmega )}, \end{aligned}$$

where the second bound follows from (20). Since \({\mathfrak {T}}_2=(\nabla p-{\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(p)),{\varvec{\xi }})_{{\varvec{L}}^2(\lambda ;\varOmega )}-s_h({\hat{I}}_h(p),{\hat{I}}_h(\zeta ))\), we obtain

$$\begin{aligned} |{\mathfrak {T}}_2| \le C\, |p|_{*,h} \, c_{\mathrm {ell}} \ell _\varOmega ^{1-s}h^s\Vert e_{\mathcal {T}}\Vert _{L^2(\varOmega )}. \end{aligned}$$

Furthermore, we have \({\mathfrak {T}}_3 = -(B(p)-\varPi _{\mathcal {T}}^{k'}(B(p)),\zeta -\varPi _{\mathcal {T}}^{k'}(\zeta ))_{L^2(\varOmega )}\), and since

$$\begin{aligned} \Vert \zeta -\varPi _{\mathcal {T}}^{k'}(\zeta )\Vert _{L^2(\varOmega )} \le C\, \ell _\varOmega ^{1+\delta -s} h^{1+s-\delta }\Vert e_{\mathcal {T}}\Vert _{L^2(\varOmega )}, \end{aligned}$$

we infer that \(|{\mathfrak {T}}_3|\le C\,\ell _\varOmega ^\delta h^{1-\delta }\Vert B(p)-\varPi _{\mathcal {T}}^{k'}(B(p))\Vert _{L^2(\varOmega )} \ell _\varOmega ^{1-s}h^s\Vert e_{\mathcal {T}}\Vert _{L^2(\varOmega )}\). Finally, the bound (21) follows by putting together the above three estimates. \(\square \)

Lemma 4

(Approximation) Assume that \(p\in H^{l+1}(\varOmega )\) with \(l\in \{1,\ldots ,k+1\}\) (this additional regularity assumption can be localized to the mesh cells). There is C such that for all \(h>0\),

$$\begin{aligned} |p|_{*,h} \le C \,h^l |p|_{H^{l+1}(\varOmega )}, \end{aligned}$$
(22)

and assuming additionally that \(B(p)\in H^{l-1+\delta }(\varOmega )\) with \(\delta \mathrel {\mathop :}=s\) if \(k'=0\) and \(\delta \mathrel {\mathop :}=0\) otherwise, we have

$$\begin{aligned} |p|_{**,h} \le C \, h^l \big (|p|_{H^{l+1}(\varOmega )} +\ell _\varOmega ^{\delta }|B(p)|_{H^{l-1+\delta }(\varOmega )}\big ). \end{aligned}$$
(23)

Proof

The estimate (22) results from Lemma 3 combined with the approximation properties of the \({\varvec{L}}^2\)-orthogonal and elliptic projections. To prove (23) we only need to bound the additional term \(\ell _\varOmega ^\delta h^{1-\delta }\Vert B(p)-\varPi _{\mathcal {T}}^{k'}(B(p))\Vert _{L^2(\varOmega )}\). If \(k'=0\), then \(k=0\) and \(l=1\), and since \(\delta =s\) and \(\Vert B(p)-\varPi _{\mathcal {T}}^{0}(B(p))\Vert _{L^2(\varOmega )} \le Ch^{s}|B(p)|_{H^{s}(\varOmega )}\), we obtain the expected estimate. If \(k'\ge 1\), then \({\delta =0}\), and since \(k'+1\ge k\ge l-1\ge 0\), we have \(h\Vert B(p)-\varPi _{\mathcal {T}}^{k'}(B(p))\Vert _{L^2(\varOmega )} \le Chh^{l-1}|B(p)|_{H^{l-1}(\varOmega )}\) yielding again the expected estimate. \(\square \)

Remark 1

(Regularity assumption) If \(\lambda \) is smooth (e.g., constant), then \(B(p)\in H^{l-1}(\varOmega )\) if \(p\in H^{l+1}(\varOmega )\), so that the regularity assumption on B(p) follows from that on p whenever \(k'\ge 1\). For \(k'=0\) and full elliptic regularity pickup, the additional assumption is \(B(p)\in H^1(\varOmega )\).

3 Acoustic Wave Equation: Second-Order Formulation

3.1 Model Problem

Let \(J\mathrel {\mathop :}=(0,T_{\text {f}})\) be the time interval with \(T_{\text {f}}>0\). The second-order formulation in time of the acoustic wave equation reads as follows:

$$\begin{aligned} \frac{1}{\kappa } \partial _{tt}p- \nabla {\cdot }\left( \frac{1}{\rho }\nabla p\right) =f \qquad \text {in }J\times \varOmega , \end{aligned}$$
(24)

where f \(\left[ \frac{1}{\hbox {s}^{2}}\right] \) is the source term, p \(\left[ \hbox {Pa}\right] \) is the fluid pressure, \(\kappa \) \(\left[ \hbox {Pa}\right] \) is the fluid bulk modulus, and \(\rho \) \(\left[ \frac{\hbox {kg}}{\hbox {m}^{3}}\right] \) is the fluid density. The PDE (24) is subjected to the initial conditions

$$\begin{aligned} p(0) =p_{0}, \qquad \partial _tp(0) =v_{0} \qquad \text {in }\varOmega , \end{aligned}$$
(25)

and, for simplicity, we consider the homogeneous Dirichlet condition

$$\begin{aligned} p = 0 \qquad \text {on }J\times \varGamma . \end{aligned}$$
(26)

We assume that the coefficients \(\kappa \) and \(\rho \) are piecewise constant on a partition of \(\varOmega \) into a finite collection of polyhedral subdomains, and that both coefficients take positive values. The speed of sound is defined as \(c\mathrel {\mathop :}=\sqrt{\frac{\kappa }{\rho }}\). We assume that \(f\in L^2(J;L^2(\varOmega ))\), \(p_0\in H^1_0(\varOmega )\), and \(v_0\in H^1_0(\varOmega )\). A reasonable functional setting to define the weak solution to (24)–(26) is \(p\in L^2(J;H^1_0(\varOmega ))\), \(\partial _tp\in L^2(J;L^2(\varOmega ))\), and \(\partial _{tt}p\in L^2(J;H^{-1}(\varOmega ))\). Actually, our assumptions on the data imply that the weak solution is smoother, i.e., \(p\in C^0({\overline{J}};H^1_0(\varOmega ))\cap C^1({\overline{J}};L^2(\varOmega ))\); see, e.g., [24, Chap. III, Thm. 8.1&8.2]. Assuming that \(p\in H^2(J;L^2(\varOmega ))\), we have for a.e. \(t\in J\),

$$\begin{aligned} (\partial _{tt}p(t),q)_{L^2(\frac{1}{\kappa };\varOmega )} + b(p(t),q) = (f(t),q)_{L^2(\varOmega )}, \qquad \forall q\in H^1_0(\varOmega ), \end{aligned}$$
(27)

with the bilinear form \(b(p,q)\mathrel {\mathop :}=(\nabla p,\nabla q)_{L^2(\frac{1}{\rho };\varOmega )}\). Consistently with what was done in Sect. 2, we now set \(B(p)\mathrel {\mathop :}=-\nabla {\cdot }(\frac{1}{\rho }\nabla p)\), so that Eq. (24) reads \(\frac{1}{\kappa }\partial _{tt}p+B(p)=f\) in \(J\times \varOmega \).

3.2 HHO Space Semi-discretization

The space semi-discrete HHO scheme for the second-order wave equation consists of finding \({\hat{p}}_h\mathrel {\mathop :}=(p_{\mathcal {T}},p_{\mathcal {F}}) \in C^2({\overline{J}};{\hat{V}}_{h0})\) such that for all \(t\in {\overline{J}}\),

$$\begin{aligned} (\partial _{tt}p_{\mathcal {T}}(t),q_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} + b_h({\hat{p}}_h(t),{\hat{q}}_h) = (f(t),q_{\mathcal {T}})_{L^2(\varOmega )}, \end{aligned}$$
(28)

for all \({\hat{q}}_h\mathrel {\mathop :}=(q_{\mathcal {T}},q_{\mathcal {F}})\in {\hat{V}}_{h0}\), with \(b_h\) defined in (12) with \(\frac{1}{\rho }\) in lieu of \(\lambda \). The initial conditions for (28) only concern \(p_{\mathcal {T}}\) and are as follows:

$$\begin{aligned} p_{\mathcal {T}}(0) = \varPi _{\mathcal {T}}^{k'}(p_{0}),\qquad \partial _tp_{\mathcal {T}}(0) = \varPi _{\mathcal {T}}^{k'}(v_{0}). \end{aligned}$$
(29)

The boundary condition is encoded in the fact that \({\hat{p}}_h(t)\in {\hat{V}}_{h0}\) for all \(t\in {\overline{J}}\). Notice that since the space semi-discrete solution is smooth in time, (28) holds at the initial time which implies that \(p_{\mathcal {F}}(0)\in V_{{\mathcal {F}}0}^k\) is uniquely determined by the equations \(b_h((p_{\mathcal {T}}(0),p_{\mathcal {F}}(0)),(0,q_{\mathcal {F}}))=0\) for all \(q_{\mathcal {F}}\in V_{{\mathcal {F}}0}^k\) with \(p_{\mathcal {T}}(0)\) specified in (29).

Remark 2

(Link to HDG) Inspired by the ideas from [11] to bridge HHO and HDG methods for steady diffusion problems, the space semi-discrete HHO formulation (28) can be connected to the space semi-discrete HDG formulation from [12] by identifying a suitable numerical flux trace that depends on the stabilization operator \(S_{\partial T}\) and its adjoint (with respect to the \(L^2(\partial T)\)-inner product). In the equal-order case (\(k'=k\)), the numerical flux traces differ since the stabilization operator acts collectively on \(\partial T\) in the HHO setting (this allows for a rather transparent handling of polyhedral meshes in the HHO error analysis), whereas it acts pointwise in the HDG setting. In the mixed-order case (\(k'=k+1\)), one recovers the Lehrenfeld–Schöberl HDG stabilization [22, 23]. Interestingly, the error analysis for HHO and HDG differ since the former relies on \(L^2\)-orthogonal projections, whereas the latter invokes a specific HDG-projection. This difference is reflected in the initial conditions (29) which are simply defined by means of \(L^2\)-orthogonal projections, in contrast, e.g., to [12, Equ. (2.6)] where the steady HDG solution map is invoked.

3.3 Error Analysis

Let us start with the energy-error estimate. For all \(t\in J\), we consider the seminorm \(|p(t)|_{*,h}\) defined in (18) with

$$\begin{aligned} {\varvec{\gamma }}(t)\mathrel {\mathop :}=\nabla p(t) - {\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(p(t))), \qquad \eta (t)\mathrel {\mathop :}=p(t)-{\mathcal {P}}_{\mathcal {T}}^{k+1}(p(t)). \end{aligned}$$
(30)

Since \(\partial _t{\varvec{\gamma }}(t)\mathrel {\mathop :}=\nabla \partial _tp(t) - {\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(\partial _tp(t)))\) and \(\partial _t\eta (t)\mathrel {\mathop :}=\partial _tp(t)-{\mathcal {P}}_{\mathcal {T}}^{k+1}(\partial _tp(t))\), we can define \(|\partial _tp(t)|_{*,h}\) similarly by using \(\partial _t{\varvec{\gamma }}\) and \(\partial _t\eta \) instead of \({\varvec{\gamma }}\) and \(\eta \), respectively. We also set \(|p|_{L^\infty (0,t;*,h)} \mathrel {\mathop :}=\sup _{s\in (0,t)} |p(s)|_{*,h}\) and \(|\partial _tp|_{L^1(0,t;*,h)} \mathrel {\mathop :}=\int _0^t |\partial _tp(s)|_{*,h}ds\). For a function \({\hat{v}}_h\in C^0({\overline{J}};{\hat{V}}_{h0})\), we set \(\Vert {\hat{v}}_h\Vert _{L^\infty (0,t;{\hat{V}}_{h0})} \mathrel {\mathop :}=\sup _{s\in (0,t)} \Vert {\hat{v}}_h(s)\Vert _{{\hat{V}}_{h0}}\) for all \(t\in J\). The following result shows that the energy error converges as \({\mathcal {O}}(h^{k+1})\) for smooth solutions.

Theorem 1

(Energy-error estimate) Let p solve (24) with the initial conditions (25), and let \({\hat{p}}_h\) solve (28) with the initial conditions (29). Assume that \(p\in C^1({\overline{J}};H^{1+\nu }(\varOmega ))\cap C^2({\overline{J}};L^2(\varOmega ))\) with \(\nu >\frac{1}{2}\). There is C such that for all \(h>0\) and all \(t\in J\),

$$\begin{aligned}&\Vert \partial _tp_{\mathcal {T}}-\varPi _{\mathcal {T}}^{k'}(\partial _tp)\Vert _{L^\infty (0,t;L^2(\frac{1}{\kappa };\varOmega ))} + \Vert {\hat{p}}_h-{\hat{I}}_h(p)\Vert _{L^\infty (0,t;{\hat{V}}_{h0})}\nonumber \\&\quad \le C \Big ( |p|_{L^\infty (0,t;*,h)} + |\partial _tp|_{L^1(0,t;*,h)} \Big ). \end{aligned}$$
(31)

Moreover, we have

$$\begin{aligned}&\Vert \partial _tp_{\mathcal {T}}-\partial _tp\Vert _{L^\infty (0,t;L^2(\frac{1}{\kappa };\varOmega ))} + \Vert {\varvec{G}}_{\mathcal {T}}({\hat{p}}_h)-\nabla p\Vert _{L^\infty (0,t;{\varvec{L}}^2(\frac{1}{\rho };\varOmega ))} \nonumber \\&\quad \le C \Big ( |p|_{L^\infty (0,t;*,h)} + |\partial _tp|_{L^1(0,t;*,h)}\Big ) + \Vert \partial _tp-\varPi _{\mathcal {T}}^{k'}(\partial _tp)\Vert _{L^\infty (0,t;L^2(\frac{1}{\kappa };\varOmega ))}, \end{aligned}$$
(32)

and if there is \(l\in \{1,\ldots ,k+1\}\) so that \(p\in C^1({\overline{J}};H^{l+1}(\varOmega ))\), we have

$$\begin{aligned}&\Vert \partial _tp_{\mathcal {T}}-\partial _tp\Vert _{L^\infty (0,t;L^2(\frac{1}{\kappa };\varOmega ))} + \Vert {\varvec{G}}_{\mathcal {T}}({\hat{p}}_h) -\nabla p\Vert _{L^\infty (0,t;{\varvec{L}}^2(\frac{1}{\rho };\varOmega ))} \nonumber \\&\quad \le C\, h^{l} |p|_{W^{1,\infty }(0,t;H^{l+1}(\varOmega ))}, \end{aligned}$$
(33)

where \(|p|_{W^{1,\infty }(0,t;H^{l+1}(\varOmega ))}\mathrel {\mathop :}=|p|_{L^{\infty }(0,t;H^{l+1}(\varOmega ))} + t|\partial _tp|_{L^{\infty }(0,t;H^{l+1}(\varOmega ))}\).

Proof

Step 1: Error equation. Let us set \({\hat{e}}_h(t)\mathrel {\mathop :}={\hat{p}}_h(t)-{\hat{I}}_h(p(t))\in {\hat{V}}_{h0}\) for all \(t\in J\). We observe that for all \({\hat{q}}_h\in {\hat{V}}_{h0}\) and all \(t\in J\),

$$\begin{aligned}&(\partial _{tt}e_{\mathcal {T}}(t),q_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} + b_h({\hat{e}}_h(t),{\hat{q}}_h) \\&\quad = (f(t),q_{\mathcal {T}})_{L^2(\varOmega )} - (\partial _{tt}\varPi _{\mathcal {T}}^{k'}(p(t)),q_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} - b_h({\hat{I}}_h(p(t)),{\hat{q}}_h) \\&\quad =(\partial _{tt}p(t)-\partial _{tt}\varPi _{\mathcal {T}}^{k'}(p(t)),q_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} + (B(p(t)),q_{\mathcal {T}})_{L^2(\varOmega )} - b_h({\hat{I}}_h(p(t)),{\hat{q}}_h) \\&\quad =(B(p(t)),q_{\mathcal {T}})_{L^2(\varOmega )} - b_h({\hat{I}}_h(p(t)),{\hat{q}}_h) =\mathrel {\mathop :}\delta _h(t;{\hat{q}}_h), \end{aligned}$$

where we used that \(B(p(t))\in L^2(\varOmega )\) owing to our regularity assumption on f and \(\partial _{tt}p\) and that \(\partial _{tt}\varPi _{\mathcal {T}}^{k'}(p(t))=\varPi _{\mathcal {T}}^{k'}(\partial _{tt}p(t))\) (so that \((\partial _{tt}p(t)-\partial _{tt}\varPi _{\mathcal {T}}^{k'}(p(t)),q_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )}=0\)). The linear form \(\delta _h(t;{\cdot })\in ({\hat{V}}_{h0})'\) represents the consistency error associated with the HHO space semi-discretization. Recall from the proof of Lemma 3 that

$$\begin{aligned} \delta _h(t;{\hat{q}}_h) = \sum _{T\in {\mathcal {T}}} ({\varvec{\gamma }}(t){\cdot }{\varvec{n}}_T,q_{\partial T}-q_T)_{L^2(\frac{1}{\rho };\partial T)} - s_h({\hat{I}}_h(p(t)),{\hat{q}}_h), \end{aligned}$$

with \({\varvec{\gamma }}(t)\) defined in (30) and where we used \(({\varvec{\gamma }}(t),\nabla q_T)_{{\varvec{L}}^2(\frac{1}{\rho };T)}=0\). We also introduce the linear form \({\dot{\delta }}_h(t;{\cdot })\in ({\hat{V}}_{h0})'\) such that

$$\begin{aligned} {\dot{\delta }}_h(t;{\hat{q}}_h) \mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}} (\partial _t{\varvec{\gamma }}(t){\cdot }{\varvec{n}}_T,q_{\partial T}-q_T)_{L^2(\frac{1}{\rho };\partial T)} - s_h({\hat{I}}_h(\partial _tp(t)),{\hat{q}}_h), \end{aligned}$$

and we observe that the product rule for the time derivative implies that for all \({\hat{v}}_h\in C^1({\overline{J}};{\hat{V}}_{h0})\),

$$\begin{aligned} \frac{d}{dt} \delta _h(t;{\hat{v}}_h(t)) = \delta _h(t;\partial _t{\hat{v}}_h(t)) + {\dot{\delta }}_h(t;{\hat{v}}_h(t)). \end{aligned}$$
(34)

Step 2: Stability argument. Let us test the error equation with \({\hat{q}}_h\mathrel {\mathop :}=\partial _t{\hat{e}}_h(t)\) for all \(t\in J\). Since the discrete bilinear form \(b_h\) is symmetric and using (34) on the right-hand side leads to

$$\begin{aligned} \frac{d}{dt} \Big \{ \frac{1}{2} \Vert \partial _te_{\mathcal {T}}(t)\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 + \frac{1}{2} b_h({\hat{e}}_h(t),{\hat{e}}_h(t)) \Big \} = \frac{d}{dt} \delta _h(t;{\hat{e}}_h(t)) - {\dot{\delta }}_h(t;{\hat{e}}_h(t)). \end{aligned}$$

Integrating in time from 0 to t, observing that \(\partial _te_{\mathcal {T}}(0)=0\) owing to the initial conditions (we also have \(e_{\mathcal {T}}(0)=0\) but in general \(e_{\mathcal {F}}(0)\ne 0\), see below), and using the coercivity and the continuity of the discrete bilinear form \(b_h\) (see Lemma 1), we infer that

$$\begin{aligned} \frac{1}{2}\Vert \partial _te_{\mathcal {T}}(t)\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 + \frac{1}{2}\alpha \Vert {\hat{e}}_h(t)\Vert _{{\hat{V}}_{h0}}^2&\le {} \frac{1}{2}\varpi \Vert {\hat{e}}_h(0)\Vert _{{\hat{V}}_{h0}}^2 - \delta _h(0;{\hat{e}}_h(0)) \\&\quad + \delta _h(t;{\hat{e}}_h(t)) - \int _0^t {\dot{\delta }}_h(s;{\hat{e}}_h(s))ds. \end{aligned}$$

Using Young’s inequality for the second, third and fourth terms on the right-hand side as well as Hölder’s inequality for the fourth term implies that

$$\begin{aligned} \frac{1}{2}\Vert \partial _te_{\mathcal {T}}(t)\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 + \frac{1}{4}\alpha \Vert {\hat{e}}_h(t)\Vert _{{\hat{V}}_{h0}}^2&\le {} \frac{2}{\alpha }\left( |\delta _h|_{L^\infty (0,t;({\hat{V}}_{h0})')}^2 + |{\dot{\delta }}_h|_{L^1(0,t;({\hat{V}}_{h0})')}^2\right) \\&\quad + \frac{1}{8}\alpha \Vert {\hat{e}}_h\Vert _{L^\infty (0,t;{\hat{V}}_{h0})}^2 + C\Vert {\hat{e}}_h(0)\Vert _{{\hat{V}}_{h0}}^2. \end{aligned}$$

Since the left-hand side, evaluated at any \(t'\in (0,t)\), is bounded by the right-hand side, we infer that

$$\begin{aligned}&\frac{1}{2}\Vert \partial _te_{\mathcal {T}}\Vert _{L^\infty (0,t;L^2(\frac{1}{\kappa };\varOmega ))}^2 + \frac{1}{8}\alpha \Vert {\hat{e}}_h\Vert _{L^\infty (0,t;{\hat{V}}_{h0})}^2 \\&\le C\big ( |\delta _h|_{L^\infty (0,t;({\hat{V}}_{h0})')}^2 + |{\dot{\delta }}_h|_{L^1(0,t;({\hat{V}}_{h0})')}^2 + \Vert {\hat{e}}_h(0)\Vert _{{\hat{V}}_{h0}}^2\big ). \end{aligned}$$

Step 3: Bound on consistency error and on initial error. Owing to the proof of Lemma 3, there is \(c_\delta \) such that for all \(h>0\),

$$\begin{aligned} \Vert \delta _h(t;{\cdot })\Vert _{({\hat{V}}_{h0})'}\le c_\delta |p(t)|_{*,h}, \qquad \Vert {\dot{\delta }}_h(t;{\cdot })\Vert _{({\hat{V}}_{h0})'}\le c_\delta |\partial _tp(t)|_{*,h}. \end{aligned}$$

Moreover, since \(e_{\mathcal {T}}(0)=0\), the coercivity of the discrete bilinear form \(b_h\) implies that \(\alpha \Vert {\hat{e}}_h(0)\Vert _{{\hat{V}}_{h0}}^2 \le b_h((0,e_{\mathcal {F}}(0)),(0,e_{\mathcal {F}}(0)))\) with \(e_{\mathcal {F}}(0)=p_{\mathcal {F}}(0)-\varPi _{\mathcal {F}}^k(p_0)\). Eq. (28) and the linearity of \(b_h\) with respect to its first argument imply that

$$\begin{aligned} b_h((0,p_{\mathcal {F}}(0)),(0,e_{\mathcal {F}}(0))) = - b_h((p_{\mathcal {T}}(0),0),(0,e_{\mathcal {F}}(0))) = - b_h((\varPi _{\mathcal {T}}^{k'}(p_0),0),(0,e_{\mathcal {F}}(0))). \end{aligned}$$

Hence, we have \(\alpha \Vert {\hat{e}}_h(0)\Vert _{{\hat{V}}_{h0}}^2 \le -b_h({\hat{I}}_h(p_0),(0,e_{\mathcal {F}}(0)))\), and since \(b_h({\hat{J}}_h(p_0),(0,e_{\mathcal {F}}(0)))=0\) by definition of the HHO solution map, we infer that

$$\begin{aligned} \alpha \Vert {\hat{e}}_h(0)\Vert _{{\hat{V}}_{h0}}^2 \le b_h({\hat{J}}_h(p_0)-{\hat{I}}_h(p_0),(0,e_{\mathcal {F}}(0))). \end{aligned}$$

The continuity of \(b_h\) together with the bound (20) applied to the function \(p_0\), which is in \(H^{1+\nu }(\varOmega )\) by assumption, imply that \(\Vert {\hat{e}}_h(0)\Vert _{{\hat{V}}_{h0}} \le C|p_0|_{*,h}\). Putting the above estimates together proves the error bound (31). Furthermore, the estimate (32) follows from (31) after invoking the triangle inequality and observing that

$$\begin{aligned} \Vert {\varvec{G}}_{\mathcal {T}}({\hat{p}}_h)-\nabla p\Vert _{{\varvec{L}}^2(\frac{1}{\rho };\varOmega )}&\le \Vert {\varvec{G}}_{\mathcal {T}}({\hat{p}}_h)-{\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(p))\Vert _{{\varvec{L}}^2(\frac{1}{\rho };\varOmega )} + \Vert {\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(p))-\nabla p\Vert _{{\varvec{L}}^2(\frac{1}{\rho };\varOmega )} \\&\le C\Vert {\hat{e}}_h\Vert _{{\hat{V}}_{h0}} + |p|_{*,h}, \end{aligned}$$

owing to the upper bound from Lemma 1. Finally, the estimate (33) follows from (32) after invoking the approximation property (22) (recalling that \(k'\ge k\)). \(\square \)

We now establish an improved \(L^2\)-error estimate. For all \(t\in J\), we consider the seminorm \(|p(t)|_{**,h}\) defined in (19), as well as \(|\partial _tp(t)|_{**,h}\) which is defined similarly using \(\partial _t{\varvec{\gamma }}\), \(\partial _t\eta \) and \(\partial _tp\) instead of \({\varvec{\gamma }}\), \(\eta \) and p (recall that \({\varvec{\gamma }}\) and \(\eta \) are defined in (30)). We also set \(|p|_{L^\infty (0,t;**,h)} \mathrel {\mathop :}=\sup _{s\in (0,t)} |p(s)|_{**,h}\) and \(|\partial _tp|_{L^1(0,t;**,h)} \mathrel {\mathop :}=\int _0^t |\partial _tp(s)|_{**,h}ds\) for all \(t\in J\). The following result shows that the \(L^\infty (0,t;L^2)\)-error converges as \({\mathcal {O}}(h^{k+2})\) for smooth solutions and if full elliptic regularity pickup is available.

Theorem 2

(\(L^2\)-error estimate) Let p solve (24) with the initial conditions (25), and let \({\hat{p}}_h\) solve (28) with the initial conditions (29). Assume that \(p\in C^1({\overline{J}};H^{1+\nu }(\varOmega ))\cap C^2({\overline{J}};L^2(\varOmega ))\) with \(\nu >\frac{1}{2}\). Assume that there is an elliptic regularity pickup with index \(s\in (\frac{1}{2},1]\). There is C such that for all \(h>0\) and all \(t\in J\),

$$\begin{aligned} \Vert p_{\mathcal {T}}-\varPi _{\mathcal {T}}^{k'}(p)\Vert _{L^\infty (0,t;L^2(\frac{1}{\kappa };\varOmega ))} \le C\, \ell _\varOmega ^{1-s}h^s \big ( |p|_{L^\infty (0,t;**,h)} + |\partial _tp|_{L^1(0,t;**,h)}\big ). \end{aligned}$$
(35)

Moreover, if there is \(l\in \{1,\ldots ,k+1\}\) so that \(p\in C^1({\overline{J}};H^{l+1}(\varOmega ))\), and assuming additionally that \(B(p) \in C^1({\overline{J}};H^{l-1+\delta }(\varOmega ))\) with \(\delta \mathrel {\mathop :}=1\) if \(k'=0\) and \(\delta \mathrel {\mathop :}=0\) otherwise, we have

$$\begin{aligned} \Vert p_{\mathcal {T}}-\varPi _{\mathcal {T}}^{k'}(p)\Vert _{L^\infty (0,t;L^2(\frac{1}{\kappa };\varOmega ))}\le & {} C\, \ell _\varOmega ^{1-s}h^{l+s} \big ( |p|_{W^{1,\infty }(0,t;H^{l+1}(\varOmega ))} \nonumber \\&+\, \ell _\varOmega ^\delta |B(p)|_{W^{1,\infty }(0,t;H^{l-1+\delta }(\varOmega ))} \big ). \end{aligned}$$
(36)

Proof

Step 1: Error equation. We consider a different error decomposition than in Theorem 1, i.e., we now set \({\hat{e}}_h(t)\mathrel {\mathop :}={\hat{p}}_h(t)-{\hat{J}}_h(p(t))\) for all \(t\in J\), where \({\hat{J}}_h\) is the HHO solution map. We infer that

$$\begin{aligned}&(\partial _{tt}e_{\mathcal {T}}(t),q_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} + b_h({\hat{e}}_h(t),{\hat{q}}_h) \\&\quad = (f(t),q_{\mathcal {T}})_{L^2(\varOmega )} - (\partial _{tt}J_{\mathcal {T}}(p(t)),q_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} - b_h({\hat{J}}_h(p(t)),{\hat{q}}_h) \\&\quad =(\partial _{tt}p(t)-\partial _{tt}J_{\mathcal {T}}(p(t)),q_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} + (B(p(t)),q_{\mathcal {T}})_{L^2(\varOmega )} - b_h({\hat{J}}_h(p(t)),{\hat{q}}_h) \\&\quad =(\partial _{tt}\varPi _{\mathcal {T}}^{k'}(p(t))-\partial _{tt}J_{\mathcal {T}}(p(t)),q_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} =\mathrel {\mathop :}(\partial _{tt}\theta (t),q_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )}, \end{aligned}$$

with \(\theta (t)\mathrel {\mathop :}=\varPi _{\mathcal {T}}^{k'}(p(t))-J_{\mathcal {T}}(p(t))\) for all \(t\in J\).

Step 2: Stability argument. Let \(\chi \in J\) and let us set \({\hat{z}}_h(t)\mathrel {\mathop :}=-\int _\chi ^t {\hat{e}}_h(s)ds\) for all \(t\in J\), so that \(\partial _t{\hat{z}}_h(t)=-{\hat{e}}_h(t)\). Testing the above error equation with \({\hat{q}}_h\mathrel {\mathop :}={\hat{z}}_h(t)\) for all \(t\in J\), integrating by parts in time, and using the symmetry of the discrete bilinear form \(b_h\), we infer that

$$\begin{aligned}&\frac{d}{dt}\Big \{ (\partial _te_{\mathcal {T}}(t),z_{\mathcal {T}}(t))_{L^2(\frac{1}{\kappa };\varOmega )} + \frac{1}{2}\Vert e_{\mathcal {T}}(t)\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 - \frac{1}{2} b_h({\hat{z}}_h(t),{\hat{z}}_h(t)) \Big \} \\&\quad = \frac{d}{dt} (\partial _t\theta (t),z_{\mathcal {T}}(t))_{L^2(\frac{1}{\kappa };\varOmega )} + (\partial _t\theta (t),e_{\mathcal {T}}(t))_{L^2(\frac{1}{\kappa };\varOmega )}. \end{aligned}$$

Integrating this identity in time from 0 to \(\chi \) and since \({\hat{z}}_h(\chi )=0\), we infer that

$$\begin{aligned}&\frac{1}{2}\Vert e_{\mathcal {T}}(\chi )\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 + \frac{1}{2} b_h({\hat{z}}_h(0),{\hat{z}}_h(0)) = \frac{1}{2}\Vert e_{\mathcal {T}}(0)\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 \\&\quad - (\partial _t(\theta (0)-e_{\mathcal {T}}(0)), z_{\mathcal {T}}(0))_{L^2(\frac{1}{\kappa };\varOmega )} + \int _0^\chi (\partial _t\theta (s),e_{\mathcal {T}}(s))_{L^2(\frac{1}{\kappa };\varOmega )}ds. \end{aligned}$$

Since \(\theta (0)-e_{\mathcal {T}}(0)=\varPi _{\mathcal {T}}^{k'}(p(0))-p_{\mathcal {T}}(0)=0\), \(\partial _t(\theta (0)-e_{\mathcal {T}}(0))=\varPi _{\mathcal {T}}^{k'}(\partial _tp(0))-\partial _tp_{\mathcal {T}}(0)=0\), and \(b_h({\hat{z}}_h(0),{\hat{z}}_h(0))\ge 0\), we obtain

$$\begin{aligned} \frac{1}{2}\Vert e_{\mathcal {T}}(\chi )\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 \le \frac{1}{2}\Vert \theta (0)\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 + \int _0^\chi (\partial _t\theta (s),e_{\mathcal {T}}(s))_{L^2(\frac{1}{\kappa };\varOmega )}ds. \end{aligned}$$

Reasoning as in Step 2 of the proof of Theorem 1 and writing t in lieu of \(\chi \), this implies that

$$\begin{aligned} \frac{1}{4}\Vert e_{\mathcal {T}}\Vert _{L^\infty (0,t;L^2(\frac{1}{\kappa };\varOmega ))}^2 \le \frac{1}{2}\Vert \theta (0)\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 + \Vert \partial _t\theta \Vert _{L^1(0,t;L^2(\frac{1}{\kappa };\varOmega ))}^2. \end{aligned}$$

Since \(p_{\mathcal {T}}-\varPi _{\mathcal {T}}^{k'}(p)=e_{\mathcal {T}}-\theta \), invoking the triangle inequality we conclude that

$$\begin{aligned} \Vert p_{\mathcal {T}}-\varPi _{\mathcal {T}}^{k'}(p)\Vert _{L^\infty (0,t;L^2(\frac{1}{\kappa };\varOmega ))} \le C\big ( \Vert \theta \Vert _{L^\infty (0,t;L^2(\frac{1}{\kappa };\varOmega ))} + \Vert \partial _t\theta \Vert _{L^1(0,t;L^2(\frac{1}{\kappa };\varOmega ))}\big ). \end{aligned}$$

Step 3: Bound on consistency error. Since \(\partial _t\theta = \varPi _{\mathcal {T}}^{k'}(\partial _tp)-J_{\mathcal {T}}(\partial _tp)\), we can invoke (21) to infer that (35) holds true. Finally, (36) follows from (35) and (23). \(\square \)

4 Acoustic Wave Equation: First-Order Formulation

4.1 Model Problem

A classical reformulation of the second-order PDE (24) is obtained by introducing two auxiliary variables, the scalar velocity \(v\mathrel {\mathop :}=\partial _t p\) \(\left[ \frac{\hbox {Pa}}{\hbox {s}}\right] \) and the dual variable \({\varvec{\sigma }}\mathrel {\mathop :}=\frac{1}{\rho }\nabla p\) \(\left[ \frac{\hbox {m}}{\hbox {s}^{2}}\right] \). This leads to the following coupled PDEs:

$$\begin{aligned} \left\{ \begin{aligned}\rho \partial _t {\varvec{\sigma }}-\nabla v&= {\varvec{0}}\\ \frac{1}{\kappa }\partial _t v- \nabla {\cdot }{\varvec{\sigma }}&=f \end{aligned}\right. \qquad \text {in }J\times \varOmega , \end{aligned}$$
(37)

together with the initial conditions:

$$\begin{aligned} v(0) =v_{0},\qquad {\varvec{\sigma }}(0) =\frac{1}{\rho }\nabla p_0 \qquad \text {in }\varOmega , \end{aligned}$$
(38)

and the boundary condition

$$\begin{aligned} v =0 \qquad \text {on }J\times \varGamma . \end{aligned}$$
(39)

The functional setting from Sect. 3.1 implies that \((v,{\varvec{\sigma }})\in C^0({\overline{J}};L^2(\varOmega )\times {\varvec{L}}^2(\varOmega ))\). Assuming that \(v\in H^1(J;L^2(\varOmega )) \cap L^2(J;H^1_0(\varOmega ))\) and \({\varvec{\sigma }}\in H^1(J;{\varvec{L}}^2(\varOmega ))\) (other functional settings are possible for the mixed formulation), we obtain

$$\begin{aligned} \left\{ \begin{aligned} (\partial _t{\varvec{\sigma }}(t),{\varvec{\tau }})_{L^2(\rho ;\varOmega )} - (\nabla v(t),{\varvec{\tau }})_{{\varvec{L}}^2(\varOmega )}&= 0, \\ (\partial _tv(t),w)_{L^2(\frac{1}{\kappa };\varOmega )} + ({\varvec{\sigma }}(t),\nabla w)_{{\varvec{L}}^2(\varOmega )}&= (f(t),w)_{L^2(\varOmega )}, \end{aligned}\right. \end{aligned}$$
(40)

for all \(({\varvec{\tau }},w)\in {\varvec{L}}^2(\varOmega )\times H^1_0(\varOmega )\) and a.e. \(t\in J\).

4.2 HHO Space Semi-discretization

In the space semi-discrete HHO scheme for the first-order wave equation, one approximates v by a hybrid unknown \({\hat{v}}_h\in C^1({\overline{J}};{\hat{V}}_{h0})\) and \({\varvec{\sigma }}\) by a cellwise unknown \({\varvec{\sigma }}_{\mathcal {T}}\in C^1({\overline{J}};{\varvec{W}}_{\mathcal {T}})\) (recall that ). The space semi-discrete problem reads as follows: For all \(t\in {\overline{J}}\),

$$\begin{aligned} \left\{ \begin{aligned}&(\partial _t {\varvec{\sigma }}_{\mathcal {T}}(t),{\varvec{\tau }}_{\mathcal {T}})_{{\varvec{L}}^2(\rho ;\varOmega )} - ({\varvec{G}}_{\mathcal {T}}({\hat{v}}_h(t)),{\varvec{\tau }}_{\mathcal {T}})_{{\varvec{L}}^2(\varOmega )} =0,\\&\quad (\partial _tv_{\mathcal {T}}(t),w_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} + ({\varvec{\sigma }}_{\mathcal {T}}(t),{\varvec{G}}_{\mathcal {T}}({\hat{w}}_h))_{{\varvec{L}}^2(\varOmega )} + {\tilde{s}}_h({\hat{v}}_h(t),{\hat{w}}_h) = (f(t),w_{\mathcal {T}})_{L^2(\varOmega )}, \end{aligned}\right. \nonumber \\ \end{aligned}$$
(41)

for all \(({\varvec{\tau }}_{\mathcal {T}},{\hat{w}}_h)\in {\varvec{W}}_{\mathcal {T}}\times {\hat{V}}_{h0}\), with

$$\begin{aligned} {\tilde{s}}_h({\hat{v}}_h,{\hat{w}}_h) \mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h} {\tilde{\tau }}_{\partial T} (S_{\partial T}({\hat{v}}_T),S_{\partial T}({\hat{w}}_T))_{L^2(\partial T)}, \end{aligned}$$
(42)

recalling that \(S_{\partial T}\) is defined by either (7) in the equal-order case (\(k'=k\)) or (8) in the mixed-order case (\(k'=k+1\)). Moreover, \({\tilde{\tau }}_{\partial T}>0\) is a stabilization parameter which will be taken equal to \({\tilde{\tau }}_{\partial T}\mathrel {\mathop :}=\frac{c}{\kappa }\frac{\ell _\varOmega }{h_T}=\frac{1}{\rho c}\frac{\ell _\varOmega }{h_T}\) so that \({\tilde{s}}_h\mathrel {\mathop :}=\frac{\ell _\varOmega }{c}s_h\) (recall that \(\ell _\varOmega \mathrel {\mathop :}={\text {diam}}(\varOmega )\) is a global length scale associated with the spatial domain \(\varOmega \)). The initial conditions for (41) only concern \({\varvec{\sigma }}_{\mathcal {T}}\) and \(v_{\mathcal {T}}\) and are as follows:

$$\begin{aligned} {\varvec{\sigma }}_{\mathcal {T}}(0) = \frac{1}{\rho } {\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(p_0)),\qquad v_{\mathcal {T}}(0) = \varPi _{\mathcal {T}}^{k'}(v_0). \end{aligned}$$
(43)

The boundary condition on v is encoded in the fact that \({\hat{v}}_h(t)\in {\hat{V}}_{h0}\) for all \(t\in {\overline{J}}\).

Remark 3

(Comparison) We observe that the space semi-discrete problems (28) and (41) are not equivalent. Indeed assume that the pair \(({\varvec{\sigma }}_{\mathcal {T}},{\hat{v}}_h)\) solves (41) and let us set \({\hat{r}}_h(t) \mathrel {\mathop :}={\hat{I}}_h(p_0)+\int _0^t {\hat{v}}_h(s)ds\). Then \({\hat{r}}_h\) satisfies the initial conditions (29) and we have \({\hat{r}}_h(t)\in {\hat{V}}_{h0}\) for all \(t\in J\), so that the only remaining issue is whether \({\hat{r}}_h\) verifies (28). This turns out not to be the case. Indeed, the first equation in (41) implies that \(\rho \partial _t{\varvec{\sigma }}_{\mathcal {T}}(t)={\varvec{G}}_{\mathcal {T}}({\hat{v}}_h(t))\) for all \(t\in J\). Since \(\rho {\varvec{\sigma }}_{\mathcal {T}}(0) = {\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(p_0))\), we infer that \(\rho {\varvec{\sigma }}_{\mathcal {T}}(t)= {\varvec{G}}_{\mathcal {T}}({\hat{I}}_h(p_0)) + \int _0^t {\varvec{G}}_{\mathcal {T}}({\hat{v}}_h(s))ds = {\varvec{G}}_{\mathcal {T}}\big ({\hat{I}}_h(p_0)+\int _0^t {\hat{v}}_h(s)ds\big ) = {\varvec{G}}_{\mathcal {T}}({\hat{r}}_h(t))\). The second equation in (41) then implies that for all \(t\in J\) and all \({\hat{w}}_h\in {\hat{V}}_{h0}\),

$$\begin{aligned}&(\partial _{tt}r_{\mathcal {T}}(t),w_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} + ({\varvec{G}}_{\mathcal {T}}({\hat{r}}_h),{\varvec{G}}_{\mathcal {T}}({\hat{w}}_h))_{{\varvec{L}}^2(\frac{1}{\rho };\varOmega )} + {\tilde{s}}_h(\partial _t{\hat{r}}_h(t),{\hat{w}}_h)\nonumber \\&\quad = (f(t),w_{\mathcal {T}})_{L^2(\varOmega )}, \end{aligned}$$
(44)

which differs from (28) in the first argument of the stabilization term.

Remark 4

(Link to HDG) Similarly to Remark 2, the space semi-discrete HDG formulation from [26] can be connected to (41) by identifying a suitable numerical flux trace that depends on the stabilization operator \(S_{\partial T}\) and its adjoint. Notice however that the weighting of the stabilization bilinear form differs, since we take here \({\tilde{\tau }}_{\partial T}={\mathcal {O}}(h_T^{-1})\), whereas \({\tilde{\tau }}_{\partial T}={\mathcal {O}}(1)\) in [26]. We notice that the second choice is more interesting if an explicit time-stepping scheme is used owing to the improved CFL condition. However, the numerical experiments reported in [6] for the acoustic wave equation indicate that the first choice leads to a superconvergent \(L^2\)-estimate with a simple post-processing. The question of using a more sophisticated post-processing for the second choice is left to future work.

4.3 Error Analysis

To simplify the tracking of some parameters, we hide the nondimensional factor \(\frac{cT_{\text {f}}}{\ell _\varOmega }\) in the generic constants used in the error analysis. This means that we are assuming that the simulation time is not excessively long with respect to the characteristic time needed by a wave to cross the domain. For a pair \(({\varvec{\tau }},w)\in {\varvec{H}}^{\nu }(\varOmega )\times H^1_0(\varOmega )\), \(\nu >\frac{1}{2}\), we define the seminorm

$$\begin{aligned} |({\varvec{\tau }},w)|_{*,h}^2 \mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h} \big \{ \Vert {\varvec{\theta }}\Vert _{{\varvec{L}}^2(\rho ;T)}^2 + h_T\Vert {\varvec{\theta }}{\cdot }{\varvec{n}}_T\Vert _{L^2(\rho ;\partial T)}^2 + \Vert \nabla \eta \Vert _{{\varvec{L}}^2(T)}^2 \big \}, \end{aligned}$$
(45)

with \({\varvec{\theta }}\mathrel {\mathop :}={\varvec{\tau }}-{\varvec{\varPi }}_{\mathcal {T}}^{k}({\varvec{\tau }})\) and \(\eta \mathrel {\mathop :}=w-{\mathcal {P}}_{\mathcal {T}}^{k+1}(w)\). Moreover, for a pair \(({\varvec{\tau }},w)\in C^1({\overline{J}};{\varvec{H}}^{\nu }(\varOmega )\times H^1_0(\varOmega ))\), we write \(|({\varvec{\tau }},w)|_{L^\infty (0,t;*,h)} \mathrel {\mathop :}=\sup _{s\in (0,t)}|({\varvec{\tau }}(s),w(s))|_{*,h}\) and \(| (\partial _t{\varvec{\tau }},\partial _tw)|_{L^1(0,t;*,h)} \mathrel {\mathop :}=\int _0^t|(\partial _t{\varvec{\tau }}(s),\partial _t w(s))|_{*,h}ds\).

Theorem 3

(Energy-error estimate) Let \(({\varvec{\sigma }},v)\) solve (40) with the initial conditions (38) and let \(({\varvec{\sigma }}_{\mathcal {T}},{\hat{v}}_h)\) solve (41) with the initial conditions (43). Assume that \(({\varvec{\sigma }},v)\in C^1({\overline{J}};{\varvec{H}}^{\nu }(\varOmega )\times H^1_0(\varOmega ))\), \(\nu >\frac{1}{2}\). There is C such that for all \(h>0\) and all \(t\in J\),

$$\begin{aligned}&\Vert v_{\mathcal {T}}-\varPi _{\mathcal {T}}^{k'}(v)\Vert _{L^\infty (0,t:L^2(\frac{1}{\kappa };\varOmega ))} + \Vert {\varvec{\sigma }}_{\mathcal {T}}-{\varvec{\varPi }}_{\mathcal {T}}^k({\varvec{\sigma }})\Vert _{L^\infty (0,t;{\varvec{L}}^2(\rho ;\varOmega ))} \nonumber \\&\quad \le C\big (|({\varvec{\sigma }},v)|_{L^\infty (0,t;*,h)} + |(\partial _t{\varvec{\sigma }},\partial _tv)|_{L^1(0,t;*,h)} \big ). \end{aligned}$$
(46)

Moreover, we have

$$\begin{aligned}&\Vert v_{\mathcal {T}}-v\Vert _{L^\infty (0,t:L^2(\frac{1}{\kappa };\varOmega ))} + \Vert {\varvec{\sigma }}_{\mathcal {T}}-{\varvec{\sigma }}\Vert _{L^\infty (0,t;{\varvec{L}}^2(\rho ;\varOmega ))} \nonumber \\&\quad \le C\big (|({\varvec{\sigma }},v)|_{L^\infty (0,t;*,h)} + |(\partial _t{\varvec{\sigma }},\partial _tv)|_{L^1(0,t;*,h)} \big ) + \Vert v-\varPi _{\mathcal {T}}^{k'}(v)\Vert _{L^\infty (0,t:L^2(\frac{1}{\kappa };\varOmega ))}, \end{aligned}$$
(47)

and if there is \(l\in \{1,\ldots ,k+1\}\) so that \(({\varvec{\sigma }},v)\in C^1({\overline{J}};{\varvec{H}}^l(\varOmega )\times H^{l+1}(\varOmega ))\), letting \(\rho _\infty \mathrel {\mathop :}=\Vert \rho \Vert _{L^\infty (\varOmega )}\), we have

$$\begin{aligned}&\Vert v_{\mathcal {T}}-v\Vert _{L^\infty (0,t:L^2(\frac{1}{\kappa };\varOmega ))} + \Vert {\varvec{\sigma }}_{\mathcal {T}}-{\varvec{\sigma }}\Vert _{L^\infty (0,t;{\varvec{L}}^2(\rho ;\varOmega ))}\nonumber \\&\quad \le C\, h^l \big (\rho _\infty |{\varvec{\sigma }}|_{W^{1,\infty }(0,t;{\varvec{H}}^l(\varOmega ))}+|v|_{W^{1,\infty }(0,t;H^{l+1}(\varOmega ))} \big ), \end{aligned}$$
(48)

Proof

Step 1: Error equation. Let us set \({\varvec{\eta }}_{\mathcal {T}}(t)\mathrel {\mathop :}={\varvec{\sigma }}_{\mathcal {T}}(t)-{\varvec{\varPi }}_{\mathcal {T}}^k({\varvec{\sigma }}(t))\) and \({\hat{e}}_h(t)\mathrel {\mathop :}={\hat{v}}_h(t)-{\hat{I}}_h(v(t))\) for all \(t\in J\). We observe that for all \({\varvec{\tau }}_{\mathcal {T}}\in {\varvec{W}}_{\mathcal {T}}\) and all \(t\in J\), we have

$$\begin{aligned} (\partial _t{\varvec{\eta }}_{\mathcal {T}}(t),{\varvec{\tau }}_{\mathcal {T}})_{{\varvec{L}}^2(\rho ;\varOmega )}-({\varvec{G}}_h({\hat{e}}_h(t)),{\varvec{\tau }}_{\mathcal {T}})_{{\varvec{L}}^2(\varOmega )} = 0, \end{aligned}$$

since \({\varvec{G}}_h({\hat{I}}_h(v(t)))={\varvec{\varPi }}_{\mathcal {T}}^k(\nabla v)={\varvec{\varPi }}_{\mathcal {T}}^k(\partial _t{\varvec{\sigma }}(t)) =\partial _t{\varvec{\varPi }}_{\mathcal {T}}^k({\varvec{\sigma }}(t))\). This implies that

$$\begin{aligned} \rho \partial _t{\varvec{\eta }}_{\mathcal {T}}(t) = {\varvec{G}}_h({\hat{e}}_h(t)), \qquad \forall t\in J. \end{aligned}$$
(49)

Moreover, we have for all \({\hat{w}}_h\in {\hat{V}}_{h0}\) and all \(t\in J\),

$$\begin{aligned}&(\partial _te_{\mathcal {T}}(t),w_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} + ({\varvec{\eta }}_{\mathcal {T}}(t),{\varvec{G}}_h({\hat{w}}_h))_{{\varvec{L}}^2(\varOmega )} + {\tilde{s}}_h({\hat{e}}_h(t),{\hat{w}}_h) \\&\quad ={} (\tfrac{1}{\kappa } \partial _tv(t)-\nabla {\cdot }{\varvec{\sigma }}(t),w_{\mathcal {T}})_{L^2(\varOmega )} - (\partial _t\varPi _{\mathcal {T}}^{k'}(v(t)),w_{\mathcal {T}})_{L^2(\frac{1}{\kappa };\varOmega )} \\&\qquad \quad - ({\varvec{\varPi }}_{\mathcal {T}}^k({\varvec{\sigma }}(t)),{\varvec{G}}_h({\hat{w}}_h))_{{\varvec{L}}^2(\varOmega )} - {\tilde{s}}_h({\hat{I}}_h(v(t)),{\hat{w}}_h) \\&\quad = {} -(\nabla {\cdot }{\varvec{\sigma }}(t),w_{\mathcal {T}})_{L^2(\varOmega )}- ({\varvec{\varPi }}_{\mathcal {T}}^k({\varvec{\sigma }}(t)),{\varvec{G}}_h({\hat{w}}_h))_{{\varvec{L}}^2(\varOmega )} - {\tilde{s}}_h({\hat{I}}_h(v(t)),{\hat{w}}_h) \\&\quad = \sum _{T\in {\mathcal {T}}_h} ({\varvec{\theta }}_T(t){\cdot }{\varvec{n}}_T,w_{\partial T}-w_T)_{L^2(\partial T)} - {\tilde{s}}_h({\hat{I}}_h(v(t)),{\hat{w}}_h), \end{aligned}$$

with \({\varvec{\theta }}_{\mathcal {T}}(t)\mathrel {\mathop :}={\varvec{\sigma }}(t)-{\varvec{\varPi }}_{\mathcal {T}}^{k}({\varvec{\sigma }}(t))\) for all \(t\in J\), and where we used \(({\varvec{\theta }}_T(t),\nabla w_T)_{{\varvec{L}}^2(T)}=0\). Let \(\delta _h(t;{\cdot })\in ({\hat{V}}_{h0})'\) denote the linear form defined by the above right-hand side. Let \({\dot{\delta }}_h(t;{\cdot })\in ({\hat{V}}_{h0})'\) be the linear form defined similarly by using \(\partial _t{\varvec{\theta }}(t)\) and \(\partial _tv(t)\).

Step 2: Stability argument. Testing the above error equation with \({\hat{w}}_h\mathrel {\mathop :}={\hat{e}}_h(t)\) for all \(t\in J\), using (49) and the product rule for the time derivative on the right-hand side, and recalling that \({\tilde{s}}_h=\frac{\ell _\varOmega }{c}s_h\), we infer that

$$\begin{aligned}&\frac{d}{dt}\Big \{ \frac{1}{2}\Vert e_{\mathcal {T}}(t)\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 + \frac{1}{2}\Vert {\varvec{\eta }}_{\mathcal {T}}(t)\Vert _{{\varvec{L}}^2(\rho ;\varOmega )}^2 \Big \}+ \frac{\ell _\varOmega }{c} s_h({\hat{e}}_h(t),{\hat{e}}_h(t))\\&\quad = \frac{d}{dt}\delta _h(t;{\hat{r}}_h(t)) - {\dot{\delta }}_h(t;{\hat{r}}_h(t)), \end{aligned}$$

with \({\hat{r}}_h(t)\mathrel {\mathop :}=\int _0^t {\hat{e}}_h(s)ds\). Integrating in time from 0 to t and since \(e_{\mathcal {T}}(0)=0\), \({\varvec{\eta }}_{\mathcal {T}}(0)={\varvec{0}}\), and \({\hat{r}}_h(0)=0\), we obtain

$$\begin{aligned}&\frac{1}{2}\Vert e_{\mathcal {T}}(t)\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 + \frac{1}{2}\Vert {\varvec{\eta }}_{\mathcal {T}}(t)\Vert _{{\varvec{L}}^2(\rho ;\varOmega )}^2 + \frac{\ell _\varOmega }{c}\int _0^t s_h({\hat{e}}_h(s),{\hat{e}}_h(s))ds \\&\quad \le \Vert \delta _h(t;{\cdot })\Vert _{({\hat{V}}_{h0})'}\Vert {\hat{r}}_h(t)\Vert _{{\hat{V}}_{h0}} + \Vert {\dot{\delta }}_h\Vert _{L^1(0,t;({\hat{V}}_{h0})')} \Vert {\hat{r}}_h\Vert _{L^\infty (0,t;{\hat{V}}_{h0})}, \end{aligned}$$

where we used Hölder’s inequality in time on the right-hand side. Since \({\varvec{\eta }}_{\mathcal {T}}(0)={\varvec{0}}\), the identity (49) implies that

$$\begin{aligned} {\varvec{\eta }}_{\mathcal {T}}(t) = \frac{1}{\rho }{\varvec{G}}_h({\hat{r}}_h(t)), \qquad \forall t\in J. \end{aligned}$$

Lemma 1 implies that \(\sqrt{\alpha }\Vert {\hat{r}}_h(t)\Vert _{{\hat{V}}_{h0}} \le \Vert {\varvec{\eta }}_{\mathcal {T}}(t)\Vert _{{\varvec{L}}^2(\rho ;\varOmega )} + |{\hat{r}}_h(t)|_S\), and we have

$$\begin{aligned} |{\hat{r}}_h(t)|_S^2&= \sum _{T\in {\mathcal {T}}_h} \tau _{\partial T}\bigg \Vert S_{\partial T}\bigg (\int _0^t{\hat{e}}_T(s)ds\bigg )\bigg \Vert _{L^2(\partial T)}^2 = \sum _{T\in {\mathcal {T}}_h} \tau _{\partial T}\bigg \Vert \int _0^tS_{\partial T}({\hat{e}}_T(s))ds\bigg \Vert _{L^2(\partial T)}^2 \\&\le \sum _{T\in {\mathcal {T}}_h} \tau _{\partial T} t \int _0^t\Vert S_{\partial T}({\hat{e}}_T(s))\Vert _{L^2(\partial T)}^2ds \le T_{\text {f}} \int _0^t s_h({\hat{e}}_h(s),{\hat{e}}_h(s))ds. \end{aligned}$$

(Recall that \(t\le T_{\text {f}}\) since \(J\mathrel {\mathop :}=(0,T_{\text {f}})\).) This implies that

$$\begin{aligned}&\frac{1}{2}\Vert e_{\mathcal {T}}(t)\Vert _{L^2(\frac{1}{\kappa };\varOmega )}^2 + \frac{1}{4}\Vert {\varvec{\eta }}_{\mathcal {T}}(t)\Vert _{{\varvec{L}}^2(\rho ;\varOmega )}^2 + \frac{1}{2} \frac{\ell _\varOmega }{c} \int _0^t s_h({\hat{e}}_h(s),{\hat{e}}_h(s))ds \\&\quad \le C\Vert \delta _h\Vert _{L^\infty (0,t;({\hat{V}}_{h0})')}^2 + \Vert {\dot{\delta }}_h\Vert _{L^1(0,t;({\hat{V}}_{h0})')} \Vert {\hat{r}}_h\Vert _{L^\infty (0,t;{\hat{V}}_{h0})}. \end{aligned}$$

(Here, we hide the nondimensional factor \(\frac{cT_{\text {f}}}{\ell _\varOmega }\) in the generic constant C.) Since the left-hand side evaluated at any \(t'\in (0,t)\) is bounded by the right-hand side, we infer that

$$\begin{aligned}&\frac{1}{2}\Vert e_{\mathcal {T}}\Vert _{L^\infty (0,t:L^2(\frac{1}{\kappa };\varOmega ))}^2 + \frac{1}{4}\Vert {\varvec{\eta }}_{\mathcal {T}}\Vert _{L^\infty (0,t;{\varvec{L}}^2(\rho ;\varOmega ))}^2 + \frac{1}{2} \frac{\ell _\varOmega }{c} \int _0^t s_h({\hat{e}}_h(s),{\hat{e}}_h(s))ds \\&\quad \le C\Vert \delta _h\Vert _{L^\infty (0,t;({\hat{V}}_{h0})')}^2 + \Vert {\dot{\delta }}_h\Vert _{L^1(0,t;({\hat{V}}_{h0})')} \Vert {\hat{r}}_h\Vert _{L^\infty (0,t;{\hat{V}}_{h0})}. \end{aligned}$$

Reasoning as above leads to \(\alpha \Vert {\hat{r}}_h\Vert _{L^\infty (0,t;{\hat{V}}_{h0})}^2 \le \Vert {\varvec{\eta }}_{\mathcal {T}}\Vert _{L^\infty (0,t;{\varvec{L}}^2(\rho ;\varOmega ))}^2 + t \int _0^t s_h({\hat{e}}_h(s),{\hat{e}}_h(s))ds\), and invoking Young’s inequality for the last term on the right-hand side leads to

$$\begin{aligned} \frac{1}{2}\Vert e_{\mathcal {T}}\Vert _{L^\infty (0,t:L^2(\frac{1}{\kappa };\varOmega ))}^2 + \frac{1}{8}\Vert {\varvec{\eta }}_{\mathcal {T}}\Vert _{L^\infty (0,t;{\varvec{L}}^2(\rho ;\varOmega ))}^2 \le C\big (\Vert \delta _h\Vert _{L^\infty (0,t;({\hat{V}}_{h0})')}^2 + \Vert {\dot{\delta }}_h\Vert _{L^1(0,t;({\hat{V}}_{h0})')}^2 \big ). \end{aligned}$$

Step 3: Bound on consistency error. Since we have

$$\begin{aligned} \Vert \delta _h(t;{\cdot })\Vert _{({\hat{V}}_{h0})'} \le C|({\varvec{\sigma }}(t),v(t))|_{*,h}, \qquad \Vert {\dot{\delta }}_h(t;{\cdot })\Vert _{({\hat{V}}_{h0})'} \le C|(\partial _t{\varvec{\sigma }}(t),\partial _tv(t))|_{*,h}, \end{aligned}$$

the error estimate (46) follows from the above bound. Furthermore, (47) follows from (46) and the triangle inequality. Finally, the estimate (48) follows from (47) after invoking the approximation property (22). \(\square \)

Remark 5

(\(L^2\)-estimate) The derivation of an \(L^2\)-error estimate is left to future work. Following the links between the HHO and HDG formulations outlined in Remark 4, we believe that the technique of proof devised in [14] for HDG and using a specific HDG-projection to build the error decomposition can be adapted to the HHO setting. This is indeed confirmed by the convergence rates reported in our numerical experiments on smooth solutions in Sect. 6.1 with the tighter penalty parameter \({\tilde{\tau }}_{\partial T}={\mathcal {O}}(h_T^{-1})\) (recall that \({\tilde{\tau }}_{\partial T}={\mathcal {O}}(1)\) in the HDG setting), but remains to be proved theoretically.

5 Elastic Wave Equation

In this section, we extend the results of the previous sections to the elastic wave equation.

5.1 Second-Order Formulation

5.1.1 Model Problem

The second-order formulation in time of the elastic wave equation is as follows:

$$\begin{aligned} \rho \partial _{tt}{\varvec{u}}+ \nabla {\cdot }{\varvec{\sigma }}({\varvec{\epsilon }}({\varvec{u}})) = {\varvec{f}}\qquad \text {in }J\times \varOmega , \end{aligned}$$
(50)

where \(\rho \) \(\left[ \frac{\hbox {kg}}{\hbox {m}^{3}}\right] \) is the material density, \({\varvec{f}}\) \(\left[ \frac{\hbox {Pa}}{\hbox {m}}\right] \) is the source term, \({\varvec{u}}\) \(\left[ {\hbox {m}}\right] \) is the displacement field, and \({\varvec{\sigma }}({\varvec{\epsilon }}({\varvec{u}}))\) \(\left[ \hbox {Pa}\right] \) is the Cauchy stress tensor, which in the framework of linear isotropic elasticity depends on the displacement field by means of the linearized strain tensor \({\varvec{\epsilon }}({\varvec{u}}) \mathrel {\mathop :}=\frac{1}{2}(\nabla {\varvec{u}}+ \nabla {\varvec{u}}^{\mathrm {T}})\) as follows:

$$\begin{aligned} {\varvec{\sigma }}({\varvec{\epsilon }}({\varvec{u}})) \mathrel {\mathop :}={\mathbb {A}}{\varvec{\epsilon }}({\varvec{u}}) \mathrel {\mathop :}=2\mu {\varvec{\epsilon }}({\varvec{u}}) + \lambda (\nabla {\cdot }{\varvec{u}}) {\varvec{I}}, \end{aligned}$$
(51)

where \({\mathbb {A}}\) is the fourth-order stiffness tensor, \(\mu \) and \(\lambda \) are the Lamé parameters \(\left[ \hbox {Pa}\right] \) and \({\varvec{I}}\) is the identity tensor. Notice that \({\varvec{\sigma }}({\varvec{\epsilon }}({\varvec{u}}))\) and \({\varvec{\epsilon }}({\varvec{u}})\) take values in \({\mathbb {R}}^{d\times d}_{\mathrm {sym}}\) (the space composed of symmetric tensors of order d). The PDE (50) is subjected to the initial conditions \({\varvec{u}}(0) ={\varvec{u}}_{0}\) and \(\partial _t{\varvec{u}}(0) = {\varvec{v}}_{0}\) in \(\varOmega \), and for simplicity we consider the homogeneous Dirichlet condition \({\varvec{u}}={\varvec{0}}\) on \(J\times \varGamma \). We assume that the coefficients \(\rho \), \(\mu \), and \(\lambda \) are piecewise constant on a partition of \(\varOmega \) into a finite collection of polyhedral subdomains, and that \(\rho \), \(\mu \) take positive values and \(\lambda \) nonnegative values. The speed of P-waves is \(c_{\mathrm {P}} \mathrel {\mathop :}=\sqrt{\frac{\lambda +2\mu }{\rho }}\), and the speed of S-waves is \(c_{\mathrm {S}} \mathrel {\mathop :}=\sqrt{\frac{\mu }{\rho }}\). We assume that \({\varvec{f}}\in L^2(J;{\varvec{L}}^2(\varOmega ))\), \({\varvec{u}}_0\in {\varvec{H}}^1_0(\varOmega )\), and \({\varvec{v}}_0\in {\varvec{H}}^1_0(\varOmega )\), and as for the acoustic wave equation, the weak solution can be shown to satisfy \({\varvec{u}}\in C^0({\overline{J}};{\varvec{H}}^1_0(\varOmega ))\cap C^1({\overline{J}};{\varvec{L}}^2(\varOmega ))\). Assuming that \({\varvec{u}}\in H^2(J;{\varvec{L}}^2(\varOmega ))\), we have for a.e. \(t\in J\),

$$\begin{aligned} (\partial _{tt}{\varvec{u}}(t),{\varvec{v}})_{{\varvec{L}}^2(\rho ;\varOmega )} + a({\varvec{u}}(t),{\varvec{v}}) = ({\varvec{f}}(t),{\varvec{v}})_{{\varvec{L}}^2(\varOmega )}, \qquad \forall {\varvec{v}}\in {\varvec{H}}^1_0(\varOmega ), \end{aligned}$$
(52)

with the bilinear form

$$\begin{aligned} a({\varvec{u}},{\varvec{v}})\mathrel {\mathop :}=({\varvec{\epsilon }}({\varvec{u}}),{\varvec{\epsilon }}({\varvec{v}}))_{{\varvec{L}}^2({\mathbb {A}};\varOmega )} = ({\varvec{\epsilon }}({\varvec{u}}),{\varvec{\epsilon }}({\varvec{v}}))_{{\varvec{L}}^2(2\mu ;\varOmega )} + (\nabla {\cdot }{\varvec{u}},\nabla {\cdot }{\varvec{v}})_{L^2(\lambda ;\varOmega )}. \end{aligned}$$
(53)

5.1.2 HHO Space Semi-discretization and Error Estimates

Let us focus first on the second-order formulation in time. There are two main differences with respect to the HHO space semi-discretization for the acoustic wave equation. First, the discrete unknowns attached to the mesh cells and to the mesh faces are vector-valued. Second the polynomial degree used for the face unknowns is such that \(k\ge 1\), since a local Korn inequality has to be satisfied (see [16]). For the cell unknowns, we consider as before either the equal-order case (\(k'=k\)) or the mixed-order case (\(k'=k+1\)). Let us set \({\hat{{\varvec{V}}}}_h \mathrel {\mathop :}={\varvec{V}}_{{\mathcal {T}}}^{k'} \times {\varvec{V}}_{{\mathcal {F}}}^k\) with and . A generic element in \({\hat{{\varvec{V}}}}_h\) is denoted \({\hat{{\varvec{v}}}}_h\mathrel {\mathop :}=({\varvec{v}}_{\mathcal {T}},{\varvec{v}}_{\mathcal {F}})\), and we write \({\varvec{v}}_T\) (resp., \({\varvec{v}}_F\)) for the component of \({\hat{{\varvec{v}}}}_h\) attached to a generic mesh cell \(T\in {\mathcal {T}}_h\) (resp., face \(F\in {\mathcal {F}}_h\)). Let \({\hat{{\varvec{v}}}}_h\in {\hat{{\varvec{V}}}}_h\) and let \(T\in {\mathcal {T}}_h\). The local components of \({\hat{{\varvec{v}}}}_h\) attached to the cell T and its faces \(F\in {\mathcal {F}}_{\partial T}\) are denoted \({\hat{{\varvec{v}}}}_T\mathrel {\mathop :}=({\varvec{v}}_T,{\varvec{v}}_{\partial T}\mathrel {\mathop :}=({\varvec{v}}_F)_{F\in {\mathcal {F}}_{\partial T}}) \in {\hat{{\varvec{V}}}}_T \mathrel {\mathop :}={\varvec{V}}_T^{k'} \times {\varvec{V}}_{\partial T}^k\) with \({\varvec{V}}_T^{k'}\mathrel {\mathop :}={\mathbb {P}}^{k'}(T;{\mathbb {R}}^d)\) and . The homogeneous Dirichlet condition is enforced by considering the subspace \({\hat{{\varvec{V}}}}_{h0} \mathrel {\mathop :}={\varvec{V}}_{{\mathcal {T}}}^{k'} \times {\varvec{V}}_{{\mathcal {F}}0}^k = \{{\hat{{\varvec{v}}}}_h\in {\hat{{\varvec{V}}}}_h \ | \ {\varvec{v}}_F={\varvec{0}}\ \forall F\in {\mathcal {F}}_h^\partial \}\).

The HHO discretization is assembled by summing the contributions of all the mesh cells, and in each mesh cell the method is based on a strain reconstruction from the cell and the face unknowns and a stabilization operator connecting the trace of the cell unknowns to the face unknowns. The strain reconstruction operator \({\varvec{E}}_T:{\hat{{\varvec{V}}}}_T\rightarrow {\mathbb {P}}^{k}(T;{\mathbb {R}}^{d\times d}_{\mathrm {sym}})\) is such that for all \({\hat{{\varvec{v}}}}_T\in {\hat{{\varvec{V}}}}_T\) and all \({\varvec{q}}\in {\mathbb {P}}^{k}(T;{\mathbb {R}}^{d\times d}_{\mathrm {sym}})\),

$$\begin{aligned} ({\varvec{E}}_T({\hat{{\varvec{v}}}}_T),{\varvec{q}})_{{\varvec{L}}^2(T)} = -({\varvec{v}}_T,\nabla {\cdot }{\varvec{q}})_{{\varvec{L}}^2(T)} + ({\varvec{v}}_{\partial T},{\varvec{q}}{\cdot }{\varvec{n}}_T)_{{\varvec{L}}^2(\partial T)}, \end{aligned}$$
(54)

so that \({\varvec{E}}_T({\hat{{\varvec{v}}}}_T)\) can be evaluated componentwise by inverting the mass matrix associated with a chosen basis of the scalar-valued polynomial space \({\mathbb {P}}^{k}(T;{\mathbb {R}})\). We can also consider the displacement reconstruction operator \({\varvec{R}}_T:{\hat{{\varvec{V}}}}_T\rightarrow {\mathbb {P}}^{k+1}(T;{\mathbb {R}}^d)\) such that for all \({\hat{{\varvec{v}}}}_T\in {\hat{{\varvec{V}}}}_T\) and all \({\varvec{q}}\in {\mathbb {P}}^{k+1}(T;{\mathbb {R}}^d)\),

$$\begin{aligned} ({\varvec{\epsilon }}({\varvec{R}}_T({\hat{v}}_T)),{\varvec{\epsilon }}({\varvec{q}}))_{{\varvec{L}}^2(T)} = -({\varvec{v}}_T,\nabla {\cdot }{\varvec{\epsilon }}({\varvec{q}}))_{{\varvec{L}}^2(T)} + ({\varvec{v}}_{\partial T},{\varvec{\epsilon }}({\varvec{q}}){\cdot }{\varvec{n}}_T)_{{\varvec{L}}^2(\partial T)}, \end{aligned}$$
(55)

and we fix the rigid-body motions by prescribing the conditions \(\int _T{\varvec{R}}_T({\hat{{\varvec{v}}}}_T)=\int _T{\varvec{v}}_T\) and \(\int _T(\nabla {\varvec{R}}_T({\hat{v}}_T)-\nabla {\varvec{R}}_T({\hat{v}}_T)^{\mathrm {T}})=\int _{\partial T} {\varvec{v}}_{\partial T}\otimes {\varvec{n}}_T-{\varvec{n}}_T\otimes {\varvec{v}}_{\partial T}\). Notice that \({\varvec{R}}_T({\hat{{\varvec{v}}}}_T)\) can be evaluated by inverting the stiffness matrix associated with a chosen basis of the scalar-valued polynomial space \({\mathbb {P}}^{k+1}(T;{\mathbb {R}}^d)/{\mathbb {N}}_0\), where \({\mathbb {N}}_0\) is composed of the rigid-body motions (this coincides with the lowest-order Nédélec finite element space). To define the stabilization operator, let us set \({\varvec{\delta }}_{\partial T}({\hat{{\varvec{v}}}}_T)\mathrel {\mathop :}={\varvec{v}}_{T|\partial T}-{\varvec{v}}_{\partial T}\) for all \({\hat{{\varvec{v}}}}_T\in {\hat{{\varvec{V}}}}_T\). Then, in the equal-order case (\(k'=k\)), we define

$$\begin{aligned} {\varvec{S}}_{\partial T}({\hat{{\varvec{v}}}}_T) \mathrel {\mathop :}=\varPi _{\partial T}^k\Big ({\varvec{\delta }}_{\partial T}({\hat{{\varvec{v}}}}_T) + \big ( (I-\varPi _T^k){\varvec{R}}_T(0,{\varvec{\delta }}_{\partial T}({\hat{{\varvec{v}}}}_T)) \big )_{|\partial T} \Big ), \end{aligned}$$
(56)

and in the mixed-order case \((k'=k+1\)), we define

$$\begin{aligned} {\varvec{S}}_{\partial T}({\hat{{\varvec{v}}}}_T) \mathrel {\mathop :}=\varPi _{\partial T}^k\big ({\varvec{\delta }}_{\partial T}({\hat{{\varvec{v}}}}_T)\big ). \end{aligned}$$
(57)

The displacement reconstruction operator \({\varvec{R}}_T\) is not needed in the mixed-order case, and in the equal-order case it is only used to evaluate the local stabilization operator. Alternatively, as in the original HHO method from [16], one can consider \({\varvec{\epsilon }}({\varvec{R}}_T)\) as the strain reconstruction operator instead of \({\varvec{E}}_T\), but the divergence has to be reconstructed independently by inverting the mass matrix in \({\mathbb {P}}^{k}(T;{\mathbb {R}})\).

We define the global discrete bilinear form \(a_h:{\hat{{\varvec{V}}}}_h\times {\hat{{\varvec{V}}}}_h\rightarrow {\mathbb {R}}\) such that \(a_h({\hat{{\varvec{v}}}}_h,{\hat{{\varvec{w}}}}_h)\mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h} a_T({\hat{{\varvec{v}}}}_T,{\hat{{\varvec{w}}}}_T)\) with the local discrete bilinear form \(a_T:{\hat{{\varvec{V}}}}_T\times {\hat{{\varvec{V}}}}_T\rightarrow {\mathbb {R}}\) such that

$$\begin{aligned} a_T({\hat{{\varvec{v}}}}_T,{\hat{{\varvec{w}}}}_T) \mathrel {\mathop :}={}&({\varvec{E}}_T({\hat{{\varvec{v}}}}_T),{\varvec{E}}_T({\hat{{\varvec{w}}}}_T))_{{\varvec{L}}^2({\mathbb {A}};T)} + \tau _{\partial T} ({\varvec{S}}_{\partial T}({\hat{{\varvec{v}}}}_T),{\varvec{S}}_{\partial T}({\hat{{\varvec{w}}}}_T))_{{\varvec{L}}^2(\partial T)}, \end{aligned}$$
(58)

with the weight \(\tau _{\partial T}\mathrel {\mathop :}=2\mu _T h_T^{-1}\) and \(\mu _T\mathrel {\mathop :}=\mu _{|T}\). Notice that we have

$$\begin{aligned} ({\varvec{E}}_T({\hat{{\varvec{v}}}}_T),{\varvec{E}}_T({\hat{{\varvec{w}}}}_T))_{{\varvec{L}}^2({\mathbb {A}};T)} = ({\varvec{E}}_T({\hat{{\varvec{v}}}}_T),{\varvec{E}}_T({\hat{{\varvec{w}}}}_T))_{{\varvec{L}}^2(2\mu ;T)} + (D_T({\hat{{\varvec{v}}}}_T),D_T({\hat{{\varvec{w}}}}_T))_{L^2(\lambda ;T)},\nonumber \\ \end{aligned}$$
(59)

with the divergence reconstruction operator \(D_T:{\hat{{\varvec{V}}}}_T\rightarrow {\mathbb {P}}^k(T;{\mathbb {R}})\) such that \(D_T({\hat{{\varvec{v}}}}_T) \mathrel {\mathop :}={\text {tr}}({\varvec{E}}_T({\hat{{\varvec{v}}}}_T))\) for all \({\hat{{\varvec{v}}}}_T\in {\hat{{\varvec{V}}}}_T\). The global strain reconstruction operator is such that \(\big ({\varvec{E}}_{\mathcal {T}}({\hat{{\varvec{v}}}}_h)\big )_{|T} \mathrel {\mathop :}={\varvec{E}}_T({\hat{{\varvec{v}}}}_T)\) for all \(T\in {\mathcal {T}}_h\) and \({\hat{{\varvec{v}}}}_h\in {\hat{{\varvec{V}}}}_h\), and the global stabilization bilinear form \(s_h\) on \({\hat{{\varvec{V}}}}_h\times {\hat{{\varvec{V}}}}_h\) is defined such that \(s_h({\hat{{\varvec{v}}}}_h,{\hat{{\varvec{w}}}}_h)\mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h}\tau _{\partial T} ({\varvec{S}}_{\partial T}({\hat{{\varvec{v}}}}_T),{\varvec{S}}_{\partial T}({\hat{{\varvec{w}}}}_T))_{L^2(\partial T)}\). Let us set \(|{\hat{{\varvec{v}}}}_h|_{S}^2 \mathrel {\mathop :}=s_h({\hat{{\varvec{v}}}}_h,{\hat{{\varvec{v}}}}_h)\). A direct verification readily shows that the map \(\Vert {\cdot }\Vert _{{\hat{{\varvec{V}}}}_{h0}}:{\hat{{\varvec{V}}}}_h\rightarrow {\mathbb {R}}\) such that

$$\begin{aligned} \Vert {\hat{{\varvec{v}}}}_h\Vert _{{\hat{{\varvec{V}}}}_{h0}}^2 \mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h} \big (\Vert {\varvec{\epsilon }}({\varvec{v}}_T)\Vert _{{\varvec{L}}^2(2\mu ;T)}^2 + \tau _{\partial T}\Vert {\varvec{v}}_{\partial T}-{\varvec{v}}_T\Vert _{{\varvec{L}}^2(\partial T)}^2\big ), \qquad \forall {\hat{{\varvec{v}}}}_h\in {\hat{{\varvec{V}}}}_h, \end{aligned}$$
(60)

defines a norm on \({\hat{{\varvec{V}}}}_{h0}\) (and a seminorm on \({\hat{{\varvec{V}}}}_h\)), and we have the following important stability result (here we use \(k\ge 1\) and Korn’s inequality, see [16]): There are \(0<\alpha \le \varpi <\infty \) such that for all \({\hat{{\varvec{v}}}}_h\in {\hat{{\varvec{V}}}}_{h0}\) and all \(h>0\),

$$\begin{aligned} \alpha \, \Vert {\hat{{\varvec{v}}}}_h\Vert _{{\hat{V}}_{h0}}^2 \le \Vert {\varvec{E}}_{\mathcal {T}}({\hat{{\varvec{v}}}}_h)\Vert _{{\varvec{L}}^2(2\mu ;\varOmega )}^2 + |{\hat{{\varvec{v}}}}_h|_{S}^2 \le \varpi \, \Vert {\hat{{\varvec{v}}}}_h\Vert _{{\hat{{\varvec{V}}}}_{h0}}^2. \end{aligned}$$
(61)

The space semi-discrete HHO scheme for the elastic wave equation in its second-order formulation consists of finding \({\hat{{\varvec{u}}}}_h\mathrel {\mathop :}=({\varvec{u}}_{\mathcal {T}},{\varvec{u}}_{\mathcal {F}}) \in C^2({\overline{J}};{\hat{{\varvec{V}}}}_{h0})\) such that for all \(t\in {\overline{J}}\),

$$\begin{aligned} (\partial _{tt}{\varvec{u}}_{\mathcal {T}}(t),{\varvec{v}}_{\mathcal {T}})_{{\varvec{L}}^2(\rho ;\varOmega )} + a_h({\hat{{\varvec{u}}}}_h(t),{\hat{{\varvec{v}}}}_h) = ({\varvec{f}}(t),{\varvec{v}}_{\mathcal {T}})_{{\varvec{L}}^2(\varOmega )}, \end{aligned}$$
(62)

for all \({\hat{{\varvec{v}}}}_h\mathrel {\mathop :}=({\varvec{v}}_{\mathcal {T}},{\varvec{v}}_{\mathcal {F}})\in {\hat{{\varvec{V}}}}_{h0}\). The initial conditions for (62), which only concern \({\varvec{u}}_{\mathcal {T}}\), are

$$\begin{aligned} {\varvec{u}}_{\mathcal {T}}(0) = \varPi _{\mathcal {T}}^{k'}({\varvec{u}}_{0}),\qquad \partial _t{\varvec{u}}_{\mathcal {T}}(0) = \varPi _{\mathcal {T}}^{k'}({\varvec{v}}_{0}). \end{aligned}$$
(63)

The boundary condition is encoded in the fact that \({\hat{{\varvec{u}}}}_h(t)\in {\hat{{\varvec{V}}}}_{h0}\) for all \(t\in {\overline{J}}\). As for the acoustic wave equation, \({\varvec{u}}_{\mathcal {F}}(0)\in {\varvec{V}}_{{\mathcal {F}}0}^k\) is uniquely determined by the equations \(a_h(({\varvec{u}}_{\mathcal {T}}(0),{\varvec{u}}_{\mathcal {F}}(0)),({\varvec{0}},{\varvec{v}}_{\mathcal {F}}))=0\) for all \({\varvec{v}}_{\mathcal {F}}\in {\varvec{V}}_{{\mathcal {F}}0}^k\) with \({\varvec{u}}_{\mathcal {T}}(0)\) specified in (63).

Theorems 1 and 2 can be readily extended to the elastic wave equation. Assuming \(k\ge 1\) and \({\varvec{u}}\in C^1({\overline{J}};{\varvec{H}}^{1+\nu }(\varOmega ))\cap C^2({\overline{J}};{\varvec{L}}^2(\varOmega ))\) with \(\nu >\frac{1}{2}\), one can derive \({\varvec{H}}^1\)-error estimates similar to (31), (32), and (33) (if additionally \({\varvec{u}}\in C^1({\overline{J}};{\varvec{H}}^{l+1}(\varOmega ))\) with \(l\in \{1,\ldots ,k+1\}\)). In particular, \({\mathcal {O}}(h^{k+1})\) error estimates are obtained in the \({\varvec{H}}^1\)-norm for smooth solutions. Moreover, assuming that there is an elliptic regularity pickup with index \(s\in (\frac{1}{2},1]\), one can derive \({\varvec{L}}^2\)-error estimates similar to (35) and (36) (if additionally \({\varvec{u}}\in C^1({\overline{J}};{\varvec{H}}^{l+1}(\varOmega ))\) with \(l\in \{1,\ldots ,k+1\}\) and \(\nabla {\cdot }{\varvec{\sigma }}({\varvec{u}})\in C^1({\overline{J}};{\varvec{H}}^{l-1+\delta }(\varOmega ))\) with \(\delta \mathrel {\mathop :}=s\) if \(k'=0\) and \(\delta \mathrel {\mathop :}=0\) otherwise). In particular, \({\mathcal {O}}(h^{k+2})\) error estimates are obtained in the \({\varvec{L}}^2\)-norm for smooth solutions under full elliptic regularity pickup.

5.1.3 Algebraic Realization and Time Discretization

Let \(N_{\mathcal {T}}^{k'}\mathrel {\mathop :}={\text {dim}}({\varvec{V}}_{\mathcal {T}}^{k'})\) and \(N_{\mathcal {F}}^{k}\mathrel {\mathop :}={\text {dim}}({\varvec{V}}_{{\mathcal {F}}0}^{k})\). Let \(({{\mathsf {U}}}_{\mathcal {T}}(t),{{\mathsf {U}}}_{\mathcal {F}}(t))\in {\mathbb {R}}^{N_{\mathcal {T}}^{k'}\times N_{\mathcal {F}}^k}\) be the component vectors of the space semi-discrete solution \({\hat{{\varvec{u}}}}_h(t)\mathrel {\mathop :}=({\varvec{u}}_{\mathcal {T}}(t),{\varvec{u}}_{\mathcal {F}}(t))\in {\hat{{\varvec{V}}}}_{h0}\) once bases \(\{{\varvec{\varphi }}_i\}_{1\le i\le N_{\mathcal {T}}^{k'}}\) and \(\{{\varvec{\psi }}_j\}_{1\le j\le N_{\mathcal {F}}^k}\) for \({\varvec{V}}_{\mathcal {T}}^{k'}\) and \({\varvec{V}}_{{\mathcal {F}}0}^k\), respectively, have been chosen. Assuming (for simplicity) \({\varvec{f}}\in C^0({\overline{J}};{\varvec{L}}^2(\varOmega ))\), let \({{\mathsf {F}}}_{\mathcal {T}}(t)\in {\mathbb {R}}^{N_{\mathcal {T}}^{k'}}\) have components given by \({{\mathsf {F}}}_i(t)\mathrel {\mathop :}=({\varvec{f}}(t),{\varvec{\varphi }}_i)_{{\varvec{L}}^2(\varOmega )}\) for all \(t\in {\overline{J}}\) and all \(1\le i\le N_{\mathcal {T}}^{k'}\). The algebraic realization of (62) is as follows: For all \(t\in {\overline{J}}\),

$$\begin{aligned} \begin{bmatrix} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}} &{} 0\\ 0 &{} 0 \end{bmatrix} \begin{bmatrix} \partial _{tt}{{\mathsf {U}}}_{\mathcal {T}}(t)\\ \bullet \end{bmatrix} + \begin{bmatrix} {{\mathsf {K}}}_{{\mathcal {T}}\mathcal {T}} &{} {{\mathsf {K}}}_{\mathcal {T}\mathcal {F}}\\ {{\mathsf {K}}}_{\mathcal {F}\mathcal {T}} &{} {{\mathsf {K}}}_{\mathcal {F}\mathcal {F}} \end{bmatrix} \begin{bmatrix} {{\mathsf {U}}}_{\mathcal {T}}(t)\\ {{\mathsf {U}}}_{\mathcal {F}}(t) \end{bmatrix} = \begin{bmatrix} {{\mathsf {F}}}_{\mathcal {T}}(t)\\ 0 \end{bmatrix}, \end{aligned}$$
(64)

with the mass matrix \({{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}\) associated with the inner product in \(L^2(\rho ;\varOmega )\) and the cell basis functions, and the symmetric positive-definite stiffness matrix with blocks \({{\mathsf {K}}}_{\mathcal {T}\mathcal {T}}\), \({{\mathsf {K}}}_{\mathcal {T}\mathcal {F}}\), \({{\mathsf {K}}}_{\mathcal {F}\mathcal {T}}\), \({{\mathsf {K}}}_{\mathcal {F}\mathcal {F}}\), associated with the bilinear form \(a_h\) and the cell and face basis functions. The bullet stands for \(\partial _{tt}{{\mathsf {U}}}_{\mathcal {F}}(t)\) which is irrelevant owing to the structure of the mass matrix. The matrices \({{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}\) and \({{\mathsf {K}}}_{{\mathcal {T}}{\mathcal {T}}}\) are block-diagonal, but this is not the case for the matrix \({{\mathsf {K}}}_{{\mathcal {F}}{\mathcal {F}}}\) since the components attached to faces belonging to the same cell are coupled together.

Let \((t^n)_{0\le n\le N}\) be the discrete time nodes with \(t^0\mathrel {\mathop :}=0\) and \(t^N\mathrel {\mathop :}=T_{\text {f}}\). We consider a fixed time step \(\varDelta t\mathrel {\mathop :}=\frac{T_{\text {f}}}{N}\). A classical time discretization of (62) relies on the Newmark scheme with parameters \(\beta \) and \(\gamma \). This scheme is second-order accurate in time, implicit if \(\beta >0\), unconditionally stable if \(\frac{1}{2}\le \gamma \le 2\beta \) (the classical choice is \(\gamma =\frac{1}{2}\) and \(\beta =\frac{1}{4}\)) and conditionally stable if \(\frac{1}{2}\le \gamma \) and \(2\beta <\gamma \). In the present setting, the Newmark scheme considers an approximation for the displacement, the velocity, and the acceleration at each time node, which are all hybrid unknowns, say \({\hat{{\varvec{u}}}}_h^n,{\hat{{\varvec{v}}}}_h^n,{\hat{{\varvec{a}}}}_h^n\in {\hat{{\varvec{V}}}}_{h0}\). The scheme is initialized by setting \({\hat{{\varvec{u}}}}_h^0\mathrel {\mathop :}={\hat{I}}_h({\varvec{u}}_0)\), \({\hat{{\varvec{v}}}}_h^0\mathrel {\mathop :}={\hat{I}}_h({\varvec{v}}_0)\), and the initial acceleration \({\hat{{\varvec{a}}}}_h^0\mathrel {\mathop :}=({\varvec{a}}_{\mathcal {T}}^0,{\varvec{a}}_{\mathcal {F}}^0)\in {\hat{{\varvec{V}}}}_{h0}\) is defined by solving \(({\varvec{a}}_{\mathcal {T}}^0,{\varvec{q}}_{\mathcal {T}})_{{\varvec{L}}^2(\rho ;\varOmega )} + a_h({\hat{{\varvec{u}}}}_h^0,({\varvec{q}}_{\mathcal {T}},{\varvec{0}})) =({\varvec{f}}(0),{\varvec{q}}_{\mathcal {T}})_{{\varvec{L}}^2(\varOmega )}\) for all \({\varvec{q}}_{\mathcal {T}}\in {\varvec{V}}_{\mathcal {T}}^{k'}\), and \(a_h({\hat{{\varvec{a}}}}_h^0,({\varvec{0}},{\varvec{q}}_{\mathcal {F}})) = 0\) for all \({\varvec{q}}_{\mathcal {F}}\in {\varvec{V}}_{{\mathcal {F}}0}^k\). Then, given \({\hat{{\varvec{u}}}}_h^n,{\hat{{\varvec{v}}}}_h^n,{\hat{{\varvec{a}}}}_h^n\) from the previous time-step or the initial condition, the HHO-Newmark scheme performs the following three steps: For all \(n\in \{0,\ldots ,N-1\}\),

  1. 1.

    Predictor step: Set

    $$\begin{aligned} \left\{ \begin{aligned}&{\hat{{\varvec{u}}}}_h^{*n}\mathrel {\mathop :}={\hat{{\varvec{u}}}}_h^n+ \varDelta t {\hat{{\varvec{v}}}}_h^n + \tfrac{1}{2}\varDelta t^2(1-2\beta ){\hat{{\varvec{a}}}}_h^n,\\&{\hat{{\varvec{v}}}}_h^{*n}\mathrel {\mathop :}={\hat{{\varvec{v}}}}_h^n+\varDelta t(1-\gamma ){\hat{{\varvec{a}}}}_h^n. \end{aligned}\right. \end{aligned}$$
    (65)
  2. 2.

    Linear solve to find the acceleration \({\hat{{\varvec{a}}}}_h^{n+1}\in {\hat{{\varvec{V}}}}_{h0}\) such that for all \({\hat{{\varvec{q}}}}_h\in {\hat{{\varvec{V}}}}_{h0}\),

    $$\begin{aligned} ({\varvec{a}}_{\mathcal {T}}^{n+1},{\varvec{q}}_{\mathcal {T}})_{{\varvec{L}}^2(\rho ;\varOmega )} + \beta \varDelta t^2 a_h({\hat{{\varvec{a}}}}_h^{n+1},{\hat{{\varvec{q}}}}_h) = ({\varvec{f}}(t^{n+1}),{\varvec{q}}_{\mathcal {T}})_{{\varvec{L}}^2(\varOmega )} - a_h({\hat{{\varvec{u}}}}_h^{*n},{\hat{{\varvec{q}}}}_h). \end{aligned}$$
    (66)
  3. 3.

    Corrector step: Set

    $$\begin{aligned} \left\{ \begin{aligned}&{\hat{{\varvec{u}}}}_h^{n+1}\mathrel {\mathop :}={\hat{{\varvec{u}}}}_h^{*n} + \beta \varDelta t^2 {\hat{{\varvec{a}}}}_h^{n+1},\\&{\hat{{\varvec{v}}}}_h^{n+1}\mathrel {\mathop :}={\hat{{\varvec{v}}}}_h^{*n} + \gamma \varDelta t {\hat{{\varvec{a}}}}_h^{n+1}. \end{aligned}\right. \end{aligned}$$
    (67)

The algebraic realization of the predictor and corrector steps is straightforward, and that of the second step amounts to finding \(({{\mathsf {A}}}_{\mathcal {T}}^{n+1},{{\mathsf {A}}}_{\mathcal {F}}^{n+1}) \in {\mathbb {R}}^{N_{\mathcal {T}}^{k'}\times N_{\mathcal {F}}^k}\) such that

$$\begin{aligned} \left( \begin{bmatrix} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}} &{} 0\\ 0 &{} 0 \end{bmatrix} + \beta \varDelta t^2 \begin{bmatrix} {{\mathsf {K}}}_{\mathcal {T}\mathcal {T}} &{} {{\mathsf {K}}}_{\mathcal {T}\mathcal {F}}\\ {{\mathsf {K}}}_{\mathcal {F}\mathcal {T}} &{} {{\mathsf {K}}}_{\mathcal {F}\mathcal {F}} \end{bmatrix}\right) \begin{bmatrix} {{\mathsf {A}}}_{\mathcal {T}}^{n+1}\\ {{\mathsf {A}}}_{\mathcal {F}}^{n+1} \end{bmatrix} = \begin{bmatrix} {{\mathsf {B}}}_{\mathcal {T}}^{n+1}\\ {{\mathsf {B}}}_{\mathcal {F}}^{n+1} \end{bmatrix}, \end{aligned}$$
(68)

with \({{\mathsf {B}}}_{\mathcal {T}}^{n+1}\mathrel {\mathop :}={{\mathsf {F}}}_{\mathcal {T}}^{n+1} - ({{\mathsf {K}}}_{{\mathcal {T}}{\mathcal {T}}}{{\mathsf {U}}}^{*n}_{\mathcal {T}}+ {{\mathsf {K}}}_{{\mathcal {T}}{\mathcal {F}}}{{\mathsf {U}}}^{*n}_{\mathcal {F}})\), \({{\mathsf {B}}}_{\mathcal {F}}^{n+1}\mathrel {\mathop :}=- ({{\mathsf {K}}}_{{\mathcal {F}}{\mathcal {T}}}{{\mathsf {U}}}^{*n}_{\mathcal {T}}+ {{\mathsf {K}}}_{{\mathcal {F}}{\mathcal {F}}}{{\mathsf {U}}}^{*n}_{\mathcal {F}})\), and \(({{\mathsf {U}}}^{*n}_{\mathcal {T}},{{\mathsf {U}}}^{*n}_{\mathcal {F}})\) are the components of the predicted displacement \({\hat{{\varvec{u}}}}_h^{*n}\). Notice that static condensation can be applied to (68): since the matrix \({{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}+\beta \varDelta t^2 {{\mathsf {K}}}_{\mathcal {T}\mathcal {T}}\) is block-diagonal, the cell unknown \({{\mathsf {A}}}_{\mathcal {T}}^{n+1}\in V_{\mathcal {T}}^{k'}\) can be eliminated locally, leading to a global transmission problem coupling only the face unknown \({{\mathsf {A}}}_{\mathcal {F}}^{n+1}\in V_{{\mathcal {F}}0}^k\).

An important property of the HHO-Newmark scheme is energy balance. For all \(n\in \{0,\ldots ,N\}\), we define the discrete energy

$$\begin{aligned} {\hat{E}}^n \mathrel {\mathop :}=\frac{1}{2} \Vert {\varvec{v}}_{\mathcal {T}}^n\Vert _{{\varvec{L}}^2(\rho ;\varOmega )}^2 + \frac{1}{2}\Vert {\varvec{E}}_{\mathcal {T}}({\hat{{\varvec{u}}}}_h^n)\Vert _{{\varvec{L}}^2({\mathbb {A}};\varOmega )}^2 + \frac{1}{2} |{\hat{{\varvec{u}}}}_h^n|_S^2 + \delta \varDelta t^2 \Vert {\varvec{a}}_{\mathcal {T}}^n\Vert _{L^2(\rho ;\varOmega )}^2, \end{aligned}$$
(69)

with \(\delta \mathrel {\mathop :}=\tfrac{1}{4}(2\beta -\gamma )\), i.e., \(\delta =0\) for the standard choice \(\beta =\frac{1}{4}\), \(\gamma =\frac{1}{2}\). Notice that \(\Vert {\varvec{E}}_{\mathcal {T}}({\hat{{\varvec{u}}}}_h^n)\Vert _{{\varvec{L}}^2({\mathbb {A}};\varOmega )}^2 = \Vert {\varvec{E}}_{\mathcal {T}}({\hat{{\varvec{u}}}}_h^n)\Vert _{{\varvec{L}}^2(2\mu ;\varOmega )}^2 + \Vert D_T({\hat{{\varvec{u}}}}_h^n)\Vert _{L^2(\lambda ;\varOmega )}^2\). A straightforward extension of [6, Lemma 3.3] shows that \({\hat{E}}^n\) satisfies the discrete energy balance property

$$\begin{aligned} {\hat{E}}^n = {\hat{E}}^1 + \sum _{m=1}^{n-1} \frac{1}{2}({\varvec{f}}(t^{m+1})+{\varvec{f}}(t^m), {\varvec{u}}_{\mathcal {T}}^{m+1}-{\varvec{u}}_{\mathcal {T}}^{m})_{{\varvec{L}}^2(\varOmega )}, \end{aligned}$$
(70)

so that \({\hat{E}}^n\) is exactly conserved in the absence of external forcing.

5.2 First-Order Formulation

5.2.1 Model Problem

The first-order formulation of the elastic wave equation is obtained by introducing the velocity \({\varvec{v}}\mathrel {\mathop :}=\partial _t {\varvec{u}}\) \(\left[ \frac{\hbox {m}}{\hbox {s}}\right] \) and the stress tensor \({\varvec{s}}\mathrel {\mathop :}={\varvec{\sigma }}({\varvec{\epsilon }}({\varvec{u}})) \left[ \hbox {Pa}\right] \) as independent unknowns. Taking the time derivative of (51) leads to the following coupled PDEs:

$$\begin{aligned} \left\{ \begin{aligned} {\mathbb {A}}^{-1}\partial _t {\varvec{s}}-{\varvec{\epsilon }}({\varvec{v}})&= {\varvec{0}}\\ \rho \partial _t {\varvec{v}}- \nabla {\cdot }{\varvec{s}}&={\varvec{f}}\end{aligned}\right. \qquad \text {in }J\times \varOmega , \end{aligned}$$
(71)

with \({\mathbb {A}}^{-1}{\varvec{t}}=\frac{1}{2\mu }({\varvec{t}}-\frac{\lambda }{2\mu +\lambda d}{\text {tr}}({\varvec{t}}){\varvec{I}})\), together with the initial conditions:

$$\begin{aligned} {\varvec{s}}(0) = {\mathbb {A}}{\varvec{\epsilon }}({\varvec{u}}_0),\quad {\varvec{v}}(0) = {\varvec{v}}_{0} \qquad \text {in }\varOmega , \end{aligned}$$
(72)

and the boundary condition \({\varvec{v}}={\varvec{0}}\) on \(J\times \varGamma \). Assuming that \({\varvec{v}}\in H^1(J;{\varvec{L}}^2(\varOmega )) \cap L^2(J;{\varvec{H}}^1_0(\varOmega ))\) and \({\varvec{s}}\in H^1(J;L^2(\varOmega ;{\mathbb {R}}^{d\times d}_{\mathrm {sym}}))\), we obtain

$$\begin{aligned} \left\{ \begin{aligned} (\partial _t{\varvec{s}}(t),{\varvec{t}})_{{\varvec{L}}^2({\mathbb {A}}^{-1};\varOmega )} - ({\varvec{\epsilon }}({\varvec{v}}(t)),{\varvec{t}})_{{\varvec{L}}^2(\varOmega )}&= 0, \\ (\partial _t{\varvec{v}}(t),{\varvec{w}})_{L^2(\rho ;\varOmega )} + ({\varvec{s}}(t),{\varvec{\epsilon }}({\varvec{w}}))_{{\varvec{L}}^2(\varOmega )}&= ({\varvec{f}}(t),{\varvec{w}})_{{\varvec{L}}^2(\varOmega )}, \end{aligned}\right. \end{aligned}$$
(73)

for all \(({\varvec{t}},{\varvec{w}})\in L^2(\varOmega ;{\mathbb {R}}^{d\times d}_{\mathrm {sym}})\times {\varvec{H}}^1_0(\varOmega )\) and a.e. \(t\in J\).

5.2.2 HHO Space Semi-discretization and Error Estimates

Using the setting introduced in Sect. 5.1.2, one approximates \({\varvec{s}}\) by a cellwise unknown \({\varvec{s}}_{\mathcal {T}}\in C^1({\overline{J}};{\varvec{W}}_{\mathcal {T}})\) and \({\varvec{v}}\) by a hybrid unknown \({\hat{{\varvec{v}}}}_h\in C^1({\overline{J}};{\hat{{\varvec{V}}}}_{h0})\). The space semi-discrete problem reads as follows: For all \(t\in {\overline{J}}\),

$$\begin{aligned} \left\{ \begin{aligned}&(\partial _t {\varvec{s}}_{\mathcal {T}}(t),{\varvec{t}}_{\mathcal {T}})_{{\varvec{L}}^2({\mathbb {A}}^{-1};\varOmega )} - ({\varvec{E}}_{\mathcal {T}}({\hat{{\varvec{v}}}}_h(t)),{\varvec{t}}_{\mathcal {T}})_{{\varvec{L}}^2(\varOmega )} =0,\\&(\partial _t{\varvec{v}}_{\mathcal {T}}(t),{\varvec{w}}_{\mathcal {T}})_{{\varvec{L}}^2(\rho ;\varOmega )} + ({\varvec{s}}_{\mathcal {T}}(t),{\varvec{E}}_{\mathcal {T}}({\hat{{\varvec{w}}}}_h))_{{\varvec{L}}^2(\varOmega )} + {\tilde{s}}_h({\hat{{\varvec{v}}}}_h(t),{\hat{{\varvec{w}}}}_h) = ({\varvec{f}}(t),{\varvec{w}}_{\mathcal {T}})_{{\varvec{L}}^2(\varOmega )}, \end{aligned}\right. \end{aligned}$$
(74)

for all \(({\varvec{t}}_{\mathcal {T}},{\hat{{\varvec{w}}}}_h)\in {\varvec{W}}_{\mathcal {T}}\times {\hat{{\varvec{V}}}}_{h0}\), with \({\tilde{s}}_h({\hat{{\varvec{v}}}}_h,{\hat{{\varvec{w}}}}_h) \mathrel {\mathop :}=\sum _{T\in {\mathcal {T}}_h} {\tilde{\tau }}_{\partial T} ({\varvec{S}}_{\partial T}({\hat{{\varvec{v}}}}_T),{\varvec{S}}_{\partial T}({\hat{{\varvec{w}}}}_T))_{{\varvec{L}}^2(\partial T)}\), and the stabilization parameter \({\tilde{\tau }}_{\partial T}>0\) is taken equal to \({\tilde{\tau }}_{\partial T}\mathrel {\mathop :}=\rho c_{\mathrm {S}}\frac{\ell _\varOmega }{h_T}\). The initial conditions for (74) are \({\varvec{s}}_{\mathcal {T}}(0) = {\mathbb {A}}{\varvec{E}}_{\mathcal {T}}({\hat{I}}_h({\varvec{u}}_0))\) and \({\varvec{v}}_{\mathcal {T}}(0) = \varPi _{\mathcal {T}}^{k'}({\varvec{v}}_0)\), whereas the boundary condition is encoded in the fact that \({\hat{{\varvec{v}}}}_h(t)\in {\hat{{\varvec{V}}}}_{h0}\) for all \(t\in {\overline{J}}\).

Theorem 3 can be readily extended to the elastic wave equation. Assuming \(k\ge 1\) and \(({\varvec{s}},{\varvec{v}})\in C^1({\overline{J}};{\varvec{H}}^{\nu }(\varOmega )\times {\varvec{H}}^1_0(\varOmega ))\) with \(\nu >\frac{1}{2}\), one can derive \({\varvec{H}}^1\)-error estimates similar to (46), (47), and (48) (if additionally \(({\varvec{s}},{\varvec{v}})\in C^1({\overline{J}};{\varvec{H}}^{l}(\varOmega ) \times {\varvec{H}}^{l+1}(\varOmega ))\) with \(l\in \{1,\ldots ,k+1\}\)). In particular, \({\mathcal {O}}(h^{k+1})\) error estimates are obtained in the \({\varvec{H}}^1\)-norm for smooth solutions.

Remark 6

(Link to HDG) The same links as in Remark 4 can be highlighted between the HHO discretization (74) and the HDG discretization of the elastic wave equation devised in [26]. Therein, a three-field formulation is adopted where the trace of the stress tensor is handled as an independent variable. Moreover, following Remark 5, we believe that an \({\varvec{L}}^2\)-error estimate can also be derived for (74), but we leave this question to future work.

5.2.3 Algebraic Realization and Time Discretization

Let \(M_{\mathcal {T}}^k\mathrel {\mathop :}={\text {dim}}({\varvec{W}}_{\mathcal {T}})\) and \(\{{\varvec{\zeta }}_k\}_{1\le k\le M_{\mathcal {T}}^k}\) be the chosen basis for \({\varvec{W}}_{\mathcal {T}}\). It is natural to build this basis as tensor-products of a basis vector in \({\mathbb {R}}^{d\times d}_{\mathrm {sym}}\) and a scalar-valued basis function of \(V_{\mathcal {T}}^k\), so that \(M_{\mathcal {T}}^k=\frac{d(d+1)}{2}N_{\mathcal {T}}^k\). Let \({{\mathsf {Z}}}_{\mathcal {T}}(t) \in {\mathbb {R}}^{M_{{\mathcal {T}}}^{k}}\) and \(({{\mathsf {V}}}_{\mathcal {T}}(t),{{\mathsf {V}}}_{\mathcal {F}}(t))\in {\mathbb {R}}^{N_{\mathcal {T}}^{k'}\times N_{\mathcal {F}}^k}\) be the component vectors of \({\varvec{s}}_{\mathcal {T}}(t)\in {\varvec{W}}_{\mathcal {T}}\) and \({\hat{{\varvec{v}}}}_h(t)\in {\hat{{\varvec{V}}}}_{h0}\), respectively. Let \({{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}^{{\varvec{\sigma }}}\) be the mass matrix associated with the inner product in \({\varvec{L}}^2({\mathbb {A}}^{-1};\varOmega )\) and the basis functions \(\{{\varvec{\zeta }}_k\}_{1\le k\le M_{\mathcal {T}}^k}\), and recall that \({{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}\) is the mass matrix associated with the inner product in \(L^2(\rho ;\varOmega )\) and the basis functions \(\{{\varvec{\varphi }}_i\}_{1\le i\le N_{\mathcal {T}}^{k'}}\). Let \({{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {T}}}\), \({{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {F}}}\), \({{\mathsf {S}}}_{{\mathcal {F}}{\mathcal {T}}}\), \({{\mathsf {S}}}_{{\mathcal {F}}{\mathcal {F}}}\) be the four blocks composing the matrix representing the stabilization bilinear form \({\tilde{s}}_h\), i.e., \({{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {T}},ij}\mathrel {\mathop :}={\tilde{s}}_h(({\varvec{\varphi }}_j,{\varvec{0}}),({\varvec{\varphi }}_i,{\varvec{0}}))\), \({{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {F}},ij}\mathrel {\mathop :}={\tilde{s}}_h(({\varvec{0}},{\varvec{\psi }}_j),({\varvec{\varphi }}_i,{\varvec{0}}))\), and so on. Let \({{\mathsf {E}}}_{{\mathcal {T}}}\in {\mathbb {R}}^{M_{\mathcal {T}}^k\times N_{\mathcal {T}}^{k'}}\) and \({{\mathsf {E}}}_{{\mathcal {F}}}\in {\mathbb {R}}^{M_{\mathcal {T}}^k\times N_{\mathcal {F}}^{k}}\) be the (rectangular) matrices representing the strain reconstruction operator \({\varvec{E}}_{\mathcal {T}}\), i.e., \({{\mathsf {E}}}_{{\mathcal {T}},ki} \mathrel {\mathop :}=({\varvec{\zeta }}_k,{\varvec{E}}_{\mathcal {T}}({\varvec{\varphi }}_i,{\varvec{0}}))_{{\varvec{L}}^2(\varOmega )}\) and \({{\mathsf {E}}}_{{\mathcal {F}},kj} \mathrel {\mathop :}=({\varvec{\zeta }}_k,{\varvec{E}}_{\mathcal {T}}({\varvec{0}},{\varvec{\psi }}_j))_{{\varvec{L}}^2(\varOmega )}\). The algebraic realization of (74) is as follows: For all \(t\in {\overline{J}}\),

$$\begin{aligned} \begin{bmatrix} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}^{{\varvec{\sigma }}} &{} 0 &{} 0\\ 0 &{} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}} &{} 0\\ 0 &{} 0 &{} 0 \end{bmatrix} \begin{bmatrix} \partial _t{{\mathsf {Z}}}_{\mathcal {T}}(t)\\ \partial _t{{\mathsf {V}}}_{\mathcal {T}}(t)\\ \bullet \end{bmatrix} + \begin{bmatrix} 0 &{} -{{\mathsf {E}}}_{\mathcal {T}} &{} -{{\mathsf {E}}}_{\mathcal {F}}\\ {{\mathsf {E}}}_{\mathcal {T}}^{\dagger } &{} {{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {T}}} &{} {{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {F}}}\\ {{\mathsf {E}}}_{\mathcal {F}}^{\dagger } &{} {{\mathsf {S}}}_{{\mathcal {F}}{\mathcal {T}}} &{} {{\mathsf {S}}}_{{\mathcal {F}}{\mathcal {F}}} \end{bmatrix} \begin{bmatrix} {{\mathsf {Z}}}_{\mathcal {T}}(t)\\ {{\mathsf {V}}}_{\mathcal {T}}(t)\\ {{\mathsf {V}}}_{\mathcal {F}}(t) \end{bmatrix} = \begin{bmatrix} 0\\ {{\mathsf {F}}}_{\mathcal {T}}(t)\\ 0 \end{bmatrix}, \end{aligned}$$
(75)

where the bullet stands for \(\partial _t{{\mathsf {V}}}_{\mathcal {F}}(t)\) which is irrelevant owing to the structure of the mass matrix. Notice that the third equation in (75) implies that \({{\mathsf {S}}}_{{\mathcal {F}}{\mathcal {F}}} {{\mathsf {V}}}_{\mathcal {F}}(t) = -({{\mathsf {E}}}_{\mathcal {F}}^\dagger {{\mathsf {Z}}}_{\mathcal {T}}(t) + {{\mathsf {S}}}_{{\mathcal {F}}{\mathcal {T}}}{{\mathsf {V}}}_{\mathcal {T}}(t))\), and that the submatrix \({{\mathsf {S}}}_{{\mathcal {F}}{\mathcal {F}}}\) is symmetric positive-definite. This submatrix is additionally block-diagonal in the mixed-order case (\(k'=k+1\)), but this property is lost in the equal-order case (\(k'=k\)); see [6] for further discussion.

The space semi-discrete problem (74) can be discretized in time by means of a Runge–Kutta (RK) time-stepping scheme. RK schemes are defined by a set of coefficients, \(\{a_{ij}\}_{1\le i,j\le s}\), \(\{b_i\}_{1\le i\le s}\), \(\{c_i\}_{1\le i\le s}\), where \(s\ge 1\) is the number of stages. We consider diagonally implicit RK schemes (DIRK) where the matrix \(\{a_{ij}\}_{1\le i,j\le s}\) is lower-triangular. Explicit RK schemes (ERK) can also be considered, and we refer the reader to [6] for more details on their use in the context of HHO methods. For simplicity, we only consider the algebraic realization of HHO-DIRK schemes. For all \(n\in \{1,\ldots ,N\}\), given \(({{\mathsf {Z}}}_{\mathcal {T}}^{n-1},{{\mathsf {V}}}_{\mathcal {T}}^{n-1})\) from the previous time-step or the initial condition and letting \({{\mathsf {F}}}_{\mathcal {T}}^{n-1+c_j}\mathrel {\mathop :}={{\mathsf {F}}}_{\mathcal {T}}(t_{n-1}+c_j\varDelta t)\) for all \(1\le j\le s\), one proceeds as follows:

  1. 1.

    Solve sequentially for all \(1\le i\le s\),

    $$\begin{aligned}&\begin{bmatrix} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}^{{\varvec{\sigma }}} &{} 0 &{} 0\\ 0 &{} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}} &{} 0\\ 0 &{} 0 &{} 0 \end{bmatrix} \begin{bmatrix} {{\mathsf {Z}}}_{\mathcal {T}}^{n,i}\\ {{\mathsf {V}}}_{\mathcal {T}}^{n,i}\\ \bullet \end{bmatrix} = \begin{bmatrix} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}^{{\varvec{\sigma }}} &{} 0 &{} 0\\ 0 &{} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}} &{} 0\\ 0 &{} 0 &{} 0 \end{bmatrix} \begin{bmatrix} {{\mathsf {Z}}}_{\mathcal {T}}^{n-1}\\ {{\mathsf {V}}}_{\mathcal {T}}^{n-1}\\ \bullet \end{bmatrix} \nonumber \\&\quad + \varDelta t \sum _{j=1}^{i} a_{ij} \left( \begin{bmatrix} 0\\ {{\mathsf {F}}}_{\mathcal {T}}^{n-1+c_j}\\ 0 \end{bmatrix} - \begin{bmatrix} 0 &{} -{{\mathsf {E}}}_{\mathcal {T}} &{} -{{\mathsf {E}}}_{\mathcal {F}}\\ {{\mathsf {E}}}_{\mathcal {T}}^{\dagger } &{} {{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {T}}} &{} {{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {F}}}\\ {{\mathsf {E}}}_{\mathcal {F}}^{\dagger } &{} {{\mathsf {S}}}_{{\mathcal {F}}{\mathcal {T}}} &{} {{\mathsf {S}}}_{{\mathcal {F}}{\mathcal {F}}} \end{bmatrix} \begin{bmatrix} {{\mathsf {Z}}}_{\mathcal {T}}^{n,j}\\ {{\mathsf {V}}}_{\mathcal {T}}^{n,j}\\ {{\mathsf {V}}}_{\mathcal {F}}^{n,j} \end{bmatrix} \right) . \end{aligned}$$
    (76)

    This is a linear system for the triple \(({{\mathsf {Z}}}_{\mathcal {T}}^{n,i}, {{\mathsf {V}}}_{\mathcal {T}}^{n,i},{{\mathsf {V}}}_{\mathcal {F}}^{n,i})\) (which appears on both the left- and right-hand sides), where the upper \(2\times 2\) submatrix associated with the cell unknowns \(({{\mathsf {Z}}}_{\mathcal {T}}^{n,i},{{\mathsf {V}}}_{\mathcal {T}}^{n,i})\) is block-diagonal (this is the case for \({{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}^{{\varvec{\sigma }}}\), \({{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}\), \({{\mathsf {E}}}_{\mathcal {T}}\), and \({{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {T}}}\)). Hence, static condensation can be performed in (76) leading to a global transmission problem coupling only the components of \({{\mathsf {V}}}_{\mathcal {F}}^{n,i}\) (which are attached to the mesh faces).

  2. 2.

    Finally set

    $$\begin{aligned}&\begin{bmatrix} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}^{{\varvec{\sigma }}} &{} 0\\ 0 &{} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}} \end{bmatrix} \begin{bmatrix} {{\mathsf {Z}}}_{\mathcal {T}}^{n}\\ {{\mathsf {V}}}_{\mathcal {T}}^{n} \end{bmatrix} \mathrel {\mathop :}=\begin{bmatrix} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}}^{{\varvec{\sigma }}} &{} 0\\ 0 &{} {{\mathsf {M}}}_{{\mathcal {T}}{\mathcal {T}}} \end{bmatrix} \begin{bmatrix} {{\mathsf {Z}}}_{\mathcal {T}}^{n-1}\\ {{\mathsf {V}}}_{\mathcal {T}}^{n-1} \end{bmatrix} \nonumber \\&\quad + \varDelta t \sum _{j=1}^{s} b_{j} \left( \begin{bmatrix} 0\\ {{\mathsf {F}}}_{\mathcal {T}}^{n-1+c_j} \end{bmatrix} - \begin{bmatrix} 0 &{} -{{\mathsf {E}}}_{\mathcal {T}} &{} -{{\mathsf {E}}}_{\mathcal {F}}\\ {{\mathsf {E}}}_{\mathcal {T}}^{\dagger } &{} {{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {T}}} &{} {{\mathsf {S}}}_{{\mathcal {T}}{\mathcal {F}}} \end{bmatrix} \begin{bmatrix} {{\mathsf {Z}}}_{\mathcal {T}}^{n,j}\\ {{\mathsf {V}}}_{\mathcal {T}}^{n,j}\\ {{\mathsf {V}}}_{\mathcal {F}}^{n,j} \end{bmatrix} \right) . \end{aligned}$$
    (77)

6 Numerical Results

In this section, we perform some numerical experiments to illustrate the error analysis. We consider HHO-Newmark and HHO-DIRK schemes for the elastic wave equation. The implementation of HHO methods is discussed in [10] and an open-source software is available (see https://github.com/wareHHOuse/diskpp). For the Newmark scheme, we consider the usual parameters \(\beta =\frac{1}{4}\) and \(\gamma =\frac{1}{2}\) (leading to a second-order, implicit, unconditionally stable scheme with exact conservation of a discrete energy). For RK schemes, we consider singly-diagonally implicit schemes with s stages and order \((s+1)\) with \(s\in \{1,2,3\}\) (in short, SDIRK\((s,s+1)\)). The Butcher tableaux are

$$\begin{aligned} \begin{array}{c|c} \frac{1}{2}&{}\frac{1}{2}\\[2pt] \hline &{}1 \end{array} \qquad \begin{array}{c|cc} \frac{1}{2} + \frac{1}{2 \gamma } &{} \frac{1}{2} + \frac{1}{2 \gamma } &{} 0\\[2pt] \frac{1}{2} - \frac{1}{2 \gamma } &{} -\gamma &{} \frac{1}{2} + \frac{1}{2 \gamma }\\[2pt] \hline &{}\frac{1}{2}&{}\frac{1}{2} \end{array} \qquad \begin{array}{c|ccc} \gamma &{} \gamma &{} 0 &{} 0\\ \frac{1}{2} &{} \frac{1}{2} - \gamma &{} \gamma &{} 0\\ 1-\gamma &{} 2\gamma &{} 1-4 \gamma &{} \gamma \\ \hline &{}\delta &{}1-2\delta &{}\delta \end{array} \end{aligned}$$

with \(\gamma \mathrel {\mathop :}=\frac{1}{\sqrt{3}}\) for \(s=2\), and \(\gamma \mathrel {\mathop :}=\frac{1}{\sqrt{3}}\cos \left( \frac{\pi }{18}\right) +\frac{1}{2}\), \(\delta \mathrel {\mathop :}=\frac{1}{6\left( 2\gamma -1\right) ^{2}}\) for \(s=3\).

6.1 Verification of Convergence Rates

We set \(\varOmega \mathrel {\mathop :}=\left( 0,1\right) \times \left( 0,1\right) \), \(T_{\text {f}}\mathrel {\mathop :}=1\), \(\rho \mathrel {\mathop :}=1\), \(v_{\mathrm {S}}\mathrel {\mathop :}=1\), and \(v_{\mathrm {P}}:=\sqrt{3}\). The source term \(\mathbf{f }\), the (non)homogeneous Dirichlet boundary conditions, and the initial conditions \({\varvec{u}}_{0}\) and \({\varvec{v}}_{0}\) are defined according to following three choices for the analytic solution:

  1. 1.

    Quadratic in time, so that the spatial error is the only error component:

    $$\begin{aligned} {\varvec{u}}(x,y)\mathrel {\mathop :}=t^{2}( -\sin (\pi x)\cos (\pi y), \cos (\pi x)\sin (\pi y))^{\mathrm {T}}. \end{aligned}$$
    (78)
  2. 2.

    Quadratic in space, so that the temporal error is the only error component:

    $$\begin{aligned} {\varvec{u}}(x,y)\mathrel {\mathop :}=\sin (\sqrt{2}\pi t)x(1-x)y(1-y)(1,1)^{\mathrm {T}}. \end{aligned}$$
    (79)
  3. 3.

    Non-polynomial in space and in time:

    $$\begin{aligned} {\varvec{u}}(x,y)=\sin (\sqrt{2}\pi t)(-\sin (\pi x)\cos (\pi y), \cos (\pi x)\sin (\pi y))^{\mathrm {T}}. \end{aligned}$$
    (80)

Uniformly refined sequences of quadrangular meshes are considered with size \(h=2^{-l}\), \(l\in \left\{ 1,\ldots ,6\right\} \), and the time step size is set to \(\varDelta t=0.1\times 2^{-l}\), \(l\in \left\{ 0,\ldots ,10\right\} \). The polynomial degree is \(k\in \{1,2,3\}\). We report the \({\varvec{L}}^2\) and \({\varvec{H}}^1\)-errors on the displacement at the final time.

Fig. 1
figure 1

HHO-Newmark scheme, equal-order case. Top row: errors as a function of the mesh-size for the analytic solution (78) (left panel) and as a function of the time-step for the analytic solution (79) and \(k=2\) (right panel). Bottom row: errors as a function of the mesh-size for the analytic solution (80) (left panel, \(\varDelta t=0.1\times 2^{-10}\)) and relative energy loss as a function of time (right panel, \(h=2^{-6}\), \(\varDelta t=0.1\times 2^{-7}\), \(k=2\))

Figure 1 is obtained by considering the HHO-Newmark scheme in the equal-order case for the analytical solutions (78) (top row, left panel), (79) (top row, right panel), and (80) (bottom row, both panels). The convergence rates in space match the predictions of Theorems 1 and 2, whereas the convergence rates in time match the one of the Newmark scheme. As expected, the energy \({\hat{E}}^n\) is exactly conserved, and this is no longer the case if the value of the parameters \((\beta ,\gamma )\) is slightly perturbed around the nominal value \((\frac{1}{4},\frac{1}{2})\) (while still setting \(\delta \mathrel {\mathop :}=0\) in (69)).

Fig. 2
figure 2

HHO-SDIRK\((s,s+1)\), equal-order case. Top row: errors as a function of the mesh-size for the analytic solution (78) (left panel, \(s=2\)) and as a function of the time-step for the analytic solution (79) and \(k=2\) (right panel, \(s\in \{1,2,3\}\)). Bottom row: relative energy loss as a function of time for the analytical solution is (80) in the equal-order (left panel) and mixed-order (right panel) cases with \(s=3\), \(h=2^{-5}\), and \(\varDelta t=0.1\times 2^{-7}\)

Figure 2 is obtained by considering the HHO-SDIRK(\(s,s+1\)) scheme in the equal-order case for the analytical solutions (78) (top row, left panel, \(s=2\)) and (79) (top row, right panel, \(s\in \{1,2,3\}\)). The convergence rates in space match the predictions of Theorem 3 for the \({\varvec{H}}^1\)-error, and the convergence rates for the \({\varvec{L}}^2\)-error are one order higher as expected. Moreover, the convergence rates in time match the ones of the SDIRK\((s,s+1)\) scheme. As shown in the bottom row of Fig. 2, the energy \({\hat{E}}^n\) is not exactly conserved (recall that there is no such property for DIRK schemes, and that the stabilization anyway acts as a dissipative term in the energy balance, as further discussed in [6]). However, the energy loss is significantly reduced if the polynomial order is increased.

6.2 Elastic Wave Propagation in Heterogeneous Media

The second test case deals with the propagation of an elastic wave in a two-dimensional heterogeneous domain \(\varOmega \) such that \({\overline{\varOmega }}={\overline{\varOmega }}_{1}\cup {\overline{\varOmega }}_{2}\) with \(\varOmega _{1}\mathrel {\mathop :}=(-\frac{3}{2},\frac{3}{2})\times (-\frac{3}{2},0)\) and \(\varOmega _{2}\mathrel {\mathop :}=(-\frac{3}{2},\frac{3}{2})\times (0,\frac{3}{2})\). The material properties are \(\rho _1\mathrel {\mathop :}=1\), \(c_{\mathrm {S},1}\mathrel {\mathop :}=1\), \(c_{\mathrm {P},1}\mathrel {\mathop :}=\sqrt{3}\) in \(\varOmega _1\) and \(\rho _2\mathrel {\mathop :}=1\), \(c_{\mathrm {S},2}\mathrel {\mathop :}=2c_{\mathrm {S},1}\), \(c_{\mathrm {P},2}\mathrel {\mathop :}=2c_{\mathrm {P},1}\) in \(\varOmega _2\). The simulation time is \(T_{\text {f}}\mathrel {\mathop :}=1\), and homogeneous Dirichlet boundary conditions are enforced. The source term is \({\varvec{f}}\mathrel {\mathop :}={\varvec{0}}\), and the initial conditions are \({\varvec{u}}_0\mathrel {\mathop :}={\varvec{0}}\) and

$$\begin{aligned} {\varvec{v}}_0(x,y) \mathrel {\mathop :}=\theta \exp \big ( -\pi ^2 \tfrac{r^2}{\lambda ^2}\big ) (x-x_c,y-y_c)^{\mathrm {T}}, \end{aligned}$$
(81)

with \(\theta \mathrel {\mathop :}=10^{-2}\) \(\left[ \frac{1}{\hbox {s}}\right] \), \(\lambda \mathrel {\mathop :}=\frac{v_{\mathrm {P},2}}{f_c}\) \(\left[ \hbox {m}\right] \) with \(f_c\mathrel {\mathop :}=10\) \(\left[ \frac{1}{\hbox {s}}\right] \), \(r^2\mathrel {\mathop :}=(x-x_c)^2+(y-y_c)^2\), \(x_c\mathrel {\mathop :}=0\), and \(y_c\mathrel {\mathop :}=\frac{2}{3}\). The initial condition corresponds to a Ricker wave centered at the point \((x_c,y_c)\in \varOmega _2\). The wave first propagates in \(\varOmega _2\), then is partially transmitted to \(\varOmega _1\) and later it is also reflected at the boundary of \(\varOmega \).

Numerical results are obtained using the HHO-Newmark and HHO-SDIRK(3, 4) schemes on a quadrangular mesh with size \(h\mathrel {\mathop :}=2^{-6}\). These results are compared against the semi-analytical solution using the gar6more2d software (see https://gforge.inria.fr/projects/gar6more2d/). The semi-analytical solution is based on a reformulation of the problem with zero initial conditions and a Dirac source term with a time delay of 0.15 \(\left[ \hbox {s}\right] \) (this value is tuned to match the choice of the parameter \(\theta \) above, following the reformulation described in [4]). The semi-analytical solution assumes propagation in two half-spaces, so that the comparison with our results remain meaningful until the wave is reflected at the boundary of \(\varOmega \). Actually the comparisons are made by tracking the two Cartesian components of the velocity at two sensors, one located in \(\varOmega _1\) at the point \(S_1\mathrel {\mathop :}=(\frac{1}{3},-\frac{1}{3})\) and one located in \(\varOmega _2\) at the point \(S_2\mathrel {\mathop :}=(\frac{1}{3},\frac{1}{3})\). Hence the comparison with the semi-analytical solution remains valid until the reflected wave reaches one of the sensors, which happens slightly later than \(t_{*1}\mathrel {\mathop :}=0.9\) \(\left[ \hbox {s}\right] \) for \(S_1\) and \(t_{*2}\mathrel {\mathop :}=0.6\) \(\left[ \hbox {s}\right] \) for \(S_2\).

Fig. 3
figure 3

HHO-Newmark scheme: velocity components as a function of time at the two sensors. First row: \(v_x\) at \(S_1\); second row: \(v_y\) at \(S_1\); third row: \(v_x\) at \(S_3\); fourth row: \(v_y\) at \(S_4\). Left column: \(k\in \{1,2,3\}\) and \(\varDelta t=0.1\times 2^{-7}\); right column: \(k=3\) and \(\varDelta t=0.1\times 2^{-l}\) with \(l\in \{5,6,7\}\)

Fig. 4
figure 4

HHO-SDIRK(3, 4) scheme: velocity components as a function of time at the two sensors. First row: \(v_x\) at \(S_1\); second row: \(v_y\) at \(S_1\); third row: \(v_x\) at \(S_3\); fourth row: \(v_y\) at \(S_4\). Left column: \(k\in \{1,2,3\}\) and \(\varDelta t=0.1\times 2^{-5}\); right column: \(k=3\) and \(\varDelta t=0.1\times 2^{-l}\) with \(l\in \{3,4,5\}\)

In Fig. 3 we compare the numerical predictions of the velocity components \(v_x\) and \(v_y\) as a function of time at the two sensors \(S_1\) and \(S_2\) by HHO-Newmark and the semi-analytical solution obtained with the gar6more2d software. We provide the comparison over the whole simulation time interval [0, 1] but recall that the comparison is meaningful only on the time interval \([0,t_{*i}]\) before the waves reflected at the boundary \(\partial \varOmega \) reach the sensor \(S_i\), \(i\in \{1,2\}\). In the left column of Fig. 3 we consider \(k\in \{1,2,3\}\), the equal-order setting, and \(\varDelta t=0.1\times 2^{-7}\), whereas in the right column we consider \(k=3\), the equal-order setting, and \(\varDelta t=0.1\times 2^{-l}\) with \(l\in \{5,6,7\}\). We can see that the choice \(k=1\) leads to large errors in all cases, and that the choice \(k=3\) and \(\varDelta t=0.1\times 2^{-7}\) yields a good agreement with the semi-analytical solution. We perform a similar study in Fig. 4 for HHO-SDIRK(3, 4), but since the time scheme is now fourth-order accurate instead of being second-order accurate, we consider the choices \(\varDelta t=0.1\times 2^{-l}\) with \(l\in \{3,4,5\}\). The conclusions are essentially similar to those drawn above, except that we observe that the overall accuracy of the HHO-SDIRK(3, 4) predictions is better than that of the HHO-Newmark predictions. A more quantitative comparison is provided in Table 1 where we report the maximum relative error (in \(\%\)) over all the discrete time nodes in the time interval \([0,t_{*i}]\) for the sensor \(S_i\), \(i\in \{1,2\}\). The normalization is computed by using the maximum values in time (in absolute value) obtained for the semi-analytical solution for the corresponding velocity component at the corresponding sensor; the resulting values are \(7.31\times 10^{-2}\) for \(v_x\) at \(S_1\), \(2.88\times 10^{-2}\) for \(v_y\) at \(S_1\), \(2.19\times 10^{-2}\) for \(v_x\) at \(S_2\), \(2.19\times 10^{-2}\) for \(v_y\) at \(S_2\). The goal of Table 1 is not to compare the two time discretization schemes (since they are of different orders of accuracy), but to highlight for each scheme, the benefits of raising the polynomial degree. We can see that, for HHO-Newmark, the most accurate prediction (\(k=3\), \(\varDelta t=0.1\times 2^{-7}\)) leads to errors of \(10.5\%\) and \(2.20\%\) for \(v_x\) and \(v_y\) at \(S_1\), whereas the relative errors are below \(1\%\) at \(S_2\). Instead, for HHO-SDIRK(3, 4), the most accurate prediction (\(k=3\), \(\varDelta t=0.1\times 2^{-5}\)) leads to errors of \(4.73\%\) and \(2.73\%\) for \(v_x\) and \(v_y\) at \(S_1\), whereas the relative errors are again below \(1\%\) at \(S_2\). Finally, in Fig. 5, we show the spatial distribution of the velocity components \(v_x\) (upper row) and \(v_y\) (bottom row) as predicted by the HHO-SDIRK(3, 4) scheme, using \(k=3\), an equal-order setting, \(h= 2^{-7}\) (one further refinement step with respect to the mesh used in the previous results), and \(\varDelta t=0.1\times 2^{-5}\). This figure illustrates the propagation of the wave in the domain \(\varOmega \) at the time snapshots \(t\in \{\frac{1}{8},\frac{1}{4},\frac{1}{2},1\}\) and shows the various reflections occurring at the interface and at the domain boundaries.

Table 1 Maximum relative error (in \(\%\)) for the velocity components \(v_x\) and \(v_y\) at the sensors \(S_1\) and \(S_2\). Upper table: HHO-Newmark, \(k\in \{1,2,3\}\), \(\varDelta t=0.1\times 2^{-7}\), and \(k=3\), \(\varDelta t=0.1\times 2^{-l}\), \(l\in \{5,6,7\}\). Lower table: HHO-SDIRK(3, 4), \(k\in \{1,2,3\}\), \(\varDelta t=0.1\times 2^{-5}\), and \(k=3\), \(\varDelta t=0.1\times 2^{-l}\), \(l\in \{3,4,5\}\). The normalization factors are \(7.31\times 10^{-2}\) for \(v_x\) at \(S_1\), \(2.88\times 10^{-2}\) for \(v_y\) at \(S_1\), \(2.19\times 10^{-2}\) for \(v_x\) at \(S_2\), \(2.19\times 10^{-2}\) for \(v_y\) at \(S_2\)
Fig. 5
figure 5

Velocity profiles at the times \(t\in \{\frac{1}{8},\frac{1}{4},\frac{1}{2},1\}\) (from left to right). Upper row: \(v_x\); bottom row: \(v_y\)

7 Conclusions

We have derived error estimates and optimal convergence rates for smooth solutions of the wave equation semi-discretized in space by the hybrid high-order (HHO) method. We have considered the second-order formulation in time, for which we established \({\varvec{H}}^1\) and \({\varvec{L}}^2\)-error estimates, and the first-order formulation, which has close links with the HDG space semi-discretization and for which we established \({\varvec{H}}^1\)-error estimates. We have presented numerical experiments using either the Newmark scheme or diagonally-implicit Runge–Kutta schemes for the time discretization. We have recovered optimal convergence rates for smooth solutions, as predicted by the theory, and we have shown that the proposed numerical schemes can be used to simulate accurately the propagation of elastic waves in heterogeneous materials.