Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Conservation Laws in Arbitrary Lagrangian Eulerian Form

We start by recalling the ALE formulation of conservation laws, which dates back to the early eighties due to the contribution of Donea [10].

Assuming that we are given a domain \(\varOmega \) and a field of displacements that brings every point of the domain from the reference position \(\mathbf {X}\) to the actual one \(\mathbf {x}(t)\) and that this field is governed by an arbitrary given motion law

$$\begin{aligned} \dfrac{d{\mathbf {x}}(t)}{dt}={\varvec{\sigma }}(\mathbf {x},t), \end{aligned}$$
(1)

Solving Eq. 1 gives back \(\forall t>0\) the actual configuration through the mapping

$$\begin{aligned} A(t):\varOmega _{X}\rightarrow \varOmega _{x}(t),\qquad \mathbf {x}=A(\mathbf {X},t) \end{aligned}$$
(2)

with the condition \(A(\mathbf {X},0)=\mathbf {X}\). Let the Jacobian matrix of the mapping be \(\fancyscript{J}_{A}=\frac{\partial \mathbf {x}}{\partial \mathbf {X}}\) and assume that \( J_{A}=\det \fancyscript{J}_{A}\ne 0\), i.e. the mapping \(A\) is assumed to be invertible.

The conservation of the scalar \(u\) can be stated within a control volume which is moving following the domain arbitrary mapping of Eq. 2. The differential form of conservation law in ALE formulation reads in actual coordinates

$$\begin{aligned} \left. \frac{\partial \left( J_{A}u\right) }{\partial t}\right| _{X}+J_{A}\nabla \cdot \left( \mathbf {f}-u{\varvec{\sigma }}\right) =0 \end{aligned}$$
(3)

with \(\mathbf {f}\) the flux of \(u\) through the borders of the volume. Simple relations can be used to prove the so called Geometric Conservation Law (GCL)

$$\begin{aligned} \left. \frac{\partial J_{A}}{\partial t}\right| _{X}=J_{A}\nabla \cdot {\varvec{\sigma }} \end{aligned}$$
(4)

Last equation is a constraint the points of the domain have to satisfy during their arbitrary motion. Using Eq. 4 into Eq. 3 it is possible to obtain a mixed formulation where the ALE part of the flux is in a quasilinear form

$$\begin{aligned} \left. \frac{\partial u}{\partial t}\right| _{X}+\nabla \cdot \mathbf {f}-{\varvec{\sigma }}\cdot \nabla u=0 \end{aligned}$$
(5)

2 Residual Distribution for 2D Steady Conservation Laws

The foundations of Residual Distribution (\(\text {RD}\)) can be traced to the work of [6, 16, 19] on residual based schemes, and to the fluctuation splitting approach of Roe and co-workers [20, 21]. Consider the steady limit of the conservation law

$$\begin{aligned} \frac{\partial u}{\partial t}+\nabla \cdot \mathbf {f}(u)=0 \end{aligned}$$
(6)

Discretize the spatial domain by a triangulation \(\fancyscript{T}_{h}\), and consider the standard \(P^1\) continuous approximation \(u^{h}(\mathbf {x},t)=\sum _{j=1}^{N+1}\varphi _{j}(\mathbf {x})u_{j}(t)\) with \(\varphi _j\) the continuous piecewise linear Lagrange basis functions. The \(\text {RD}\) approximation of Eq. 6 is obtained as

  1. 1.

    On each element \(K\in \fancyscript{T}_{h}\) compute the residual

    $$\begin{aligned} \phi ^{K}=\int _{K}\nabla \cdot \mathbf {f}(u^{h})\, d\mathbf {x}=\int _{\partial K}\mathbf {f}(u^{h})\cdot \mathbf {n}\, ds \end{aligned}$$
    (7)
  2. 2.

    Distribute the residuals to the nodes of the element \(i,j,k\in K\)

    $$\begin{aligned} \phi _j^K=\beta _j^K \phi ^K\,,\quad \sum _{j\in K}\phi _j^K=\phi ^{K} \end{aligned}$$
    (8)
  3. 3.

    Assemble elemental contributions:

    $$\begin{aligned} |S_{i}|\,\frac{du_{i}}{dt}+\sum _{K\in \fancyscript{D}_{i}}\phi _{i}^{K}=0,\quad \forall i\in \fancyscript{T}_{h} \end{aligned}$$
    (9)

