1 Introduction

In the last decades, an extensive list of meshless formulations was published in the literature in order to circumvent some deficiencies or improve the performance of the original Smoothed Particle Hydrodynamics (SPH) formulation. Several novel techniques have been developed for simulating fluid dynamics, including Lagrangian particle-based methods that leverage kernel approximation. However, alternative approaches formulated in an Eulerian frame that utilize other approximation techniques have also emerged. As the first and the most widely used meshless method, there is some tendency in categorize as SPH any particle based method that adopts a Lagrangian description. However, this is not the only possible choice. In this work, instead of organizing methods adopting the traditional SPH method as a reference, we prefer to define three groups of numerical methods based on a more general concept. Following the ideas of Hopkins [1], we organize numerical methods for Computational Fluid Dynamics based on the way in which the partition of the domain is accomplished. Hopkins [1] considers three different forms of subdividing the domain resulting in three groups of methods that are referred as mesh-based methods, meshless Finite Volume (meshless-FV) methods and SPH methods. For each group, the flow representation (Lagrangian, Eulerian, or Arbitrary Lagrangian–Eulerian (ALE) ) and equation-solving formulation (compressible or incompressible) have been disregarded. Other classifications can be found in [2] and [3], among many others.

The classification provided by Hopkins considers an intermediate group that bridges the gap between mesh-based and SPH methods. This point of view can help to understand the different techniques and methods introduced to improve the original SPH method. For instance, particle disordering techniques used in Lagrangian SPH methods [4, 5] have some similarities with the use of the ALE framework to avoid degenerated cells in mesh-based methods. By using a meshless-FV method, Oger et al. [6] showed that particle disordering/shifting techniques need to be implemented within an ALE framework in order to avoid interpolation errors. Based on that findings, Antuono et al. [7] incorporated the ALE framework into the δ-SPH, that was conceived originally as a pure Lagrangian SPH method. Another important connection between different groups of methods is related with the stabilization of the scheme. For instance, the stabilization terms in \(\delta\)-SPH can be interpreted as diffusive terms of Riemann solvers [8]. As an example of the transfer of techniques from methods of the third group to the first group we cite the use of scatter data approximation techniques that have been used in Finite Volume Methods to extend the order of reconstructions in high order Godunov methods [9, 10].

In the following, we review the main features of the different groups of Hopkins’ classification, with special attention to the Group II. The rationale behind this is to introduce a comprehensive formulation for this category that can be regarded as a universal formulation, capable of generating a multitude of methods from the other groups. We believe that this general perspective can help the research community to find new more accurate and more efficient numerical schemes.

1.1 Group I: Mesh-Based Methods

In the first group, Hopkins included mesh-based methods like the Finite Volume Method (FVM), the Finite Element Method (FEM), the Finite Difference Method (FDM) and Particle Methods (among others) that use a Voronoi tessellation. In mesh-based methods the subdomain partition is the one that corresponds with the mesh topology. In Voronoi methods the information is stored in a cloud of points. A tessellation algorithm is run to associate each particle with a subdomain whose geometry is clearly defined, and there is no overlapped zone between particle subdomains. For example, in cell-centered finite volume methods (FVMs) the particle location is the barycenter of the cell meanwhile in the Voronoi tessellation the particle location is not coincident with the barycenter. In this group of methods, each particle has a clearly defined volume and area of the “particle boundary” that can be calculated with geometric formulae. Clear exposition of the FDM, FVM and FEM methods is given in classical Computational Fluid Dynamics textbooks [11,12,13]. For a further insight into Voronoi Tessellation Methods we recommend the publications associated with the AREPO project [14, 15].

1.2 Group II: Meshless-FV Methods

In the second group of methods, Hopkins included the particle methods in which the subdomain associated with each particle is calculated by means of functions that involve information contained in the neighborhood of the particle. Numerical methods in this group are meshless methods that share some characteristics with the FVM. It is important to note that for the methods belonging to this group, the subdomain associated with each particle is not a clearly defined geometric entity. We can compute the volume associated with a particle, but it is obtained by integration of a function which is not associated to the geometry of a cell. To remark this feature, we use the term effective volume instead of the geometric volume used by mesh-based methods. The same rationale is used to define the interaction area associated with two neighboring particles. Most of the methods in this category are derived from the Euler’s equations expressed in conservative form. Among all the methods that belongs to this group, we can cite the following (non-exhaustive) list:

  • Meshless Finite Volume Method (MFVM) [16]

  • SPH-ALE [17,18,19,20]

  • Renormalized SPH-ALE method [21, 22]

  • Finite Volume Particle Method (FVPM) [23]

  • Meshless Finite Volume (Gizmo-MFV) [1, 24]Footnote 1

  • MLS-SPH-ALE [25, 26]

  • Moving Least Squares SPH (MLSPH) [27, 28]

This review will focus on the MLS-SPH-ALE method [25, 26]. It was developed to circumvent the consistency issues of particle methods caused by the use of the kernel approximation. In this work we demonstrate that it can be perceived as a comprehensive formulation, from which it is possible to generate various formulations of methods belonging to the different groups of the proposed classification.

1.3 Group III: SPH Methods

The third group includes particle methods that approximate the continuum without requiring a geometric subdivision of the domain. The most representative method of this group is the SPH method [29, 30], which is a Lagrangian method that assigns a fixed mass to each particle. As the numerical model updates the solution, particle density evolves and it is used to compute the volume associated to the particle. We note that this is a fictitious volume because SPH methods only require mass-based weights. In this group we include the original SPH method and some other formulations, like the δ-SPH [31] and Riemann-SPH [32, 33] methods. Discretized equations for methods in this group are derived by replacing the continuous operators in the differential equations by discrete operators expressed in terms of the kernel function. We also include in this group other particle methods like the Finite Point Method [34] and the Finite Poinset Method. Note that the use of the kernel approximation is not required to belong to this group. Indeed, Finite Point and Finite Poinset Methods [35, 36] do not use the kernel approximation, and the cloud of points does not require mass-based weights. Among all the methods of this group, we can cite the following (non-exhaustive) list:

  • Traditional SPH [29, 30]

  • δ-SPH [31]

  • Riemann-SPH [32, 33]

  • Finite Point Method [34]

  • Finite Pointset Method [35, 36]

1.4 Comparisons Between Methods

In the literature, comparisons between methods are usually carried out by conducting benchmarking studies over test cases [37]. In this work, we follow a different approach. We focus on the derivation process to highlight the existing connections among the different formulations. Note that a similar strategy was adopted in the study conducted by Schaller et al. [38]. In our analysis, we consider the MLS-SPH-ALE method as a general meshless formulation. Thus, the MLS-SPH-ALE method is derived starting from the differential equations set. Once the semi-discrete equations are obtained we show that other formulations can be derived by introducing some particular settings in the MLS-SPH-ALE formulation. In Table 1, we summarize the classification of the different methods and we highlight the methods that we will derive from the MLS-SPH-ALE method.

Table 1 Classification of the different numerical methods for Computational Fluid Dynamics following [1]

2 Governing Equations

2.1 Eulerian Form

Governing equations in Eulerian form are obtained by imposing the balance equations to a fixed region in space. The conservative form of Navier–Stokes equations is given by

$$\begin{aligned} \frac{\partial \varvec{U}}{\partial t}+\frac{\partial \varvec{F}_{E}^{\alpha }}{\partial x^{\alpha }}=\frac{\partial \varvec{D}^{\alpha }}{\partial x^{\alpha }}+\varvec{S} \end{aligned}$$
(1)

where \(\varvec{U}\) is the vector of conservative variables, \(\varvec{F}_{E}^{\alpha }\) is the Eulerian flux in direction \(\alpha\) of the advective and pressure terms, \(\varvec{D}^{\alpha }\) is the viscous flux in direction \(\alpha\) and \(\varvec{S}\) is the vector of source terms.

$$\begin{aligned} \varvec{U}&=\left( \begin{array}{l} \rho \\ \rho u^{\beta } \\ \rho E \end{array} \right) , \quad \varvec{F}_{E}^{\alpha }=\left( \begin{array}{l} \rho u^{\alpha } \\ \rho u^{\beta } u^{\alpha }+p \delta ^{\beta \alpha } \\ \rho H u^{\alpha } \end{array}\right) \\ \varvec{D}^{\alpha }&=\left( \begin{array}{l} 0 \\ \tau ^{\alpha \beta } \\ k \frac{\partial T}{\partial x^{\alpha }}+\tau ^{\alpha \beta } u^{\beta } \end{array}\right) , \quad \varvec{S}= \left( \begin{array}{l} 0 \\ \rho f^{\beta } \\ \rho f^{\beta } u^{\beta }+\dot{q}_{h} \end{array}\right) \end{aligned}$$

where Greek superscripts with summation convention are used to refer spatial directions in a Cartesian Coordinate System with d dimensions. Greek superscripts \(\alpha\), \(\beta\) range from 1 to d and are associated with the Cartesian directions in the usual form \(1 \equiv x,2 \equiv y, 3 \equiv z\). The fluid velocity vector is given by \(\varvec{u}=(u^1,\ldots ,u^d)^T\). Density and pressure are designed by \(\rho\) and p respectively. Total energy is denoted by E and its relation with the internal energy e and the kinetic energy reads \(E=e+\frac{1}{2}(u^{\alpha \alpha })\). Total enthalpy definition is used to identify \(H=E+p/\rho\). The external force component per mass unit in momentum equation are expressed by \(f^\alpha\) and \(\dot{q}_h\) represents a volumetric heat source. For the diffusive terms, \(\tau ^{\alpha \beta }\) denotes the viscous tensor component, and the thermal conduction flux component is given in terms of the thermal conductivity k and the temperature gradient as \(q^{\alpha }=-k \frac{\partial T}{\partial x^{\alpha }}\). Assuming a Newtonian fluid, the viscous tensor is defined as

$$\begin{aligned} \tau ^{\alpha \beta }=\mu \left( \frac{\partial u^{\beta }}{\partial x^{\alpha }}+\frac{\partial u^{\alpha }}{\partial x^{\beta }}\right) +\left( \mu _v-\frac{2}{3} \mu \right) (\nabla \cdot \varvec{u}) \, \delta ^{\alpha \beta } \end{aligned}$$

where \(\mu\) and \(\mu _v\) are the dynamic and volumetric viscosity of the fluid respectively.

2.2 Arbitrary Lagrangian–Eulerian (ALE) Form

In order to provide compact expressions for the ALE framework and following the usual notation in literature, the transport operator is introduced here. Let’s denote with \(L_{\varvec{w}}(\varvec{U})\) the transport operator with a regular velocity field \(\varvec{w}\) that acts on a vector of variables \(\varvec{U}\) according to

$$\begin{aligned} L_{\varvec{w}}(\varvec{U})\equiv \frac{\partial }{\partial t} \varvec{U}+\nabla \cdot (\varvec{w}\otimes \varvec{U}) \end{aligned}$$

In a Cartesian Coordinate System with d dimensions the transport operator reads as

$$\begin{aligned} L_{\varvec{w}}(\varvec{U})=\frac{\partial \varvec{U}}{\partial t}+\frac{\partial }{\partial x^{\alpha }}\left( w^{\alpha } \varvec{U}\right) \end{aligned}$$
(2)

The transport operator \(L_{\varvec{w}}(\varvec{U})\) is a differential operator whose physical interpretation is linked to the Generalized Reynolds Transport Theorem, applied to a arbitrary control volume whose boundary is moving with velocity \(\varvec{w}\).

Now let us add and subtract the term \({\frac{\partial (w^{\alpha }\varvec{U})}{\partial x^{\alpha }}}\) on the left hand side of Eq. (1). We write

$$\begin{aligned} \frac{\partial \varvec{U}}{\partial t}+\frac{\partial (w^{\alpha }\varvec{U})}{\partial x^{\alpha }}+\frac{\partial \varvec{F}_{E}^{\alpha }}{\partial x^{\alpha }}-\frac{\partial (w^{\alpha }\varvec{U})}{\partial x^{\alpha }}=\frac{\partial \varvec{D}^{\alpha }}{\partial x^{\alpha }}+\varvec{S} \end{aligned}$$
(3)

Using the transport operator definition given in Eq. (2), Eq. (3) becomes

$$\begin{aligned} L_{\varvec{w}}(\varvec{U})+\frac{\partial (\varvec{F}_{E}^{\alpha }\varvec{-}w^{\alpha }\varvec{U})}{\partial x^{\alpha }}=\frac{\partial \varvec{D}^{\alpha }}{\partial x^{\alpha }}+\varvec{S} \end{aligned}$$
(4)

By introducing the ALE flux \(\varvec{F}_{\varvec{w}}^{\alpha }=\varvec{F}_{E}^{\alpha }\varvec{-}w^{\alpha }\varvec{U}\), which is linked with the transport velocity \(\varvec{w}\), Eq. (4) is rewritten as

$$\begin{aligned} L_{\varvec{w}}(\varvec{U})+\frac{\partial \varvec{F}_{\varvec{w}}^{\alpha }}{\partial x^{\alpha }}=\frac{\partial \varvec{D}^{\alpha }}{\partial x^{\alpha }}+\varvec{S} \end{aligned}$$
(5)

Equation  (5) expresses in conservative vector form the Navier-Stokes equations in ALE framework. With the proper index set for the Greek superscripts, expressions can be accommodated to 1D, 2D and 3D domains. When the diffusive flux components \(\varvec{D}^{\alpha }\) are equal to zero, the Euler equations are recovered.

3 The MLS-SPH-ALE Method

In this section, we present the formulation of the MLS-SPH-ALE method. This method belongs to Group II of Hopkins’ classification, and we will show later that it can be seen as a general formulation for many schemes of the different groups. In order to develop the formulation for the Navier–Stokes equations it is convenient to group the ALE flux tensor \(\textbf{F}_{\varvec{w}}\) and the diffuse tensor D in total flux tensor given \(\textbf{F}\equiv \textbf{F}_{\varvec{w}}- \textbf{D}\). Then, Eq. (5) is rewritten as

$$\begin{aligned} L_{\varvec{w}}(\varvec{U})+\varvec{\nabla }\cdot \textbf{F}= \varvec{S} \end{aligned}$$
(6)

We start the derivation process by multiplying Eq. (6) by the Moving Least Squares (MLS) [27, 28, 39] shape function \(N_i=N(\varvec{x}-\varvec{x}_i,h_i)\) centered at particle i. Then, we take the integral over the domain \(\Omega\)

