1 Introduction

The importance of high-order approximations for the simulation of physical phenomena has been demonstrated in several fields of science and engineering, including electromagnetics [1, 2] and flow problems [3, 4]. DG methods have shown great potential for the development of efficient high-order discretizations, exploiting modern parallel computing architectures and adaptive strategies for non-uniform degree approximations [1, 5,6,7,8]. Nevertheless, the duplication of unknowns in classical DG methods and their resulting higher computational cost have limited their application mostly to academic problems and only few attempts to perform large-scale DG simulations are available in the literature, see [9,10,11].

To remedy this issue, static condensation of finite element approximations [12] and hybridization of mixed methods [13] have received special attention in recent years. Following the rationale in [14], these concepts are applied to DG methods by defining the unknowns in each element as solution of a boundary value problem with Dirichlet data, whereas the interelement communication is handled by means of appropriate transmission conditions. Such approach leads to a wide range of hybrid discretization techniques [15] in which the only globally-coupled degrees of freedom of the problem are located on the mesh faces. The computational benefit of hybridization in the context of DG approximations has been analyzed in [16] in terms of floating-point operations. Other thorough numerical comparisons are detailed in [17, 18].

Contributions on hybrid methods may be subdivided in two main groups, relying either on primal or mixed formulations. The former includes: (1) classical DG methods in which the number of coupled degrees of freedom is reduced simply by means of hybridization [19,20,21]; (2) the reduced stabilization approach exploiting a primal unknown approximated using a polynomial function of degree \(k + 1\) and a trace variable of polynomial degree k to furtherly ease the computational burden [22, 23]; (3) the hybrid high-order (HHO) method which introduces a local reconstruction operator to mimick the behavior of the gradient of the primal solution and an appropriate stabilization term [24, 25]. It is worth recalling that the HHO method belongs to the family of hybridizable DG approaches and can be recasted in this framework by an appropriate definition of the involved stabilization operator [26].

Stemming from the work on the local DG method [27, 28], the hybridizable DG method proposed by Cockburn and coworkers relies on a mixed hybrid formulation [15], based on polynomial approximations discontinuous element-by-element [29]. The latter group thus includes all HDG formulations featuring the introduction of a mixed variable [30,31,32,33,34,35,36,37,38,39]. The advantage of directly approximating flux/stress via the introduction of a mixed variable is of special interest in the context of engineering problems in which quantities of interest usually rely on such information. Thus, in the following sections, these specific hybrid methods based on mixed formulations will be considered and, with an abuse of notation, they will be denoted generically as HDG approaches.

Hybrid discretization techniques have been successfully applied to several problems of engineering interest. In the context of computational fluid dynamics, HDG mixed formulations of the incompressible Navier–Stokes equations have been presented in [36, 40] and [41] using equal order and different order of polynomial approximations for the primal, mixed and hybrid variables, respectively. HHO formulations have been discussed in [42, 43]. On the one hand, special emphasis has been devoted to the construction of pointwise divergence-free approximations in incompressible flows [44, 45]. Recent results proposing a relaxed \(H({\text {div}})\)-conforming discretization of the velocity field are available in [46, 47]. On the other hand, extension to turbulent flows using implicit large eddy simulations [48] and the Spalart–Allmaras model [49, 50] and treatment of complex rheologies like quasi-Newtonian fluids [51] and viscoplastic materials [52] are active topics of investigations. First results of the application of hybrid discretization techniques to compressible flow problems are available in [53, 54].

Concerning linear elasticity, the strong enforcement of the symmetry of the stress tensor in HDG has been studied by different authors. A formulation using different degrees of polynomial approximation for the primal and hybrid variables has been discussed in [55]. In [56], an appropriate enrichment of the local discrete space of approximation via the M-decomposition framework is proposed to ensure optimal convergence of the mixed variable and superconvergence of the postprocessed one. An easy-to-implement alternative is represented by the HDG-Voigt approach introduced in [57] and detailed in Sect. 4 of the present contribution. In the context of nonlinear elasticity, hybrid methods based on primal formulations have shown promising results, see [58,59,60] for HHO applications to hyperelastic, plastic and elastoplastic regimes. The exploitation of HDG mixed formulations to simulate these phenomena is currently an open problem, as described in [61,62,63]. Moreover, results on fluid-structure interaction problems and arbitrary Lagrangian Eulerian formulations have been investigated in [64] and [65], respectively.

Other fields actively studied using hybrid discretization methods include subsurface flows [66, 67] and wave propagation phenomena [68], spanning from elastodynamics [69,70,71] to coastal water simulations [72], from Maxwell’s equations [73] to acoustics [74], optics [75] and plasmonics [76, 77].

Besides the application of hybrid discretization methods to different physical problems, several efforts have been devoted in recent years to the construction of efficient strategies to exploit the numerical advantages of the above mentioned approaches. On the one hand, the flexibility of DG methods has been exploited to perform mesh refinement based on octrees [78], driven by adjoint-based [79] and fully-computable [80] a posteriori error estimators. On the other hand, the possibility of using nonuniform polynomial degree approximations has been explored in [81] and [82, 83].

It is worth recalling that the accuracy of the functional approximation is strictly related to the one of the geometrical description of the domain. In this context, HDG for domains with curved boundaries have been analyzed in [84,85,86,87] via the extension to a fictitious subdomain, whereas a classical isoparametric framework has been developed for HHO in [88]. In [82, 83], the NEFEM paradigm is coupled with HDG to treat exact geometries described by means of NURBS. The strict relationship between geometrical and functional approximation error and its importance in the context of degree-adaptive procedures is further detailed in Sect. 3 of the present contribution.

Recently, different approaches to problems featuring unfitted interfaces have been proposed using immersed HDG formulations [89, 90], the extended HDG framework (X-HDG) which mutuates ideas from X-FEM to treat cut cells [91,92,93] and the cut-HHO method which relies on a cell agglomeration procedure and exploits the capability of HHO to handle generic mesh elements [94]. Moreover, numerical strategies to couple continuous Galerkin and HDG discretizations have also been recently proposed for mono- and multiphysics problems [95, 96].

Concerning specific solution strategies for hybrid discretization methods, a parallel solver based on the iterative Schwarz method has been developed in [97], fast multigrid solvers have been employed in [98,99,100] and iterative approaches inspired by the Gauss–Seidel method have been discussed in [101, 102]. Moreover, tailored preconditioners for the hybrid DG method have been proposed in [103, 104] in the context of the Stokes equations.