with \(\fancyscript{D}_{i}\) the set of elements sharing node \(i\), an \(S_i\) the standard median dual cell. Marching Eq. 9 to steady state one obtains a discrete solution which can be shown to be an approximation of the weak solution of Eq. 6, see [5].

In practice residual in Eq. 7 can be computed either by contour integration [7, 18], or by introducing an exact Jacobian mean value linearization so that

$$\begin{aligned} \phi ^K = \sum _{j\in K}k_{j}u_{j},\quad \quad k_{i}=\frac{1}{2}\bar{\mathbf {a}}\cdot \mathbf {n}_{i} \end{aligned}$$
(10)

with \(\mathbf {n}_{i}\) the inward normal to the edge facing node \(i\), scaled by the edge length and the elemental average of the advective speed \(\bar{\mathbf {a}}=\frac{1}{|K|}\int _{K}\frac{\partial \mathbf {f} (u^h)}{\partial u}\,d\mathbf {x}\).

3 Genuinely Explicit \(\text {RK}\)-\(\text {RD}\) Time Marching Procedure

In the time dependent case we use the Petrov-Galerkin form of \(\text {RD}\) [3, 12, 14, 17]

$$\begin{aligned} \sum _{K\in \fancyscript{D}_{i}}\sum _{j\in K}m_{ij}^{K}\,\frac{du_{j}}{dt}+\sum _{K\in \fancyscript{D}_{i}}\beta _{i}^{K}\phi ^{K}=0 \end{aligned}$$
(11)

with the mass-matrix \(m_{ij}^{K}=\int _{K}\varphi _{j}w_{i}\, d\mathbf {x}\), and with \(w_i=\varphi _i+\gamma _i\) the \(\text {RD}\) Petrov-Galerkin test function. Considering a time step \(\varDelta t\) subjected to CFL condition, the second order explicit RK2-\(\text {RD}\) schemes of [17] is obtained as:

  1. 1.

    First RK step: \(\dfrac{\varDelta u_{1}}{\varDelta t}+e_{1}=0\), with \(e_{1}=e(u^{n})\). We use the Petrov-Galerkin \(\text {RD}\) statement and mass lumping, leading to (\(\varDelta u_1 = u_1-u^n\))

    $$\begin{aligned} |S_i|\dfrac{\varDelta u_{1}}{\varDelta t} + \sum _{K\in \fancyscript{D}_{i}}\phi _{i}^{K}(u^{n})=0 \end{aligned}$$
    (12)
  2. 2.

    Second RK step: \(\dfrac{\varDelta u_{2}}{\varDelta t}+e_{2}=0\), with \(e_{2}=\left( e(u^{n})+e(u_{1})/2\right) \). We use the Petrov-Galerkin \(\text {RD}\) statement, however two different approximations of the equation are used in the Galerkin part and in the stabilization, namely (\(\varDelta u_2=u^{n+1}-u^n\))

    $$\begin{aligned} \int _{\varOmega }\varphi _{i}\,\left( \frac{\varDelta u^{h}_2}{\varDelta t}+\nabla \cdot \mathbf {f}_{2}(u^{h})\right) \, d\mathbf {x}{\displaystyle +\sum _{K\in \fancyscript{D}_{i}}}\int _{K}\gamma _{i}\,\left( \frac{\varDelta u^{h}_1}{\varDelta t}+\nabla \cdot \mathbf {f}_{2}(u^{h}) \right) \, d\mathbf {x}=0 \end{aligned}$$
    (13)
  3. 3.

    Mass lumping is applied to the Galerkin integrals in Eq. 13. This leads to

    $$\begin{aligned} |S_{i}| \Big \{ \big (\frac{\varDelta u_2}{\varDelta t}\big )_i -\big (\frac{\varDelta u_1}{\varDelta t} \big )_i \Big \}=-\sum _{K\in \fancyscript{D}_{i}}\ \varPhi _{i}^{RK(2)} \end{aligned}$$
    (14)

