International Journal of Aerospace Engineering

Volume 2019, Article ID 8291616, 15 pages

https://doi.org/10.1155/2019/8291616

## Using the Nonuniform Dynamic Mode Decomposition to Reduce the Storage Required for PDE Simulations

^{1}Ohio State University, Columbus, OH 43210, USA^{2}Riverside Research, Beavercreek, OH 45431, USA

Correspondence should be addressed to Brenton T. Hall; moc.liamg@hcraeserllahb

Received 27 February 2018; Accepted 14 September 2018; Published 3 January 2019

Academic Editor: Angel Velazquez

Copyright © 2019 Brenton T. Hall et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Partial Differential Equation simulations can produce large amounts of data. These datasets are very slow to transfer, for example, from an off-site supercomputer to a local research facility. There have been many model reduction techniques that have been proposed and utilized over the past three decades. Two of the most popular techniques are the Proper Orthogonal Decomposition and Dynamic Mode Decomposition. Nonuniform Dynamic Mode Decomposition (NU-DMD) is one of the newest techniques as it was introduced in 2015 by Guéniat et al. In this paper, the NU-DMD’s mathematics are explained in detail, and three versions of the NU-DMD’s algorithm are outlined. Furthermore, different numerical experiments were performed on the NU-DMD to ascertain its behavior with respect to errors, memory usage, and computational efficiency. It was shown that the NU-DMD could reduce an advection-diffusion simulation to 6.0075% of its original memory storage size. The NU-DMD was also applied to a computational fluid dynamics simulation of a NASA single-stage compressor rotor, which resulted in a reduced model of the simulation (using only three of the five simulation variables) that used only about 4.67% of the full simulation’s storage with an overall average percent error of 8.90%. It was concluded that the NU-DMD, if used appropriately, could be used to possibly reduce a model that uses 400 GB of memory to a model that uses as little as 18.67 GB with less than 9% error. Further conclusions were made about how to best implement the NU-DMD.

#### 1. Introduction

Partial Differential Equation (PDE) simulations can generate hundreds of gigabytes of data. However, it is very slow to transfer these large datasets. The purpose of this article was to find an algorithm to accurately reduce the storage size requirement of these types of models. This, in effect, will increase the transfer rate of these datasets from, for example, an off-site supercomputer to a local research facility. A decomposition of the model can be used to reduce the storage size requirement of these models. There have been many different model reduction techniques proposed over the past three decades. Two of the most popular are the Proper Orthogonal Decomposition (POD) and Dynamic Mode Decomposition (DMD).

POD is a model reduction technique, which can capture the relevant dynamics of a fluid flow problem [1]. POD has been used frequently over the past few decades to extract coherent flow structures from flow-field time snapshots. This is done by ranking the dominant structures of the flow by their energy, which is achieved “by diagonalizing the temporal and spatial correlation matrix calculated from the time step sequence” [2].

DMD is another model reduction technique, which also extracts coherent structures from flow-field time snapshots. Reference [2] states that the DMD algorithm was developed by Schmid in 2010 [3] with previous development of the Koopman analysis of a dynamic system done by Mezic [4] and Rowley et al. [5]. Schmid also applied the DMD to experimental data in [6]. Although DMD is closely related to POD, DMD ranks the modes by their growth rates or amplitudes and not by ranking the orthogonal modes by the amount of energy [7, 8]. Furthermore, DMD looks at the spectral (or temporal) and spatial orthogonalities, which results in frequency information as well as the structural information [2]. The DMD modes oscillate at one frequency while the POD modes oscillate at multiple frequencies. This means that an advantage of DMD is that it clearly separates each structure spatially and spectrally, while the POD structures can be contaminated by other uncorrelated structures [9].

The Nonuniform DMD (NU-DMD), introduced in 2015 by Guéniat et al., is one of the newest model reduction techniques, and its application to reducing the storage size requirement of PDE simulations is the main topic of this article. As its name implies, the NU-DMD allows the use of nonuniform or random time snapshots enabling the user more flexibility. However, it is also capable of using uniform time samples, which is how it is used in the remainder of this article [10].

The outline for the remainder of this paper is as follows: Section 2 explains and develops the mathematics and algorithm of the NU-DMD; Section 3 outlines three versions of the NU-DMD algorithm that will be utilized in the remainder of the paper; Section 4 shows numerous numerical experiments that were conducted to explain, quantify, and differentiate these three algorithms; Section 5 discusses different approaches to implement the NU-DMD on a computational fluid dynamics (CFD) simulation and presents a reduced model for the CFD simulation; and, finally, Section 6 presents the conclusions.

#### 2. Mathematics of the NU-DMD Algorithm

The NU-DMD algorithm introduced by Guéniat et al. [10] gives the reduced-model approximation at an arbitrary time as where the set are spatial modes (in the form of column vectors) and the set are temporal coefficients. is the number of modes retained in the approximation.

##### 2.1. The NU-DMD Decomposition

In order to calculate the above approximation, we must first obtain a data matrix , which is known as the Krylov matrix. This matrix contains observation vectors from either a numerical simulation or an experiment. The Krylov matrix is defined as , where is the number of spatial points and is the number of time steps or snapshots. In words, each column of is a time step and contains every spatial point. The ordering of the spatial points is arbitrary as long as it is consistent among every time step.