This contribution presents an overview of some recent advances on HDG methods with application to different problems in computational mechanics, namely electrostatics, linear elasticity and incompressible viscous flow simulations. The rationale to devise an HDG mixed approximation of a second-order partial differential equation (PDE) is recalled in Sect. 2. In Sect. 3, the importance of accounting for the exact geometry described by means of NURBS is illustrated via the framework of NEFEM. An HDG-NEFEM discretization with degree adaptivity is thus discussed for an electrostatics problem. In Sect. 4, an application of HDG to linear elasticity is considered. Special attention is devoted to the construction of a formulation using a pointwise symmetric mixed variable, namely the strain rate tensor, via Voigt notation [105]. The resulting HDG-Voigt formulation is robust for nearly-incompressible materials and provides optimally-convergent stresses and superconvergent displacements which are exploited to construct local error indicators to perform degree adaptive procedures. Eventually, a lowest-order HDG approximation, the recently proposed FCFV method [106, 107], is devised to efficiently solve large-scale problems involving incompressible flows (Sect. 5). The FCFV method provides an LBB-stable discretization which is insensitive to mesh distortion and stretching and features first-order accurate fluxes without the need to perform a reconstruction procedure.

2 The HDG rationale

To recall the rationale of the HDG method, the Laplace equation is considered in an open bounded domain \(\Omega \subset {\mathbb {R}}^{\texttt {n}_{\texttt {sd}}}\), \({\texttt {n}}_{\texttt {sd}}\) being the number of spatial dimensions,

