Advertisement

Nonlocal Flocking Dynamics: Learning the Fractional Order of PDEs from Particle Simulations

  • Zhiping Mao
  • Zhen LiEmail author
  • George Em Karniadakis
Original Paper
  • 49 Downloads

Abstract

Flocking refers to collective behavior of a large number of interacting entities, where the interactions between discrete individuals produce collective motion on the large scale. We employ an agent-based model to describe the microscopic dynamics of each individual in a flock, and use a fractional partial differential equation (fPDE) to model the evolution of macroscopic quantities of interest. The macroscopic models with phenomenological interaction functions are derived by applying the continuum hypothesis to the microscopic model. Instead of specifying the fPDEs with an ad hoc fractional order for nonlocal flocking dynamics, we learn the effective nonlocal influence function in fPDEs directly from particle trajectories generated by the agent-based simulations. We demonstrate how the learning framework is used to connect the discrete agent-based model to the continuum fPDEs in one- and two-dimensional nonlocal flocking dynamics. In particular, a Cucker–Smale particle model is employed to describe the microscale dynamics of each individual, while Euler equations with nonlocal interaction terms are used to compute the evolution of macroscale quantities. The trajectories generated by the particle simulations mimic the field data of tracking logs that can be obtained experimentally. They can be used to learn the fractional order of the influence function using a Gaussian process regression model implemented with the Bayesian optimization. We show in one- and two-dimensional benchmarks that the numerical solution of the learned Euler equations solved by the finite volume scheme can yield correct density distributions consistent with the collective behavior of the agent-based system solved by the particle method. The proposed method offers new insights into how to scale the discrete agent-based models to the continuum-based PDE models, and could serve as a paradigm on extracting effective governing equations for nonlocal flocking dynamics directly from particle trajectories.

Keywords

Fractional PDEs Gaussian process Bayesian optimization Fractional Laplacian Conservation laws 

Mathematics Subject Classifcation

35R11 34K29 92D50 70E55 

1 Introduction

Collective behavior is a widespread phenomenon in physical and biological systems, and also in social dynamics, such as collective motion of self-propelled particles [20], bird flocking [1], fish schooling [22], swarms of insects [31], trails of foraging ants [4], herds of mammals [23], complex networks [19]. Although this collective dynamics is at very different scales and levels of complexity, the mechanism of self-organization, where local interactions for the individuals lead to a coherent group motion, is very general and transcends the detailed objects [12]. To this end, the simulation and modeling of both physical [16] and biological [5] systems have driven a rich field of research to explore how the individual behavior engenders the large-scale collective motion. There are generally two different approaches to investigate the underlying mechanics: (i) at the microscopic level, agent-based models are developed to simulate dynamics of each individual in flocks, such as swarms, tori, and polarized groups; (ii) at the macroscopic level, the mathematical modeling approach is based on continuum models described by partial differential equations (PDEs). Agent-based models assume behavioral rules at the level of the individual, whose microscopic dynamics is governed by an evolution equation affected by the social forces, including alignment of velocities, attraction, and short-range repulsion, acting on it [12]. Because the number of agents in a coupled dynamics is often large, the agent-based models cannot be solved exactly but can be easily implemented using numerical simulations. Agent-based simulation captures the detailed dynamics of each individual and can handle the increasing complexity of real-world flocking systems. However, for a flocking dynamics involving a large number of agents, the agent-based model becomes computationally expensive [14]. Alternatively, by assuming that a flocking group is already formed and considering a large enough number of agents to make the mean field approximation meaningful, Eulerian models can be derived by applying the continuum hypothesis to the microscopic dynamics, leading to PDEs for the macroscopic quantities, i.e., the mean velocity and the population density [12].

Advances in digital imaging [3] and high-resolution lightweight GPS devices [21] allow gathering long-time and long-distance trajectories of individuals in flocks. For example, Ballerini et al. [3] used stereometric and computer vision techniques to measure 3D individual birds positions in huge starling flocks (up to 2 600 European starlings) in the field. Nagy et al. [21] employed high-resolution lightweight GPS devices to collect track logs of homing pigeons flying in flocks of up to 13 individuals and analyzed the hierarchical group dynamics in the pigeon flocks. Lukeman et al. [18] recorded time series of 2D swimming flocks (up to 200 ducks) by oblique overhead photography and analyzed each individual’s position, velocity and trajectory. Tunstrom et al. [32] used automated tracking software for fish to obtain detailed data regarding the individual positions and velocities of schooling fish (up to 300 fish) over long periods of time. Despite significant development of these experimental ideas, a gap between flocking theory/modeling and experiment still exists. Due to the rich diversity of theoretical models with distinct forms of interaction [18], it is necessary to assess which of them correspond to actual behavior in specified collective motions in nature. Numerical simulations alone cannot tackle this problem because flocking patterns similar to experimental observations can be generated by significantly different model mechanisms. Although some mechanisms through which the collective motion is achieved have been qualitatively understood by simulation and modeling, a quantitative test of the model assumptions in realistic data is still challenging. Therefore, it is of great interest to establish a direct connection between the individual trajectories obtained in experiments and the effective governing equations in the mathematical approach.

In the present work, we use agent-based simulations for self-organized dynamics to generate particle trajectories of individuals in flocks to mimic field data that can be obtained by computer vision techniques [3] or high-resolution GPS data of flocks [7]. We also use continuum models formulated in PDEs to capture the evolution of macroscopic quantities. It has been reported that the mathematical models using local rules do not fully describe the social interactions between individuals in flocks [10]. In fact, animals in flocks generally do not interact mechanically, rather they are influenced by other individuals a certain distance away [8]. Animal communications can result in nonlocal interactions [13], which should be modeled by nonlocal mathematical models. For nonlocal flocking dynamics, instead of specifying the phenomenological fractional partial differential equations (fPDEs) with an empirical fractional order, we use a Gaussian process regression model implemented with the Bayesian optimization to learn the effective nonlocal influence function for fPDEs directly from particle trajectories, as shown in Fig. 1. Both one- and two-dimensional nonlocal flocking dynamics are performed to demonstrate the procedure how the proposed learning framework is used to connect the discrete agent-based model and the continuum-based fPDE model.
Fig. 1

Schematic of learning the fractional order of governing PDEs of nonlocal flocking dynamics from time series of particle trajectories, which can be either obtained from experiments, i.e., digital imaging and GPS tracking, or by agent-based simulations. A Gaussian process model implemented with the Bayesian optimization is employed to minimize the loss and to extract the effective nonlocal influence function

For the agent-based system, we adopt the Cucker–Smale model with a nonlocal alignment term developed in [9]. Using a singular kernel makes the nonlocal alignment term to be a nonlinear function involving fractional Laplacian for the Euler equations which has mass and momentum conservations. The choice of the fractional order of the fractional Laplacian offers a flexibility in modeling the complicated interactions between agents. It is worth noting that the computation of the corresponding Euler equations with nonlocal forces is very challenging. The challenges are twofold due to the fact that the alignment term is not only nonlocal but also nonlinear. A typical challenge for nonlocal problems is the high computation cost of matrix vector multiplication, which is usually \(O(K^2)\) with K being the total number of degrees of freedom at each time step when using an explicit time scheme. We resolve this issue using the fast Fourier transform, resulting in a computation cost reduced to \(O(K\log K)\). For the issue of nonlinearity, we use a piecewise constant approximation, i.e., a finite volume scheme, which can significantly simplify the computation of the nonlinear nonlocal term. Moreover, we show that the proposed finite volume scheme preserves the mass and momentum, both in one and two space dimensions.

The remainder of this paper is organized as follows. In Sect. 2, we introduce a typical agent-based model and the corresponding Euler equations for flocking dynamics. In Sect. 3, we describe the details of numerical algorithms to solve the agent-based model and to discretize the fPDEs, including the statistical algorithm for sampling macroscopic quantities from discrete particle data, the velocity Verlet algorithm for time integration, and the finite volume approximation for the Euler system of equations. Subsequently, in Sect. 4, we present the numerical examples of one- and two-dimensional nonlocal flocking dynamics, and compare the results obtained by the agent-based simulations and by solving the fPDEs. In Sect. 5, we introduce the learning framework to infer the effective influence function from particle trajectories using a Gaussian process regression model implemented with the Bayesian optimization. Finally, we conclude with a brief summary and discussion in Sect. 6.

2 Mathematical Models