To find the spatial modes and temporal coefficients, we first express the Krylov matrix as where and and contains the temporal coefficients and is defined as

Note that due to the nature of matrix multiplication and the dimensions of and , the number is arbitrary, and therefore, we are able to select the number of spatial modes. This gives us the ability to choose just how much memory to save or how much accuracy to retain. That is, if we keep more spatial modes, it will produce a more accurate approximation after reconstruction, but we will save less memory and vice versa.

##### 2.2. Computing the Temporal Coefficients and Spatial Modes

Now that we have established a form to decompose the Krylov matrix, we can now begin to solve for the temporal coefficients contained in and then the spatial modes contained in . We solve for by minimizing the residual matrix . To do this, we first must define in terms of variables that we know or for which we can solve. Provided that the Frobenius norm of the is small, we can accurately approximate by where is the Moore-Penrose pseudoinverse of . Now, we can substitute (4) into (2) to obtain

Now solving for and factoring out to make the future computation faster, we have where is the identity matrix of size .

Finally, we can state the minimization problem as

Note that and are functions of . Thus, we need to find such that is minimized in the Frobenius sense. This can be easily solved by algorithms such as the derivative-free Nelder-Mead method or, e.g., the fminsearch function in MATLAB, which uses the Nelder-Mead simplex direct search method (see https://www.mathworks.com/help/matlab/ref/fminsearch.html). Lastly, we can easily solve for the spatial modes with simple matrix multiplication using the equation

##### 2.3. Efficiency of the Minimization Problem

The minimization problem can be made more efficient when by evaluating the QR decomposition of such that with and . Therefore, the minimization problem reformulates as and it now only involves matrices of size (notice the product of is also ), which will greatly improve efficiency because there are fewer floating point operations (flops) to perform per iteration in a minimization algorithm.

Now, the NU-DMD algorithm’s efficiency can be further improved upon by reducing the number of spatial points . As stated by Guéniat et al., “a space-decimated Krylov matrix may capture the temporal features of the flow.” Therefore, we can select a small number of the spatial points and still obtain a good approximation. The new set of spatial points makes the observables and the Krylov matrix . Now, the minimization problem is

This minimization problem will be more efficient than what we originally had in (7) as there will be far fewer flops to perform for the matrix multiplication. However, we can still use the QR decomposition of when . Therefore, we now have

Although this minimization problem still only involves matrices of size , it will actually be more time efficient than (9). However, it can cause the accuracy of the reduced - model to decrease. These two artifacts are illustrated in Section 4.

##### 2.4. Decreasing the Number of Spatial Points

The problem of reducing the number of spatial points can be formulated as finding the set of indices such that calculated via (10) is a good approximation to calculated via (7). To be able to solve this, we need to determine the dynamics of the flow, find spatial points where the dynamics of the flow are similar, and then only keep these spatial points.

To determine the dynamics of a single spatial point, we just need to calculate the Fourier time series of each spatial point. That is, if the observables are stated in the form then we need to find the Fourier time series in the form

To reiterate, each row of the Krylov matrix corresponds to a single spatial point and each column of represents a single point in time. Therefore, we need to find the Fourier time series of each row of . Note that since these time series are not dependent on each other, they could be computed in parallel.

If we have data that is uniform in time, we can simply utilize the Discrete Fourier Transform (DFT) or, in practice, the Fast Fourier Transform (FFT) to obtain the needed Fourier time series of each spatial point. Then, to find spatial points with similar dynamics, we need to find the dominant Fourier spectrum of the obtained time series. To this aim, we simply need to cluster the collection of Fourier coefficients (note that the FFT outputs a set of complex numbers, wherein we must then find the modulus of each complex number to find each corresponding coefficient). The standard K-means algorithm was used for this purpose in this work.

The K-means algorithm is a method of vector quantization. The algorithm “finds cluster centroids that minimize the distance between data points and the nearest centroid.” Essentially, K-means finds a collection of k vectors such that a data vector can be reconstructed in such a way that the error is minimized [11].

Finally, we simply need to retain the spatial points that correspond to the coefficient vectors that are closest to their cluster centroid. Then, we can continue to find the spatial modes and the temporal coefficients with the space-decimated Krylov matrix .

If the data is nonuniform in time, we cannot use the FFT. Although we do not present it in this article, [10] proposes a technique that approximates the set of the Fourier coefficients and then continues with the above algorithm. Also according to [10], it is also possible to use a suboptimal relaxation technique for use with nonuniform in time data. But since PDE simulations yield a uniform in time dataset, the FFT is used to find the time series of each spatial point in this article.

#### 3. Three Versions of the NU-DMD Algorithm

As discussed in Section 2, there are different methods of performing steps in the NU-DMD algorithm. This chapter will outline the three algorithms that are used throughout the remainder of this paper.

Algorithm 1 is the simplest version of the NU-DMD. However, it is also the most inefficient as shown in Section 4.1. As stated in step 1 below, the minimization problem uses the entire Krylov matrix , which, as discussed earlier, uses more flops per iteration of the minimization method.