$$\begin{aligned} \int _{\Omega }N_i\, L_{\varvec{w}}(\varvec{U}) d{x}^d +\int _{\Omega }N_i\,\nabla \cdot \textbf{F}\,d{x}^d=\int _{\Omega }N_i\, \varvec{S}\,d{x}^d \end{aligned}$$
(7)

Using the MLS approximation for the divergence of the flux and one point quadrature rule Eq. (7) gives

$$\begin{aligned} V_{i}\,L_{\varvec{w}}(\varvec{U}_{i})+\int _{\Omega }N_{i}\,\sum _{j=1}^{n_{i}}\left( \textbf{F}\right) _{j}\cdot \nabla N_{j} \,d{x}^d= V_i \,\varvec{S}_i \end{aligned}$$

Invoking the Generalized Reynolds Transport Theorem, the term \(V_{i}\,L_{\varvec{w}}(\varvec{U}_{i})\) can be expressed as a time derivative following the particle, as

$$\begin{aligned} \frac{d(V_i\varvec{U}_i)}{dt}+\int _{\Omega }N_{i}\,\sum _{j=1}^{n_{i}}\left( \textbf{F}\right) _{j}\cdot \nabla N_{j} \,d{x}^d= V_i \,\varvec{S}_i \end{aligned}$$

Assuming that \(\left( \textbf{F}\right) _j\) are point values, we can write

$$\begin{aligned} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_{i}}\left( \textbf{F}\right) _{j}\int _{\Omega }N_{i}\,\cdot \nabla N_{j}\,d{x}^d= V_i \,\varvec{S}_i \end{aligned}$$
(8)

Integrating by parts and applying the divergence theorem, we obtain

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt} + \sum _{j=1}^{n_i}\left( \textbf{ F}\right) _j\left( \int _{\partial \Omega }N_i\,N_j\cdot \varvec{n}\,d{x}^{d-1}\right. \\{} & {} \quad \left. -\int _{\Omega }N_j\, \cdot \nabla N_i\,d{x}^d \right) = V_i \,\varvec{S}_i \end{aligned}$$
(9)

where \(\varvec{n}\) is the unitary surface normal and \(\partial \Omega\) is the boundary of the domain \(\Omega\).

If we average Eqs. (8) and (9), we obtain

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_{i}}\frac{1}{2}\left( \textbf{F}\right) _j \left( \int _{\partial \Omega }N_{i}\,N_{j}\cdot \varvec{n}\,d{x}^{d-1} \right. \\{} & {} \quad \left. -\int _{\Omega }N_j\, \cdot \nabla N_i\,d{x}^d + \int _{\Omega }N_{i}\,\cdot \nabla N_{j}\,d{x}^d \right) =V_i \,\varvec{S}_i \end{aligned}$$
(10)

Now, we add \(\frac{1}{2}\textbf{F}_i\) and subtract \(\textbf{F}_i\) to the fluxes in Eq. (10) yielding to

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_{i}}\left[ \frac{1}{2}\left( \textbf{ F}_j+\textbf{ F}_i\right) -\textbf{ F}_i\right] \\{} & {} \quad \left( \int _{\partial \Omega }N_{i}\,N_{j}\cdot \varvec{n}\,d{x}^{d-1} -\int _{\Omega }N_j\, \cdot \nabla N_i\,d{x}^d \right. \\{} & {} \qquad \left. + \int _{\Omega }N_{i}\,\cdot \nabla N_{j}\,d{x}^d \right) =V_i \,\varvec{S}_i \end{aligned}$$
(11)

Note that the operations involved in the transition from Eq. (10) to Eq. (11) have no effect at the continuum level, since, using Eq. (A3) (see appendix 1) it can be proved that

$$\begin{aligned}{} & {} \sum _{j=1}^{n_i}\left( \textbf{ F}\right) _i\int _{\Omega }N_i\, \nabla N_j \,d{x}^d \\{} & {} \quad =\left( \textbf{ F}\right) _i\int _{\Omega }N_i\, \sum _{j=1}^{n_i}\nabla N_j \,d{x}^d= \varvec{0} \end{aligned}$$
(12)

Using a one-point quadrature for the volume integrals we arrive to

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_i}\left[ \frac{1}{2}\left( \textbf{ F}_j+\textbf{ F}_i\right) -\textbf{ F}_i\right] \\{} & {} \quad \left( \int _{\partial \Omega }N_i\,N_j \cdot \varvec{n} \,d{x}^{d-1}- V_j\, \nabla N_{ij} + V_i\,\nabla N_{ji} \right) =V_i \,\varvec{S}_i \end{aligned}$$
(13)

where \(N_{ij}=N(\varvec{x}_j-\varvec{x}_i,h_i)\) and \(N_{ji}=N(\varvec{x}_i-\varvec{x}_j,h_j)\).

Note that the semidiscrete-system described by Eq. (13) contains a boundary term that allows us to impose boundary conditions without requiring any external technique. In the MLS-SPH-ALE scheme, the boundary conditions are imposed weakly through the fluxes Eq. (13) in a similar way to FVMs. This makes the implementation of boundary conditions much easier than in other meshless approaches as SPH.

Another source of difficulty for the implementation of boundary conditions in kernel-based meshless methods is the truncation of the kernel near the boundaries. This causes large errors in the kernel approximation since the partition of unity is not fulfilled. A usual solution to avoid this issue is to add additional layers of ghost particles. However, since the MLS shape functions verify the partition of unity even in situations near the boundaries (if a minimum number of neighbors is used), the MLS-SPH-ALE method does not need to add these extra layers of ghost particles.

Note also that Eqs. (11) and (13) were obtained for the discretization of the Navier–Stokes equations. For the particular case of the Euler equations the total flux tensor given by \(\textbf{F}\equiv \textbf{F}_{\varvec{w}}- \textbf{D}\) is coincident to the ALE flux tensor \(\textbf{F}_{\varvec{w}}\).

In order to establish some fast comparisons with standard SPH methodology let us assume there is no rigid boundary, so the boundary integral is equal to zero, and the discretization obtained by MLS-SPH-ALE for the Euler equations reads

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_i}\left[ \frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )-(\textbf{F}_{\varvec{w}})_i\right] \\{} & {} \quad \left( -V_j\, \nabla N_{ij} +V_i\,\nabla N_{ji} \right) =V_i \,\varvec{S}_i \end{aligned}$$
(14)

Finally, we define the numerical flux as \(\textbf{G}_{ij}\approx \frac{1}{2}\big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\big )\) (the difference in the two terms is the numerical dissipation).

Therefore, the MLS-SPH-ALE discretization of the system of conservation laws given by Eq. (6) reads as

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_i}\left[ \textbf{G}_{ij}-(\textbf{F}_{\varvec{w}})_i\right] \\{} & {} \quad \left( -V_j\, \nabla N_{ij} +V_i\,\nabla N_{ji} \right) =V_i \,\varvec{S}_i \end{aligned}$$
(15)

To complete the discretization, it is required an equation for the motion of the particles, which in this case reads as

$$\begin{aligned} \frac{d\varvec{x}_i}{dt}= \sum _{j=1}^{n_i}N_{ij} \varvec{w}_j \end{aligned}$$
(16)

As in the traditional SPH, the equation of evolution of the particles volumes follows a similar rationale. For a generic function \(f(\varvec{x},t)\) the generalization of the Leibniz rule gives

$$\begin{aligned}{} & {} \frac{d}{dt}\int _{\Omega }f(\varvec{x},t)\,d{x}^d \\{} & {} \quad =\int _{\Omega }\frac{\partial f(\varvec{x},t)}{\partial t}\,\,d{x}^d+\int _{\partial \Omega }f(\varvec{x},t)\varvec{w}\cdot \varvec{n}\,d{x}^{d-1} \end{aligned}$$
(17)

If we consider the constant function, \(f(\varvec{x},t)=1\), a control volume \(\Omega\) equal to \(V_i\) and the velocity at the boundary equal to \(\varvec{w}\) we obtain

$$\begin{aligned} \frac{d}{dt}\int _{V_i}d{x}^d=\int _{\partial V_i}\varvec{w}\cdot \varvec{n}\,d{x}^{d-1}=\int _{V_i} \nabla \cdot \varvec{w}\,d{x}^d \end{aligned}$$
(18)

Introducing the MLS approximation,

$$\begin{aligned} \frac{d}{dt}\int _{V_i}d{x}^d=\sum _{j=1}^{n_i}\int _{V_i}\varvec{w}_j\nabla \cdot N_{ji}\,d{x}^d \end{aligned}$$
(19)

Following the same procedure as in the system of conservation laws we obtain

$$\begin{aligned} \frac{d\,V_i}{dt}=\sum _{j=1}^{n_i}\left[ \varvec{w}_{ij}-\varvec{w}_i\right] \left( -V_j\, \nabla N_i + V_i\,\nabla N_{ji} \right) \end{aligned}$$
(20)

It is important to remark that the numerical scheme is formally second-order, even though the reconstruction of Riemann states can be higher-order [1].

4 Relations Between Groups of Numerical Methods

In this section we show the connections between the different groups of the Hopkins’ classification. Through the analysis of the discretized equations, we will demonstrate that it is possible to consider that both, FVM and SPH are contained into the MFVM class of methods.

4.1 Mesh-Based Discretized Equations

We derive the discretized equations of the FVM as a representative method of the mesh-based group. The conservative formulation of Euler equations with ALE description is written in integral form as

$$\begin{aligned} \frac{d}{dt}\int _{{T}}\varvec{U}dV+\oint _{{\partial T}}{\textbf{F}_{\varvec{w}}}\cdot d\mathbf {\Sigma }=\int _{{T}}\varvec{S}dV \end{aligned}$$
(21)

where T is the region of space associated with a cell and \({\partial T}\) its boundary. \(\varvec{U}\) is the vector of conservative variables, \(\textbf{F}_{\varvec{w}}\) is the ALE tensor flux and \(\varvec{S}\) the vector of source terms.

In Fig. 1 we plot the centroids (filled points) of a group of cells. The cell boundary is given by a polygon when a bidimensional domain is considered. We note that the cell labeled with the index i has a finite number of neighboring cells \(n_i\), that for the particular set depicted is \(n_i=6\). By focusing on one of its neighbors, labeled with the index j, an enlarged view of cells \(T_i\) and \(T_j\) is shown on the right. We designate with \(\varvec{A}_{ij}\) the surface shared by neighboring cells i and j. We note that \(\varvec{A}_{ij}\) is a vector with a module equal to the area of the shared face and the direction given by the outward normal for cell i. It can be noticed that the direction of \(\varvec{A}_{ij}\) is generally not parallel to the line connecting the position of the centroids. As we are using the ALE flux tensor the expression is valid for fixed, moving and deforming cells. We could also use the same notation for particle methods that employ a tessellation but in that case the full circles represent the generators and not the barycenter of the cells [40].

On an arbitrary cell \({T_i}\), the Euler equations have a simple spatial discretization given by

$$\begin{aligned} \frac{d}{dt}\left( \bar{\varvec{U}}_{i}V_{i}\right) +\sum _{j\in {\partial T_{i}}}({\textbf{F}_{\varvec{w}}}\cdot \varvec{A})_{ij}=\bar{\varvec{S}}_{i}V_{i} \end{aligned}$$
(22)
Fig. 1
figure 1

Discretization of the domain by the Finite Volume Method

Here \(\bar{\varvec{U}}_{i}\) and \(\bar{\varvec{S}}_{i}\) are the mean values of \(\varvec{U}\) and \(\varvec{S}\) inside a mesh cell \({T_i}\) which has volume \(V_i\).Footnote 2 Note that the sum is carried over the boundaries of the cell \({T_i}\) designated as \({\partial T_i}\). For convenience we introduce a compact notation for the surface integral of a single face separating cell i and j

$$\begin{aligned} ({\textbf{F}_{\varvec{w}}}\cdot \varvec{A})_{ij}=\int _{{\partial T_{i,j}}}{\textbf{F}_{\varvec{w}}}\cdot d\mathbf {\Sigma } \end{aligned}$$
(23)

This simple derivation used by FVM can be accomplished because the volume and boundaries of a cell are geometric entities associated with the mesh. Unfortunately this fast procedure cannot be followed in meshless methods, since in those methods particles represent a region of the continuous domain, but that region lacks any boundary definition to accomplish the integrals as expressed in Eq. (21). Thus, meshless methods must follow a different procedure to discretize the governing equations. Two of these procedures will be outlined in the following sections.

4.2 Meshless-FV Discretized Equations

As a representative example for meshless-FV methods we have selected the method proposed by Ivanova et al. [16]. In their work, an appendix is provided with title "On a spatially-discrete formalism for mesh-less finite-volume-methods". We use the acronym MFVM to refer to the method proposed in the appendix of their publication. The paper reviews hydrodynamic codes for cosmological applications where Lagrangian SPH and Cartesian Eulerian methods were conceived as two totally different approaches. Authors proved that Lagrangian particle-based methods are a subset of more general meshless-FV schemes. The publication encourages to take a flexible approach in the development of numerical methods and opens the path for developing hybrid codes that leverages the benefits of both types of methods.

In [16], it was presented a generic formalism that leads to spatially discrete meshless finite volume equations. However, no results were presented in the article as the formalism was not implemented in any computer framework. The procedure begins with the continuous weak form of the Euler equations in the form

$$\begin{aligned}{} & {} \forall \varphi \in C_{0}^{2}\left( \mathbb {R}^{d}\times \mathbb {R}^{+,*}\right) \\{} & {} \quad \int _{\mathbb {R}^{d}\times \mathbb {R}^{+}}\left( \varvec{U}L_{\varvec{w}}^{*}(\varphi )+\varvec{F}_{\varvec{w}}^{\alpha }\frac{\partial \varphi }{\partial x^{\alpha }}+\varvec{S}\varphi \right) dx^{d}\,dt=\varvec{0} \end{aligned}$$

where the integral is taken over all the space-time domain. In order to ease the notation, the adjoint transport operator \(L_{\varvec{w}}^{*}(\varphi )\) is recognized as the advective derivative in the particle velocity field \(\varvec{w}\) and denoted more compactly as \(\dot{\varphi }=\partial \varphi / \partial t+\varvec{w} \cdot \nabla \varphi\). We also change from index notation to vector notation to write

$$\begin{aligned}{} & {} \forall \varphi \in C_{0}^{2}\left( \mathbb {R}^{d}\times \mathbb {R}^{+,*}\right) \\{} & {} \quad \int _{\mathbb {R}^{d}\times \mathbb {R}^{+}}\left( \varvec{U}\dot{\varphi }+\nabla \varphi \cdot \mathbf {F_{\varvec{w}}}+\varvec{S}\varphi \right) dx^{d}\,dt=\varvec{0} \end{aligned}$$
(24)