where

$$ \varPhi _{i}^{RK(2)} =\sum \limits _{j\in K} m_{ij}^K\big (\frac{\varDelta u_1}{\varDelta t}\big )_j +\dfrac{1}{2}\phi _i^{K}(u_1) +\dfrac{1}{2}\phi _i^{K}(u^n) $$

4 Residual Distribution Schemes for Moving Grids

In this section we recast the scheme of Eq. 14 in ALE form. ALE formulations of \(\text {RD}\) have been proposed in the work of Michler and Deconinck [15], who achieved first order with an Explicit Euler time integrator, and later Dobes and Deconinck (see e.g. [8]) who moved to high order time approximation (BDF, Crank Nicholson), thus obtaining second order of accuracy. The aim of this work is to obtain a numerical solution with second order of accuracy using a faster explicit Runge Kutta time integrator.

4.1 Explicit Euler Time Stepping

We start from the stabilized Finite Element approximation of ALE Eq. 3, discretized in time with Explicit Euler (\(\text {EE}\)):

$$\begin{aligned} \frac{\varDelta }{\varDelta t}\int _{\varOmega (t)}w_{i}u^{h}\, d\mathbf {x}+\int _{\varOmega (t^{*})}w_{i} \nabla \cdot \left( \mathbf {f}(u_{h}^{n})- {\varvec{\sigma }}_{h}^{*} \, u_{h}^{n}\right) \, d\mathbf {x}=0 \end{aligned}$$
(15)

Imposing a uniform flow, the discrete counterpart of Eq. 4 arises from the above approximation and it is referred to as Discrete Geometric Conservation Law (DGCL). The satisfaction of the DGCL is very important when numerically solving PDEs in ALE form [11, 13]. In [8] the problem is closed substituting directly the GCL condition Eq. 4, discretized with the same time integrator used for the PDEs (in this case EE), into the ALE flux part of Eq. 15. In such a way, when a uniform flow is imposed, the volume variation within the time step is exactly balanced by an equal term. This tecnique could be employed for every time approximation, even the more complex, provided that the Geometric Source Term arising from the above substitution is discretized with the same time scheme which we use for the PDEs. Here instead we follow Farhat [11, 13] which shows that by choosing \({\varvec{\sigma }}_{j}^{*}= (\mathbf {x}_{j}^{n+1}-\mathbf {x}_{j}^{n})/ \varDelta t\), and by setting \(t^{*} = t^{n+1/2}\), most single step time discretizations satisfy naturally the DGCL condition. In our case if a uniform flow is imposed one gets

$$\begin{aligned} \int _{\varOmega _{h}^{n+1}}w_{i}\, d\mathbf {x}-\int _{\varOmega _{h}^{n}}w_{i}\, d\mathbf {x}=\varDelta t\int _{\varOmega _{h}^{n+1/2}}w_{i}\nabla \cdot {\varvec{\sigma }}_{h}^{*}\, d\mathbf {x} \end{aligned}$$
(16)

which is in fact an identity for \(P^1\) interpolation. This identity, and the properties of the \(P^1\) basis functions, can be used to prove

$$\begin{aligned}&\int _{\varOmega ^{n+1}}w_{i}u^{h}\, d\mathbf {x}-\int _{\varOmega ^{n}}w_{i}u^{h}\, d\mathbf {x}= \nonumber \\&\quad =\int _{\varOmega ^{n+1/2}}w_{i}\left( u_{h}^{n+1}-u_{h}^{n}\right) \, d\mathbf {x}+\varDelta t\int _{\varOmega ^{n+1/2}}w_{i}\frac{\left( u_{h}^{n+1}+u_{h}^{n}\right) }{2}\nabla \cdot {\varvec{\sigma }}_{h}^{*}\, d\mathbf {x} \end{aligned}$$
(17)