$$\begin{aligned} \left\{ \begin{aligned} -\varvec{\nabla }{\cdot }\varvec{\nabla }u&= 0&{\text {in }}\,\Omega ,\\ u&= u_D&{\text{ on}}\,\partial \Omega ,\\ \end{aligned}\right. \end{aligned}$$
(1)

where u and \(u_D\) are the unknown variable and its imposed value on the boundary, respectively. From the point of view of modeling, Eq. (1) represents an electrostatic problem where u is the unknown electric potential.

The standard HDG mixed formulation described in [108] is detailed. Recall that the main features of this HDG method is the introduction of a mixed variable, namely \(\varvec{q}= -\varvec{\nabla }u\) allowing to rewrite a second-order PDE as a system of first-order PDEs, and of a hybrid variable \({\hat{u}}\) representing the trace of the primal unknown on the faces of the internal skeleton

$$\begin{aligned} \Gamma := \left[ \bigcup _{e=1}^{\texttt {n}_{\texttt {el}}} \partial \Omega _e \right] {\setminus } \partial \Omega , \end{aligned}$$

where \({\texttt {n}}_{\texttt {el}}\) is the number of non-overlapping elements \(\Omega _e, \, e=1,\ldots , {\texttt {n}}_{\texttt {el}}\) in which the domain is partitioned. Thus, Eq. (1) is rewritten as a system of first-order PDEs element-by-element

$$\begin{aligned}\left\{ \begin{array}{ll} \varvec{q}_e +\varvec{\nabla }u_e= \varvec{0}&\quad {\text {in }}\,\Omega _e, \, e=1,\ldots , {\texttt {n}}_{\texttt {el}},\\ \varvec{\nabla }{\cdot } \varvec{q}_e= 0&\quad{\text {in }}\,\Omega _e, \, e=1,\ldots , {\texttt {n}}_{\texttt {el}},\\ u_e= u_D&\quad {\text {on }}\,\partial \Omega _e\cap \partial \Omega ,\\ u_e= {\hat{u}}&\quad{\text {on }}\,\partial \Omega _e{\setminus }\partial \Omega ,\\ \end{array}\right.\end{aligned}$$

with the following transmission conditions enforcing the continuity of the solution and of the fluxes across the interface \(\Gamma\)

$$\begin{aligned} \left\{ \begin{aligned} \llbracket u\varvec{n}\rrbracket&= \varvec{0}&{\text {on}}\,\Gamma ,\\ \llbracket \widehat{{\varvec{n}}{\cdot } {\varvec{q}}}\rrbracket&= 0&{\text {on}}\,\Gamma , \end{aligned}\right. \end{aligned}$$

where \(\llbracket \odot \rrbracket = \odot _i + \odot _l\) is the jump operator proposed in [109] as the sum of the values in the elements \(\Omega _i\) and \(\Omega _l\) on the right and on the left of the interface respectively, whereas the trace of the numerical flux is defined as

$$\begin{aligned} \widehat{{\varvec{n}}{\cdot } {\varvec{q}}} := {\left\{ \begin{array}{ll} \varvec{n}{\cdot } \varvec{q}_e + \tau (u_e - u_D) & {\text {on}}\;\partial \Omega _e\cap \partial \Omega , \\ \varvec{n}{\cdot } \varvec{q}_e + \tau (u_e - {\hat{u}}) & {\text {elsewhere,}} \end{array}\right. } \end{aligned}$$

with \(\tau\) being an appropriate stabilization parameter [31,32,33,34, 36]. Note that the first transmission condition is automatically fulfilled owing to the Dirichlet boundary condition \(u_e={\hat{u}}\) imposed in the local problems on \(\partial \Omega _e{\setminus }\partial \Omega\) and to the uniqueness of the hybrid variable \({\hat{u}}\) on each mesh face in \(\partial \Omega _e \subset \Gamma\).

Thus, the HDG local problems are defined as follows: for \(e=1,\ldots , {\texttt {n}}_{\texttt {el}}\) compute \((u_e,\varvec{q}_e) \in {\mathcal {H}}^{1}(\Omega _e) \times \left[ {\mathcal {H}}({\text {div}};{{\Omega _e}});{\mathbb {R}}^{\texttt {n}_{\texttt {sd}}}\right]\) such that

$$\begin{aligned} \left\{ \begin{aligned} - \int _{\Omega _e}{ \varvec{w}{\cdot } \varvec{q}_e \, d\Omega } + \int _{\Omega _e}{ \varvec{\nabla }{\cdot } \varvec{w}\, u_e \, d\Omega }&= \int _{\partial \Omega _e\cap \partial \Omega }{ \varvec{n}{\cdot } \varvec{w}\, u_D \, d\Gamma } + \int _{\partial \Omega _e{\setminus }\partial \Omega }{ \varvec{n}{\cdot } \varvec{w}\, {\hat{u}}\, d\Gamma },\\ \int _{\Omega _e}{v \, \varvec{\nabla }{\cdot } \varvec{q}_e \, d\Omega } + \int _{\partial \Omega _e}{ \tau \, v \, u_e \, d\Gamma }&= \int _{\partial \Omega _e\cap \partial \Omega }{ \tau \, v \, u_D \, d\Gamma } + \int _{\partial \Omega _e{\setminus }\partial \Omega }{ \tau \, v \, {\hat{u}}\, d\Gamma }, \end{aligned}\right. \end{aligned}$$
(2)

for all \((v,\varvec{w}) \in {\mathcal {H}}^{1}(\Omega _e) \times \left[ {\mathcal {H}}({\text {div}};{{\Omega _e}});{\mathbb {R}}^{\texttt {n}_{\texttt {sd}}}\right]\), where \(\left[ {\mathcal {H}}({\text {div}};{{\Omega _e}});{\mathbb {R}}^{\texttt {n}_{\texttt {sd}}}\right]\) is the space of square integrable vectors of dimension \({\texttt {n}}_{\texttt {sd}}\) with square integrable divergence on \(\Omega _e\).

Following the notation in [108], the discrete functional spaces

$$\begin{aligned} {\mathcal {V}}^h \!(\Omega )&:= \left\{ v \in {\mathcal {L}}_2(\Omega ) : \, v\vert _{\Omega _e} \in {\mathcal {P}}^{k}(\Omega _e) \, \forall \Omega _e, \, e = 1,\ldots , {\texttt {n}}_{\texttt {el}}\right\} , \end{aligned}$$
(3a)
$$\begin{aligned} \widehat{{\mathcal {V}}}^h \!\!(S)&{:=} \left\{ {\hat{v}}\in {\mathcal {L}}_2(S) : \, {\hat{v}}\vert _{\Gamma _i} \in {\mathcal {P}}^{k}(\Gamma _i) \, \forall \Gamma _i \subset S \subseteq \Gamma \cup \partial \Omega \right\} , \end{aligned}$$
(3b)

are introduced for the HDG approximation. In Eq. (3), \({\mathcal {P}}^{k}(\Omega _e)\) (respectively, \({\mathcal {P}}^{k}(\Gamma _i)\)) represents the space of polynomial functions of complete degree at most \(k \ge 1\) in \(\Omega _e\) (respectively, on \(\Gamma _i\)). Thus, for \(e = 1,\ldots , {\texttt {n}}_{\texttt {el}}\) the HDG discrete local problem is: given \({\hat{u}}^h\) on \(\Gamma\), find \((u_e^h,\varvec{q}_e^h) \in {\mathcal {V}}^h \!(\Omega _e) \times \left[ {\mathcal {V}}^h \!(\Omega _e)\right] ^{\texttt {n}_{\texttt {sd}}}\), approximating the pair \((u_e,\varvec{q}_e)\), such that Eq. (2) holds for all \((v,\varvec{w}) \in {\mathcal {V}}^h \!(\Omega _e) \times \left[ {\mathcal {V}}^h \!(\Omega _e)\right] ^{\texttt {n}_{\texttt {sd}}}\).

Remark 1

For each element \(\Omega _e, \, e = 1,\ldots , {\texttt {n}}_{\texttt {el}}\), the primal, \(u_e^h\), and mixed, \(\varvec{q}_e^h\), variables are determined as functions of the unknown hybrid variable \({\hat{u}}^h\) on \(\partial \Omega _e{\setminus }\partial \Omega\). From the point of view of modeling, the HDG local problem establishes a relationship between the electric potential and electric field inside each element and the electric potential on the corresponding element boundary.

The HDG global problem is defined from the previously introduced transmission conditions: find \({\hat{u}}\in {\mathcal {H}}^{1/2}(\Gamma )\) such that

$$\begin{aligned}&\sum _{e=1}^{\texttt {n}_{\texttt {el}}} \left\{ \int _{\partial \Omega _e{\setminus }\partial \Omega }{ {\hat{v}}\, \varvec{n}{\cdot } \varvec{q}_e \, d\Gamma } \right. \\&\quad \left. +\, \int _{\partial \Omega _e{\setminus }\partial \Omega }{ \tau \, {\hat{v}}\, u_e \, d\Gamma } - \int _{\partial \Omega _e{\setminus }\partial \Omega }{ \tau \, {\hat{v}}\, {\hat{u}}\, d\Gamma } \right\} = 0, \end{aligned}$$
(4)

for all \({\hat{v}}\in {\mathcal {L}}_2(\Gamma )\), where \(u_e\) and \(\varvec{q}_e\) are obtained from the local problems defined in Eq. (2).

The HDG discrete global problem is thus obtained solving the previous equation in the hybrid space introduced in (3), that is, find \({\hat{u}}^h \in \widehat{{\mathcal {V}}}^h \!\!(\Gamma )\) such that Eq. (4) holds for all \({\hat{v}}\in \widehat{{\mathcal {V}}}^h \!\!(\Gamma )\).

Recall that using equal order k for the approximation of the primal, mixed and hybrid variables, HDG provides optimal convergence of order \(k+1\) for all the unknowns [31]. Inspired by the work of Stenberg [110], this property is exploited to devise an inexpensive local postprocessing procedure leading to a superconvergent approximation of the primal variable [35, 82, 108]: for \(e=1,\ldots , {\texttt {n}}_{\texttt {el}}\), compute \(u_e^\star\) using a polynomial approximation of degree \(k+1\) such that

$$\begin{aligned} \left\{ \begin{aligned} \varvec{\nabla }{\cdot }\varvec{\nabla }u_e^\star&= -\varvec{\nabla }{\cdot }\varvec{q}_e^h&\quad {\text {in}}\, \Omega _e,\\ \varvec{n}{\cdot } \varvec{\nabla }u_e^\star&= -\varvec{n}{\cdot } \varvec{q}_e^h&\quad {\text{ on}}\, \partial \Omega _e,\\ \end{aligned}\right. \end{aligned}$$
(5)

with the solvability constraint

$$\begin{aligned} \int _{\Omega _e}{ u_e^\star \, d\Omega } = \int _{\Omega _e}{ u_e^h \, d\Omega }. \end{aligned}$$
(6)

The computed \(u_e^\star\) thus superconverges with order \(k+2\) [111] and has been exploited to define a simple and inexpensive error indicator to perform degree adaptive procedures [82, 112, 113].

Henceforth, the superscript \(^h\) identifying the discrete HDG solution will be omitted to ease readability and notation, if no risk of ambiguity is possible.

3 HDG-NEFEM: exact geometry and degree adaptivity

The possibility to easily implement a variable degree of approximation in DG methods has motivated the recent interest in degree adaptive processes for convection-dominated flow and wave propagation phenomena. In this context, the superconvergent property of HDG is especially attractive, as it allows to devise an inexpensive error indicator for a computed approximation [82, 112, 113].

One aspect that has been traditionally ignored when proposing new degree adaptive procedures is the representation of the geometry. In an isoparametric formulation, a degree adaptive process requires communicating with the CAD model and regenerating the mesh, at least near the boundary, at each iteration. Nonetheless, the associated computational cost makes this strategy unfeasible for practical applications. Thus, it is common practice to represent the geometry with quadratic or cubic polynomials and change only the degree of the functional approximation during the adaptivity process, leading to subparametric and superparametric formulations [112, 113]. An alternative procedure based on the NEFEM rationale [114] is discussed here. The boundary of the computational domain is represented using the true CAD model, irrespective of the functional approximation used. The effort required to implement this approach is similar to the one employing subparametric or superparametric formulations: no communication with the CAD model or regeneration of the mesh are required, while the geometric uncertainty introduced by a polynomial description of the boundary of the domain is completely removed.

According to the framework described in Sect. 2, for a given distribution of the degree k of the functional approximation, the global problem (4) is solved first to obtain the trace of the electric potential on the mesh edges/faces. Second, an element-by-element problem is solved to compute the value of the electric potential u and its gradient, i.e. the electric field, in the elements, according to Eq. (2). Finally, an element-by-element postprocess is performed to obtain a superconvergent solution \(u_e^\star\) by solving (5)–(6).

Following [82, 113], a measure of the error in each element \(\Omega _e, e=1,\ldots , {\texttt {n}}_{\texttt {el}}\) is defined

$$\begin{aligned} E_e^u = \left[ \frac{1}{|\Omega _e|} \int _{\Omega _e} \left( u_e^\star - u_e \right) ^2 d\Omega \right] ^{1/2}. \end{aligned}$$
(7)

Moreover, the local a priori error estimate derived in [115] for elliptic problems, states that the error in an element is bounded as

$$\begin{aligned} \varepsilon _e = \Vert u - u_h \Vert _{\Omega _e} \le C h_e^{k_e + 1 + {\texttt {n}}_{\texttt {sd}}/2}. \end{aligned}$$
(8)

By means of Richardson extrapolation, it is possible to estimate the unknown constant C in Eq. (8), assuming that two values of the error, obtained with different degrees of approximation, are considered. In order to determine the change of degree required to achieve a desired error \(\varepsilon\), first, an estimate of the error is devised using Eq. (7). Then, the target approximation degree is computed according to Eq. (8) by imposing a desired elemental error \(\varepsilon _e\). As detailed in [82], the change of degree in the element \(\Omega _e\) is thus given by

$$\begin{aligned} \Delta k_e = \left\lceil \frac{\log (\varepsilon /E_e^u)}{\log (h_e)} \right\rceil , \quad e=1,\ldots , {\texttt {n}}_{\texttt {el}}, \end{aligned}$$
(9)

where \(\lceil \cdot \rceil\) is the ceiling function and \(h_e\) is the non-dimensional characteristic size of the element \(\Omega _e\).

The proposed degree adaptive process is tested by computing the electric field in a rectangular domain with a square inclusion, \(\Omega = [-75,75]\times [-100,100] {\setminus } [-50,50]^2\). A unit potential is imposed on the outer boundary and a zero potential on the inclusion. As it is common in practical engineering applications, the corners of the inclusion are rounded to eliminate the singularity induced by the re-entrant corners [116]. Specifically, a fillet defined using a small radius r is introduced to increase the regularity of the boundary. Figure 1 shows the intensity of the electric field for three different geometries, with a fillet of radius \(r=5\), \(r=2\) and \(r=1\) respectively.

Fig. 1
figure 1

Top: intensity of the electric field for three different radii of the fillet. From left to right: \(r=5\), \(r=2\) and \(r=1\). Bottom: detail of the top-right corner of the inclusion and the computed electric field

The results clearly illustrate the change in the maximum intensity of the electric field (Fig. 1-top), as well as the localized variations at the corners in terms of the radius of the fillet (Fig. 1-bottom).

For the application of interest, a fillet of radius \(r=1\) is considered. In this case, a fine mesh is thus required by isoparametric elements to capture the localized high curvature of the boundary around the corners and the degree adaptive process has to be coupled with mesh adaptation, leading to an hp-refinement strategy. With the proposed HDG-NEFEM approach, a coarse mesh of uniform element size is employed while preserving the exact representation of rounded corners. The degree adaptive process thus determines the required nonuniform degree of approximation to compute the solution with a desired tolerance \(\varepsilon = 0.5 \times 10^{-3}\), provided by the user a priori and represented by the target dashed line in Fig. 3. The resulting intensity of the electric field computed on a quarter of the domain and the distribution of the polynomial degree of approximation are depicted in Fig. 2.

Fig. 2
figure 2

Left: intensity of the electric field computed with the proposed HDG-NEFEM approach. Right: distribution of the approximation degree after eight iterations of the degree adaptive process

The evolution of the estimated and exact errors for the proposed HDG-NEFEM approach is shown in Fig. 3 (left) and compared against the estimated and exact errors for an isoparametric approach. It is important to note that the usual isoparametric strategy presents two major drawbacks. First, each iteration involving a modification of the polynomial degree in the elements with the rounded corner requires communication with the CAD model and regeneration of the distributions of nodes for the curved elements. Second, the change in geometry induced by the change in the degree of the functional approximation is not able to decrease the error towards the imposed tolerance. The nonsmooth representation of the geometry, i.e. only \({\mathcal {C}}^0\) between the elements, entails that the numerical approximation of u presents a nonphysical singularity and the degree adaptive process does not provide an optimal solution. In contrast, with the proposed HDG-NEFEM approach the error decreases monotonically until the desired tolerance is achieved.

To further illustrate the benefits of the proposed HDG-NEFEM approach, a degree adaptive process is performed next with standard high-order elements avoiding the costly communication with the CAD model. To this end, the geometry is represented with cubic polynomials and during the degree adaptive process only the degree of the functional approximation of the solution is changed.

Figure 3 (right) shows the evolution of the estimated and exact errors. The results clearly show that despite the adaptive process stops in eight iterations because the estimated error has reached the desired tolerance, the exact error is far from being close to the desired error. This indicates that the adaptive process is actually converging to the solution of a different problem where the geometry is represented with polynomials and remains unchanged during the adaptive iterations. It is worth noticing that using a fixed polynomial approximation of the geometry in a degree adaptive context has been extensively utilized in the literature, see [112, 113], but this simple example demonstrates the limitations of such approach.

Fig. 3
figure 3

Evolution of the exact and estimated errors as a function of the number of iterations in the degree adaptive procedure. Left: isoparametric and NEFEM elements. Right: high-order elements with a fixed approximation of the geometry using cubic polynomials

4 HDG-Voigt formulation in continuum mechanics and local error indicators

In continuum mechanics, the strong enforcement of the symmetry of the stress tensor is associated with the pointwise fulfillment of the conservation of angular momentum. It is well-known that the classical HDG mixed formulation suffers from suboptimal convergence when low-order discretizations of symmetric second-order tensors are involved [34, 37]. To remedy this issue, several techniques have been proposed in the context of hybrid discretization techniques [25, 41, 55, 56, 117]. The HDG-Voigt formulation introduced in [57, 118] exploits Voigt notation for second-order tensors, see [105], to strongly enforce symmetry by storing solely \({\texttt {m}}_{\texttt {sd}}:= {\texttt {n}}_{\texttt {sd}}({\texttt {n}}_{\texttt {sd}}- 1)/2\) non-redundant off-diagonal components of the stress tensor in a vector form \(\varvec{\sigma }_{\!\!{\texttt {v}}}\), namely,

$$\begin{aligned} \varvec{\sigma }_{\!\!{\texttt {v}}}:= {\left\{ \begin{array}{ll} \bigl [\sigma _{11} ,\; \sigma _{22} ,\; \sigma _{12} \bigr ]^T &\quad {\texttt {n}}_{\texttt {sd}}=2 , \\ \bigl [\sigma _{11},\; \sigma _{22},\; \sigma _{33},\; \sigma _{12} ,\; \sigma _{13},\; \sigma _{23} \bigr ]^T &\quad {\texttt {n}}_{\texttt {sd}}=3, \end{array}\right. } \end{aligned}$$
(10)

where \({\texttt {n}}_{\texttt {sd}}\) is the number of spatial dimensions of the problem.

Consider a domain \(\Omega \subset {\mathbb {R}}^{{\texttt {n}}_{\texttt {sd}}}\) such that \(\partial \Omega = \Gamma _D \cup \Gamma _N\) and \(\Gamma _D \cap \Gamma _N = \emptyset\) and the following system of equations describing the behavior of a continuum medium

$$\begin{aligned} \left\{ \begin{array}{ll} -\varvec{\nabla }_{\!\!{\texttt {s}}}^T \varvec{\sigma }_{\!\!{\texttt {v}}}= \varvec{s}&\quad{\text {in}}\,\Omega ,\\ \varvec{\sigma }_{\!\!{\texttt {v}}}= {\mathbf {D}}(E,\nu ) \varvec{\nabla }_{\!\!{\texttt {s}}}\varvec{u}&\quad{\text {in}}\,\Omega ,\\ \varvec{u}= \varvec{u}_D&\quad{\text {on}}\,\Gamma _D,\\ {\mathbf {N}}^T \varvec{\sigma }_{\!\!{\texttt {v}}}= \varvec{g}&\quad{\text {on}}\,\Gamma _N, \end{array} \right. \end{aligned}$$
(11)

where \(\varvec{u}\) is the unknown displacement field, \(\varvec{s}\) is the external body force and \(\varvec{u}_D,\varvec{g}\) are the imposed displacement and traction on the boundary, respectively. The \({\texttt {m}}_{\texttt {sd}}\times {\texttt {n}}_{\texttt {sd}}\) matrices \(\varvec{\nabla }_{\!\!{\texttt {s}}}\) and \({\mathbf {N}}\) account for the linearized symmetric gradient operator and the normal direction to the boundary and have the following form

$$\begin{aligned} \varvec{\nabla }_{\!\!{\texttt {s}}} & := {\left\{ \begin{array}{ll} \begin{bmatrix} \partial /\partial x_1 & \quad 0 & \quad \partial /\partial x_2 \\ 0 & \quad \partial /\partial x_2 & \quad \partial /\partial x_1 \end{bmatrix}^T & \quad {\texttt {n}}_{\texttt {sd}}=2, \\ \begin{bmatrix} \partial /\partial x_1 & \quad 0 & \quad 0 & \quad \partial /\partial x_2 & \quad \partial /\partial x_3 & \quad 0 \\ 0 & \quad \partial /\partial x_2 & \quad 0 & \quad \partial /\partial x_1 & \quad 0 & \quad \partial /\partial x_3 \\ 0 & \quad 0 & \quad \partial /\partial x_3 & \quad 0 & q\partial /\partial x_1 & \quad \partial /\partial x_2 \end{bmatrix}^T & \quad {\texttt {n}}_{\texttt {sd}}=3. \\ \end{array}\right. } \end{aligned}$$
(12a)
$$\begin{aligned} {\mathbf {N}} & := {\left\{ \begin{array}{ll} \begin{bmatrix} n_1 & \quad 0 & \quad n_2 \\ 0 & \quad n_2 & \quad n_1 \end{bmatrix}^T & \quad {\texttt {n}}_{\texttt {sd}}=2, \\ \begin{bmatrix} n_1 & \quad 0 & \quad 0 & \quad n_2 & \quad n_3 & \quad 0\\ 0 & \quad n_2 & \quad 0 & \quad n_1 & \quad 0 & \quad n_3 \\ 0 & \quad 0 & \quad n_3 & \quad 0 & \quad n_1 & \quad n_2 \end{bmatrix}^T & \quad {\texttt {n}}_{\texttt {sd}}=3. \\ \end{array}\right. } \end{aligned}$$
(12b)

The relationship between the stress tensor and the displacement field is expressed by means of the Hooke’s law for linear elastic homogeneous materials, \(\varvec{\sigma }_{\!\!{\texttt {v}}}= {\mathbf {D}}(E,\nu ) \varvec{\nabla }_{\!\!{\texttt {s}}}\varvec{u}\), where the matrix \({\mathbf {D}}\) describes the mechanical behavior of the solid as a function of Young’s modulus E and Poisson’s ratio \(\nu\), according to the classical definitions in [105].

Introducing a symmetric mixed variable \(\varvec{L}_e\) for the discretization of the strain rate tensor, the linear elasticity problem in Eq. (11) is split into a set of \({\texttt {n}}_{\texttt {el}}\) local problems that define the primal and mixed variables \((\varvec{u}_e,\varvec{L}_e)\) as functions of the hybrid variable \({\widehat{\varvec{u}}}\) representing the trace of the displacement field on the edges/faces of the mesh, namely

$$\begin{aligned} \left\{ \begin{array}{ll} \varvec{L}_e + {\mathbf {D}}^{1/2}\varvec{\nabla }_{\!\!{\texttt {s}}}\varvec{u}_e= \varvec{0}&\quad{\text {in}}\,\Omega _e, \, e=1,\ldots, {\texttt {n}}_{\texttt {el}},\\ \varvec{\nabla }_{\!\!{\texttt {s}}}^T {\mathbf {D}}^{1/2}\varvec{L}_e= \varvec{s}&\quad{\text {in}}\,\Omega _e, \, e=1,\ldots, {\texttt {n}}_{\texttt {el}},\\ \varvec{u}_e= \varvec{u}_D&\quad{\text {on}}\,\partial \Omega _e \cap \Gamma _D,\\ \varvec{u}_e= {\widehat{\varvec{u}}}&\quad{\text {on}}\,\partial \Omega _e {\setminus } \Gamma _D, \end{array} \right. \end{aligned}$$
(13)

and a global problem imposing the Neumann boundary condition and the transmission conditions to enforce inter-element continuity of the solution and the tractions

$$\begin{aligned} \left\{ \begin{array}{ll} {\mathbf {N}}^T {\mathbf {D}}^{1/2}\varvec{L}_e= -\varvec{g}&\quad{\text {on}}\;\Gamma ,\\ \llbracket \varvec{u}{\otimes } \varvec{n}\rrbracket= \varvec{0}&\quad{\text {on}}\;\Gamma ,\\ \llbracket \widehat{{\mathbf {N}}^{T} {\mathbf {D}}^{1/2}{\varvec{L}}_e}\rrbracket= \varvec{0}&\quad{\text {on}}\;\Gamma , \end{array} \right. \end{aligned}$$
(14)

where \(\varvec{n}\) is the outward normal vector to the faces of the internal skeleton \(\Gamma\) and \(\widehat{{\mathbf {N}}^T {\mathbf {D}}^{1/2}{\varvec{L}}_e}\) is the trace of the numerical flux, defined as a function of \({\widehat{\varvec{u}}}\) and the stabilization parameter \(\tau\)

$$\begin{aligned} \widehat{{\mathbf {N}}^T {\mathbf {D}}^{1/2}{\varvec{L}}_e} := {\left\{ \begin{array}{ll} {\mathbf {N}}^T {\mathbf {D}}^{1/2}\varvec{L}_e + \tau (\varvec{u}_e - \varvec{u}_D) & {\text {on}}\; \partial \Omega _e\cap \Gamma _D, \\ {\mathbf {N}}^T {\mathbf {D}}^{1/2}\varvec{L}_e + \tau (\varvec{u}_e - {\widehat{\varvec{u}}}) & {\text {elsewhere.}} \end{array}\right. } \end{aligned}$$
(15)

Note that owing to the Voigt framework, the mixed variable utilized in the HDG formulation is the pointwise symmetric strain rate tensor, the conservation of angular momentum is fulfilled pointwise in each mesh element and physical tractions are imposed on the Neumann boundary. Following the HDG rationale, first, the global problem in Eq. (14) is solved to obtain \({\widehat{\varvec{u}}}\) on the internal skeleton \(\Gamma\) and on the Neumann boundary \(\Gamma _N\). Then, the primal and mixed variables \((\varvec{u}_e,\varvec{L}_e)\) are computed element-by-element by solving the HDG local problems in Eq. (13) independently in each \(\Omega _e, \, e=1,\ldots, {\texttt {n}}_{\texttt {el}}\). Eventually, the following postprocessing procedure is devised: for \(e=1,\ldots, {\texttt {n}}_{\texttt {el}}\) compute a displacement field \(\varvec{u}_e^\star\) using a polynomial approximation of degree \(k+1\) such that

$$\begin{aligned} \left\{ \begin{aligned} \varvec{\nabla }_{\!\! {\texttt {s}}}^T{\mathbf {D}}^{1/2}\varvec{\nabla }_{\!\! {\texttt {s}}}\varvec{u}_e^\star&= -\varvec{\nabla }_{\!\!{\texttt {s}}}^T\varvec{L}_e&{\text {in}}\; \Omega _e,\\ {\mathbf {N}}^T {\mathbf {D}}^{1/2}\varvec{\nabla }_{\!\!{\texttt {s}}}\varvec{u}_e^\star&= -{\mathbf {N}}^T \varvec{L}_e&{\text{ on}}\; \partial \Omega _e,\\ \end{aligned}\right. \end{aligned}$$
(16)

with the solvability constraint in Eq. (6) to remove the underdetermination due to rigid body translations and

$$\begin{aligned} \int _{\Omega _e}{ \varvec{\nabla }\times \varvec{u}_e^\star \, d\Omega } = \int _{\partial \Omega _e}{ \varvec{u}_e {\cdot } \varvec{t}\, d\Gamma }, \end{aligned}$$
(17)

to account for rigid body rotations, where \(\varvec{t}\) is the tangential direction to the boundary \(\partial \Omega _e\).

It is worth recalling that HHO and HDG, that is, both primal and mixed formulations of hybrid discretization methods display a robust behavior for nearly incompressible materials and do not experience locking phenomena [25, 37, 38]. The discussed HDG-Voigt strategy inherits such property. Nonetheless, classical HDG methods using approximations with equal-order polynomials of degree k for all the variables experience suboptimal behavior for \(k<3\). On the contrary, the proposed HDG-Voigt formulation provides a discretization with optimal convergence of order \(k+1\) for \(\varvec{u},\varvec{L}\) and \({\widehat{\varvec{u}}}\), even in case of low-order polynomial approximations. Thus, in this context, the advantages of using the HDG-Voigt formulation are twofold. On the one hand, an approximation of the strain rate tensor is directly obtained from the mixed formulation without the need to postprocess the primal variable of the problem. On the other hand, the resulting method provides optimally convergent stress and superconvergent displacement field using a nodal-based approximation for all the variables [57] and without resorting to different interpolation degrees [55] or to the enrichment of the local discrete spaces discussed in [56].

The HDG-Voigt formulation is tested on a well-known benchmark test for bending-dominated elastic problems, the Cook’s membrane [119]. The domain consists of a tapered plate clamped on the left end and subject to a vertical shear load \(\varvec{g} = (0, 1/16)\) on the opposite end, whereas zero tractions are imposed on the top and bottom parts of the boundary. Following the problem setup in [120], a nearly incompressible material with Young’s modulus \(E = 1.12499998125\) and Poisson’s ratio \(\nu = 0.499999975\) is considered. Figure 4 shows the displacement of the mid-point of the right end of the membrane for linear, quadratic and cubic elements on both quadrilateral and triangular meshes.

Fig. 4
figure 4

Convergence of the displacement of the mid-point of the right end of Cook’s membrane as a function of the number of degrees of freedom of the HDG discretization, using polynomial approximations of degree \(k=1,2,3\). Left: quadrilateral elements. Right: triangular elements

The results display the convergence to the reference value, taken from [120], even for low-order triangular elements, showing the robustness of the HDG-Voigt formulation in the incompressible limit.

Exploiting the optimal convergence of order \(k + 1\) of the discretized strain rate tensor \(\varvec{L}_e\) and the postprocessing procedure discussed in [57, 118] to resolve the underdetermination due to rigid body motions, a superconvergent approximation \(\varvec{u}_e^\star\) of the displacement field is constructed. Thus, the error indicator in Eq. (7) is computed starting from the approximated primal and postprocessed displacement fields. Alternatively, a local error indicator based on the strain rate tensor

$$\begin{aligned} E_e^L = \left[ \frac{1}{|\Omega _e|} \int _{\Omega _e} \left( \varvec{\nabla }_{\!\!{\texttt {s}}}\varvec{u}_e^\star - \varvec{\nabla }_{\!\!{\texttt {s}}}\varvec{u}_e \right) {\cdot } \left( \varvec{\nabla }_{\!\!{\texttt {s}}}\varvec{u}_e^\star - \varvec{\nabla }_{\!\!{\texttt{s}}}\varvec{u}_e \right) d\Omega \right] ^{1/2} \end{aligned}$$
(18)

can be used when a certain level of accuracy is required on the stress tensor rather than on the displacement field [83].

Figure 5 shows a comparison of the error indicators (7) and (18) for the displacement field and the strain rate tensor, respectively. The different information captured by each error indicator is clearly observed. In particular, it is straightforward to observe that the error indicator based on the strain rate tensor is able to provide information about regions where a concentration of stress is present. This information is of great interest in engineering applications, e.g. for the optimal design of elastic structures [121].

Fig. 5
figure 5

Error indicator based on the displacement field (left) and the strain rate tensor (right)

5 FCFV: lowest-order HDG method for large-scale problems

One of the major challenges that current techniques in computational mechanics face when confronted to industrial applications is proving their ability to efficiently solve large-scale problems in a reliable and robust way. Despite the numerous advantages in terms of accuracy, efficient treatment of convection-dominated phenomena in flow problems and flexibility for parallelization, the adoption of high-order methods by the industry is still limited, partially due to the difficulty to generate high-order curvilinear meshes of complex configurations [122]. Starting from the framework discussed above, a novel efficient and robust finite volume (FV) rationale has been proposed in [106, 107].

In order to describe this approach, an incompressible Stokes flow is considered

$$\begin{aligned} \left\{ \begin{array}{ll} - \varvec{\nabla }{\cdot } (\nu \varvec{\nabla }\varvec{u}- p {\mathbf {I}}_{\texttt {n}_{\texttt {sd}}})= \varvec{s}&\quad{\text {in}}\;\Omega ,\\ \varvec{\nabla }{\cdot } \varvec{u}= 0&\quad{\text {in}}\;\Omega ,\\ \varvec{u}= \varvec{u}_D&\quad{\text {on}}\;\Gamma _D,\\ \bigl (\nu \varvec{\nabla }\varvec{u}- p {\mathbf {I}}_{\texttt {n}_{\texttt {sd}}}\bigr ) \varvec{n}= \varvec{g}&\quad{\text {on}}\; \Gamma _N,\\ \end{array}\right. \end{aligned}$$
(19)

where the pair \((\varvec{u},p)\) represents the unknown velocity and pressure fields, \(\nu > 0\) is the viscosity of the fluid, \({\mathbf {I}}_{\texttt {n}_{\texttt {sd}}}\) is the \({\texttt {n}}_{\texttt {sd}}\times {\texttt {n}}_{\texttt {sd}}\) identity matrix and \(\varvec{s}, \varvec{u}_D, \varvec{g}\) respectively are the source term, the imposed velocity and pseudo-tractions, see [123], on the boundary.

Following the HDG rationale introduced in Sect. 2, the FCFV local and global problems for the Stokes equations are introduced. More precisely, in each cell \(\Omega _e, \ e=1,\ldots, {\texttt {n}}_{\texttt {el}}\), it holds

$$\begin{aligned} \left\{ \begin{array}{ll} \varvec{L}_e + \sqrt{\nu } \varvec{\nabla }\varvec{u}_e= \varvec{0}&\quad{\text {in}}\;\Omega _e, \,e=1,\ldots, {\texttt {n}}_{\texttt {el}},\\ \varvec{\nabla }{\cdot } \left( \sqrt{\nu } \varvec{L}_e + p_e {\mathbf {I}}_{\texttt {n}_{\texttt {sd}}}\right)= \varvec{s}&\quad{\text {in}}\;\Omega _e, \,e=1,\ldots, {\texttt {n}}_{\texttt {el}},\\ \varvec{\nabla }{\cdot } \varvec{u}_e= 0&\quad{\text {in}}\;\Omega _e, \, e=1,\ldots, {\texttt {n}}_{\texttt {el}},\\ \varvec{u}_e= \varvec{u}_D&\quad{\text {on}}\;\partial \Omega _e \cap \Gamma _D,\\ \varvec{u}_e= {\widehat{\varvec{u}}}&\quad{\text {on}}\;\partial \Omega _e {\setminus } \Gamma _D, \end{array} \right. \end{aligned}$$
(20)

with the following additional constraint to remove the underdetermination of pressure due to the Dirichlet boundary conditions imposed in Eq. (20)

$$\begin{aligned} \int _{\partial \Omega _e}{ p_e \, d\Gamma } = |\partial \Omega _e| \rho _e. \end{aligned}$$
(21)

The FCFV global problem features the Neumann boundary conditions and the transmission conditions enforcing inter-element continuity of the solution and the fluxes, as previously detailed for the HDG method

$$\begin{aligned} \left\{ \begin{array}{ll} \left( \sqrt{\nu }\varvec{L}_e + p_e{\mathbf {I}}_{\texttt {n}_{\texttt {sd}}}\right) \varvec{n}= -\varvec{g}&\quad{\text {on}}\;\Gamma ,\\ \llbracket \varvec{u}{\otimes } \varvec{n}\rrbracket= \varvec{0}&\quad{\text {on}}\;\Gamma ,\\ \llbracket \widehat{\left( \sqrt{\nu }{\varvec{L}}_e + p_e{\mathbf {I}}_{\texttt {n}_{\texttt {sd}}}\right) {\varvec{n}}}\rrbracket= \varvec{0}&\quad{\text {on}}\;\Gamma , \end{array} \right. \end{aligned}$$
(22)

where the numerical normal flux on the boundary is defined as

$$\begin{aligned} \widehat{\left(\sqrt{\nu}{\varvec{L}}_e + p_e{\mathbf {I}}_{{\texttt {n}}_{{\texttt {sd}}}}\right) {\varvec{n}}} := {\left\{ \begin{array}{ll} \left( \sqrt{\nu } \varvec{L}_e + p_e {\mathbf {I}}_{{\texttt {n}}_{\texttt {sd}}}\right) \varvec{n}+ \tau (\varvec{u}_e - \varvec{u}_D) & \quad {\text {on}}\;\partial \Omega _e\cap \Gamma _D, \\ \left( \sqrt{\nu } \varvec{L}_e + p_e {\mathbf {I}}_{{\texttt {n}}_{\texttt {sd}}}\right) \varvec{n}+ \tau (\varvec{u}_e - {\widehat{\varvec{u}}}) & \quad {\text {elsewhere.}} \end{array}\right. } \end{aligned}$$
(23)

Moreover, the incompressibility constraint is expressed in weak form as

$$\begin{aligned} \int _{\partial \Omega _e {\setminus } \Gamma _D}{ {\widehat{\varvec{u}}}{\cdot } \varvec{n}\, d\Gamma } + \int _{\partial \Omega _e \cap \Gamma _D}{ \varvec{u}_D {\cdot } \varvec{n}\, d\Gamma } = 0 \qquad \hbox {for}\;\ e=1,\ldots , {\texttt {n}}_{\texttt {el}}. \end{aligned}$$
(24)

FCFV may be interpreted as the lowest-order HDG mixed method which employs a constant degree of approximation in each cell for the velocity \(\varvec{u}_e\), the pressure \(p_e\) and the mixed variable \(\varvec{L}_e\), representing the gradient of velocity, a constant degree of approximation on each edge/face for the velocity \({\widehat{\varvec{u}}}\) and a constant value \(\rho _e\) for the mean pressure in each cell. Moreover, the FCFV global and local problems are discretized using a quadrature with one integration point located in the centroid of the cell or face and in the midpoint of the edge.

FCFV solves the problem in two phases [106, 107]. First, by applying the divergence theorem to Eq. (20) and exploiting the definition of the numerical normal flux on the boundary in Eq. (23), a set of \({\texttt {n}}_{\texttt {el}}\) local integral problems is obtained

$$\begin{aligned} \begin{aligned} - \int _{\Omega _e}{ \varvec{L}_e \, d\Omega }&= \int _{\partial \Omega _e\cap \Gamma _D}{ \sqrt{\nu }\varvec{u}_D {\otimes } \varvec{n}\, d\Gamma } + \int _{\partial \Omega _e{\setminus }\Gamma _D}{ \sqrt{\nu } {\widehat{\varvec{u}}}{\otimes } \varvec{n}\, d\Gamma }, \\ \quad \int _{\partial \Omega _e}{ \tau \, \varvec{u}_e \, d\Gamma }&= \int _{\Omega _e}{ \varvec{s} \, d\Omega } + \int _{\partial \Omega _e\cap \Gamma _D}{ \tau \, \varvec{u}_D \, d\Gamma } + \int _{\partial \Omega _e{\setminus }\Gamma _D}{ \tau \, {\widehat{\varvec{u}}}\, d\Gamma }, \\ \quad \int _{\partial \Omega _e}{ p_e \, d\Gamma }&= |\partial \Omega _e| \rho _e. \end{aligned} \end{aligned}$$
(25)

Note that the divergence theorem applied to the incompressibility constraint in Eq. (20) leads to Eq. (24), which is thus omitted from the local problem since only the global unknown \({\widehat{\varvec{u}}}\) is involved. Moreover, the last equation of the previous system directly stems from Eq. (21).

It is worth noticing that the equations of the FCFV local problem decouple and a closed-form expression of all the variables as functions of the velocity \({\widehat{\varvec{u}}}\) on the boundary \(\partial \Omega _e {\setminus } \Gamma _D\) and the mean value \(\rho _e\) of the pressure inside the element \(\Omega _e\) is obtained. The previously determined elemental expressions of \((\varvec{u}_e,p_e,\varvec{L}_e)\) are employed to solve the FCFV global problem (22) with the incompressibility constraint in Eq. (24), namely

$$\begin{aligned} \begin{aligned}&\sum _{e=1}^{{\texttt{n}}_{\texttt {el}}}\left\{ \int _{\partial \Omega _e{\setminus }\Gamma _D}{ \sqrt{\nu } \varvec{L}_e \varvec{n}\, d\Gamma } + \int _{\partial \Omega _e{\setminus }\Gamma _D}{ p_e \varvec{n}\, d\Gamma } + \int _{\partial \Omega _e{\setminus }\Gamma _D}{ \tau \, \varvec{u}_e \, d\Gamma } \right. \\&\left. \quad - \int _{\partial \Omega _e{\setminus }\Gamma _D}{ \tau \, {\widehat{\varvec{u}}}\, d\Gamma } \right\} = -\sum _{e=1}^{{\texttt{n}}_{\texttt {el}}} \int _{\partial \Omega _e\cap \Gamma _N}{ \varvec{g} \, d\Gamma }, \\&\quad \int _{\partial \Omega _e {\setminus } \Gamma _D}{ {\widehat{\varvec{u}}}{\cdot } \varvec{n}\, d\Gamma } = - \int _{\partial \Omega _e \cap \Gamma _D}{ \varvec{u}_D {\cdot } \varvec{n}\, d\Gamma } = 0 \qquad \hbox {for}\; e=1,\ldots,{\texttt {n}}_{\texttt {el}}. \end{aligned} \end{aligned}$$
(26)

The resulting linear system obtained from the FCFV discretization of Eq. (26) is symmetric and features a saddle-point structure with \({\texttt {n}}_{\texttt {fc}}{\texttt {n}}_{\texttt {sd}}+ {\texttt {n}}_{\texttt {el}}\) unknowns, being \({\texttt {n}}_{\texttt {fc}}\) the number of internal and Neumann edges/faces. The FCFV global problem has a sparse block structure allowing a computationally efficient implementation, see [106]. Moreover, FCFV local computations to determine velocity, pressure and gradient of velocity in the centroid of each cell solely involve elementary operations cell-by-cell for which modern parallel architectures can be exploited.

FCFV inherits the approximation properties of the corresponding high-order HDG formulation from which it is derived. More precisely, optimal first-order convergence is obtained for velocity, pressure and gradient of velocity. In addition, contrary to other mixed finite element methods, with the FCFV it is possible to use the same space of approximation for both velocity and pressure, circumventing the so-called Ladyzhenskaya–Babuška–Brezzi (LBB) condition.

Compared to other FV methods, the FCFV provides first-order accuracy of the solution and its gradient without the need to perform flux reconstruction as in the context of cell-centered and vertex-centered finite volumes [124, 125]. Furthermore, the accuracy of the FCFV method is preserved in presence of unstructured meshes, with distorted and stretched cells [106, 107]. This is of major importance when solving problems in complex geometries as other FV methods lose accuracy and optimal convergence properties when non-orthogonal and anisotropic cells are introduced in the computational mesh [124, 125].

To highlight the efficiency of the proposed FCFV method, a Stokes flow is simulated in a channel with 39 rigid particles in the shape of red-blood cells (RBCs). A parabolic velocity profile modelling an undisturbed flow is imposed on the inlet and on the outlet of the channel, whereas a no-slip boundary condition is imposed on the remaining walls and on the surface of the particles.

The computational domain \(\Omega = [-10,25] \times [-5,5] \times [-5,5] {\setminus } {\mathcal {B}}\), where \({\mathcal {B}}\) is the union of the 39 RBCs, is discretized using an unstructured mesh of 8,972,888 tetrahedral cells, 35,891,552 nodes and 17,523,981 internal faces. The FCFV global system for the mesh configuration under analysis features 61,544,832 unknowns. The simulation was performed using a code developed in \(\hbox {Matlab}^{\circledR}\). The computation of all the elemental contributions to the global system took 51 min whereas 18 min were required for the assembly of the matrix. The solution of the linear system was performed using the \(\hbox {Matlab}^{\circledR}\) biconjugate gradient method in a single processor and without preconditioner. Eventually, the evaluation of the element-by-element solution in all 61 millions elements took 7 min using a single processor.

The pressure distribution on the surface of the RBCs and the velocity streamlines are presented in Fig. 6.

Fig. 6
figure 6

Pressure field on 39 particles modelling RBCs immersed in an incompressible Stokes flow in a channel and streamlines of the velocity field

Figure 7 displays the magnitude of the velocity field at three different sections of the computational domain.

Fig. 7
figure 7

Magnitude of the velocity field of an incompressible Stokes flow in a channel with 39 particles modelling RBCs. Section plane for \(y= - 3\) (top), \(y=0\) (center) and \(y=3\) (bottom)

6 Concluding remarks

Three recent contributions to HDG are discussed in this paper. First, the HDG-NEFEM paradigm exploits the description of the boundary of the domain via NURBS to construct an HDG approximation with exact geometry and to devise an efficient and robust degree adaptivity strategy. Second, the HDG-Voigt formulation is utilized in the context of continuum mechanics to devise an HDG method with pointwise symmetric mixed variable, namely the strain rate tensor. The resulting formulation allows to achieve optimal convergence and superconvergence properties even for low-order polynomial approximations and, consequently, to compute local error indicators based on either the displacement or the stress field. Third, the FCFV rationale proposes a fast implementation of the lowest-order HDG method. The resulting finite volume paradigm is reconstruction-free, robust to mesh distortion and element stretching and is able to efficiently tackle large-scale problems. Ongoing investigations focus on the application of the discussed strategies to nonlinear problems of interest in engineering applications and to the simulation of transient phenomena.