To get a particle approximation of this ALE weak problem, a set of moving particles given by paths \(\varvec{x}_{i}(t)\) is considered (with index i varying from \(i=1\) to \(i=N\)). There are several techniques to integrate the weak form in meshless methods [41], for example, nodal integration is used in SPH methods.

Instead of accomplishing the discretization process directly by using the definition of a discrete scalar product, Ivanova et al. introduce a set of functions \(\psi _i\) linked to each particle i that verifies the Partition of Unity (PU) property. Satisfying the PU property means that for any point \(\varvec{x}\) in the domain \(\Omega\) at any instant time t the following identity holds exactly

$$\begin{aligned} \sum _{i}\psi \left( \varvec{x}-\varvec{x}_{i}(t)\right) =1\quad \textrm{or}\quad \sum _{i}\psi _{i}\left( \varvec{x}\right) =1 \end{aligned}$$
(25)

By invoking the Fubini’s Theorem, the weak form given by Eq. (24) is rewritten as

$$\begin{aligned}{} & {} \forall \varphi \in C_{0}^{2}\left( \mathbb {R}^{d}\times \mathbb {R}^{+,*}\right) \\{} & {} \quad \int _{\mathbb {R}^{+}}\int _{\mathbb {R}^{d}}(\varvec{U}\dot{\varphi }+\nabla \varphi \cdot \textbf{F}_{\varvec{w}}+\varvec{S}\varphi )\,dx^{d}\,dt=\varvec{0} \end{aligned}$$
(26)

Leaving the time integral temporally out of the derivation, attention is set on conducting the spatial discretization of the spatial integral

$$\begin{aligned} \int _{\mathbb {R}^{d}}(\varvec{U}\dot{\varphi }+\nabla \varphi \cdot \textbf{F}_{\varvec{w}}+\varvec{S}\varphi )\,dx^{d} \end{aligned}$$
(27)

Using the Partition of Unity property (Eq. (25)) in Eq. (27) allows us to write

$$\begin{aligned}{} & {} \int _{\mathbb {R}^{d}}1(\varvec{U}\dot{\varphi }+\nabla \varphi \cdot \textbf{F}_{\varvec{w}}+\varvec{S}\varphi )\,dx^{d} \\{} & {} \quad =\int _{\mathbb {R}^{d}}\sum _{i}\psi _{i}\left( \varvec{x}\right) \big ( \varvec{U}\dot{\varphi }+\nabla \varphi \cdot \textbf{F}_{\varvec{w}}+\varvec{S}\varphi \big ) \,dx^{d} \end{aligned}$$
(28)

where we have decided to emphasize only the argument dependence for the particle functions \(\psi _{i}\left( \varvec{x}\right)\). After expanding the products, we note that each integral demands a different approximation, and for that reason we identify each integral term with Roman numbers

$$\begin{aligned}{} & {} \underbrace{\int _{\mathbb {R}^{d}}\sum _{i}\psi _{i} \left( \varvec{x}\right) \varvec{U}\dot{\varphi }\,dx^{d}}_{I}+\underbrace{\int _{\mathbb {R}^{d}}\sum _{i}\psi _{i}\left( \varvec{x}\right) \nabla \varphi \cdot \textbf{F}_{\varvec{w}}\,dx^{d}}_{II} \\{} & {} \quad +\underbrace{\int _{\mathbb {R}^{d}}\sum _{i}\psi _{i}\left( \varvec{x}\right) \varvec{S}\varphi \,dx^{d}}_{III} \end{aligned}$$
(29)

Before starting the approximation of each term, we present some properties associated with the PU. The insertion of the PU property in the integral that gives the volume of the domain yields

$$\begin{aligned}{} & {} V=\int _{\Omega }dx^{d}=\int _{\Omega }1\,dx^{d}=\int _{\Omega }\sum _{i}\psi _{i} \left( \varvec{x}\right) \,dx^{d} \\{} & {} \quad =\sum _{i}\int _{\Omega }\psi _{i}\left( \varvec{x}\right) \,dx^{d}=\sum _{i}V_{i} \end{aligned}$$
(30)

that provides a partition of the domain \(\Omega\), by assigning to a generic particle i the volume \(V_i\) given by

$$\begin{aligned} V_{i}=\int _{\Omega }\psi _{i}\left( \varvec{x}\right) \,dx^{d} \end{aligned}$$
(31)

This property is of great importance. It shows that an effective volume associated with a particle i is expressed as the integral of the corresponding particle function \(\psi _i(\varvec{x})\) over the whole domain. Particles have a compact support associated with the kernel function, but there is overlapping between the support domain of neighboring particles. The overlapping prevents the evaluation of the integral over the domain as the sum of the integrals over the support of each particle. Equations (30) and (31) show that by inserting the PU inside the integral, it is possible to express the integral over the domain as the sum of the contributions of the particles. We also remark that Eq. (31) is obtained without using a cell or invoking a tessellation procedure. Particle functions \(\psi _{i}\left( \varvec{x}\right)\) are null outside the boundary domain, and therefore the region of integration \(\mathbb {R}^d\) of Eq. (29) is replaced by \(\Omega\).

Coming back to the development of Eq. (27), the term I can be approximated as

$$\begin{aligned} I= & {} \sum _{i}\int _{\Omega }\psi _{i}\left( \varvec{x}\right) \varvec{U}(\varvec{x})\dot{\varphi }(\varvec{x})\,dx^{d} \\\approx & {} \sum _{i}\int _{\Omega }\psi _{i}\left( \varvec{x}\right) \varvec{U}\left( \varvec{x}_{i}\right) \dot{\varphi }\left( \varvec{x}_{i}\right) \,dx^{d} \\= & {} \sum _{i}\varvec{U}\left( \varvec{x}_{i}\right) \dot{\varphi }\left( \varvec{x}_{i}\right) \int _{\Omega }\psi _{i}(\varvec{x})\,dx^{d} \\= & {} \sum _{i}\varvec{U}\left( \varvec{x}_{i}\right) \dot{\varphi }\left( \varvec{x}_{i}\right) V_{i}= \sum _{i}\varvec{U}_{i}\dot{\varphi }_{i}V_{i} \end{aligned}$$
(32)

where the dependence of the spatial variable is included to show clearly the one point quadrature rule used for the approximation.

For the term II, the following gradient approximation is introduced \(\nabla \varphi (\varvec{x},t)\approx \widehat{\nabla \varphi }(\varvec{x})=\sum _{j}\nabla \psi _{j}\left( \varvec{x}\right) \varphi \left( \varvec{x}_{j}\right) =\sum _{j}\nabla \psi _{j}\left( \varvec{x}\right) \varphi _{j}\) yielding

$$\begin{aligned} II= & {} \int _{\Omega }\sum _{i}\psi _{i}\left( \varvec{x}\right) \nabla \varphi (\varvec{x})\cdot \textbf{F}_{\varvec{w}}(\varvec{x})\,dx^{d} \\\approx & {} \int _{\Omega }\sum _{i}\psi _{i}\left( \varvec{x}\right) \widehat{\nabla \varphi }(\varvec{x})\cdot \textbf{F}_{\varvec{w}}(\varvec{x})\,dx^{d} \\= & {} \int _{\Omega }\sum _{i}\psi _{i}(\varvec{x})\sum _{j}\varphi _{j}\nabla \psi _{j}(\varvec{x})\cdot \textbf{F}_{\varvec{w}}(\varvec{x})\,dx^{d} \end{aligned}$$
(33)

At this point it is possible to take advantage of other particle function property to obtain a more convenient expression for the term II. By taking the gradient of the PU identity, it can be proved that the gradient of particle functions satisfies the Partition of Nullity (PN)

$$\begin{aligned} \underbrace{\sum _{j}\psi _{j}\left( \varvec{x}\right) =1}_{PU}\quad \underbrace{\sum _{j}\nabla \psi _{j}(\varvec{x})=\varvec{0}}_{PN} \end{aligned}$$
(34)

By using the PN property we add a term with null contribution to Eq. (33) obtaining

$$\begin{aligned} II\approx \int _{\Omega }\sum _{i}\psi _{i}(\varvec{x})\sum _{j}\left( \varphi _{j}-\varphi _{i}\right) \nabla \psi _{j}(\varvec{x})\cdot \textbf{F}_{\varvec{w}}(\varvec{x})\,dx^{d} \end{aligned}$$
(35)

By expanding the terms in brackets and moving the particle functions \(\psi _i(\varvec{x})\) inside the summation over index j, the term II reads as

$$\begin{aligned} II\approx & {} \int _{\Omega }\left( \sum _{i}\sum _{j}\varphi _{j}\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x})\cdot \textbf{F}_{\varvec{w}}(\varvec{x})\right. \\{} & {} \left. -\sum _{i}\sum _{j}\varphi _{i}\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x})\cdot \textbf{F}_{\varvec{w}}(\varvec{x})\right) dx^{d} \end{aligned}$$
(36)

The integrand is composed by two double sums over all particles of the domain. It is possible to interchange index i and j in the first term, obtaining

$$\begin{aligned} II\approx & {} \int _{\Omega }\left( \sum _{j}\sum _{i}\varphi _{i}\psi _{j}(\varvec{x})\nabla \psi _{i}(\varvec{x})\cdot \textbf{F}_{\varvec{w}}(\varvec{x})\right. \\{} & {} \left. -\sum _{i}\sum _{j}\varphi _{i}\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x})\cdot \textbf{F}_{\varvec{w}}(\varvec{x})\right) dx^{d} \end{aligned}$$
(37)

By rearranging terms and using the additive property of the integral, the II term is given by

$$\begin{aligned} II\approx & {} -\sum _{i}\sum _{j}\varphi _{i}\int _{\Omega }\textbf{F}_{\varvec{w}}(\mathrm {\varvec{x}})\cdot \Bigl (\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x}) \\{} & {} -\psi _{j}(\varvec{x})\nabla \psi _{i}(\varvec{x})\Bigr )\,dx^{d} \end{aligned}$$
(38)

In order to perform the integration of term III, we proceed in the same manner as for term I, to obtain

$$\begin{aligned} III=\sum _{i}\int _{\Omega }\psi _{i}\left( \varvec{x}\right) \varvec{S}(\varvec{x})\varphi (\varvec{x})\,dx^{d}\approx \sum _{i}\varvec{S}_{i}\varphi _{i}V_{i} \end{aligned}$$
(39)

Introducing the approximations obtained in Eqs. (32), (38) and (39) into Eq. (26) yields

$$\begin{aligned}{} & {} \int _{\mathbb {R}^{+}}\left( \sum _{i}\varvec{U}_{i}\dot{\varphi }_{i}V_{i} \right. \\{} & {} \qquad \qquad \left. -\sum _{i}\sum _{j}\varphi _{i}\int _{\Omega }\textbf{F}_{\varvec{w}}(\varvec{x})\cdot \Bigl ( \psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x})\right. \\{} & {} \qquad \qquad \left. - \psi _{j}(\varvec{x})\nabla \psi _{i}(\varvec{x})\Bigr ) dx^{d}+\sum _{i}\varvec{S}_{i}\varphi _{i}V_{i}\right) dt\approx \varvec{0} \end{aligned}$$
(40)

The overdot operator was used as abbreviation for the advective derivative according to \(L_{\varvec{w}}^{*}(\varphi )=\dot{\varphi }=\partial \varphi /\partial t+\textbf{w}\cdot \nabla \varphi\). Integrating by parts and noting that the tests functions have compact support (in space and time) the transient term in Eq. (40) can be expressed by

$$\begin{aligned}{} & {} \sum _{i}\int _{\mathbb {R}^{+}}\varvec{U}_{i}\frac{d\varphi _{i}}{dt}V_{i}\,dt \\{} & {} \quad = \sum _{i}\int _{\mathbb {R}^{+}}\frac{d\left( \varvec{U}_{i}\varphi _{i}V_{i}\right) }{dt}\,dt-\sum _{i}\int _{\mathbb {R}^{+}}\varphi _{i}\frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}\,dt \\{} & {} \quad =-\int _{\mathbb {R}^{+}}\left( \sum _{i}\varphi _{i}\frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}\right) \,dt \end{aligned}$$
(41)

Substitution of Eq. (41) into Eq. (40) gives

$$\begin{aligned}{} & {} \int _{\mathbb {R}^{+}}\left( -\sum _{i}\varphi _{i}\frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}\right. \\{} & {} \qquad \qquad -\sum _{i}\sum _{j}\varphi _{i}\int _{\Omega }\textbf{F}_{\varvec{w}}(\varvec{x})\cdot \big (\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x}) \\{} & {} \qquad \qquad -\psi _{j}(\varvec{x})\nabla \psi _{i}(\varvec{x})\big )\,dx^{d} +\left. \sum _{i}\varvec{S}_{i}\varphi _{i}V_{i}\right) dt\approx \varvec{0} \end{aligned}$$
(42)

As the integral must approach zero for any time, the integrand should approach zero

$$\begin{aligned}{} & {} \sum _{i}\varphi _{i}\left( \frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}\right. \\{} & {} \qquad \qquad \left. + \sum _{j}\int _{\Omega }\textbf{F}_{\varvec{w}}(\varvec{x})\cdot \big (\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x})\right. \\{} & {} \qquad \qquad \psi _{j}(\varvec{x})\nabla \psi _{i}(\varvec{x})\big )\,dx^{d}-\varvec{S}_{i}V_{i}\biggr )\approx \varvec{0} \end{aligned}$$
(43)

Since this relation must hold for every test function, the following must be satisfied

$$\begin{aligned}{} & {} \frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}+\sum _{j}\int _{\Omega }\textbf{F}_{\varvec{w}}(\varvec{x})\cdot \bigl (\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x}) \\{} & {} \quad -\psi _{j}(\varvec{x})\nabla \psi _{i}(\varvec{x})\bigr )\,dx^{d} \approx \varvec{S}_{i}V_{i} \end{aligned}$$
(44)

Now, we note that the second term takes the form of a sum of integrals involving the active particle i with its neighbor particles. The term collects the action of neighbor particles j over the active particle i. We focus the attention on one individual neighbor and we note that particle functions are dimensionless and the gradient of the particle functions have dimensions of \([L]^{-1}\). Moreover, particle functions are scalar and the gradient of particle functions are vectors. The integral obeys the expression of a flux crossing a surface. Based on this analogy we represent the interaction flux of particle j over particle i as \((\textbf{F}_{\varvec{w}}\cdot \varvec{A})_{ij}\)