Substituting this expression in Eq. 15 we end with

$$\begin{aligned} \int _{\varOmega ^{n+1/2}}&\left( 1+\frac{\varDelta t}{2}\nabla \cdot {\varvec{\sigma }}_{h}^{*}\right) w_{i}\left( u_{h}^{n+1}-u_{h}^{n}\right) \, d\mathbf {x}\,+ \nonumber \\&+\varDelta t\int _{\varOmega ^{n+1/2}}w_{i}\left( \nabla \cdot \mathbf {f}(u_{h}^{n})-{\varvec{\sigma }}_{h}^{*}\cdot \nabla u_{h}^{n}\right) \, d\mathbf {x}=0 \end{aligned}$$
(18)

Lumping the mass matrix, recalling that \(\nabla \cdot {\varvec{\sigma }}_{h}^{*}\big |_K\) is constant in the \(P^1\) case, and using the analogy with Residual Distribution method on the right-handside, we get

$$ \sum _{K\in \fancyscript{D}_{i}}\left( 1+\frac{\varDelta t}{2}\nabla \cdot {\varvec{\sigma }}_{h}^{*}\right) \frac{|K^{n+1/2}|}{3}\left( u_{i}^{n+1}-u_{i}^{n}\right) =-\varDelta t\sum _{K\in \fancyscript{D}_{i}}\beta ^{K}_{i} \phi ^K\left( u_{h}^{n}\right) $$

The final algorithm reads

$$\begin{aligned} \frac{|\tilde{S}_{i}^{n+1/2}|}{\varDelta t}\left( u_{i}^{n+1}-u_{i}^{n}\right) =-\sum _{K\in \fancyscript{D}_{i}}\beta ^{K}_{i} \phi ^K\left( u_{h}^{n}\right) \end{aligned}$$
(19)

where the median dual cell area that appears in Eq. 9 is evaluated at the midpoint configuration, and modified to take into account the grid distortion as follows

$$\begin{aligned} |\tilde{S}_{i}^{n+1/2}|=\sum _{K\in \fancyscript{D}_{i}}\left( 1+\frac{\varDelta t}{2}\nabla \cdot {\varvec{\sigma }}_{h}^{*}\right) \frac{|K^{n+1/2}|}{3} \end{aligned}$$
(20)

The DGCL is satisfied by construction. Note that, due to the extra term \({\varvec{\sigma }}_{h}^{*}\cdot \nabla u_{h}\) in Eq. 18, the \(k_i\) parameter used to evaluate \(\phi ^K\) (cf. Eq. 10) is modified as

$$\begin{aligned} k_{i}=\frac{1}{2}\left( {\bar{\mathbf {a}}}-{\varvec{\bar{\sigma }}}\right) \cdot \mathbf {n}_{i} \end{aligned}$$
(21)

4.2 Two-Stage \(\text {RK}\)-\(\text {RD}\) Time Stepping