In this section, we briefly introduce a typical governing equation of the agent-based model, followed by the Euler equations for flocking dynamics, as well as the conservation laws of the Euler system of equations.
  1. i.
    Agent-based model The agent’s behavior is characterized by its position and velocity. We consider the following agent-based model, i.e., the C–S model with an alignment term [9], at the microscale:
    $$\begin{aligned}\left \{ \begin{aligned}&\dot{\varvec{x}}_i = \varvec{v}_i, \\&\dot{\varvec{v}}_i = \frac{1}{N}\sum _{j=1}^N \phi (|\varvec{x}_i- \varvec{x}_j|) (\varvec{v}_j - \varvec{v}_i), \quad (\varvec{x}_i,\varvec{v}_i) \in {\mathbb {R}}^n \times {\mathbb {R}}^n, \end{aligned} \right.\end{aligned}$$
    (1)
    where \(\phi (\cdot )\) is a kernel denoting the influence function.
     
  2. ii.
    Euler equations For large crowds, i.e., \(N\gg 1\), using the mean field limit argument, the particle system governed by Eq. (1) can lead to the following macroscale Euler system of equations [11, 30]:
    $$\begin{aligned}\left \{ \begin{aligned}&\rho _t + \nabla \cdot (\rho \varvec{u}) = 0,\\&\varvec{u}_t + \varvec{u}\cdot \nabla \varvec{u} = [{\mathcal {L}},\varvec{u}](\rho ), \; (\varvec{x},t ) \in \Omega \times {\mathbb {R}}^+, \end{aligned} \right.\end{aligned}$$
    (2)
    where \(\rho \) is the density and \(\varvec{u}\) is the velocity of the macro-model, \([{\mathcal {L}},\varvec{u}](\rho ): = {\mathcal {L}}(\rho \varvec{u}) - {\mathcal {L}}(\rho ) \varvec{u}\) is the commutator forcing and
    $$\begin{aligned} {\mathcal {L}}(f)(\varvec{x}) := \int _{{\mathbb {R}}^n} \phi (|\varvec{x}- \varvec{y}|) \left( f(\varvec{y}) - f(\varvec{x}) \right) \mathrm{d}\varvec{y}. \end{aligned}$$
    In this paper, we consider the singular kernel, i.e., \(\phi (r) := c_{n,\alpha }|r|^{-(n+\alpha )}\), where \(c_{n,\alpha } = \frac{\alpha \Gamma (\frac{n+\alpha }{2})}{2\pi ^{\alpha +n/2}\Gamma (1-\alpha /2)}\), which is associated with the action of the fractional Laplacian\({\mathcal {L}}(f) = -(-\Delta )^{\alpha /2}f,\, 0<\alpha <2\), namely
    $$\begin{aligned} {\mathcal {L}}(f)(\varvec{x}) = \text {p.v.}\; c_{n,\alpha }\int _{{\mathbb {R}}^n} \frac{f(\varvec{y}) - f(\varvec{x})}{|\varvec{x}-\varvec{y}|^{n+\alpha }}\mathrm{d}\varvec{y}, \end{aligned}$$
    where \(\text {p.v.}\) means the principle value. The corresponding forcing is given by the following singular integral:
    $$\begin{aligned}{}[{\mathcal {L}},\varvec{u}](\rho ) = \text {p.v.}\; c_{n,\alpha }\int _{{\mathbb {R}}^n} \frac{u(\varvec{y}) - u(\varvec{x})}{|\varvec{x}-\varvec{y}|^{n+\alpha }}\rho (\varvec{y})\mathrm{d}\varvec{y}. \end{aligned}$$
    (3)
    In the one-dimensional case, the global regularity for \(\alpha \in [1,2]\) is proved by Shvydkoy and Tadmor [28]. Also, they proved fast velocity alignment as the velocity \(u(\cdot ,t)\) approaches a constant state, \(u\rightarrow {\tilde{u}}\), with exponentially decaying slope [29]. The Euler system of equations given by Eq. (2) preserves mass and momentum. In particular, the system (2) can be rewritten as
    $$\begin{aligned} \left \{ \begin{aligned} &\rho _t + \nabla \cdot (\rho \varvec{u})= 0,\\ &(\rho \varvec{u})_t + \nabla \cdot (\rho \varvec{u}\otimes \varvec{u})= \rho {\mathcal {L}}(\rho \varvec{u}) - \rho \varvec{u} {\mathcal {L}}(\rho ). \end{aligned}\right. \end{aligned}$$
    (4)
    Obviously, the conservation of mass can be obtained by integrating the first equation of the above system over \({\mathbb {R}}^n\). In addition, because the nonlocal operator \({\mathcal {L}}\) is assumed self-adjoint, i.e.,
    $$\begin{aligned} \int _{{\mathbb {R}}^n}\left( \rho {\mathcal {L}}(\rho \varvec{u}) - \rho \varvec{u} {\mathcal {L}}(\rho ) \right) \text{d}{\varvec{x}}= 0, \end{aligned}$$
    we have the conservation of momentum by integrating the second equation of the above system over \({\mathbb {R}}^n\).
     

3 Numerical Methods

3.1 Microscale: Agent-Based Model

In this subsection, we briefly introduce how to use the particle method to solve the agent-based model in the form of Eq. (1). Let us first consider the one-dimensional case; to do this, we use the following particle method: assume that the macroscale density and velocity of a large number of particles are \(\rho _0(x)\) and \(v_0(x)\) satisfying
$$\begin{aligned} \int _{{\mathbb {R}} } \rho _0(x)\mathrm{d}x = 1, \end{aligned}$$
and the support of the density \(\rho (x) \) is \(\Lambda : = [a,b]\). We then obtain the initial position and velocity of each individual particle as follows:
  • Step 1. We first sample particles in the domain according to the initial density, i.e., give the initial position of each particle. To this end, we divide the domain \(\Lambda \) into P non-overlapping subdomains \(\Lambda _p : = [x_{p-1},x_{p}]\) with \(a = x_0< x_1<\cdots <x_{P} = b\) and compute the density in each subdomain \(\Lambda _p\):
    $$\begin{aligned} \rho _p = \int _{x_{p-1}}^{x_{p}} \rho _0(x) \mathrm{d}x, \quad p = 1,2,\cdots , P. \end{aligned}$$
  • Step 2. Then we have that the number of particles sampled in each subdomain is \(N_p = N\cdot \rho _p, p =1,2,\cdots ,P\), where \(N\gg 1\) is the total number of sampled particles. For each subdomain \(\Lambda _p\), we divide it into \(N_p\) uniform subintervals \([x_{p,q}, x_{p,q+1}]\) with \(x_{p-1} = x_{p,0}< x_{p,1}<\cdots <x_{p,N_p} = x_{p}\) and take the middle point of each subinterval, i.e., \((x_{p,q}+ x_{p,q+1})/2\), as the position of the particle.

  • Step 3. We now compute the initial velocity of each particle. Since we have already assigned an initial position for each particle, its initial velocity can be computed directly, i.e., for each particle \(x_i,\,i= 1,\cdots , N\), its initial velocity is given by \(v_i = v_0(x_i)\).

Given initial positions and velocities for all particles, we then use Eq. (1) for the time integration. To this end, we use the Velocity Verlet (VV) method [17], which is a most commonly used method due to the symplecticity, numerical stability and ease of implementation. It integrates position using half-step values of velocity. In particular, we let
$$\begin{aligned} a(x,v) = F(x,v) = \frac{\mathrm{d}v(t)}{\mathrm{d}t}. \end{aligned}$$
Since we have set the mass equals to 1, at time \(t_n = n\Delta t\) with \(\Delta t = t_{n+1} -t_{n}, \, n = 0, 1, \cdots \), the VV scheme has the following form:
$$\begin{aligned}\left \{ \begin{aligned}&v^{n+1/2} = v^n + a^n \Delta t /2, \;&x^{n+1} = x^{n} + v^{n+1/2} \Delta t, \; \\&a^{n+1} = F(x^{n+1}, v^{n+1/2}) ,\;&v^{n+1} = v^{n} + a^{n+1}\Delta t/2, \end{aligned}\right. \end{aligned}$$
(5)
where \(x^n, \, v^n\) are the numerical solutions of the position and velocity at time \(t_n\).

For the two-dimensional case, the procedure is the same as the one for the one-dimensional case. We thus omit the details here.

3.2 Macroscale: Euler System of Equations

In the last subsection, we solve the agent-based model using the particle method, while in this subsection, we use the finite volume method (FVM) to solve the macroscale model, i.e., the Euler equations (2).

3.2.1 One-Dimensional Case

We first solve the Euler system of Eq. (2) using the FVM in one space dimension. In particular, assuming the support of the density, i.e., the computational domain, is \(\Lambda = [a,b]\), we consider the following one-dimensional system in the conserved form which reads as
$$\begin{aligned} \varvec{w}_t + \varvec{f}(\varvec{w})_x = \varvec{s}(\varvec{w}), \quad t\ge 0, \;x\in \Lambda , \end{aligned}$$
(6)
where
$$\begin{aligned} \varvec{w} = [\rho , m]^\text{T},\; \varvec{f}(\varvec{w}) = [m, \rho u^2]^\text{T},\; \varvec{s}(\varvec{w}) = [0,\rho {\mathcal {L}}(m) - m {\mathcal {L}}(\rho )]^\text{T} \end{aligned}$$
with \(m = \rho u\), and discretize it using the finite volume discretization.
Now we introduce the FVM for the above equation. First, let us divide the computational domain \(\Lambda \) into K non-overlapping subintervals
$$\begin{aligned} a = x_{1/2}<x_{3/2}< \cdots < x_{K + 1/2} = b \end{aligned}$$
and denote
$$\begin{aligned} I_j = (x_{j-1/2}, x_{j+1/2}),\quad j = 1,\cdots , K. \end{aligned}$$
Let \(\Delta x = \Delta x_j = x_{j+1} -x_j\) and \(\bar{\varvec{w}}_j(t)\) be the cell average of \(\varvec{w}(x,t)\) in cell \(I_j\), i.e.,
$$\begin{aligned} \bar{\varvec{w}}_j(t) = \frac{1}{\Delta x}\int _{I_j} \varvec{w}(x,t)\mathrm{d}x,\, j = 1,\cdots , K. \end{aligned}$$
A finite volume scheme based on the cell averages has the following form:
$$\begin{aligned} \bar{\varvec{w}}_j^{n+1} = \bar{\varvec{w}}_j^{n} - \lambda \left[ \varvec{h}\left( \varvec{w}_{j+\frac{1}{2}}^{-,n},\varvec{w}_{j+\frac{1}{2}}^{+,n}\right) - \varvec{h}\left( \varvec{w}_{j-\frac{1}{2}}^{-,n},\varvec{w}_{j-\frac{1}{2}}^{+,n}\right) \right] + \lambda \int _{I_j} \varvec{s}(\varvec{w}(x))\mathrm{d}x, \end{aligned}$$
(7)
where \(\lambda = \frac{\Delta t}{\Delta x}\) with \(\Delta t\) is the time step, \(\bar{\varvec{w}}_j^{n}\) is the numerical solution of the cell average of the cell \(I_j\) at time \(t_n = n\Delta t\) and \(\varvec{h}(\cdot ,\cdot )\) is a numerical flux. We assume that at the cell interface \(x= x_{j-1/2}\) we have two numerical approximations \(\varvec{w}_\text{l}=(\rho _\text{l}, m_\text{l})^\text{T}\) and \(\varvec{w}_\text{r}=(\rho _\text{r}, m_\text{r})^\text{T}\) from the left and right, respectively. We use in one-dimension the Godunov flux given by [6, 36]
$$\begin{aligned} (\varvec{h}(\varvec{w}_\text{l},\varvec{w}_\text{r}))^\text{T} = (\widehat{\rho u}_{j-1/2}, \widehat{\rho u^2}_{j-1/2}) = \left\{ \begin{array}{llllll} (m_\text{l},\rho _\text{l} u_\text{l}^2), &{} u_\text{l}>0,\, u_\text{r}>0, \\ (0,0), \quad &{} u_\text{l}\le 0,\, u_\text{r}>0, \\ (m_\text{r},\rho _\text{r} u_\text{r}^2), &{} u_\text{l} \le 0,\, u_\text{r} \le 0,\\ (m_\text{l},\rho _\text{l} u_\text{l}^2), &{} u_\text{l}> 0,\, u_\text{r} \le 0,\, v>0, \\ (m_\text{r},\rho _\text{r} u_\text{r}^2), &{} u_\text{l}> 0,\, u_\text{r} \le 0,\, v<0, \\ (\frac{m_\text{l}+m_\text{r}}{2}, \frac{\rho _\text{l} u_\text{l}^2 + \rho _\text{r} u_\text{r}^2}{2}), &{} u_\text{l} >0,\, u_\text{r} \le 0,\, v=0, \end{array} \right. \end{aligned}$$
where
$$\begin{aligned} u_\text{l} = \frac{m_\text{l}}{\rho _\text{l}}, \quad u_\text{r} = \frac{m_\text{r}}{\rho _\text{r}}, \quad v = \frac{\sqrt{\rho _\text{l}}u_\text{l} + \sqrt{\rho _\text{r}}u_\text{r}}{\sqrt{\rho _\text{l}} + \sqrt{\rho _\text{r}}}. \end{aligned}$$
We now discuss the discretization of the nonlocal term \(\varvec{s}(\varvec{w}(x))\). To do this, we need to discretize the fractional Laplacian of a given function. For a given function f(x) defined on \({\mathbb {R}}\) with compact support \(\Lambda \), we write the nonlocal operator \({\mathcal {L}}(f)\) in the following equivalent form:
$$\begin{aligned} {\mathcal {L}}(f) = \int _{{\mathbb {R}}^n} \left( f(x+z) - f(z)\right) {\phi (|z|)} \mathrm{d}z. \end{aligned}$$
This formula makes it easy to discretize \({\mathcal {L}}(f)\). We approximate the above integral using the rectangle quadrature rule. To compute \({\mathcal {L}}(f)\), we will use all the information in the whole domain, i.e., all the values of \(f_k,\,k\in {\mathbb {Z}}\). In practical applications, the considered function f (in our work, it is density \(\rho \) or momentum m) is usually constant or vanishes outside a finite domain. We, therefore, discretize \({\mathcal {L}}(f)\) using the cell \(I_k,\, k\in {\mathbb {Z}}\) up to \(|y| = {\widehat{K}} \Delta x\), which goes to \(\infty \) as \(\Delta x \rightarrow 0\) and approximate the remaining parts with two unbounded space steps \((-\infty , -{\widehat{K}} \Delta x)\), and \(({\widehat{K}} \Delta x,\infty )\). For instance, we define
$$\begin{aligned} g(\rho ,m)_j := \int _{I_j} \rho {\mathcal {L}}(m) \mathrm{d}x \end{aligned}$$
and approximate it as follows: since \(\rho \) is a constant in each cell, we have for \(j = 1,\cdots , K\),
$$\begin{aligned} \begin{aligned} g(\rho ,m)_j&= {\bar{\rho }}_j \int _{I_j} \mathrm{d}x \int _{{\mathbb {R}}} \left( {m(x+z) - m(x)}\right) {\phi (|z|)} \mathrm{d}z\\&= {\bar{\rho }}_j \int _{I_j} \mathrm{d}x \int _{0<|z|\le {\widehat{K}}\Delta x} \left( {m(x+z) - m(x)}\right) {\phi (|z|)} \mathrm{d}z \\&\quad + {\bar{\rho }}_j \int _{I_j} \mathrm{d}x \int _{|z|> {\widehat{K}}\Delta x} \left( {m(x+z) - m(x)}\right) {\phi (|z|)} \mathrm{d}z\\&\approx {\bar{\rho }}_j \Delta x^2 \sum _{0<k\le {\widehat{K}}} \left( {{\bar{m}}_{j+k} +{\bar{m}}_{j-k} - 2{\bar{m}}_{j}}\right) {\phi _k } + {\bar{\rho }}_j \Delta x \left( {{{\bar{m}}}_{j+{\widehat{K}}+1} + \bar{m}_{j-{\widehat{K}}-1} - 2{{\bar{m}}}_{j}} \right) {\phi _{{\widehat{K}}+1}}, \end{aligned} \end{aligned}$$
where \(\phi _k = \phi (|k\Delta x|)\) if \(k\le {\widehat{K}}\) and \(\phi _{{\widehat{K}}+1} = \int _{z> {\widehat{K}}\Delta x} \phi (|z|) \mathrm{d}z\), which can be calculated directly or using the Gauss quadrature (e.g., Gauss–Laguerre quadrature). The above equation can be written in a matrix form:
$$\begin{aligned} g(\rho ,\varvec{m})_j \approx {\bar{\rho }}_j \Delta x \left( G \varvec{m} \right) _j, \end{aligned}$$
(8)
where \(\varvec{m} = \{{\bar{m}}_{j}\}_{1\le j\le K}\), and \(\left( G \varvec{m} \right) _j\) denotes the jth component of \(G \varvec{m}\), G is a matrix whose entries are given by: for \(j = 1,\cdots , K\) and \(i = \pm 1, \pm 2, \cdots ,\)
$$\begin{aligned} G_{jj} = -2\sum _{k=1}^{{\widehat{K}}} \Delta x\phi _{k} -2 \phi _{{\widehat{K}}+1},\; G_{j,j+i} = \Delta x\phi _{|i|}. \end{aligned}$$
Since the kernel function \(\phi (|z|)\) is a positive and symmetric function, we can observe from the above that G has the following properties:
  1. i.

    G is symmetric;

     
  2. ii.

    G is a Toeplitz matrix.

     
Similarly, we have
$$\begin{aligned} g(m,\rho )_j \approx {\bar{m}}_j \Delta x \left( G \varvec {\rho } \right) _j, \; j = 1,\cdots , K. \end{aligned}$$
(9)
Thus, combining Eqs. (7), (8) and (9), we have the following finite volume scheme: for \(j = 1,\cdots ,K\),
$$\begin{aligned} \bar{\varvec{w}}_j^{n+1} = \bar{\varvec{w}}_j^{n} - \lambda \left[ \varvec{h}(\varvec{w}_{j+\frac{1}{2}}^{-,n},\varvec{w}_{j+\frac{1}{2}}^{+,n}) - \varvec{h}(\varvec{w}_{j-\frac{1}{2}}^{-,n},\varvec{w}_{j-\frac{1}{2}}^{+,n}) \right] + \varvec{g}(\rho ,m)_j, \end{aligned}$$
(10)
where \(\varvec{g}(\rho ,m)_j = \left[ 0,\lambda \Delta x ({\bar{\rho }}_j (G \varvec {m})_j - {\bar{m}}_j(G \varvec {\rho } )_j )\right] ^\text{T}\).

Note that the matrix G is a Toeplitz matrix; therefore, this allows us to use the fast matrix vector procedure to compute \(G \varvec {m}\) or \(G \varvec {\rho }\) in \(O(K\log K)\) operation [33]. Furthermore, since the matrix G is symmetric, we can show that the above scheme possesses mass and momentum conservation laws. We state it in the following theorem:

Theorem 1

Assuming that\(\varvec{w}\) has a compact support or periodic boundary conditions in the domain\(\Lambda \), then the mass and momentum of the numerical solutions of (10) are conserved, i.e., for\(n>1\), it holds
$$\begin{aligned} \int _{\Omega } \rho ^n(x)\mathrm{d}x= & {} \int _{\Omega } \rho _0(x) \mathrm{d}x; \end{aligned}$$
(11)
$$\begin{aligned} \int _{\Omega } \rho ^n(x)u^n(x)\mathrm{d}x= & {} \int _{\Omega } \rho _0(x)u_0(x) \mathrm{d}x. \end{aligned}$$
(12)

Proof

Denote \(\varvec{h}_{j+\frac{1}{2}}^n: = \varvec{h}(\varvec{w}_{j+\frac{1}{2}}^{-,n},\varvec{w}_{j+\frac{1}{2}}^{+,n})\), we can rewritten (10) as
$$\begin{aligned} \bar{\varvec{w}}_j^{n+1} - \bar{\varvec{w}}_j^{n} + \lambda \left( \varvec{h}_{j+\frac{1}{2}}^n - \varvec{h}_{j-\frac{1}{2}}^n \right) = \varvec{g}(\rho ,m)_j. \end{aligned}$$
Summing over j and noting that \(\varvec{w}\) has a compact support or periodic boundary conditions, we obtain
$$\begin{aligned} \int _{\Omega } \varvec{w}^{n+1}(x)\mathrm{d}x - \int _{\Omega } \varvec{w}^n(x)\mathrm{d}x = \varvec{g}(\rho ,m)_j. \end{aligned}$$
(13)
Then the conservation of mass, i.e., Eq. (11) can be readily obtained since the first component of \(\varvec{g}(\rho ,m)_j\) is equal to zero. For the conservation of momentum, i.e., Eq. (12), we proceed as follows: we have that the second component of \(\varvec{g}(\rho ,m)_j\) is given by
$$\begin{aligned} \lambda \Delta x \sum _{j} \left( {\bar{\rho }}_j \left( G \varvec {m} \right) _j - {\bar{m}}_j \left( G \varvec {\rho } \right) _j \right) . \end{aligned}$$
Note that G is symmetric, then we have
$$\begin{aligned} \begin{aligned} \sum _{j} {\bar{\rho }}_j \left( G \varvec {m} \right) _j =&\sum _{j} \sum _{k}{\bar{\rho }}_j G_{jk}{\bar{m}}_k = \sum _{k} \sum _{j} {\bar{m}}_k G_{jk}{\bar{\rho }}_j \\ =&\sum _{k} \sum _{j} {\bar{m}}_k G_{kj}{\bar{\rho }}_j = \sum _{k}{\bar{m}}_k \left( G \varvec {\rho } \right) _k. \end{aligned} \end{aligned}$$
Thus, the second component of \(\varvec{g}(\rho ,m)_j\) vanishes and the result follows from (13).

3.2.2 Two-Dimensional Case

Now let us consider the Euler system of Eq. (2) in two space dimensions. Assuming the support of the density, i.e., the computational domain, is a rectangle domain \(\Omega = [a,b]\times [c,d]\), then the two-dimensional Euler equations in the conservative form read as
$$\begin{aligned} \varvec{w}_t + \varvec{f}(\varvec{w})_x + \varvec{g}(\varvec{w})_y= \varvec{s}(\varvec{w}), \quad t\ge 0,\quad x\in \Omega , \end{aligned}$$
(14)
where
$$\begin{aligned} \begin{aligned}&\varvec{w} = [\rho , m_1, m_2]^\text{T},\quad \varvec{f}(\varvec{w}) = [m_1, \rho u^2, \rho uv]^\text{T},\quad \varvec{g}(\varvec{w}) = [n, \rho uv, \rho v^2]^\text{T},\\&\varvec{s}(\varvec{w}) = [0,\rho {\mathcal {L}}(m_1) - m_1 {\mathcal {L}}(\rho ), \rho {\mathcal {L}}(m_2) - m_2 {\mathcal {L}}(\rho )]^\text{T} \end{aligned} \end{aligned}$$
with \(m_1 = \rho u\) and \(m_2 = \rho v\).
We now solve the above system using the finite volume scheme. Similarly, as we did for the one-dimensional case, we use the uniform rectangular meshes, namely \(\Delta x = \Delta x_{i} = x_{i+1/2} -x_{i-1/2}, \; \Delta y = \Delta y_{j} = y_{j+1/2} -y_{j-1/2}\), \(i = 1,\cdots ,K,\, j = 1,\cdots , L\), where
$$\begin{aligned} a = x_{1/2}<x_{3/2}<\cdots< x_{K+1/2} = b, \quad c = y_{1/2}<y_{3/2}<\cdots < y_{L+1/2} = d. \end{aligned}$$
Let the cell \(I_{ij}\) be defined by \(I_{ij} := [{x_{i-1/2}},{x_{i + 1/2}}] \times [{y_{j-1/2}},{y_{j + 1/2}}]\), \(\Delta t\) be the time step, and \(\bar{\varvec{w}}_{ij}(t)\) be the cell average of \(\varvec{w}(x,y,t)\) in the cell \(I_{ij} \), i.e.,
$$\begin{aligned} \bar{\varvec{w}}_{ij}(t) = \frac{1}{\Delta x \Delta y}\int _{x_{i-1/2}}^{x_{i+1/2}} \int _{y_{j-1/2}}^{y_{j+1/2}} \varvec{w}(x,y,t)\mathrm{d}x\mathrm{d}y,\, i = 1,\cdots ,K,\, j = 1,\cdots , L. \end{aligned}$$
A finite volume scheme based on the cell averages has the following form:
$$\begin{aligned} \begin{aligned} \bar{\varvec{w}}_{ij}^{n+1}&= \bar{\varvec{w}}_{ij}^{n} - \lambda \int _{y_{j-\frac{1}{2}}}^{y_{j+\frac{1}{2}}} \left[ \varvec{h}_1\left( \varvec{w}_{i+\frac{1}{2},j}^{-,n},\varvec{w}_{i+\frac{1}{2},j}^{+,n}\right) - \varvec{h}_1\left( \varvec{w}_{i-\frac{1}{2},j}^{-,n},\varvec{w}_{i-\frac{1}{2},j}^{+,n}\right) \right] \mathrm{d}y\\&\quad - \lambda \int _{x_{i-\frac{1}{2}}}^{x_{i+\frac{1}{2}}} \left[ \varvec{h}_2\left( \varvec{w}_{i,j+\frac{1}{2}}^{-,n},\varvec{w}_{i,j+\frac{1}{2}}^{+,n}\right) - \varvec{h}_2\left( \varvec{w}_{i,j-\frac{1}{2}}^{-,n},\varvec{w}_{i,j-\frac{1}{2}}^{+,n}\right) \right] \mathrm{d}x\\&\quad + \lambda \int _{x_{i-\frac{1}{2}}}^{x_{i+\frac{1}{2}}} \int _{y_{j-\frac{1}{2}}}^{y_{j+\frac{1}{2}}} \varvec{s}(\varvec{w}(x,y,t_n))\mathrm{d}x\mathrm{d}y, \end{aligned} \end{aligned}$$
(15)
where \(\lambda = \frac{\Delta t}{\Delta x \Delta y}\), \(\varvec{h}_1(\cdot ,\cdot ), \,\varvec{h}_2(\cdot ,\cdot )\) are one-dimensional numerical fluxes, and \(\bar{\varvec{w}}_{ij}^{n}\) is the numerical solution of the cell average of cell \(I_{ij}\) at time \(t_n\). Suppose that \((x,y)= (x_{i-1/2},y_0)\) is a point on the vertical cell interface, at which we have two numerical approximations \(\varvec{w}_\text{l}=(\rho _\text{l}, (m_1)_\text{l},(m_2)_\text{l})^{\text{T}}\) and \(\varvec{w}_\text{r}=(\rho _\text{r}, (m_1)_\text{r}, (m_2)_\text{r})^\text{T}\) from the left and right, respectively. For the two-dimensional case, we also use the Godunov flux given by [36]
$$\begin{aligned} \begin{aligned}&(\varvec{h}_1(\varvec{w}_\text{l},\varvec{w}_\text{r}))^\text{T} = (\widehat{\rho u}_{j-1/2}, \widehat{\rho u^2}_{j-1/2}, \widehat{\rho u v}_{j-1/2})\\ \,=\,&\left\{ \begin{array}{ll} ((m_1)_\text{l},\rho _\text{l} u_\text{l}^2, \rho _\text{l} u_\text{l} v_\text{l}), &{} u_\text{l}>0,\, u_\text{r}>0, \\ (0,0,0), \quad &{} u_\text{l}\le 0,\, u_\text{r}>0, \\ ((m_1)_\text{r},\rho _\text{r} u_\text{r}^2, \rho _\text{r} u_\text{r} v_\text{r}), &{} u_\text{l} \le 0,\, u_\text{r} \le 0,\\ ((m_1)_\text{l},\rho _\text{l} u_\text{l}^2, \rho _\text{l} u_\text{l} v_\text{l}), &{} u_\text{l}> 0,\, u_\text{r} \le 0,\, v>0, \\ ((m_1)_\text{r},\rho _\text{r} u_\text{r}^2, \rho _\text{r} u_\text{r} v_\text{r}), &{} u_\text{l}> 0,\, u_\text{r} \le 0,\, v<0, \\ \frac{1}{2}((m_1)_\text{l}+(m_1)_\text{r}, \rho _\text{l} u_\text{l}^2 + \rho _\text{r} u_\text{r}^2, (m_1)_\text{l}v_\text{l} + (m_1)_\text{r}v_\text{r}), &{} u_\text{l} > 0,\, u_\text{r} \le 0,\, v=0, \end{array} \right. \end{aligned} \end{aligned}$$
where
$$\begin{aligned} (u_\text{l},v_\text{l}) = \left( \frac{(m_1)_\text{l}}{\rho _\text{l}}, \frac{(m_2)_\text{l}}{\rho _\text{l}}\right) , \quad (u_\text{r},v_\text{r}) = \left( \frac{(m_1)_\text{r}}{\rho _\text{r}}, \frac{(m_2)_\text{r}}{\rho _\text{r}}\right) , \quad v = \frac{\sqrt{\rho _\text{l}}u_\text{l} + \sqrt{\rho _\text{r}}u_\text{r}}{\sqrt{\rho _\text{l}} + \sqrt{\rho _\text{r}}}. \end{aligned}$$
The numerical flux \((\varvec{h}_2(\varvec{w}_{\text{l}},\varvec{w}_{\text{r}}))^\text{T} = (\widehat{\rho u}, \widehat{\rho uv}, \widehat{\rho v^2})\) can be defined similarly on the horizontal cell interfaces.
Similar to the one-dimensional problem, we now discuss how to discretize the nonlocal terms, i.e., the source terms \(\varvec{s}(\varvec{w})\), for the two-dimensional problem. To discretize \(\varvec{s}(\varvec{w})\), we first need to discretize the nonlocal operator \({\mathcal {L}}(f)\) for a given function f. To this end, for a given function \(f(\varvec{x}),\varvec{x}: = (x,y)\in {\mathbb {R}}^2\) compactly supported in the domain \(\Omega \), we have that the nonlocal term \({\mathcal {L}}(f)\) is equivalent to the following formula:
$$\begin{aligned} {\mathcal {L}}(f) = \int _{|\varvec{z}|>0} \left( {f(\varvec{x}+\varvec{z}) - f(\varvec{z})}\right) {\phi (|\varvec{z}|)} \mathrm{d}{\varvec{z}}, \end{aligned}$$
where \(\varvec{z} = (z_1,z_2)\).
For \(\nu = 1,2\), we define
$$\begin{aligned} g(\rho ,m_\nu )_{ij} := \int _{I_{ij} } \rho {\mathcal {L}}(m_\nu ) \mathrm{d}x \mathrm{d}y, \quad 1\le i\le K, \, 1\le j\le L. \end{aligned}$$
Writing it in the vector form, we have the vector form for \(g(\rho ,m_\nu )_{ij}\):
$$\begin{aligned} \begin{aligned} \varvec{g}(\rho ,m_\nu ) =\,&[g(\rho ,m_\nu )_{11},\cdots , g(\rho ,m_\nu )_{K1};g(\rho ,m_\nu )_{12},\cdots , g(\rho ,m_\nu )_{K2}; \\&\cdots ; g(\rho ,m_\nu )_{1L},\cdots , g(\rho ,m_\nu )_{KL}]^\text{T}. \end{aligned} \end{aligned}$$
\(\varvec{g}(\rho ,m_\nu )\) can be computed using similar arguments as the one used for the one-dimensional case. In particular,
$$\begin{aligned} \begin{aligned} g(\rho ,m_{\nu })_{ij} =\,&{\bar{\rho }}_{ij} \int _{I_{ij}} \mathrm{d}x\mathrm{d}y \int _{{\mathbb {R}}} \left( {m_{\nu }(x+z_1, y + z_2) - m_{\nu }(x,y)}\right) {\phi (|\varvec{z}|)} \mathrm{d}z_1\mathrm{d}z_2\\ =\,&{\bar{\rho }}_{ij} \int _{I_{ij}} \mathrm{d}x\mathrm{d}y \int _{D_1}\left( {m_{\nu }(x+z_1, y + z_2) - m_{\nu }(x,y)}\right) {\phi (|\varvec{z}|)} \mathrm{d}z_1\mathrm{d}z_2 \\& + {\bar{\rho }}_{ij} \int _{I_{ij}} \mathrm{d}x\mathrm{d}y \int _{D_2} \left( {m_{\nu }(x+z_1, y + z_2) - m_{\nu }(x,y)}\right) {\phi (|\varvec{z}|)} \mathrm{d}z_1\mathrm{d}z_2\\ \approx\,&{\bar{\rho }}_{ij} \Delta x^2 \Delta y^2 \sum _{\begin{array}{c} 0<k\le {\widehat{K}}\\ 0<l\le {\widehat{L}} \end{array}} {\phi _{kl} } \big (({\bar{m}}_{\nu })_{i+k,j+l} +({\bar{m}}_{\nu })_{i-k,j+l} + ({\bar{m}}_{\nu })_{i+k,j-l} +({\bar{m}}_{\nu })_{i-k,j-l} - 4({\bar{m}}_{\nu })_{ij}\big )\\& + {\bar{\rho }}_{ij} \Delta x\Delta y {\phi _{{\widehat{K}}+1,{\widehat{L}}+1}} \big ( ({\bar{m}}_{\nu })_{i+{\widehat{K}}+1, j+{\widehat{L}}+1} + ({\bar{m}}_{\nu })_{i-{\widehat{K}}-1, j+{\widehat{L}}+1} \\& + ({\bar{m}}_{\nu })_{i+{\widehat{K}}+1, j-{\widehat{L}}-1} + ({\bar{m}}_{\nu })_{i-{\widehat{K}}-1, j-{\widehat{L}}-1} - 4({\bar{m}}_{\nu })_{ij} \big ), \end{aligned} \end{aligned}$$
where \(D_1 = \{(z_1,z_2): 0<|z_1|\le {\widehat{K}}\Delta x,0<|z_2|\le {\widehat{L}}\Delta y\}\), \(D_2 = \{(z_1,z_2): |z_1|> {\widehat{K}}\Delta x,|z_2|> {\widehat{L}}\Delta y\}\), and
$$\begin{aligned}&\phi _{11} = \phi (\sqrt{(\Delta x/2)^2 + (\Delta y/2)^2}),\quad \phi _{k1} = \phi (\sqrt{(k\Delta x)^2 + (\Delta y/2)^2}), \\&\phi _{1l} = \phi (\sqrt{(\Delta x/2)^2 + (l\Delta y)^2}),\quad \phi _{kl} = \phi (\sqrt{(k\Delta x)^2 + (l\Delta y)^2}), 2\le k\le {\widehat{K}},\, 2\le l\le {\widehat{L}},\\&\phi _{{\widehat{K}}+1,{\widehat{L}}+1} = \int _{D_3} \phi (|\varvec{z}|) \mathrm{d}\varvec{z}, \end{aligned}$$
where \(D_3 = \{(z_1,z_2):z_1>0, z_2>0\} {\setminus } \{(z_1,z_2):0\le z_1\le {\widehat{K}} \Delta x, 0\le z_2\le {\widehat{L}}\Delta y\}\). The above equation can be written in a matrix form:
$$\begin{aligned} \varvec{g}(\rho ,m_\nu ) \approx \Delta x \Delta y {\varvec{\rho }} * \left( \varvec{G} {\varvec{m}}_{\nu } \right) , \end{aligned}$$
(16)
where the symbol \(*\) means component-wise multiplication and, with a little abuse of notation, we still use \(\varvec {\rho}\) to denote the unknown for density in the two-dimensional case,
$$\begin{aligned}& {\varvec{\rho }} = [{\bar{\rho }}_{11}, \cdots , {\bar{\rho }}_{K1};{\bar{\rho }}_{12},\cdots , {\bar{\rho }}_{K2}; \cdots ; {\bar{\rho }}_{1L},\cdots , {\bar{\rho }}_{KL}]^\text{T}, \\& {\varvec{m}}_{\nu } = [({\bar{m}}_{\nu })_{11}, \cdots , ({\bar{m}}_{\nu })_{K1};({\bar{m}}_{\nu })_{12},\cdots , ({\bar{m}}_{\nu })_{K2}; \cdots ; ({\bar{m}}_{\nu })_{1L},\cdots , ({\bar{m}}_{\nu })_{KL}]^\text{T}, \end{aligned}$$
and \(\varvec{G}\) is a block-Toeplitz–Toeplitz-block matrix given by
$$\begin{aligned} \varvec{G} = \left( \begin{array}{llll} G^{11} &{} G^{12} &{} \cdots &{} G^{1L} \\ G^{21} &{} G^{22} &{} \cdots &{} G^{2L} \\ \vdots &{} \vdots &{} &{} \vdots \\ G^{L1} &{} G^{L2} &{} \cdots &{} G^{LL} \\ \end{array} \right) , \end{aligned}$$
where \(G^{ij}, 1\le i,j\le L\) are Toeplitz matrices, where for \(i = 1,\cdots , L\, ,j = \pm 1,\pm 2,\cdots \) and \(m = 1,\cdots ,K,\, n = \pm 1,\pm 2,\cdots ,\)
$$\begin{aligned}&G^{ii}_{mm} = -4\sum _{k=1}^{{\widehat{K}}} \sum _{l=1}^{{\widehat{L}}} \Delta x\Delta y\phi _{kl} -4 \phi _{{\widehat{K}}+1,{\widehat{L}}+1},\quad G^{ii}_{m,m+n} = \Delta x\Delta y\phi _{|n|1}, \\&G^{i,i+j}_{m,m+n} = \Delta x\Delta y \phi _{|m| |j|}. \end{aligned}$$
Similarly, we have
$$\begin{aligned} \varvec{g}(m_\nu ,\rho ) \approx \Delta x \Delta y {\varvec{m}}_{\nu } * \left( \varvec{G} {\varvec{\rho }} \right) . \end{aligned}$$
(17)
Thus, by combining Eqs. (15), (16) and (17), we have the following finite volume scheme for the two-dimensional problem:
$$\begin{aligned} \begin{aligned} \bar{\varvec{w}}_{ij}^{n+1} =\,&\bar{\varvec{w}}_{ij}^{n} - \lambda \int _{y_{j-1/2}}^{y_{j+1/2}} \left[ \varvec{h}_1\left( \varvec{w}_{i+\frac{1}{2},j}^{-,n},\varvec{w}_{i+\frac{1}{2},j}^{+,n}\right) - \varvec{h}_1\left( \varvec{w}_{i-\frac{1}{2},j}^{-,n},\varvec{w}_{i-\frac{1}{2},j}^{+,n}\right) \right] \mathrm{d}y\\&- \lambda \int _{x_{i-1/2}}^{x_{i+1/2}} \left[ \varvec{h}_2\left( \varvec{w}_{i,j+\frac{1}{2}}^{-,n},\varvec{w}_{i,j+\frac{1}{2}}^{+,n}\right) - \varvec{h}_2\left( \varvec{w}_{i,j-\frac{1}{2}}^{-,n},\varvec{w}_{i,j-\frac{1}{2}}^{+,n}\right) \right] \mathrm{d}x\\&+ \lambda \varvec{g}(\rho , m_1 , m_2)_{ij}, \end{aligned} \end{aligned}$$
(18)
where
$$\begin{aligned} \varvec{g}(\rho , m_1 , m_2)_{ij} = \left[ 0, [\varvec{g}(\rho ,m_1)]_{ij} - [\varvec{g}(m_1,\rho )]_{ij}, [\varvec{g}(\rho ,m_2)]_{ij} - [\varvec{g}(m_2,\rho )]_{ij} \right] ^\text{T}, \end{aligned}$$
here \([V]_{ij} = [reshape(V,K,L)]_{ij}\) for a given \(K\times L\) column vector V, where “reshape” is a Matlab function.

Since \(\varvec{G}\) is a block-Toeplitz–Toeplitz-block matrix, the computation of \(\varvec{g}(\rho , m_1 , m_2)\) can be implemented in \(O(KL\log (KL))\) operations using the fast matrix vector multiplication [34].

Theorem 2

Assuming that\(\varvec{w}\) has a compact support or periodic boundary conditions in the domain\(\Omega \), then the mass and momentum of the numerical solution of (18) are conserved, i.e., for\(n>1\), it holds
$$\begin{aligned} \int _{\Omega } \rho ^n(x,y)\mathrm{d}x \mathrm{d}y= & {} \int _{\Omega } \rho _0(x,y) \mathrm{d}x \mathrm{d}y; \end{aligned}$$
(19)
$$\begin{aligned} \int _{\Omega } \rho ^n(x,y)u^n(x,y)\mathrm{d}x \mathrm{d}y= & {} \int _{\Omega } \rho _0(x,y)u_0(x,y) \mathrm{d}x \mathrm{d}y; \end{aligned}$$
(20)
$$\begin{aligned} \int _{\Omega } \rho ^n(x,y)v^n(x,y)\mathrm{d}x \mathrm{d}y= & {} \int _{\Omega } \rho _0(x,y)v_0(x,y) \mathrm{d}x \mathrm{d}y. \end{aligned}$$
(21)

Proof

Denote \(\varvec{h}_{1,i+\frac{1}{2}}^n: = \varvec{h}_1(\varvec{w}_{i+\frac{1}{2},j}^{-,n},\varvec{w}_{i+\frac{1}{2},j}^{+,n})\) and \(\varvec{h}_{2,j+\frac{1}{2}}^n: = \varvec{h}_2(\varvec{w}_{i,j+\frac{1}{2}}^{-,n},\varvec{w}_{i,j+\frac{1}{2}}^{+,n})\), we can rewrite (18) as
$$\begin{aligned} \begin{aligned}&\bar{\varvec{w}}_{ij}^{n+1} - \bar{\varvec{w}}_{ij}^{n} + \lambda \int _{y_{j-\frac{1}{2}}}^{y_{j+\frac{1}{2}}} \left[ \varvec{h}_{1,i+\frac{1}{2}}^n - \varvec{h}_{1,i-\frac{1}{2}}^n \right] \mathrm{d}y + \lambda \int _{x_{i-\frac{1}{2}}}^{x_{i+\frac{1}{2}}} \left[ \varvec{h}_{2,j+\frac{1}{2}}^n - \varvec{h}_{2,j-\frac{1}{2}}^n \right] \mathrm{d}x\\&= \lambda \varvec{g}(\rho , m_1 , m_2)_{ij}. \end{aligned} \end{aligned}$$
Summing over i and j, and noting that \(\varvec{w}\) has a compact support or periodic boundary conditions in the domain \(\Omega \), we obtain
$$\begin{aligned} \int _{\Omega } \varvec{w}^{n+1}(x)\mathrm{d}x - \int _{\Omega } \varvec{w}^n(x)\mathrm{d}x = \lambda \varvec{g}(\rho , m_1 , m_2)_{ij}. \end{aligned}$$
(22)
Since G is symmetric, using the same argument as the one for the one-dimensional problem, we have that the scheme (18) preserves both the mass and the momentum, i.e., Eqs. (19)–(21) hold true.
We mention here that for the time discretization, both in one and two dimensions, we use a strong stability preserving scheme, namely the second-order Runge–Kutta scheme to solve the resulted ODE system \(\varvec{w}_t = \varvec{L}(\varvec{w})\):
$$\begin{aligned} \varvec{w}^{(1)} = \varvec{w}^{n} + \Delta t \varvec{L}(\varvec{w}^{n}), \; \varvec{w}^{n+1} = \frac{1}{2}\varvec{w}^{n} + \frac{1}{2}\left( \varvec{w}^{(1)} + \Delta t \varvec{L}(\varvec{w}^{(1)})\right) . \end{aligned}$$

4 Numerical Examples

In this section, we present numerical simulations, both in one- and two-dimensional nonlocal flocking dynamics, by solving the agent-based model (1) with particle method and the Euler system of Eq. (2) with the FVM method. We compare the numerical solutions with the same initial conditions. Our aim is to verify that the two models produce similar results and subsequently (in the next section) to demonstrate how to infer the fractional order of the Laplacian using the trajectories obtained from the agent-based model. We first consider the one-dimensional case.
Fig. 2

Validation of one-dimensional case for fractional order \(\alpha = 0.5\): numerical solutions of the density and velocity for the microscale agent-based model (1) (symbols) and the macroscale Euler equations (2) (lines) at different times T. Left: density; right: velocity. The inset in the right plot is for clarity in the comparison

Example 1

(One-dimensional dynamics) In this example, we consider the one-dimensional problem with the influence function given by
$$\begin{aligned} \phi (r) = \frac{c_{1,\alpha }}{r^{1+\alpha }} \end{aligned}$$
and the initial density and velocity given by
$$\begin{aligned} \rho _0(x) = \frac{\pi }{3} \cos \left( \frac{\pi x}{1.5} \right) , \quad u_0(x) = -c \sin \left( \frac{\pi x}{1.5} \right) , \end{aligned}$$
(23)
where \(c = 0.5\) is a constant. Here we use the domain \(\Lambda = [-0.75, 0.75]\). The boundary conditions for the density \(\rho \) and mass \(m = \rho u\) are homogenous Dirichlet boundary conditions.

For the agent-based model, the total number of sampled particles for the simulation is \(N = 1\,024\), while for the Euler equations the space step is \(\Delta x = 1/256\). The numerical solutions of the density and velocity at different times are shown in Figs. 2 and 3 for the value of fractional order \(\alpha = 0.5\) and \(\alpha = 1.2\), respectively. We see that the velocity tends to a constant value, which is in agreement with the analytical result given in [29]. Moreover, we observe from the comparison that the solutions of the microscale agent-based model coincide with solutions of the macroscale Euler equations. This means that the solution of the Euler system of equations can give a good prediction to the solution of the agent-based model.

In the numerical examples, we compare the transient solutions of the two models for \(0\le t\le 2.0\) because both the microscale agent-based model and the macroscale Euler system reach a steady state for \(t>2.0\), and thus their solutions will not change after \(t>2.0.\)
Fig. 3

Validation of one-dimensional case for fractional order \(\alpha = 1.2\): numerical solutions of the density and velocity for the microscale agent-based model (1) (symbols) and the macroscale Euler equations (2) (lines) at different times T. Left: density; right: velocity. The inset in the right plot is for clarity in the comparison

Example 2

(Two-dimensional dynamics) We now consider the two-dimensional case, and consider the following influence function:
$$\begin{aligned} \phi (r) = \frac{c_{2,\alpha }}{{r}^{2+\alpha }}. \end{aligned}$$
The initial density and velocity are
$$\begin{aligned}\left\{ \begin{aligned}&\rho _0(x,y) = \left( \frac{\pi }{3}\right) ^2 \cos \left( \frac{\pi x}{1.5} \right) \cos \left( \frac{\pi y}{1.5} \right) , \\&u_0(x,y) = -c \sin \left( \frac{\pi x}{1.5} \right) , \; v_0(x,y) = -c \sin \left( \frac{\pi y}{1.5} \right) , \end{aligned} \right.\end{aligned}$$
(24)
where \(c = 0.5/\sqrt{2}\) is a constant. Here the domain is \(\Omega = [-0.75, 0.75]^2\), and the boundary conditions for \(\rho \) and \(m_1 = \rho u, \, m_2 = \rho v\) are homogenous Dirichlet boundary conditions.

In this case, the total number of sampled particles for the simulation is \(N = 9\,976\) for the agent-based model, while for the Euler equations the space step is \(\Delta x = \Delta y = 1/64\). The numerical solutions of the density at different times are shown in Figs. 4 and 5 for the value of fractional order \(\alpha = 0.5\) and \(\alpha = 1.2\), respectively. The relative differences of the density between the solution of the micro-model and the macro-model are also shown in the third row of each figure. Again we observe that solutions of the microscale agent-based model are in good agreement with solutions of the macroscale Euler system of equations. This means that the numerical solution of the corresponding macro-model can yield correctly density distribution consistent with the collective behavior of the particle system.

5 Infer the Influence Function Using Gauss Process Machine Learning

The trajectories generated by the particle simulation mimic the field data of tracking logs that can be obtained experimentally, which is used to learn the value of the fractional order of the influence function using a Gaussian process regression model implemented with the Bayesian optimization. As shown in the previous section, the solutions of the agent-based model (1) and the solutions of the Euler system of Eq. (2) are in agreement with each other. Thus, assuming that we have the solution of the agent-based model for a given influence function, we then infer the influence function using the Euler system of equations with a machine learning algorithm. In this section, we show how to infer the influence function using the Gaussian Process Machine Learning (GPML) with the Bayesian optimization. This method has been used to discover the fractional order of fractional advection–dispersion equations in [24]. In particular, we are going to learn the influence function by solving the Euler equations (2), while the data are obtained by solving the agent-based model (1). This is to say, we are going to use the agent-based model with a specified influence function to generate the data which are considered as the experimental data, then we use the numerical solution of the Euler equations to infer the influence function using the GPML approach.
Fig. 4

Validation of two-dimensional case for the fractional order \(\alpha = 0.5\): numerical solutions of the density for the microscale agent-based model (1) (upper row) and the macroscale Euler equations (2) (middle row) at different times T. Lower row: relative error

Fig. 5

Validation of two-dimensional case for the fractional order \(\alpha = 1.2\): numerical solutions of the density for the microscale agent-based model (1) (upper row) and the macroscale Euler equations (2) (middle row) at different times T. Lower row: relative error

5.1 Gaussian Process Regression

Assuming that we have an influence function with fractional order \(\alpha \). We would like to infer the value of the fractional order \(\alpha \). Suppose that we have the following data generated by the particle simulation:
$$\begin{aligned} \text {Data} = [\mathrm{Data}_1, \mathrm{Data}_2,\cdots , \mathrm{Data}_N]. \end{aligned}$$
We then define the input–output pairs function for the Gaussian process as
$$\begin{aligned} F(\alpha ) = \frac{\Vert \mathrm{Num}(\alpha ) - \mathrm{Data}\Vert }{\Vert \mathrm{Data}\Vert }, \end{aligned}$$
(25)
where the norm is in the \(L_2\) sense, \(\mathrm{Num}(\alpha )\) is the numerical solution of the Euler equations and \(F(\alpha )\) is the scalar output corresponding to the fractional order \(\alpha \).
In Gaussian process regression (GPR), we assume that \(F(\alpha )\) is a Gaussian process:
$$\begin{aligned} F(\alpha ) \sim GP(m(\alpha ), k(\alpha ,\alpha ')), \end{aligned}$$
where \(F(\alpha )\) is a Gaussian random variable, \(m(\cdot )\) and \(k(\cdot , \cdot )\) are the mean and covariance functions, respectively. GPR constructs the response surface based on the known input–output pairs, i.e., the training data. Assume that we have N training data points given by
$$\begin{aligned} {\varvec{D}} = \{(\alpha _1,F(\alpha _1)),(\alpha _2,F(\alpha _2)), \cdots , (\alpha _N,F(\alpha _N)) \}. \end{aligned}$$
Generally, the output would contain noise, namely the output would be
$$\begin{aligned} F(\alpha _i) + \epsilon _i, \quad i = 1,2,\cdots , N, \end{aligned}$$
where the noise \(\epsilon _i\) is considered to be Gaussian white noise, i.e., \(\epsilon _i \sim {\mathcal {N}}({\mathbf {0}},\sigma _n^2 {\mathbf {I}})\).
The goal of the GPR is to predict the output F at arbitrary test input \(\alpha ^*\). This can be obtained using the conditional distribution property for a multi-variate Gaussian random vector. The joint distribution of the test output \(F(\alpha ^*)\) and the noisy training data can be written as \((N+1)\)-variate Gaussian random vector
$$\begin{aligned} \left( \begin{array}{c} F(\alpha ^*) \\ F(\alpha _1) \\ \vdots \\ F(\alpha _N) \\ \end{array} \right) \sim {\mathcal {N}} \left( \left[ \begin{array}{c} m(\alpha ^*) \\ m(\alpha _1) \\ \vdots \\ m(\alpha _N) \\ \end{array} \right] , \left[ \begin{array}{llll} k(\alpha ^*,\alpha ^*)&{} k(\alpha ^*,\alpha _1) &{} \cdots &{} k(\alpha ^*,\alpha _N) \\ k(\alpha _1,\alpha ^*) &{} k(\alpha _1,\alpha _1)+\sigma _n^2 &{} \cdots &{} k(\alpha _1,\alpha _N) \\ \vdots &{} \vdots &{} &{} \vdots \\ k(\alpha _N,\alpha ^*) &{} k(\alpha _N,\alpha _1) &{} \cdots &{} k(\alpha _N,\alpha _N)+\sigma _n^2 \\ \end{array} \right] \right) \end{aligned}$$
or in the matrix form
$$\begin{aligned} \left( \begin{array}{l} F(\alpha ^*) \\ {\mathbf {F}}_N\\ \end{array} \right) \sim {\mathcal {N}} \left( \left[ \begin{array}{l} m(\alpha ^*) \\ {\mathbf {m}}_N\\ \end{array} \right] , \left[ \begin{array}{ll} k(\alpha ^*,\alpha ^*) &{} {\mathbf {k}}^\text{T} \\ {\mathbf {k}} &{} {\mathbf {K}} + \sigma _n^2 {\mathbf {I}}\\ \end{array} \right] \right) . \end{aligned}$$
The conditional distribution of \(F(\alpha ^*)\) given \({\mathbf {F}}_N\) is also a Gaussian distribution whose mean and covariance function are
$$\begin{aligned} \begin{aligned}&m_*(\alpha ^*) = m(\alpha ^*) + {\mathbf {k}}^\text{T}({\mathbf {K}} + \sigma _n^2 {\mathbf {I}}) ^{-1}({\mathbf {F}}_N - {\mathbf {m}}_N),\\&\sigma _*(\alpha ^*) = k(\alpha ^*,\alpha ^*) - {\mathbf {k}}^\text{T}({\mathbf {K}} + \sigma _n^2 {\mathbf {I}}) ^{-1} {\mathbf {k}}. \end{aligned} \end{aligned}$$
The procedure of GPML mainly includes training, prediction and Bayesian optimization. The training and prediction can be done with the GPR using the GPML Toolbox [27]. Next we introduce the Bayesian optimization.

5.2 Bayesian Optimization

The goal of Bayesian optimization in machine learning is to find the next input. Assume that we have N training data \(\alpha _1,\alpha _2,\cdots , \alpha _N\). To obtain the next input data \(\alpha _{N+1}\), we need to optimize the acquisition function, i.e.,
$$\begin{aligned} \alpha _{N+1} = \arg \max _{\alpha \in \Omega } \{EI(\alpha )\}, \end{aligned}$$
(26)
where \(EI(\cdot )\) is the expected improvement acquisition function defined by
$$\begin{aligned} EI(\alpha ) = [\min ({\mathbf {F}}_N) - m_{*}(\alpha )]\Phi \left( \frac{\min ({\mathbf {F}}_N) - m_{*}(\alpha )}{\sigma _{*}(\alpha )} \right) + \sigma _{*}(\alpha )\phi \left( \frac{\min ({\mathbf {F}}_N) - m_{*}(\alpha )}{\sigma _{*}(\alpha )} \right) , \end{aligned}$$
here \(\Phi (\cdot )\) and \(\phi (\cdot )\) are the standard normal cumulative distribution and density functions, respectively, \(m_{*}(\cdot )\) and \(\sigma _{*}(\cdot )\) are the predicted mean and standard deviation, respectively; \({\mathbf {F}}_N\) is the vector consisting of the N training outputs. The optimization problem (26) is solved using the modified Lipschitzian optimization algorithm [15]. Once we obtain the new training input \(\alpha _{N+1}\) with the Bayesian optimization, we then solve the Euler system of equations to get the numerical density and velocity, and then obtain the output \(F(\alpha _{N+1})\) by the equation (25). Thus, a new training data set \((\alpha _{N+1},F(\alpha _{N+1}))\) is obtained and the next iteration can start until the terminal condition is satisfied.

5.3 Numerical Examples

We now consider two numerical examples to illustrate the GPML algorithm. In the following numerical examples, the covariance function \(k(\varvec{x}, \varvec{x}')\) is taken as the frequently used Matern 5 / 2-order automatic relevance determination function [26]
$$\begin{aligned} k(\varvec{x}, \varvec{x}') = \sigma ^2\left( 1 + h + \frac{h^2}{3}\right) \text{e}^{-h}, \end{aligned}$$
where
$$\begin{aligned} h = \sqrt{\left( \sum _{i = 1}^d \frac{5(x_i - x_i')^2}{\theta _i^2}\right) }, \end{aligned}$$
with d the dimension of the input vector \(\varvec{x}\) and \(\theta _i\) the ith hyper-parameter.

5.3.1 One-Dimensional Case

Example 3

We first consider the one-dimensional problem with the same influence function and initial and boundary conditions as that for Example 1.

We first obtain the data by solving the agent-based model (1) with the particle method for a given \({\hat{\alpha }}\). We then get the positions and the corresponding velocities \(v_i^{{\hat{\alpha }},P}(t), i = 1,\cdots ,N\) of particles \(x_i^{{\hat{\alpha }}}(t), i = 1,\cdots ,N\) at time \(t = k \Delta T\), where \(\Delta T = 0.1, k = 5,6,\cdots , 20\), here we use \(N = 1\,024\) as used in Example 1. Therefore, given an input data \(\alpha \), we obtain the output data as follows: first, solving the Euler equations (2) with the finite volume method to obtain the numerical velocity \(v_i^{\alpha ,Num}(t)\) at the given points \(x_i^{{\hat{\alpha }}}(t), i = 1,\cdots ,N\), the output is given by
$$\begin{aligned} F(\alpha ) = \frac{\Vert {\varvec{v}}_{\alpha ,Num} -{\varvec{v}}_{{\hat{\alpha }},P}\Vert }{\Vert {\varvec{v}}_{{\hat{\alpha }},P}\Vert }, \end{aligned}$$
where
$$\begin{aligned} {\varvec{v}}_{{\hat{\alpha }},P}: = \left( v_1^{{\hat{\alpha }},P}(t),\cdots , v_N^{{\hat{\alpha }},P}(t)\right) ^\text{T},\; {\varvec{v}}_{\alpha ,Num}: = \left( v_1^{\alpha ,Num}(t),\cdots , v_N^{\alpha ,Num}(t)\right) ^\text{T}. \end{aligned}$$
We generate the data using agent-based simulation with two different values of the fractional order, given by \({\hat{\alpha }} = 0.5, 1.2\), and learn the effective fractional order \(\alpha \) for the Euler equations using the GPML algorithm. To solve the Euler equations (2), we use \(\Delta x = 1/256.\)
The result of learning the value of \(\alpha \) is given in Table 1. For the given data generated by the agent-based model with \({\hat{\alpha }}\), Table 1 shows that we can successfully use the Euler equations to infer the fractional order \({\hat{\alpha }}\) with the GPML algorithm. The relative error between the agent-based system and the learned Euler system of equations is about \(1\%\) for the one-dimensional cases. We also show the convergence of the Bayesian optimization in Fig. 6. Observe that the learning process converges after about 20 iterations. We observe from the result that we can use the macroscale Euler equations to learn the effective non-local influence function, namely learn the microscale agent-based model directly from particle trajectories generated by the agent-based simulations.
Table 1

Learned value of \(\alpha \) and relative error of the mean field \(F(\alpha )\) for the one-dimensional case

Given \({\hat{\alpha }}\)

Learned value of \(\alpha \)

Output \(F(\alpha )\)

0.5

0.480 3

\(1.217\,4\text{E}-02\)

1.2

1.165 1

\(7.966\,3\text{E}-03\)

Fig. 6

Convergence of the optimization problem for the one-dimensional case. Left: \({\hat{\alpha }} = 0.5\); right: \({\hat{\alpha }} = 1.2\)

5.3.2 Two-Dimensional Case

Example 4

We now consider the two-dimensional problem with the same influence function and initial and boundary conditions as that for Example 2.

Similarly as the one-dimensional case, we obtain the data by solving the agent-based model (1) with the particle method for a given \({\hat{\alpha }}\) in the square domain \(\Omega \) generating the positions \((x_i^{{\hat{\alpha }}}(t),y_i^{{\hat{\alpha }}}(t)), \, i = 1,\cdots ,N\) and the corresponding velocities \(u_i^{{\hat{\alpha }},P}(t)\) and \(v_i^{{\hat{\alpha }},P}(t), \,i = 1,\cdots , N\) of the particles at time \(t = k \Delta T\), where \(\Delta T = 0.1, k = 5,6,\cdots , 20\), here we set \(N = 9\,976\).

Therefore, for a given input data \(\alpha \), we obtain the output data as follows: first, solving the Euler equations (2) with the finite volume method to obtain the numerical velocity \(u_i^{\alpha ,Num}(t)\) and \(v_i^{\alpha ,Num}(t)\) at given points \((x_i^{{\hat{\alpha }}}(t), y_i^{{\hat{\alpha }}}(t)), i = 1,\cdots ,N\), then the output is given by
$$\begin{aligned} F(\alpha ) = \frac{1}{2}\left( \frac{\Vert {\varvec{u}}_{\alpha ,Num} -{\varvec{u}}_{{\hat{\alpha }},P}\Vert }{\Vert {\varvec{u}}_{{\hat{\alpha }},P}\Vert } + \frac{\Vert {\varvec{v}}_{\alpha ,Num} -{\varvec{v}}_{{\hat{\alpha }},P}\Vert }{\Vert {\varvec{v}}_{{\hat{\alpha }},P}\Vert }\right) , \end{aligned}$$
where
$$\begin{aligned} \begin{aligned}&{\varvec{u}}_{{\hat{\alpha }},P}: = \left( u_1^{{\hat{\alpha }},P}(t),\cdots , u_{N}^{{\hat{\alpha }},P}(t)\right) ^\text{T},\; {\varvec{u}}_{\alpha ,Num}: = \left( u_1^{\alpha ,Num}(t),\cdots , u_{N}^{\alpha ,Num}(t)\right) ^\text{T}, \\&{\varvec{v}}_{{\hat{\alpha }},P}: = \left( v_1^{{\hat{\alpha }},P}(t),\cdots , v_{N}^{{\hat{\alpha }},P}(t)\right) ^\text{T},\; {\varvec{v}}_{\alpha ,Num}: = \left( v_1^{\alpha ,Num}(t),\cdots , v_{N}^{\alpha ,Num}(t)\right) ^\text{T}. \end{aligned} \end{aligned}$$
In the numerical simulations, we test two different agent-based systems with \({\hat{\alpha }} = 0.5, 1.2\). To solve the Euler equations (2), the space steps of the finite volume method are \(\Delta x = \Delta y = 1/64\). Initially, we generate the training data with two random values of \(\alpha \). The learned values of \(\alpha \) are shown in Table 2, and the convergence results of the Bayesian optimization are shown in Fig. 7. Again, we observe that we can infer the influence function by solving the Euler system of equations with the data generated by the agent-based model. The relative error between the agent-based system and the learned Euler system of equations is about 2% for the two-dimensional cases.
Table 2

Learned value of \(\alpha \) and relative error of the mean field \(F(\alpha )\) for the two-dimensional case

Given \({\hat{\alpha }}\)

Learned value of \(\alpha \)

Output \(F(\alpha )\)

0.5

0.513 4

\(2.142\,8\text{E}-02\)

1.2

1.200 9

\(2.023\,3\text{E}-02\)

Fig. 7

Convergence of the optimization problem for the two-dimensional case. Left: \({\hat{\alpha }} = 0.5\); right: \({\hat{\alpha }} = 1.2\)

6 Summary and Discussion

We presented a comparative study of nonlocal flocking dynamics using both the agent-based model and the continuum Eulerian model. Because animals in flocks generally do not interact mechanically and can be influenced by other individuals a certain distance away, we introduced nonlocal influence functions to consider the effects of animal communication in flocking dynamics. In particular, the microscopic dynamics of each individual in flocks is described by a Cucker–Smale particle model with nonlocal interaction terms, while the evolution of macroscopic quantities, i.e., the mean velocity and the population density, is modeled by the fractional partial differential equations (fPDEs). We performed agent-based simulations to generate the particle trajectories of each individual in flocking dynamics, and also solved the Euler equations with nonlocal influence functions using a finite volume scheme. In one- and two-dimensional benchmarks of nonlocal flocking dynamics, we demonstrated that, given specified influence functions, the Euler system of equations is able to capture the correct evolution of macroscopic quantities consistent with the collective behavior of the agent-based model.

Because experiments on flocking dynamics can get time series of trajectories of individuals in flocks using digital imaging or high-resolution GPS devices, we used the trajectories generated by the agent-based simulations to mimic the field data of tracking logs that can be obtained experimentally. Subsequently, we proposed a learning framework to connect the discrete agent-based model to the continuum fPDEs for nonlocal flocking dynamics. Instead of specifying a phenomenological fPDE with an empirical fractional order, we learned the effective non-local influence function in fPDEs directly from particle trajectories generated by the agent-based simulations. More specifically, we employed a Gaussian process regression (GPR) model implemented with the Bayesian optimization to learn the fractional order of the influence function from the particle trajectories. We showed in both one- and two-dimensional examples that the numerical solution of the learned Euler system of equations solved by the finite volume scheme can yield correct density distributions consistent with the collective behaviors of the discrete agent-based system. The relative error between the agent-based system and the learned Euler system of equations is about 1% for one-dimensional cases and 2% for two-dimensional cases.

Although we only demonstrated the effectiveness of the proposed learning framework in relatively simple cases, i.e., one- and two-dimensional nonlocal flocking dynamics, this method established a direct connection between the discrete agent-based models to the continuum-based PDE models, and could serve as a paradigm on extracting effective governing equations for nonlocal flocking dynamics directly from particle trajectories. It is worth noting that the agent-based model we used in the present work does not consider stochastic terms, and thus the training data of particle trajectories do not contain noise. However, the experimental data of tracking logs obtained by digital imaging may include noise from measurement uncertainty, where a multi-fidelity framework proposed by Babaee et al. [2] can be used to handle different sources of uncertainties in the learning process. Moreover, in addition to the GPR-based learning method for connecting individual behavior to collective dynamics, it is also of interest to introduce deep learning strategies such as the CNN (convolutional neural network)-based method [25] and the particle swarm optimization algorithm [35] to bridge the gap between flocking theory/modeling and experiments.

Notes

Acknowledgements

This work was supported by the OSD/ARO/MURI on “Fractional PDEs for Conservation Laws and Beyond: Theory, Numerics and Applications (W911NF-15-1-0562)” and the DOE PhILMs Project (DE-SC0019453).

References

  1. 1.
    Antoniou, P., Pitsillides, A., Blackwell, T., Engelbrecht, A., Michael, L.: Congestion control in wireless sensor networks based on bird flocking behavior. Comput. Netw. 57(5), 1167–1191 (2013)CrossRefGoogle Scholar
  2. 2.
    Babaee, H., Perdikaris, P., Chryssostomidis, C., Karniadakis, G.E.: Multi-fidelity modelling of mixed convection based on experimental correlations and numerical simulations. J. Fluid Mech. 809, 895–917 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Ballerini, M., Calbibbo, N., Candeleir, R., Cavagna, A., Cisbani, E., Giardina, I., Lecomte, V., Orlandi, A., Parisi, G., Procaccini, A., Viale, M., Zdravkovic, V.: Interaction ruling animal collective behavior depends on topological rather than metric distance: evidence from a field study. Proc. Natl. Acad. Sci. USA 105(4), 1232–1237 (2008)CrossRefGoogle Scholar
  4. 4.
    Beekman, M., Sumpter, D.J., Ratnieks, F.L.: Phase transition between disordered and ordered foraging in pharaoh’s ants. Proc. Natl. Acad. Sci. USA 98(17), 9703–9706 (2001)CrossRefGoogle Scholar
  5. 5.
    Bernardi, S., Colombi, A., Scianna, M.: A discrete particle model reproducing collective dynamics of a bee swarm. Comput. Biol. Med. 93, 158–174 (2018)CrossRefGoogle Scholar
  6. 6.
    Bouchut, F., Jin, S., Li, X.: Numerical approximations of pressureless and isothermal gas dynamics. SIAM J. Numer. Anal. 41(1), 135–158 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Chen, D.X., Vicsek, T., Liu, X.L., Zhou, T., Zhang, H.T.: Switching hierarchical leadership mechanism in homing flight of pigeon flocks. Europhys. Lett. 114, 60008 (2016)CrossRefGoogle Scholar
  8. 8.
    Cristiani, E., Piccoli, B., Tosin, A.: Modeling self-organization in pedestrians and animal groups from macroscopic and microscopic viewpoints. In: Naldi, G., Pareschi, L., Toscani, G. (eds.) Mathematical Modeling of Collective Behavior in Socio-economic and Life Sciences, pp. 337–364. Springer, New York (2010)CrossRefGoogle Scholar
  9. 9.
    Cucker, F., Smale, S.: Emergent behavior in flocks. IEEE Trans. Autom. Control 52(5), 852–862 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Eftimie, R., de Vries, G., Lewis, M.A.: Complex spatial group patterns result from different animal communication mechanisms. Proc. Natl. Acad. Sci. USA 104(17), 6974–6979 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Figalli, Alessio, Kang, Moon-Jin: A rigorous derivation from the kinetic Cucker–Smale model to the pressureless Euler system with nonlocal alignment. Anal. PDE 12(3), 843–866 (2019)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Giardina, I.: Collective behavior in animal groups: theoretical models and empirical studies. HFSP J. 2(4), 205–219 (2008)CrossRefGoogle Scholar
  13. 13.
    Giuggioli, L., Potts, J.R., Rubenstein, D.I., Levin, S.A.: Stigmergy, collective actions, and animal social spacing. Proc. Natl. Acad. Sci. USA 110(42), 16904–16909 (2013)CrossRefGoogle Scholar
  14. 14.
    Jaffry, S.W., Treur, J.: Agent-based and population-based modeling of trust dynamics. In: Nguyen, N.T. (ed.) Transactions on Computational Collective Intelligence, vol. IX, pp. 124–151. Springer, Berlin, Heidelberg (2013)Google Scholar
  15. 15.
    Jones, D.R., Perttunen, C.D., Stuckman, B.E.: Lipschitzian optimization without the Lipschitz constant. J. Optim. Theory Appl. 79(1), 157–181 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Levine, H., Rappel, W.J., Cohen, I.: Self-organization in systems of self-propelled particles. Phys. Rev. E 63, 017101 (2001)CrossRefGoogle Scholar
  17. 17.
    Li, Z., Bian, X., Li, X., Deng, M., Tang, Y.-H., Caswell, B., Karniadakis, G.E.: Dissipative particle dynamics: foundation, evolution, implementation, and applications. In: Bodnár, T., Galdi, G.P., Nečasová, Š. (eds.) Particles in Flows, pp. 255–326. Birkhäuser, Cham (2017)CrossRefGoogle Scholar
  18. 18.
    Lukeman, R., Li, Y.X., Edelstein-Keshet, L.: Inferring individual rules from collective behavior. Proc. Natl. Acad. Sci. USA 107(28), 12576–12580 (2010)CrossRefGoogle Scholar
  19. 19.
    Mahmoodi, K., West, B.J., Grigolini, P.: Self-organizing complex networks: individual versus global rules. Front. Physiol. 8, 478 (2017)CrossRefGoogle Scholar
  20. 20.
    Nagai, K.H.: Collective motion of rod-shaped self-propelled particles through collision. Biophys. Physicobiol. 15, 51–57 (2018)CrossRefGoogle Scholar
  21. 21.
    Nagy, M., Ákos, Z., Biro, D., Vicsek, T.: Hierarchical group dynamics in pigeon flocks. Nature 464, 890–893 (2010)CrossRefGoogle Scholar
  22. 22.
    Niwa, H.-S.: Self-organizing dynamic model of fish schooling. J. Theor. Biol. 171(2), 123–136 (1994)CrossRefGoogle Scholar
  23. 23.
    Okubo, A.: Dynamical aspects of animal grouping: swarms, schools, flocks, and herds. Adv. Biophys. 22, 1–94 (1986)CrossRefGoogle Scholar
  24. 24.
    Pang, G., Perdikaris, P., Cai, W., Karniadakis, G.E.: Discovering variable fractional orders of advection-dispersion equations from field data using multi-fidelity bayesian optimization. J. Comput. Phys. 348, 694–714 (2017)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Pu, H.T., Lian, J., Fan, M.Q.: Automatic recognition of flock behavior of chickens with convolutional neural network and kinect sensor. Int. J. Pattern Recognit. Artif. Intell. 32(7), 1850023 (2018)CrossRefGoogle Scholar
  26. 26.
    Rasmussen, C.E.: Gaussian processes in machine learning. In: Bousquet, O., von Luxburg, U., Rätsch, G. (eds.) Advanced Lectures on Machine Learning, pp. 63–71. Springer, Berlin, Heidelberg (2004)CrossRefGoogle Scholar
  27. 27.
    Rasmussen, C.E., Nickisch, H.: Gaussian processes for machine learning (GPML) toolbox. J. Mach. Learn. Res. 11, 3011–3015 (2010)MathSciNetzbMATHGoogle Scholar
  28. 28.
    Shvydkoy, R., Tadmor, E.: Eulerian dynamics with a commutator forcing. Trans. Math. Appl. 1, 1–26 (2017)MathSciNetzbMATHGoogle Scholar
  29. 29.
    Shvydkoy, R., Tadmor, E.: Eulerian dynamics with a commutator forcing ii: flocking. Discr. Contin. Dyn. Syst. A 37(11), 5503–5520 (2017)MathSciNetCrossRefzbMATHGoogle Scholar
  30. 30.
    Tadmor, E., Tan, C.: Critical thresholds in flocking hydrodynamics with non-local alignment. Philos. Trans. A Math. Phys. Eng. Sci. 372(20), 20130401 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    Theraulaz, G., Bonabeau, E.: Modelling the collective building of complex architectures in social insects with lattice swarms. J. Theor. Biol. 177(4), 381–400 (1995)CrossRefGoogle Scholar
  32. 32.
    Tunstrom, K., Katz, Y., Ioannou, C.C., Huepe, C., Lutz, M.J., Couzin, I.D.: Collective states, multistability and transitional behavior in schooling fish. PLoS Comput. Biol. 9(2), e1002915 (2013)MathSciNetCrossRefGoogle Scholar
  33. 33.
    Wang, H., Du, N.: Fast solution methods for space-fractional diffusion equations. J. Comput. Appl. Math. 255, 376–383 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  34. 34.
    Wang, H., Tian, H.: A fast and faithful collocation method with efficient matrix assembly for a two-dimensional nonlocal diffusion model. Comput. Methods Appl. Mech. Eng. 273, 19–36 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  35. 35.
    Wang, D., Tan, D., Liu, L.: Particle swarm optimization algorithm: an overview. Soft Comput. 22(2), 387–408 (2018)CrossRefGoogle Scholar
  36. 36.
    Yang, Y., Wei, D., Shu, C.-W.: Discontinuous Galerkin method for Krause’s consensus models and pressureless Euler equations. J. Comput. Phys. 252, 109–127 (2013)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Shanghai University 2019

Authors and Affiliations

  1. 1.Division of Applied MathematicsBrown UniversityProvidenceUSA
  2. 2.Pacific Northwest National LaboratoryRichlandUSA

Personalised recommendations