$$\begin{aligned}{} & {} (\textbf{F}_{\varvec{w}}\cdot \varvec{A})_{ij} \\{} & {} \quad \equiv \int _{\Omega }\textbf{F}_{\varvec{w}}(\varvec{x})\cdot \big (\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x})-\psi _{j}(\varvec{x})\nabla \psi _{i}(\varvec{x})\big )\,dx^{d} \end{aligned}$$
(45)

It is important to remark that the area \(\varvec{A}\) used to denote the term \((\textbf{F}_{\varvec{w}}\cdot \varvec{A})_{ij}\) in Eq. (45) is not associated to any geometric entity. Some authors use the term effective area to emphasize the differences with a real area associated with the face of a cell. Using this compact nomenclature Eq. (44) can be rewritten as

$$\begin{aligned} \frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}+\sum _{j}(\textbf{F}_{\varvec{w}}\cdot \varvec{A})_{ij}\approx \varvec{S}_{i}V_{i} \end{aligned}$$
(46)

The meshless formulation presented does not provide a full discretization, because the tensor flux has not been discretized and the effective area \(\varvec{A}_{ij}\) requires a quadrature rule to obtain a discrete approximation. Moreover, the set of particle functions satisfying the PU and PN are key in the process, but in [16] nothing is said about its definition. At this point, the discretization is not applicable in practice since it is incomplete. However, it has the advantage of offering a meshless formulation that allows easy comparison with the FVM and traditional SPH method. In Sect. 5 we introduce the MLS-SPH-ALE method, which is also included in the Meshless-FV group. We will prove that it can be seen as a general meshless formulation, since starting from it, we can derive many different methods. In Sect. 5.1.1 we will prove that from the MLS-SPH-ALE discretization we can recover the MFVM including a complete discretization of the flux.

4.3 SPH Discretized Equations

The first thing to be clarified is that there is not a unique set of discretized equations for the Euler equations using SPH methods. In the literature different strategies to discretize the Euler equations have been explored. The simplest procedure starts with the choice of a set of Euler equations in non-conservative form, and then the continuous spatial derivatives are replaced by their discrete kernel approximations. A different procedure to derive the discretized equations adopts the Lagrangian Dynamics. Using the variational principle avoids some ad-hoc choices introduced by the standard procedure. Excellent reviews of the SPH procedure are given in the publications by Monaghan [30], Price [42], Rosswog [43], Springel [14] and Violeau’s book [44].

As SPH is a pure Lagrangian method, the more convenient presentation for the Euler equations is the non-conservative form since material derivatives appear explicitly on the left hand side of the governing equations. For the energy equation we can use the internal energy (e) or the total energy (E) as variable.

$$\begin{aligned} \frac{d\rho }{dt}=-\rho \nabla \cdot \varvec{u} \end{aligned}$$
(47)
$$\begin{aligned} \frac{d\varvec{u}}{dt}=-\frac{\nabla p}{\rho }+\varvec{f} \end{aligned}$$
(48)
$$\begin{aligned} \frac{de}{dt}=-\frac{p}{\rho }\nabla \cdot \varvec{u}\quad \quad \quad \frac{dE}{dt}=-\frac{1}{\rho }\nabla \cdot (p\varvec{u})+\varvec{f}\cdot \varvec{u} \end{aligned}$$
(49)

Equation (47), Eq. (48) and Eq. (49) express the non-conservative form for the mass, momentum and energy respectively. In the right hand side of Eq. (47) the divergence of the velocity appears meanwhile in Eq. (48) the gradient of the pressure is involved. Omitting the discretization of the energy equation we note that the main discretizations invoked for SPH are conducted by one of the two forms presented hereafter.

The traditional SPH discretization was adopted by Monaghan and it is the usual set of SPH equations used in Astrophysics. The expressions assume a constant smoothing length for the particles and the semi-discrete corresponding to Eq. (47), Eq. (48) read as

$$\begin{aligned} \frac{D\rho _{i}}{Dt}=\sum _{j}m_{j}\left( \varvec{u}_{i}-\varvec{u}_{j}\right) \nabla _{i}W_{ij} \end{aligned}$$
(50)
$$\begin{aligned} \frac{D\varvec{u}_{i}}{Dt}=-\sum _{j}m_{j}\left( \frac{p_{i}}{\rho _{i}^{2}}+\frac{p_{j}}{\rho _{j}^{2}}\right) \nabla _{i}W_{ij}+\varvec{f}_{i} \end{aligned}$$
(51)

An alternative SPH discretization was proposed by Colagrossi and Landrini [31]. This alternative SPH derivation is the base for the \(\delta -SPH\) method and is widely used in ocean engineering [45].

$$\begin{aligned} \frac{D\rho _{i}}{Dt}=\rho _{i}\sum _{j}\frac{m_{j}}{\rho _{j}}\left( \varvec{u}_{i}-\varvec{u}_{j}\right) \nabla _{i}W_{ij} \end{aligned}$$
(52)
$$\begin{aligned} \frac{D\varvec{u}_{i}}{Dt}=-\sum _{j}m_{j}\left( \frac{p_{i}+p_{j}}{\rho _{i}\rho _{j}}\right) \nabla _{i}W_{ij}+\varvec{f}_{i} \end{aligned}$$
(53)

Both forms of the SPH equations are self-consistent because they were derived invoking the variational principle.

4.4 Connections Between FVM and MFVM

Some authors have raised the question of whether finite volume methods do really require a mesh or not [46]. In this work we try to address this question, by analyzing the discretized equations of FVM and MFVM. The similarities between the MFVM and the FVM can be clearly seen by comparison of Eqs. (22) and (46). The main difference resides in the evaluation of the fluxes given by Eqs. (23) and (45). In FVM fluxes are calculated over a face of a geometric cell, meanwhile in the MFVM fluxes are defined over an effective area expressed in terms of particle functions.

The MFVM proposed by Ivanova et al. does not provide a full discretization of the Euler equations. The set of particle functions are not defined and the flux term expressed by \((\textbf{F}_{\varvec{w}}\cdot \varvec{A})_{ij}\) needs to be numerically evaluated with the information carried by the particles. However, the lack of an approximation for the flux and the effective area allows us to appreciate more clearly the similarity of MFVM with FVM.

4.5 Connections Between MFVM and SPH

In this subsection, we outline the derivation of the traditional SPH equations and we show how to recover these equations starting from the MFVM given by Eq. (45) and Eq. (46).

Particle functions \(\psi _i(\varvec{x})\) satisfying the PU property play a key role in the MFVM. On the contrary, the traditional SPH equations are derived in terms of the kernel function \(W_i(\varvec{x})\). Although the derivations seem to be different we show the path to recover the traditional Lagrangian SPH equations starting with the MFVM. Identifying a concealed partition of unity associated with the kernel approximation is crucial for this analysis.

SPH is based on the smoothing of the mass assigned to a set of discrete points. Based on that we define the density spread in an arbitrary point \(\varvec{x}\) by the presence of the mass \(m_i\) located in point \(\varvec{x}_i\) by \(\rho _{i}(\varvec{x})=m_{i}W\left( \varvec{x}-\varvec{x}_{i},h(\varvec{x})\right)\). The density at point \(\varvec{x}\) is obtained by summation over the neighboring particles (\(n_x\)) inside the kernel support, which is expressed mathematically by \(\rho (\varvec{x})=\sum _{j}^{n_{x}} W\left( \varvec{x}-\varvec{x}_{j}, h(\varvec{x})\right) m_{j}\). The following partition of unity associated with SPH can be inferred

$$\begin{aligned}{} & {} \psi _{i}^{SPH}(\varvec{x}) \\{} & {} \quad =\frac{m_{i}W\left( \varvec{x}-\varvec{x}_{i},h(\varvec{x})\right) }{\sum _{j}^{n_{x}}W\left( \varvec{x}-\varvec{x}_{j},h(\varvec{x})\right) m_{j}}=\frac{\rho _{i}(\varvec{x})}{\rho (\varvec{x})} \end{aligned}$$
(54)

Before dealing with the conservative equations, it is illustrative to examine the expression of the effective volume associated with a particle in MFVM

$$\begin{aligned}{} & {} V_{i}=\int _{\Omega }\psi _{i}^{SPH}(\varvec{x})\,dx^{d} \\{} & {} \quad =\int _{\Omega }\frac{m_{i}}{\rho (\varvec{x})}W\left( \varvec{x}-\varvec{x}_{i},h(\varvec{x})\right) \,dx^{d} \end{aligned}$$
(55)

It is possible to proceed further after approximating the kernel by the delta function, namely \(W\left( \varvec{x}-\varvec{x}_{i}, h(\varvec{x})\right) \approx \delta \left( \varvec{x}-\varvec{x}_{i}\right)\). By means of the integral identity of the delta function the following relation is derived

$$\begin{aligned}{} & {} V_{i}=\int _{\Omega }\frac{m_{i}}{\rho (\varvec{x})}W\left( \varvec{x}-\varvec{x}_{i},h(\varvec{x})\right) \,dx^{d} \\{} & {} \quad \approx \int _{\Omega }\frac{m_{i}}{\rho (\varvec{x})}\delta \left( \varvec{x}-\varvec{x}_{i}\right) \,dx^{d}=\frac{m_{i}}{\rho _{i}} \end{aligned}$$
(56)

In traditional SPH the mass of the particle is kept fixed, and the density is derived by using the kernel approximation. It is possible to obtain a volume associated with the particle through the density definition, but it is not required for solving the governing equations. On the contrary, in the MFVM the mass of the particle is evolved from the mass conservation (Eq. (46) with \({U}^1=\rho\)) and the particle volume is defined by Eq. (31). To obtain a numerical value of the volume we need a quadrature rule to approximate the previous integral. There is also the alternative choice of evolving the volume of the particle using the generalization of the Leibniz rule (see Eq. (20)).

For the momentum equation, we start with the general equation of the meshless finite volume formulation given by Eq. (46) and we set the particular settings corresponding to SPH. Particles move with the fluid velocity (\(\varvec{w}=\varvec{u}\)), and the vector of conservative variables \(\varvec{U}_i\) and source terms \(S_i\) takes the particular form \(\varvec{U}_i =\rho _{i}\varvec{u}_i\) and \(S_i=\rho _{i}\varvec{f}_{i}\) thus giving

$$\begin{aligned} \frac{d}{dt}\Bigg |_{u}\rho _{i}\varvec{u}_{i}V_{i}+\sum _{j}(\mathbf {F_{u}}\cdot \varvec{A})_{ij}=\rho _{i}\varvec{f}_{i}V_{i} \end{aligned}$$
(57)

We then proceed by computing the flux terms \((\mathbf {F_{u}}\cdot \varvec{A})_{ij}\). Since SPH is a Lagrangian method, the flux of the momentum equations is a diagonal tensor \(\mathbf {F_{u}}=p\textbf{I}\) involving only the pressure term. With these considerations, the general expression for the meshless flux given by Eq. (45) reads as

$$\begin{aligned}{} & {} (\mathbf {F_{u}}\cdot \varvec{A})_{ij} \\{} & {} \quad =\int _{\Omega }\left[ \psi _{i}(\varvec{x})p(\varvec{x})\nabla \psi _{j}(\varvec{x})-\psi _{j}(\varvec{x})p(\varvec{x})\nabla \psi _{i}(\varvec{x})\right] \,dx^{d} \end{aligned}$$
(58)

Now, we introduce the expressions for \(\psi _{i}(\varvec{x})\) and \(\nabla \psi _{i}(\varvec{x})\) that correspond to the SPH kernel approximation in Eq. (58), that is

$$\begin{aligned}{} & {} \psi _{i}^{SPH}(\varvec{x})=\frac{m_{i}}{\rho (\varvec{x})}W\left( x-x_{i},h(\varvec{x})\right) \\{} & {} \quad \nabla \psi _{i}^{SPH}(\varvec{x})\approx \frac{m_{i}}{\rho (\varvec{x})}\nabla W\left( x-x_{i},h(\varvec{x})\right) \end{aligned}$$
(59)

resulting in the following expression for the momentum flux \((\mathbf {F_{u}}\cdot \varvec{A})_{ij}\)

$$\begin{aligned}{} & {} (\mathbf {F_{u}}\cdot \varvec{A})_{ij} \\{} & {} \quad \approx \int _{\Omega }\left[ \frac{m_{i}}{\rho (\varvec{x})}W\left( \varvec{x}-\varvec{x}_{i},h(\varvec{x})\right) p(\varvec{x})\frac{m_{j}}{\rho (\varvec{x})}\nabla W\right. \\{} & {} \quad -\left. \frac{m_{j}}{\rho (\varvec{x})}W\left( \varvec{x}-\varvec{x}_{i},h(\varvec{x})\right) p(\varvec{x})\frac{m_{i}}{\rho (\varvec{x})}\nabla W\right] \,dx^{d} \end{aligned}$$
(60)

where we have set \(\nabla W=\nabla W\left( \varvec{x}-\varvec{x}_{i},h(\varvec{x})\right)\) for the sake of clarity. The momentum flux \((\mathbf {F_{u}}\cdot \varvec{A})_{ij}\) given by Eq. (60) involves a complex integration including the kernel and gradient kernel for particles i and j. However, by shrinking the kernel in the delta function we can use the properties of the delta function to obtain the approximation

$$\begin{aligned} (\mathbf {F_{u}}\cdot \varvec{A})_{ij}\approx & {} \frac{m_{i}m_{j}}{\rho _{i}^{2}}p_{i}\nabla _{i}W\left( \varvec{x}_{i}-\varvec{x}_{j},h_{i}\right) \\{} & {} -\frac{m_{i}m_{j}}{\rho _{j}^{2}}p_{j}\nabla _{j}W\left( \varvec{x}_{j}-\varvec{x}_{i},h_{j}\right) \end{aligned}$$
(61)

Replacing Eq. (61) into Eq. (57) yields

$$\begin{aligned}{} & {} \frac{d}{dt}\Bigg |_{\varvec{u}}m_{i}\varvec{u}_{i}+\sum _{j}\Biggl [\frac{m_{i}m_{j}}{\rho _{i}^{2}}p_{i}\nabla _{i}W\left( x_{i}-x_{j},h_{i}\right) \\{} & {} \quad - \frac{m_{i}m_{j}}{\rho _{j}^{2}}p_{j}\nabla _{j}W\left( x_{j}-x_{i},h_{j}\right) \Biggr ]=\rho _{i}\varvec{f}_{i}V_{i} \end{aligned}$$
(62)

For a uniform smoothing length \(h=h_i=h_j\), we could use the symmetric property of the kernel function