The extension of scheme of Eq. 14 has to be done carefully to preserve the DGCL. The problem is related to the balance of the different time increments used in the stabilization and Galerkin parts. To handle this, we use for the stabilization term the nonconservative ALE form Eq. 5. Proceeding as in Sects. 3 and 4.1 we have:

  1. 1.

    First RK step: It is the \(\text {EE}\) of Eq. 19 with linearized residuals and geometry computed at midpoint configuration, and \(k_i\) modified according to Eq. 21.

  2. 2.

    Second RK step: The discretization of the Galerkin part writes

    $$\begin{aligned} \frac{\varDelta }{\varDelta t}\int _{\varOmega (t)}\varphi _{i}u^{h}_{2}\, d\mathbf {x}+\int _{\varOmega ^{n+1/2}}\varphi _{i}\nabla \cdot \left( \mathbf {f}(u^{h})-{\varvec{\sigma }}_{h}^{*} u^{h}\right) _{2}\, d\mathbf {x} \end{aligned}$$
    (22)

    For the stabilization term instead we use

    $$\begin{aligned} \sum _{K\in \fancyscript{D}_{i}}\int _{K^{n+1/2}}\gamma _{i}\frac{\varDelta u_{1}^{h}}{\varDelta t}\, d\mathbf {x}+\sum _{K\in \fancyscript{D}_{i}}\int _{K^{n+1/2}}\gamma _{i}\left( \nabla \cdot \mathbf {f}(u^{h})^{n}-{\varvec{\sigma }}_{h}^{*}\cdot \nabla u^{h}\right) _{2}\, d\mathbf {x} \end{aligned}$$
    (23)

    both the parts satisfy the DGCL condition by construction.

  3. 3.

    We use Eq. 17, mass lump the Galerkin integrals, and sum up the two terms to get

    $$\begin{aligned} |\tilde{S}_{i}^{n+1/2}| \Big \{ \big (\frac{\varDelta u_2}{\varDelta t}\big )_i -\big (\frac{\varDelta u_1}{\varDelta t} \big )_i \Big \}=-\sum _{K\in \fancyscript{D}_{i}}\ \varPhi _{i}^{RK(2)} \end{aligned}$$
    (24)

    with

    $$ \varPhi _{i}^{RK(2)} =\sum \limits _{j\in K} m_{ij}^K\big (\frac{\varDelta u_1}{\varDelta t}\big )_j +\dfrac{1}{2}\phi _i^{K}(u_1) +\dfrac{1}{2}\phi _i^{K}(u^2) $$

Besides the modified definition of the \(k_i\) parameters and of the median dual area, the final scheme is formally identical to the original one.

5 Application to the Perfect Gas Euler Equations

We tets the proposed ALE formulation on the perfect gas Euler equations. We have used the non-linear LDA-N distribution scheme. We refer to [1, 2, 4, 17] for details concerning this scheme, and for the implementation of \(\text {RD}\) for systems.

5.1 Advection of a Vortex

We measure the accuracy of the scheme on the advection of a constant density vortex (see [9] for details). The mapping of Eq. 2 is defined according to (cf. Fig. 1)

$$\mathbf {x}=\mathbf {X} + \sin (a\pi X)\sin (b\pi Y)( c\sin (d\pi t/t_{\max },\, e\sin (f\pi t/t_{\max })) )$$

We can see from the right picture on Fig. 1 that the expected order of accuracy is achieved both in the fixed mesh and ALE framework.

Fig. 1
figure 1

Vortex advection. Mesh deformation (left) and grid convergence (right)

5.2 Wind Tunnel with Wall Deflection

We consider a simple application involving moving boundaries. We have a 2D channel \(\left[ 2\times 1\right] \) with an hinge on the lower surface placed at \(x=0.25\). This hinge allows a rigid deflection of the lower wall of an angle \(\alpha \) governed by the motion law

$$\begin{aligned} {\left\{ \begin{array}{ll} \alpha (t)=\alpha _{max}\left( 1-e^{-t/\tau }\right) &{} t\le t_{switch}\\ \alpha (t)=\alpha _{max}-2\alpha _{max}\left( 1-e^{-\left( t-t_{switch}\right) /\tau }\right) &{} t>t_{switch} \end{array}\right. } \end{aligned}$$
(25)

The Mach number at the inlet is \(M=3\).

Fig. 2
figure 2

Mach 3 wind tunnel with a deflecting wall. Density isolines

The flow shows two stable configurations. The first is a regular shock reflection on the upper wall (\(t\approx 1.2\)), the second is a supersonic Prandtl-Mayer expansion (\(t\approx 2.5\)). In between these two states, the flow shows a transient with the formation and shedding of complex interacting shocks, which are sharply and monotonically captured by our scheme (Fig. 2).