$$\begin{aligned} \nabla _{i}W\left( \varvec{x}_{i}-\varvec{x}_{j},h\right)= & {} -\nabla _{j}W\left( \varvec{x}_{j}-\varvec{x}_{i},h\right) \\ \nabla _{i}W_{ij}= & {} -\nabla _{j}W_{ji} \end{aligned}$$
(63)

and after dividing by the constant mass \(m_i\) of the particle we arrive at the final expression for the momentum equation given by

$$\begin{aligned} \frac{d}{dt}\Bigg |_{\varvec{u}}\varvec{u}_{i}=-\sum _{j}m_{j}\left( \frac{p_{i}}{\rho _{i}^{2}}+\frac{p_{j}}{\rho _{j}^{2}}\right) \nabla _{i}W_{ij}+\varvec{f}_{i} \end{aligned}$$
(64)

The discrete momentum equation given by Eq. (64) is coincident with Eq. (51) obtained with the traditional SPH formulation by Monaghan. Thus, it can be concluded that the SPH method can be considered as a particular configuration of the MFVM.

5 MLS-SPH-ALE: A Common Framework for Meshless-FV Methods

The hybrid features of meshless-FV methods have attracted the attention of many researchers to develop meshless methods that outperform the mesh-based and SPH methods in solving a wide variety of applications. As a consequence, several meshless-FV methods were conceived in the last decade. Some of them were developed to solve astrophysical problems ([1, 24, 47, 48]).

Some other meshless-FV methods like the Finite Volume Particle Method [23] and the SPH-ALE of Vila [17] were conceived as a general method to solve hyperbolic conservation laws. Meshless-FV methods have not achieved yet the same degree of maturity as the FEM and FVM, so it seems reasonable that in the current state of development several of the meshless-FV methods cited will evolve and some new meshless formulations will appear in a near future. Thus, the list presented in the next section is nonexhaustive but representative of the different communities currently using meshless-FV methods. In the next sections we will prove that the MLS-SPH-ALE is a general meshless-FV formulation. After a selection of representative meshless-FV in the literature, it is shown that adopting some particular settings in MLS-SPH-ALE leads to equivalent semi-discrete equations.

5.1 The Meshless Finite Volume Method (MFVM)

As comented in Sect. 4.2, the semi-discrete form of the MFVM proposed by Ivanova et al. [16] is given by Eq. (46)

$$\begin{aligned} \frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}+\sum _{j}(\textbf{F}_{\varvec{w}}\cdot \varvec{A})_{ij}\approx \varvec{S}_{i}V_{i} \end{aligned}$$

where the interaction term of particle i over j, denoted as \((\mathbf {F_{w}}\cdot \varvec{A})_{ij}\), is defined by

$$\begin{aligned}{} & {} (\textbf{F}_{\varvec{w}}\cdot \varvec{A})_{ij} \\{} & {} \quad \equiv \int _{\Omega }\textbf{F}_{\varvec{w}}(\varvec{x})\cdot \big (\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x})-\psi _{j}(\varvec{x})\nabla \psi _{i}(\varvec{x})\big )\,dx^{d} \end{aligned}$$

The MFVM does not provide a full discretization for the flux between particles and for the effective area because neither of them are given in terms of data contained in the set of particles. This incomplete discretization has several implications. On one hand, without additional discretization the method is unable to run simulations. On the other hand, the method has general features that are useful to appreciate approximations invoked by other meshless-FV methods.

5.1.1 MFVM and MLS-SPH-ALE

The semi-discrete system obtained with MFVM for the Euler equations is given by Eq. (46) as

$$\begin{aligned}{} & {} \frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}+\sum _{j}\int _{\Omega }\textbf{F}_{\varvec{w}}(\varvec{x})\cdot \big (\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x}) \\{} & {} \quad - \psi _{j}(\varvec{x})\nabla \psi _{i}(\varvec{x})\big )\,dx^{d} \approx \varvec{S}_{i}V_{i} \end{aligned}$$

The semi-discrete system obtained with MLS-SPH-ALE method for the Navier Stokes equations is given by Eq. (11). Particularized for the Euler equations (\(\varvec{F}=\varvec{F}_{\varvec{w}}\)) and omitting the boundary term we obtain

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_{i}}\left[ \frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )-(\textbf{F}_{\varvec{w}})_i\right] \\{} & {} \quad \left( \int _{\Omega }N_i\, \cdot \nabla N_j\,d{x}^d - \int _{\Omega }N_{j}\,\cdot \nabla N_{i}\,d{x}^d \right) =V_i \,\varvec{S}_i \end{aligned}$$

Noting that MFVM and MLS-SPH-ALE semi-discrete forms only differ in their expressions for the term that accounts for the interaction between particles, we can identify them writing

$$\begin{aligned} \begin{aligned} \int _{\Omega }\textbf{F}_{\varvec{w}}(\varvec{x})&\cdot \big (\psi _{i}(\varvec{x})\nabla \psi _{j}(\varvec{x})-\psi _{j}(\varvec{x})\nabla \psi _{i}(\varvec{x})\big )\,dx^{d}\\&\approx \left[ \frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )-(\textbf{F}_{\varvec{w}})_i\right] \\&\times \left( \int _{\Omega }N_i\, \cdot \nabla N_j\,d{x}^d - \int _{\Omega }N_{j}\,\cdot \nabla N_{i}\,d{x}^d \right) \end{aligned} \end{aligned}$$
(65)

Equation (65) shows that the MLS-SPH-ALE method assumes a constant flux tensor in the overlap region, which can be taken out of the integral. Both formulations share the same form for the effective interaction area with the only exception that MFVM is given in terms of \(\psi (\varvec{x})\) and MLS-SPH-ALE uses \(N_i(\varvec{x})\) obtained with MLS. In MLS-SPH-ALE, a full discretization of the flux is provided since the tensor flux is given in terms of particle data.

5.2 The Finite Volume Particle Method (FVPM)

The Finite Volume Particle Method (FVPM) was first developed by Hietel, Steiner and Struckmeier in [23] for the discretization of a system of conservation laws in the spatial domain \(\Omega =\mathbb {R}^d\). Then, Junk and Struckmeier [49] proposed a more stable discretization in a bounded domain \(\Omega \subset \mathbb {R}^d\). Keck and Hietel [50] introduced a projection technique for incompressible flow. Teleaga and Struckmeier [51] extended the method to moving domains. Quinlan and coworkers have conducted a very active research work on the FVPM on the last decade. Some of their main contributions are the extension of the FVPM to viscous flow [52] and free-surface flows [53].

The FVPM was developed to be a hybrid method with the flexibility of a particle method and the conservative nature inherent to FVM. The FVPM assigns a particle function to each particle that automatically satisfies the Partition of Unity property. This particle function is defined as

$$\begin{aligned} \psi _{i}\left( \varvec{x},t\right) \equiv \frac{W\left( \varvec{x}-\varvec{x}_{i},t\right) }{\sum _{j=1}^{n_i}W\left( \varvec{x}-\varvec{x}_{j},t\right) }=\frac{W_{i}\left( \varvec{x},t\right) }{\sigma (\varvec{x},t)} \end{aligned}$$
(66)

where the summation over all domain particle functions at point \(\varvec{x}\) for an instant time t is designated more compactly as \(\sigma (\varvec{x},t) \equiv \sum _{j=1}^{n_i}W\left( \varvec{x}-\varvec{x}_{j},t\right)\). Some algorithms build the particle shape functions using kernel functions with either circular [54] or square support [55]. Quinlan et al. [56] have shown some preference for hat-shaped kernel functions over the more traditional Gaussian like kernel functions.

Note that \(\varvec{x}\) and t are the independent arguments of \(\psi _{i}\). Therefore, the time derivative of the particle function can be inferred by using the concept of the derivative following a particle as

$$\begin{aligned} \dfrac{d}{dt}\psi _{i}\left( \varvec{x},t\right) =\dfrac{\partial }{\partial t}\psi _{i}\left( \varvec{x},t\right) +\varvec{w}\cdot \nabla \psi _{i}\left( \varvec{x},t\right) \end{aligned}$$
(67)

The expression for the derivative of the particle function is a key element in the procedure to obtain the semi-discrete equations of the FVPM. At this point it is important to remark some differences between the tasks conducted by \(\psi _i(\varvec{x})\) in the Gizmo-MFV method and in the FVPM. Both particle functions are used to conduct the subdivision of the domain, but in the FVPM, the \(\psi _{i}\left( \varvec{x},t\right)\) functions are also used as test functions to define the weak form. On the other hand, in the Gizmo-MFV the particle functions \(\psi _i(\varvec{x})\) were introduced to facilitate the integration of the weak form. The FVPM is aimed to solve general conservation laws, written in the form

$$\begin{aligned} \dfrac{\partial }{\partial t}\varvec{U}+\nabla \cdot \textbf{F}_{\textrm{E}}(\varvec{U})=\varvec{S}\quad \forall \varvec{x}\in \Omega (t)\subset \mathbb {R}^{d},\quad t>0 \end{aligned}$$
(68)

with initial conditions \(\varvec{U}(\varvec{x},0)=\varvec{U}_{0}(\varvec{x}),\forall \varvec{x}\in \Omega (t=0)\) and with suitable boundary conditions. In Eq. (68), \(\Omega (t)\subset \mathbb {R}^{d}\) is a bounded domain in \(\mathbb {R}^{d}\), \(\varvec{U}(\varvec{x},t)\in \mathbb {R}^{m},\quad m>0\) is the vector of conservative variables, and \(\textbf{F}_{\textrm{E}}(\varvec{U}(\varvec{x},t))\) is the Eulerian Flux tensor.

The procedure to derive the semi-discrete equations of FVPM, starts by testing the conservation law given by Eq. (68) against the particle functions \(\psi _{i}\left( \varvec{x},t\right)\) given by Eq. (66), resulting in the weak form given by

$$\begin{aligned}{} & {} \int _{\Omega (t)}\left( \dfrac{\partial }{\partial t}\varvec{U}+\nabla \cdot \textbf{F}_{\textrm{E}}(\varvec{U})\right) \psi _{i}(\varvec{x},t)\,dx^{d} \\{} & {} \quad = \int _{\Omega (t)}\varvec{S}\,\psi _{i}(\varvec{x},t)\,dx^{d},\quad i=1,\ldots ,N \end{aligned}$$
(69)

After performing integration by parts and some convenient arrangement of terms Eq. (69) leads to

$$\begin{aligned}{} & {} \frac{d \left( \varvec{U}_{i}V_{i}\right) }{dt}=\sum _{j=1}^{N}\int _{\Omega (t)}\big [\big (\textbf{F}_{\textrm{E}}-\varvec{U}\otimes \varvec{w}_{i}(t)\big )\varvec{\Gamma }_{ji}(\varvec{x},t)- \big . \\{} & {} \quad \big . \big (\textbf{F}_{\textrm{E}}-\varvec{U}\otimes \varvec{w}_{j}(t)\big )\varvec{\Gamma }_{ij}(\varvec{x},t)\big ]\,dx^{d}+\varvec{S}_iV_i \end{aligned}$$
(70)

where \(\varvec{\Gamma }_{ij}(\varvec{x},t)\) and \(\varvec{\Gamma }_{ji}(\varvec{x},t)\) are vector functions localized on the intersection of the supports of particle i and particle j, and are defined by

$$\begin{aligned} \varvec{\Gamma }_{ij}(\varvec{x},t)\equiv \psi _{i}(\varvec{x},t)\frac{\nabla W_{j}(\varvec{x},t)}{\sigma (\varvec{x},t)} \end{aligned}$$
(71)
$$\begin{aligned} \varvec{\Gamma }_{ji}(\varvec{x},t)\equiv \psi _{j}(\varvec{x},t)\frac{\nabla W_{i}(\varvec{x},t)}{\sigma (\varvec{x},t)} \end{aligned}$$
(72)

At this moment, it is convenient to focus on the flux expressions appearing inside the brackets of Eq. (70). To evaluate the interaction of particle i with particle j we need to evaluate the fluxes \(\big (\textbf{F}_{\textrm{E}}-\varvec{U}\otimes \varvec{w}_{i}(t)\big )\) and \(\big (\textbf{F}_{\textrm{E}}-\varvec{U}\otimes \varvec{w}_{j}(t)\big )\). The Eulerian flux tensor \(\textbf{F}_{\textrm{E}}(\varvec{U})=\textbf{F}_{\textrm{E}}(\varvec{x},t)\) and the vector of conservative variables \(\varvec{U}(\varvec{x},t)\) are continuous functions of space and time. On the other hand, particle velocities \(\varvec{w}_{i}(\varvec{x}_i,t)\) and \(\varvec{w}_{\varvec{x}_j,j}(t)\) are functions of the position of the particle and time. To evaluate the integral of Eq. (70), an approximation of \(\varvec{U}\) at the overlap of particles i and j is required.

The approximation used to proceed assumes that \(\varvec{U}(\varvec{x},t)\) variations are small within the overlap of particles i and j, and can be represented by a single value denoted \(\overline{\varvec{U}}_{i j}\). Thus, we denote by \(\overline{\varvec{w}}_{ij}\) to the single value transport velocity in the overlap region of particles i and j. The approximations used renders that both modified fluxes inside brackets of Eq. (70) are approximately equal and uniform in each overlap region.

Then, the semi-discrete form for the FVPM reads as

$$\begin{aligned} \frac{d \left( \varvec{U}_{i}V_{i}\right) }{dt}+ \sum _{j=1}^{N}\textbf{F}_{\varvec{w}}\big ( \overline{\varvec{U}}_{ij},\overline{\varvec{w}}_{ij} \big )\cdot \varvec{A}_{ij}(t) \approx \varvec{S}_iV_i \end{aligned}$$
(73)

where the effective interaction area \(\varvec{A}_{ij}(t)\) between particle i and j is given by

$$\begin{aligned} \varvec{A}_{ij}(t)= & {} \int _{\Omega (t)}\left( \psi _{i}(\varvec{x},t)\frac{\nabla W_{j}(\varvec{x},t)}{\sigma (\varvec{x},t)}\right. \\{} & {} \left. - \psi _{j}(\varvec{x},t)\frac{\nabla W_{i}(\varvec{x},t)}{\sigma (\varvec{x},t)}\right) \mathrm {\,d}x^{d} \end{aligned}$$
(74)

5.2.1 FVPM and MLS-SPH-ALE

There are differences in the derivation procedures to obtain the semi-discrete form of the FVPM and MLS-SPH-ALE. The derivation of the FVPM was started from the strong form of the conservation law in Eulerian form (Eq. (68)) meanwhile the MLS-SPH-ALE started from the conservation law in ALE form (Eq. (6)). The FVPM and the MLS-SPH-ALE also introduce their approximations at different stages in the procedure. FVPM uses particle functions \(\psi _{i}(\varvec{x},t)\) meanwhile MLS-SPH-ALE uses particle functions based on MLS \(N_{i}(\varvec{x},t)\). When the base selected for MLS comprises only the constant term, MLS shape functions are identical to the particle functions \(\psi _{i}(\varvec{x},t)\) used by FVPM. Both formulations share that both set of particle functions satisfy the PU property. A difference between the methods is that FVPM defines an effective surface interaction area \(\varvec{A}_{ij}(t)\) that can be integrated using different quadrature rules [57]. However, it is possible to obtain some relations between these two methods by analyzing their respective semi-discrete forms.

The area \(\varvec{A}_{ij}(t)\) in Eq. (74) is given in terms of particle functions \(\psi (\varvec{x},t)\) and kernel gradients \(\nabla W(\varvec{x},t)\) of the interacting particles. In order to compare with MLS-SPH-ALE formulation we look for an alternative expression of Eq. (74) given in terms of particle functions \(\psi (\varvec{x},t)\) and their gradients \(\nabla \psi (\varvec{x},t)\). By taking the gradient of Eq. (66), which defines the particle function \(\psi _{i}(\varvec{x},t)\) associated to particle i, we obtain

$$\begin{aligned} \nabla \psi _{i}(\varvec{x},t)= & {} \frac{\nabla W_{i}\left( \varvec{x},t\right) }{\sigma (\varvec{x},t)}+W_{i}(\varvec{x},t)\nabla \left( \frac{1}{\sigma (\varvec{x},t)}\right) \\= & {} \frac{\nabla W_{i}\left( \varvec{x},t\right) }{\sigma (\varvec{x},t)}-\psi _{i}(\varvec{x},t)\dfrac{\nabla \sigma (\varvec{x},t)}{\sigma (\varvec{x},t)} \end{aligned}$$
(75)

where \(\nabla W_{i}(\varvec{x},t)\) can be isolated to obtain

$$\begin{aligned} \nabla W_{i}(\varvec{x},t)= \nabla \psi _{i}(\varvec{x},t)\sigma (\varvec{x},t)+\psi _{i}(\varvec{x},t)\nabla \sigma (\varvec{x},t) \end{aligned}$$
(76)

Similarly, we can obtain an equivalent expression for \(\nabla W_{j}(\varvec{x},t)\)

$$\begin{aligned}{} & {} \nabla W_{j}(\varvec{x},t) \\{} & {} \quad =\nabla \psi _{j}(\varvec{x},t)\sigma (\varvec{x},t)+\psi _{j}(\varvec{x},t)\nabla \sigma (\varvec{x},t) \end{aligned}$$
(77)

By inserting Eq. (76) and Eq. (77) into Eq. (74) the terms involving products \(\psi _{i}(\varvec{x},t)\psi _{j}(\varvec{x},t)\) are canceled, obtaining an expression for \(\varvec{A}_{ij}(t)\) in terms of particle functions, that reads as

$$\begin{aligned}{} & {} \varvec{A}_{ij}(t) \\ {}{} & {} \quad =\int _{\Omega (t)}\big (\psi _{i}(\varvec{x},t)\nabla \psi _{j}(\varvec{x},t)-\psi _{j}(\varvec{x},t)\nabla \psi _{i}(\varvec{x},t)\big )\,dx^{d} \end{aligned}$$
(78)

Now, we recall Eq. (11) obtained during the MLS-SPH-ALE derivation process. Since MLS-SPH-ALE was derived for the Navier–Stokes equations, the ALE flux tensor \(\textbf{F}_{\varvec{w}}\) and the diffuse tensor \(\textbf{D}\) were grouped in a flux tensor \(\textbf{F}\) defined by \(\textbf{F}\equiv \textbf{F}_{\varvec{w}}- \textbf{D}\). Thus, for the Euler equations \(\textbf{F}=\textbf{F}_{\varvec{w}}\), and the MLS-SPH-ALE method provides the following discretization

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_{i}}\left[ \frac{1}{2}\big ((\textbf{F}_{\varvec{w}})_{j}+(\textbf{F}_{\varvec{w}})_{i}\big )-(\textbf{F}_{\varvec{w}})_{i}\right] \\{} & {} \quad \left( \int _{\partial \Omega }N_{i}\,N_{j}\cdot \varvec{n}\,d{x}^{d-1} -\int _{\Omega }N_j\, \cdot \nabla N_i\,d{x}^d \right. \\ {}{} & {} \quad \left. +\int _{\Omega }N_{i}\,\cdot \nabla N_{j}\,d{x}^d \right) =V_i \,\varvec{S}_i \end{aligned}$$
(79)

Neglecting the boundary term \(\displaystyle \left( \int _{\partial \Omega }N_{i}\,N_{j}\cdot \varvec{n}\,d{x}^{d-1}\right)\) we note that the MLS-SPH-ALE method uses an interparticle area given by

$$\begin{aligned} \varvec{A}_{ij}= \int _{\Omega }N_{i}\,\cdot \nabla N_{j}\,d{x}^d -\int _{\Omega }N_j\, \cdot \nabla N_i\,d{x}^d \end{aligned}$$
(80)

By comparison of Eq. (78) and Eq. (80) it can be observed that the effective areas resulting from both methods adopt the same structure. The only difference is that \(\varvec{A}_{ij}\) for FVPM is given in terms of \(\psi _{i}(\varvec{x},t)\) by Eq. (78), meanwhile \(\varvec{A}_{ij}\) for MLS-SPH-ALE is given in terms of \(N_{i}(\varvec{x},t)\). Since \(N_{i}(\varvec{x},t)\) can be obtained with MLS approximation using any set of polynomial basis functions and \(\psi _{i}(\varvec{x},t)\) correspond to a particular MLS approximation with constant basis, it can be stated that the expression for \(\varvec{A}_{ij}\) obtained with the MLS-SPH-ALE method is more general than the expression obtained with the FVPM method.

FVPM and MLS-SPH-ALE method use different approximations to compute the effective areas. For FVPM, different quadrature rules have been proposed to perform the integration of \(\varvec{A}_{ij}\) [57], whereas MLS-SPH-ALE method approximates the effective area Eq. (80) by using a one point quadrature in the overlapping region, resulting in a numerical approximation for \(\varvec{A}_{ij}\) as

$$\begin{aligned} \varvec{A}_{ij}\approx \left( V_{i}\nabla N_{ji}-V_{j}\nabla N_{ij}\right) \end{aligned}$$
(81)

5.3 The SPH-ALE Method

The semi-discrete form of the SPH-ALE method [17] reads as

$$\begin{aligned}{} & {} \frac{d}{dt}\left( \varvec{U}_{i}V_{i}\right) \\{} & {} \quad + V_{i}\sum _{j=1}^{n_{i}}V_{j}\left( \left( \varvec{F}_{\varvec{w}}^{\alpha }\right) _{i}+\left( \varvec{F}_{\varvec{w}}^{\alpha }\right) _{j}\right) \frac{\partial }{\partial x_{i}^{\alpha }}W_{ij}=\varvec{S}_{i}V_{i} \end{aligned}$$

where the fluxes in ALE form were introduced as vectors \(\varvec{F}_{\varvec{w}}^{\alpha }\) with the subindex \(\varvec{w}\) remarking the ALE character of the flux with respect to a transport velocity field. To ease the comparison with other meshless formulations the ALE flux will be expressed as a tensor, reading as

$$\begin{aligned}{} & {} \frac{d}{dt}\left( \varvec{U}_{i}V_{i}\right) \\{} & {} \quad +V_{i}\sum _{j=1}^{n_{i}}V_{j}\left( \left( \textbf{F}_{\varvec{w}}^{}\right) _{i}+\left( \textbf{F}_{\varvec{w}}^{}\right) _{j}\right) \nabla _i W_{ij}=\varvec{S}_{i}V_{i} \end{aligned}$$
(82)

5.3.1 SPH-ALE and MLS-SPH-ALE

Recovering the SPH-ALE method from the MLS-SPH-ALE requires to relate the gradient of the particle shape function \({\nabla \varvec{N}}\) with the gradient of the kernel \({\nabla \varvec{W}}\).

The semi-discrete-form obtained with MLS-SPH-ALE method for the Euler equations far from the boundary was given in Eq. (14) and it is recalled here for the sake of clarity

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_i}\left[ \frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big ) -(\textbf{F}_{\varvec{w}})_i\right] \\{} & {} \quad \left( -V_j\, \nabla N_{ij} +V_i\,\nabla N_{ji} \right) =V_i \,\varvec{S}_i \end{aligned}$$
(83)

In Table 2 the expressions for the kernel and MLS approximations for the function and the gradient of a scalar function u are given

Table 2 Kernel and MLS approximations for a scalar function and its gradient

Introducing the approximation \(\langle \nabla u(\varvec{x})\rangle \approx \widehat{\nabla u}(\varvec{x})\), we obtain the following relation

$$\begin{aligned} \nabla W\left( \varvec{x}-\varvec{x}_{j}, h\right) V_{j}\approx \nabla N\left( \varvec{x}-\varvec{x}_{j}, h\right) \end{aligned}$$

where the kernel and particle shape functions are both centered at \(\varvec{x}_j\), and the gradients are taken with respect to the variable \(\varvec{x}\). If now the gradients are evaluated at point \(\varvec{x}_i\), we obtain the relation

$$\begin{aligned}{} & {} \nabla _{i}W_{ij}\,V_{j}\equiv \nabla _{i}W\left( \varvec{x}_{i}-\varvec{x}_{j},h\right) V_{j} \\{} & {} \quad \approx \nabla N\left( \varvec{x}_{i}-\varvec{x}_{j},h\right) \equiv \nabla N_{ji} \end{aligned}$$
(84)

In Eq. (84) we have introduced the concise notation that is used for the SPH kernel gradient and for particle shape functions. Note that the common nomenclature for the kernel gradient introduces a particle subindex in the nabla operator remarking that the gradient is taken with respect to the spatial coordinates of that particle. Similarly, if the kernel/shape function is centered in particle i and evaluate its gradient in the position of particle j we obtain

$$\begin{aligned}{} & {} \nabla _{j}W_{ji}\,V_{i}\equiv \nabla _{j}W\left( \varvec{x}_{j}-\varvec{x}_{i},h\right) V_{j} \\{} & {} \quad \approx \nabla N\left( \varvec{x}_{j}-\varvec{x}_{i},h\right) \equiv \nabla N_{ij} \end{aligned}$$
(85)

We can insert Eqs. (84) and (85) in Eq. (83) to obtain

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+V_i \sum _{j=1}^{n_i}V_j\left[ \frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )-(\textbf{F}_{\varvec{w}})_i\right] \\{} & {} \quad \left( -\nabla _{j}W_{ji} + \nabla _{i}W_{ij}\right) =V_i \,\varvec{S}_i \end{aligned}$$

Finally, the symmetry property of the kernel \(\nabla _{j}W_{ji}=-\nabla _{i}W_{ij}\) enable us to write

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+V_i \sum _{j=1}^{n_i}2 V_j\left[ \frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )\right. \\{} & {} \quad - (\textbf{F}_{\varvec{w}})_{i} \biggr ]\nabla _{i}W_{ij}=V_i \,\varvec{S}_i \end{aligned}$$
(86)

Comparison of Eq. (86) with Eq. (82) shows that the MLS-SPH-ALE method can provide the same semi-discrete form of SPH-ALE method if the interaction flux is given by \(\left[ \frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )\right]\) instead of \(\left[ \frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )-(\textbf{F}_{\varvec{w}})_i\right]\). Since this self-contribution of particle i could be incorporated or removed in the MLS-SPH-ALE procedure it has been proved that the SPH-ALE method is contained in the MLS-SPH-ALE method.

An interesting analysis is related with the computational cost and accuracy associated with both formulations. MLS-SPH-ALE demands the calculation of gradients \(\nabla N_{ji}\), meanwhile SPH-ALE requires the calculation of the terms \(\nabla _{i}W_{ij}V_{j}\). The calculation of \(\nabla N_{ji}\) depends on the number of points considered for the support domain of the particle and the dimension of the base of polynomials considered for the MLS approximation. The evaluation of \(V_{j}\nabla _{i}W_{ij}\) only involves the data associated with particle i and j. However, in terms of accuracy, the SPH-ALE method cannot provide a correct gradient approximation for a linear field. In order to circumvent this flaw, SPH-ALE needs a renormalization correction, which also demands the solution of a linear system of equations for each particle, as the MLS approximation does.

5.4 The Gizmo-MFV Method

We outline here the Meshless Finite Volume (MFV) method in the form given by Hopkins [1]. The publication is associated with the open source project Gizmo, and therefore we use the name Gizmo-MFV to refer to this method. In [1], the author declares that the derivation of the method is inspired in the work by Gaburov and Nitadori [24]. This derivation procedure was presented for a scalar conservation law meanwhile the procedure presented by Hopkins concerns the Euler equations. Gaburov and Nitadori consider that their derivation is heuristic. More details about this method can be found in [47, 48].

The semi-discrete form obtained for the Gizmo-MFV method for the Euler equations reads as:

$$\begin{aligned}{} & {} \frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}+\sum _{j}\left[ V_{i}(\varvec{F}_{\varvec{w}}^{\alpha })_{i}\tilde{\psi }_{j}^{\alpha }\left( \varvec{x}_{i}\right) -V_{j}(\varvec{F}_{\varvec{w}}^{\alpha })_{j}\tilde{\psi }_{i}^{\alpha }\left( \varvec{x}_{j}\right) \right] \\ {}{} & {} \quad =V_{i}\varvec{S}_{i} \end{aligned}$$
(87)

One distinctive feature of the Gizmo-MFV discretization is that it estimates the gradients using a renormalized gradient approximation [21]. The renormalization process guarantees that the discrete approximation reproduces exactly a linear field function. Hopkins [1] and Gaburov and Nitadori [24] use index notation to express the discrete renormalized gradient approximation by

$$\begin{aligned} (\nabla \varphi )_{i}^{\alpha }\approx \left( D_{h}^{\alpha }\varphi \right) _{i}=\sum _{j}\left( \varphi _{j}-\varphi _{i}\right) \tilde{\psi }_{j}^{\alpha }\left( \varvec{x}_{i}\right) \end{aligned}$$
(88)

where \(\tilde{\psi }_{j}^{\alpha }\left( \varvec{x}_{i}\right)\) are defined in terms of the renormalization matrix \((B_{H}^{\alpha ,\beta })_{i}\), particle positions and particle function \(\psi _{j}\left( \varvec{x}_{i}\right)\) to provide a compact expression for the renormalized approximation for the gradient of a field. They can be written as

$$\begin{aligned} \tilde{\psi }_{j}^{\alpha }\left( \varvec{x}_{i}\right) \equiv \left( B_{H}^{\alpha ,\beta }\right) _{i}\left( x_{j}^{\beta }-x_{i}^{\beta }\right) \psi _{j}\left( \varvec{x}_{i}\right) \end{aligned}$$
(89)

The renormalization matrix \((B_{H}^{\alpha ,\beta })_{i}\) is required to satisfy condition

$$\begin{aligned} \delta ^{\alpha ,\gamma }=\sum _{j}\left( B_{H}^{\alpha ,\beta }\right) _{i}\left( x_{j}^{\beta }-x_{i}^{\beta }\right) \left( x_{j}^{\gamma }-x_{i}^{\gamma }\right) \psi _{j}\left( \varvec{x}_{i}\right) \end{aligned}$$
(90)

where \(\delta ^{\alpha ,\gamma }\) is the Kronecker delta function. Since the definition of the renormalization matrix \((B_{H}^{\alpha ,\beta })_{i}\) given by Eq. (90) is taken from Hopkins [1] we append the subindex H in the designation of the matrix.

The Gizmo-MFV discretization replaces the particle fluxes \((\textbf{F}_{\varvec{w}})_{i}\) and \((\textbf{F}_{\varvec{w}})_{j}\) with the numerical flux solution of the moving Riemann problem defined by the states of particles/cells i and j. Defining such a flux as \((\textbf{G}_{\varvec{w}})_{ij}\), Eq. (87) is reinterpreted as

$$\begin{aligned}{} & {} \frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt} \\{} & {} \quad + \sum _{j}(\textbf{G}_{\varvec{w}})_{ij}\cdot \left[ V_{i}\tilde{\psi }_{j}\left( \varvec{x}_{i}\right) -V_{j}\tilde{\psi }_{i}\left( \varvec{x}_{j}\right) \right] =V_{i}\varvec{S}_{i} \end{aligned}$$
(91)

where we have changed from the index notation for the spatial components to the more compact vector notation.

Transition from Eqs. (87) to (91) is not supported by mathematical operations. The formal pass from Eq. (87) to Eq. (91) demands that \((\varvec{F}_{\varvec{w}}^{\alpha })_{i}=(\varvec{F}_{\varvec{w}}^{\alpha })_{j}=(\varvec{F}_{\varvec{w}}^{\alpha })_{ij}\) and this condition is only verified for uniform flows. Hopkins and Gaburov motivate the introduction of the solution of the Riemann problem to automatically include the dissipation terms to stabilize a central scheme.

Comparing Eqs. (91) with (46) it can be inferred the definition of an effective interaction area \(A_{ij}(t)\), between particles i and j, which is given by

$$\begin{aligned} A_{ij} \equiv V_{i}\tilde{\psi }_{j}\left( \varvec{x}_{i}\right) -V_{j}\tilde{\psi }_{i}\left( \varvec{x}_{j}\right) \end{aligned}$$
(92)

5.4.1 Gizmo-MFV and MLS-SPH-ALE

Now we compare the Gizmo-MFV and MLS-SPH-ALE discretization of Euler equations. For the sake of clarity, we recall that Gizmo-MFV method is given by Eq. (91)

$$\begin{aligned} \frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}+\sum _{j}(\textbf{G}_{\varvec{w}})_{ij}\cdot \left[ V_{i}\tilde{\psi }_{j}\left( \varvec{x}_{i}\right) -V_{j}\tilde{\psi }_{i}\left( \varvec{x}_{j}\right) \right] =V_{i}\varvec{S}_{i} \end{aligned}$$

whereas the discretization of the MLS-SPH-ALE method particularized for the Euler equations is given by Eq. (14) as

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_i}\left[ \frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )-(\textbf{F}_{\varvec{w}})_i\right] \\{} & {} \quad \left( -V_j\, \nabla N_{ij} +V_i\,\nabla N_{ji} \right) =V_i \,\varvec{S}_i \end{aligned}$$

By identification of the effective fluxes and interaction areas we can obtain the particular settings of the MLS-SPH-ALE formulation to recover the Gizmo-MFV discretization.

The effective flux of Gizmo-MFV is given by \((\mathbf {G_{w}})_{ij}\), which is obtained as the solution of a Riemann problem at a point between particles. In MLS-SPH-ALE, the effective flux reads as \(\left[ \frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )-(\textbf{F}_{\varvec{w}})_i\right]\). For stability reasons the central flux \(\frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )\) is replaced by the solution of the Riemann problem \(\frac{1}{2}\Big ((\textbf{F}_{\varvec{w}})_j+(\textbf{F}_{\varvec{w}})_i\Big )\approx (\textbf{G}_{\varvec{w}})_{ij}\). Therefore, the only difference in the flux expression resides in the subtraction of flux of particle \((\textbf{F}_{\varvec{w}})_i\) and this term can optionally be incorporated or removed in the MLS-SPH-ALE procedure.

Since the effective interaction areas for the Gizmo-MFV method are defined by Eq. (92), the condition for equivalent effective interaction areas demands a particular setting in the MLS approximation giving

$$\begin{aligned} \nabla N\left( \varvec{x}_{i}-\varvec{x}_{j},h\right) =\nabla N_{ji}=\tilde{\psi }_{j}^{\alpha }\left( \varvec{x}_{i}\right) \end{aligned}$$
(93)

We now look for the corresponding approximation for the gradient of a field by using MLS approximations. We start by expressing the MLS approximation of scalar field \(\varphi\) as

$$\begin{aligned} \hat{\varphi }(\varvec{x})=\sum _{j}N\left( \varvec{x}-\varvec{x}_{j},h\right) \varphi \left( \varvec{x}_{j}\right) \end{aligned}$$
(94)

then we take the gradient to previous expression to provide the MLS gradient approximation as

$$\begin{aligned} \nabla \big ( \hat{\varphi }(\varvec{x}) \big ) =\nabla \hat{\varphi }(\varvec{x}) =\sum _{j}\nabla N\left( \varvec{x}-\varvec{x}_{j},h\right) \varphi \left( \varvec{x}_{j}\right) \end{aligned}$$
(95)

Using the partition of nullity property for a particular point \(\varvec{x}\) where the gradient is to be computed, the previous approximation for the gradient can also be rewritten as

$$\begin{aligned} \nabla \hat{\varphi }(\varvec{x}) =\sum _{j}\nabla N\left( \varvec{x}-\varvec{x}_{j},h\right) \left( \varphi \left( \varvec{x}_{j}\right) -\varphi \left( \varvec{x}\right) \right) \end{aligned}$$
(96)

that evaluated in the particular point \(\varvec{x}=\varvec{x}_i\) yields

$$\begin{aligned} \nabla \hat{\varphi }(\varvec{x}_{i}) =\sum _{j}\nabla N\left( \varvec{x}_{i}-\varvec{x}_{j},h\right) \left( \varphi \left( \varvec{x}_{j}\right) -\varphi \left( \varvec{x}_{i}\right) \right) \end{aligned}$$
(97)

By comparing Eq. (88) and Eq. (97), it can be inferred that \(\nabla N_{ji}\) and \(\tilde{\psi }_{j}\left( \varvec{x}_{i}\right)\) play the same role as approximations of the gradient of a scalar field.

Using Eq. (97) in Eq. (88), we can write

$$\begin{aligned}{} & {} (\nabla \varphi )_{i}\approx \nabla \hat{\varphi }(\varvec{x}_{i}) \\{} & {} \quad =\sum _{j}\nabla N\left( \varvec{x}_{i}-\varvec{x}_{j},h\right) \left( \varphi \left( \varvec{x}_{j}\right) -\varphi \left( \varvec{x}_{i}\right) \right) \\{} & {} \quad = \sum _{j}\nabla N_{ji}\left( \varphi _{j}-\varphi _{i}\right) \end{aligned}$$
(98)

However, we have not proved yet that \(\tilde{\psi }_{j}\left( \varvec{x}_{i}\right) =\nabla N_{ji}\). In the particular case of linear fields, the renormalized gradient derivative and the MLS approximations (with at least a linear basis) reproduce exactly a linear field and therefore \(\left( D_{h}\varphi \right) _{i}\) = \(\nabla \hat{\varphi }(\varvec{x}_{i})\) and we can conclude that \(\nabla N_{ji}\) and \(\tilde{\psi }_{j}^{\alpha }\left( x_{i}\right)\) for this particular field.

In order to ease the comparison with other formulations it is convenient to provide an alternative expression for \(\tilde{\psi }_{i}\left( \varvec{x}_{j}\right)\). Gizmo-MFV defines \(\tilde{\psi }_{i}\left( \varvec{x}_{j}\right)\) in Eq. (88) in terms of a renormalization matrix \(B_{H}^{\alpha ,\beta }\) satisfying condition given by Eq. (90). The matrix \(B_{H}^{\alpha ,\beta }\) is not the common renormalization matrix used in the SPH community. For instance, Lanson and Vila [21] define other renormalization matrix \((B_{V}^{\alpha ,\beta })_{i}\) forcing the fulfillment of condition

$$\begin{aligned} \delta ^{\alpha ,\gamma }=\sum _{j\in }\left( B_{V}^{\alpha ,\beta }\right) _{i}\frac{\partial W\left( \varvec{x}_{i}-\varvec{x}_{j},h\right) }{\partial x_{i}^{\beta }}\left( x_{j}^{\gamma }-x_{i}^{\gamma }\right) V_{j} \end{aligned}$$
(99)

The matrix used by Gizmo-MFV \(B_{H}^{\alpha ,\beta }\) is different from the matrix used in renormalized SPH-ALE \(B_{V}^{\alpha ,\beta }\). Even more, \(B_{V}^{\alpha ,\beta }\) is dimensionless but \(B_{H}^{\alpha ,\beta }\) has dimensions of \([L]^{-2}\). The renormalization matrix \(B_{H}^{\alpha ,\beta }\) has the computational advantage of operating over symmetric matrices.

Since the Kronecker function \(\delta ^{\alpha ,\gamma }\) appears on both left hand side of Eq. (90) and Eq. (99), the following relation between matrices is obtained

$$\begin{aligned}{} & {} \underbrace{\left( B_{H}^{\alpha ,\beta }\right) _{i}\left( x_{j}^{\beta }-x_{i}^{\beta }\right) \psi _{j}\left( \varvec{x}_{i}\right) }_{\tilde{\psi }_{j}^{\alpha }\left( \varvec{x}_{i}\right) }= \\{} & {} \quad \left( B_{V}^{\alpha ,\beta }\right) _{i}\frac{\partial W\left( \varvec{x}_{i}-\varvec{x}_{j},h\right) }{\partial x_{i}^{\beta }}V_{j} \end{aligned}$$
(100)

where the left hand side of Eq. (100) corresponds with the definition of \(\tilde{\psi }_{j}^{\alpha }\left( \varvec{x}_{i}\right)\) in Eq. (89). Therefore we have obtained and alternative definition of \(\tilde{\psi }_{j}^{\alpha }\left( \varvec{x}_{i}\right)\) in terms of the kernel gradient \(\nabla _{i}W_{ij}\)

$$\begin{aligned} \tilde{\psi }_{j}^{\alpha }\left( \varvec{x}_{i}\right) =\left( B_{V}^{\alpha ,\beta }\right) _{i}\frac{\partial W\left( \varvec{x}_{i}-\varvec{x}_{j},h\right) }{\partial x_{i}^{\beta }}V_{j} \end{aligned}$$
(101)

or equivalently,

$$\begin{aligned} \tilde{\psi }_{j}\left( \varvec{x}_{i}\right) =\left( B_{V}\right) _i\nabla _{i}W_{ij}V_{j} \end{aligned}$$
(102)

Introducing Eq. (102) into the semi-discrete form obtained by the Gizmo-MFV given by Eq. (91) gives

$$\begin{aligned}{} & {} \frac{d\left( \varvec{U}_{i}V_{i}\right) }{dt}+\sum _{j}(\textbf{G}_{\varvec{w}})_{ij}\cdot \left[ V_{i}\left( B_{V}\right) _{i}\nabla _{i}W_{ij}V_{j}- \right. \\{} & {} \quad \left. V_{j}\left( B_{V}\right) _{j}\nabla _{j}W_{ji}V_{i}\right] =V_{i}\varvec{S}_{i} \end{aligned}$$
(103)

Omitting the renormalization process is equivalent to consider that the renormalization matrix is the identity matrix, that is to say, \(\left( B_{V}\right) _{i}=\left( B_{V}\right) _{j}=\mathbb {I}\). For that particular case the Gizmo-MFV formulation becomes the SPH-ALE formulation of Vila.

5.5 The Finite Point Method (FPM)

In this section we address the analysis of a member of the Group III in the Hopkins’ classification. Note that in Sect. 4.5 we have already shown that SPH is closely linked to MFVM and therefore to MLS-SPH-ALE. Here we show that the MLS-SPH-ALE is also a general formulation for those methods of Group III that do not use the kernel approximation. The Finite Point Method (FPM) is a meshless technique that was originally presented by Oñate et al. [34, 58] and [59]. The solution of compressible Euler equations with FPM have been considered in detail in [60, 61]. Bajko [62] presented an accuracy improvement of the FPM that was applied for computational aeroacoustics.

FPM is based on the strong solution of PDE over a stationary cloud of points. It is a method that does not assign/calculate any weight to the points of the cloud (neither volume nor mass). This kind of meshless methods resembles the FDM in the collocation approach and are usually designated as Generalized Finite Difference Methods (GFDM), because the grid layout can be considered a special case of a point cloud. Both the strong form and the stationary position of the points are important differences with other meshless formulations considered in the present section. The FPM approximates flow variables and their derivatives by means of a Weighted Least-Square procedure that is known as Fixed Least Squares (FLS). The MLS-SPH-ALE method uses an approximation based on Moving Least Squares, but the ALE capability allow us to set the frame velocity \(\varvec{w}=\varvec{0}\), and with fixed point position MLS and FLS provide the same approximations. In the literature there are other GFDMs that share many features with the FPM, but differ in the technique used to approximate the partial derivatives on scattered data.

In the same manner that FDM formulation can be derived from the perspective of FVM we propose to obtain the FPM formulation starting from the MLS-SPH-ALE method. The acronym FPM may be a bit confusing because it is also used for other meshless methods like the Finite Pointset Method [35], and the Finite Particle Method [63] but we recall that in this work it is used for the Finite Point Method. In these two formulations particles can either be fixed in an Eulerian frame as interpolation points or can move in a Lagrangian frame.

We outline the derivation of the FPM following the works of [60] and [61]. The derivation begins from the Euler equations, written in differential conservative form:

$$\begin{aligned} \frac{\partial \varvec{U}(\varvec{x},t)}{\partial t}+\frac{\partial \varvec{F}_{E}^{\alpha }(\varvec{x},t)}{\partial x^{\alpha }}=\varvec{S}(\varvec{x},t) \end{aligned}$$
(104)

In order to obtain the semi-discrete form, the collocation method is adopted, so the following expression should be satisfied in each point of the cloud

$$\begin{aligned} \left[ \frac{\partial \hat{\varvec{U}}(\varvec{x},t)}{\partial t}+\frac{\partial \hat{\varvec{F}}_{E}^{\alpha }(\varvec{x},t)}{\partial x^{\alpha }}\right] _{\varvec{x}=\varvec{x}_{i}}=\left[ \hat{\varvec{S}}(\varvec{x},t)\right] _{\varvec{x}=\varvec{x}_{i}} \end{aligned}$$
(105)

where hats are used to denote the FLS approximations. We note that FLS shape functions do not interpolate point data, but assuming the approximation for the gradient and source term Eq. (105) becomes

$$\begin{aligned} \frac{\partial U(\varvec{x}_{i},t)}{\partial t}+\left[ \frac{\partial \hat{\varvec{F}}_{E}^{\alpha }(\varvec{x},t)}{\partial x^{\alpha }}\right] _{\varvec{x}=\varvec{x}_{i}}=S(\varvec{x}_{i},t) \end{aligned}$$
(106)

In order to proceed further, Eq. (106) demands to evaluate the divergence of the flux. Noting that FLS corresponds with a particular case of MLS with fixed point position, the FLS approximation for the Eulerian flux is expressed in terms of \(N(\varvec{x}-\varvec{x}_{j})\) by

$$\begin{aligned} \hat{\varvec{F}}_{E}^{\alpha }(\varvec{x},t)=\sum _{j}N(\varvec{x}-\varvec{x}_{j})\varvec{F}_{E}^{\alpha }(\varvec{x}_{j},t) \end{aligned}$$
(107)

By taking the divergence of the previous flux expression we obtain

$$\begin{aligned}{} & {} \frac{\partial \hat{\varvec{F}}_{E}^{\alpha }(\varvec{x},t)}{\partial {x}^{\alpha }}=\sum _{j}\frac{\partial N(\varvec{x}-\varvec{x}_{j})}{\partial {x^{\alpha }}}\varvec{F}_{E}^{\alpha }(\varvec{x}_{j},t)= \\{} & {} \quad \sum _{j}\nabla N(\varvec{x}-\varvec{x}_{j})\textbf{F}_{\textrm{E}}(\varvec{x}_{j},t) \end{aligned}$$
(108)

At this point, the Partition of Nullity property \(\sum _{j}\nabla N(\varvec{x}-\varvec{x}_{j})=0\) is invoked and a null term in the flux divergence is subtracted

$$\begin{aligned}{} & {} \frac{\partial \hat{\varvec{F}}_{E}^{\alpha }(\varvec{x},t)}{\partial {x}^{\alpha }} \\{} & {} \quad = \sum _{j}\nabla N(\varvec{x}-\varvec{x}_{j})\left( \textbf{F}_{\textrm{E}}(\varvec{x}_{j},t)-\textbf{F}_{\textrm{E}}(\varvec{x},t)\right) \end{aligned}$$
(109)

We can now evaluate in the position of point i giving

$$\begin{aligned}{} & {} \left[ \frac{\partial \hat{\varvec{F}}_{\textrm{E}}^{\alpha }(\varvec{x},t)}{\partial x^{\alpha }}\right] _{\varvec{x}=\varvec{x}_{i}} \\{} & {} \quad = \sum _{j}\nabla N(\varvec{x}_{i}-\varvec{x}_{j})\left( \textbf{F}_{\textrm{E}}(\varvec{x}_{j},t)-\textbf{F}_{\textrm{E}}(\varvec{x}_{i},t)\right) \end{aligned}$$
(110)

By using the compact notation \(\nabla N(\varvec{x}_{i}-\varvec{x}_{j})\equiv \nabla N_{j}(\varvec{x}_{i})\equiv \nabla N_{ji}\) and inserting Eq. (110) into Eq. (106) the following semi-discrete expression is obtained

$$\begin{aligned}{} & {} \frac{\partial \varvec{U}(\varvec{x}_{i},t)}{\partial t} \\{} & {} \quad +\sum _{j}\nabla N_{ji}\Biggl (\textbf{F}_{\textrm{E}}(\varvec{x}_{j},t)-\textbf{F}_{\textrm{E}}(\varvec{x}_{i},t)\Biggr )=\varvec{S}(\varvec{x}_{i},t) \end{aligned}$$
(111)

This semi-discrete form is not stable. In order to stabilize the scheme, the following approximation is used

$$\begin{aligned}{} & {} \textbf{F}_{\textrm{E}}(\varvec{x}_{j},t)-\textbf{F}_{\textrm{E}}(\varvec{x}_{i},t)\approx \\{} & {} \quad 2 \left( \textbf{F}_{\textrm{E}}\left( \frac{\varvec{x}_{i}+\varvec{x}_{j}}{2},t \right) -\textbf{F}_{\textrm{E}}(\varvec{x}_{i},t) \right) \end{aligned}$$

Or, in a more compact notation

$$\begin{aligned} (\textbf{F}_{\textrm{E}})_{j}-(\textbf{F}_{\textrm{E}})_{i} \approx 2\big ( (\textbf{F}_{\textrm{E}})_{ij}-(\textbf{F}_{\textrm{E}})_i \big ) \end{aligned}$$
(112)

Since \((\textbf{F}_{\textrm{E}})_{ij}\) is the flux in the midpoint of the segment connecting points i and j, it could be numerically evaluated with an approximate Riemann solver introducing the required dissipation, that is, \((\textbf{F}_{\textrm{E}})_{ij}\approx (\textbf{G}_{\textrm{E}})_{ij}\). Inserting the approximation given by Eq. (112) into Eq. (111) the final semi-discrete equation for the FPM read as

$$\begin{aligned} \frac{\partial \varvec{U}_{i}}{\partial t}+2\sum _{j}\nabla N_{ji}\big ( (\textbf{G}_{\textrm{E}})_{ij}-(\textbf{F}_{\textrm{E}})_i \big )=\varvec{S}_i \end{aligned}$$
(113)

where it can be observed that neither mass nor volume associated with the point appear in the semi-discrete form.

5.5.1 FPM and MLS-SPH-ALE

Starting with the MLS-SPH-ALE, the semi-discrete form for the Euler equations is given by Eq. (14), that we recall here for convenience

$$\begin{aligned}{} & {} \frac{d(V_i\varvec{U}_i)}{dt}+\sum _{j=1}^{n_i}\left[ \frac{1}{2}\Big ((\varvec{F}_{\varvec{w}})_j+(\varvec{F}_{\varvec{w}})_i\Big )-(\varvec{F}_{\varvec{w}})_i\right] \\{} & {} \quad \left( -V_j\, \nabla N_{ij} +V_i\,\nabla N_{ji} \right) =V_i \,\varvec{S}_i \end{aligned}$$

For MLS-SPH-ALE method running in Eulerian mode the transport velocity \(\varvec{w}=\varvec{0}\) and therefore \(\textbf{F}_{\varvec{w}}=\textbf{F}_{\textrm{E}}-\varvec{w}\otimes {\varvec{U}}=\textbf{F}_{\textrm{E}}\). In Eulerian framework the time derivative \(\displaystyle \frac{d\left( V_{i}\varvec{U}_{i}\right) }{dt}\) is identical to \(\displaystyle \frac{\partial \left( V_{i}\varvec{U}_{i}\right) }{\partial t}\) and since particles volumes do not vary in time \(\displaystyle \frac{\partial \left( V_{i}\varvec{U}_{i}\right) }{\partial t}=V_{i}\frac{\partial \varvec{U}_{i}}{\partial t}\). Taking into account these considerations, the final semi-discrete system obtained with MLS-SPH-ALE method for the Euler equations in Eulerian framework reads as

$$\begin{aligned}{} & {} V_i\frac{\partial (\varvec{U}_i)}{\partial t}+\sum _{j=1}^{n_i}\left[ \frac{1}{2}\Big ((\textbf{F}_{\textrm{E}})_j+(\textbf{F}_{\textrm{E}})_i\Big )-(\textbf{F}_{\textrm{E}})_i\right] \\{} & {} \quad \left( -V_j\, \nabla N_{ij} +V_i\,\nabla N_{ji} \right) =V_i \,\varvec{S}_i \end{aligned}$$
(114)

By comparison of Eq. (113) and Eq. (114) it is inferred that we need to introduce particular settings in the MLS-SPH-ALE method that allow us to cancel the volume contributions. In order to factorize the volume \(V_i\) in the expression for the flux we can invoke several simplifications.

The simplest case considers that nodes are disposed in a uniform Cartesian grid. In that case \(V_i=V_j\) and by symmetry \(\nabla N_{ij}=-\nabla N_{ji}\). Inserting these relations in Eq. (114) the semi-discrete form becomes

$$\begin{aligned}{} & {} \frac{\partial \varvec{U}_{i}}{\partial t} \\{} & {} \quad +\sum _{j=1}^{n_{i}}\left[ \frac{1}{2}\Big ((\textbf{F}_{\textrm{E}})_j+(\textbf{F}_{\textrm{E}})_i\Big )-(\textbf{F}_{\textrm{E}})_i\right] \left( 2\nabla N_{ji}\right) =\varvec{S}_{i} \end{aligned}$$
(115)

that provides the same expression than that obtained for the FPM in Eq. (113) once the central flux \(\frac{1}{2}\Big ((\textbf{F}_{\textrm{E}})_j+(\textbf{F}_{\textrm{E}})_i\Big )\) is approximated by a numerical flux \((\textbf{G}_{\textrm{E}})_{ij}\). However, this particular case is not very interesting since a meshless formulation with points placed in a regular grid does not provide any advantage over mesh-based methods.

We consider now a more general case with a fixed cloud of points with irregular distribution. In that scenario the volumes do not evolve in time and the volumes associated to particles may vary from one particle to another. Returning to Eq. (114) we focus the attention on the term inside brackets \(\left( -V_j\, \nabla N_{ij} +V_i\,\nabla N_{ji} \right)\). The gradients of the shape functions \(N_{ij}\) and \(N_{ji}\) can be expressed in terms of the kernel gradient, according to the approximations given in Eq. (84) and Eq. (85)

$$\begin{aligned} \nabla _{i}W_{ij}\,V_{j} \approx \nabla N_{ji} \qquad \nabla _{j}W_{ji}\,V_{i} \approx \nabla N_{ij} \end{aligned}$$
(116)

Inserting the approximations given by Eq. (116) into Eq. (114) enables us to cancel the term \(V_i\) leading to

$$\begin{aligned}{} & {} \frac{\partial (\varvec{U}_i)}{\partial t}+\sum _{j=1}^{n_i}\left[ \frac{1}{2}\Big ((\textbf{F}_{\textrm{E}})_j+(\textbf{F}_{\textrm{E}})_i\Big )-(\textbf{F}_{\textrm{E}})_i\right] \\{} & {} \quad \left( -V_j\, \nabla _{j}W_{ji} + \nabla _{i} W_{ji} \, V_j \right) =\varvec{S}_i \end{aligned}$$
(117)

since the kernel gradient is symmetric we can express the expression inside brackets of Eq. (117) as \(2\nabla _{i}W_{ij}\,V_{j}\). Using the approximation \(\nabla N_{ji}\approx \nabla _{i}W_{ij}V_{j}\) given in the left side of Eq. (116) we arrive at the same semi-discrete system given by Eq. (115), but for a general cloud of points that does not need to fulfill the conditions \(V_i=V_j\) and symmetry \(\nabla N_{ij}=-\nabla N_{ji}\).

6 Conclusions

Meshless methods have not yet attained the same level of development as mesh-based methods. However, these methods are receiving great attention in different research communities. These conditions gave rise to a myriad of meshless methods derived by different groups. Comparison between different formulations reveals that although procedures could vary in great extent, the final semi-discrete equations have great similarities. In this work we have revisited the derivation of a set of meshless formulations and we have shown the examined methods can be obtained from particular settings of the MLS-SPH-ALE discretization. We note that boundary conditions treatment has been excluded in this work. However, in the derivation procedure we can clearly see that some methods ease the implementation of the boundary conditions with a boundary flux term. Thus, in the MLS-SPH-ALE method the boundary condition are imposed thought the fluxes. We have also shown that MLS-SPH-ALE is a general formulation that includes many of the examined methods. In our opinion, the knowledge about the connections among different numerical schemes, apparently without any relation between them, can help the research community to find new more accurate and more efficient numerical schemes.

We have shown the relations between the three groups of the Hopkins classification, and we have seen how the MFVM relates with FVM and SPH. Moreover, we have proved that the MFVM provides a semi-discrete form where the interaction flux is not fully discretized in the particle positions. By assuming a constant interaction flux in the MFVM we obtain the same continuous effective area that the one obtained in MLS-SPH-ALE method.

The MLS-SPH-ALE method has the advantages of a very flexible selection of particle shape functions. The FVPM was derived by using the derivation properties of the simplest shape function satisfying the partition of unity property. The shape functions used by the FVPM correspond with the MLS shape functions using a polynomial basis with a constant term. Moreover, The FVPM is the procedure that gives the clearest interpretation of the interaction flux in the overlap region of particles. In the MLS-SPH-ALE method the procedure to define this effective flux is not unique.

SPH-ALE and Gizmo-MFV methods obtain a discrete effective area in terms of the gradient of the kernel and the volume associated to particles. In the MLS-SPH-ALE method, the effective area is a symmetric expression given in terms of the gradient of the particle shape functions and the volume of the particles. MLS shape functions are calculated by means of a weighted least squares approach. When the weighted function used by MLS is exactly the kernel function we can obtain an analytic expression relating the kernel gradient with the shape function gradient. However, in general we cannot provide an analytic expression to relate the kernel gradient with the gradient of a particle shape function obtained with MLS. By comparison of both, the kernel and MLS approximations of the gradient of a function, we manage to make some term identifications to prove that MLS-SPH-ALE can be particularized to arrive at the semi-discrete equations derived with SPH-ALE and Gizmo-MFV methods.

Finally, we have traced a path relating the MLS-SPH-ALE method with the Finite Point Method.