Modelling turbulence via numerical functional integration using Burgers’ equation
We investigate the feasibility of modelling turbulence via numeric functional integration. By transforming the Burgers’ equation into a functional integral we are able to calculate equal-time spatial correlation of system variables using standard methods of multidimensional integration. In contrast to direct numerical simulation, our method allows for simple parallelization of the problem as the value of the integral within any region can be calculated separately from others. Thus the calculations required for obtaining one correlation data set can be distributed to several supercomputers and/or the cloud simultaneously.
We present the mathematical background of our method and its numerical implementation. We are interested in a steady state system with isotropic and homogeneous turbulence, for which we use a lattice version of the functional integral used in the perturbative analysis of stochastic transport equations. The numeric implementation is composed of a fast serial program for evaluating the integral over a given volume and a parallel Python wrapper that divides the problem into subvolumes and distributes the work among available processes. The code is available at https://github.com/iljah/hdintegrator for anyone to download, use, study, modify and redistribute.
We present velocity cross correlation for a 10x2 lattice in space and time respectively, and analyse the computational resources required for the integration. We also discuss potential improvements to the presented method.
unctional integration; burgers equation;
Understanding turbulence is likely relevant for phenomena of any scale, from particle collisions in an accelerator  and human blood circulation  to atmospheric and oceanic circulation, solar wind  and even galaxy clusters . Most commonly used methods for studying turbulence involve solving Navier-Stokes (NS) equations in various forms. Implicit large eddy simulation (LES) methods do not include a term for viscosity in NS equation, but numerical errors due to finite accuracy of floating point numbers act implicitly as an artificial viscosity. Explicit, or plain, LES methods include turbulent effects using averaged NS equations or with empirical small scale models. Direct numerical simulation (DNS) methods add a viscosity term explicitly into NS equation which allows, in principle, to fully describe turbulent flow. In practice DNS methods are compulationally very expensive if one is to describe both large and small spatial scales and their interaction, and require a powerful supercomputer. The problem is exacerbated by the fact that, for example, doubling the Reynolds number increases the amount of memory required by at least an order of magnitude , making it currently impossible to model many systems with realistic Reynolds numbers.
We present a new approach for modelling turbulence via numerical functional integration. By transforming the Burgers’ equation into a functional integral, we are able to calculate equal-time spatial correlation of system variables using standard methods of multidimensional integration. In contrast to direct numerical simulation, our method allows for simple parallelization of the problem as the value of the integral within any region can be calculated separately from others. Thus the calculations required for obtaining one correlation data set can be distributed to several supercomputers and/or the cloud simultaneously.
2 Mathematical background
We use a lattice version of the functional integral used in the perturbative analysis of stochastic transport equations (see, e.g., [6, 7]). We are considering the case of isotropic and homogeneous turbulence, therefore we use periodic boundary conditions in space. Since we are interested in the steady state of the system, we have imposed periodic condition with respect to time. Due to these choices the normalization constant for calculation of moments of the velocity field has to be calculated numerically.
The eventual goal is the random force uncorrelated in time but concentrated in a narrow slice of (small) wave numbers in the Fourier representation. In order to assess the feasibility of this approach, we are considering here the simplest case of random force uncorrelated both in space and time.
It is customary to analyze the statistical properties of the turbulent system in terms of single-time correlation functions. Under these conditions the actual multi-dimensional integral to represent the functional integral for the two-point correlation function is of the form
where is the normalization constant. In (1) the lattice constant is , the time step , the (kinematic) viscosity is and the variance of the random force is . For economy of notation we have not written explicitly in (1) the periodic conditions imposed on the velocity field in time and space.
3 Numerical implementation
We use the HDIntegrator program  for evaluating the functional integrals in parallel on the Finnish Meteorological Institute’s Cray XC 40 supercomputer. The integration volume is subdivided into smaller and smaller subvolumes until one or more of user-defined criteria for convergence is reached. Convergence of the solution for each subregion is checked by evaluating the integral twice, where the second evaluation uses some factor of more samples decided by the user. Currently the solution is defined as converged when one more of the following criteria are satisfied: 1) the absolute relative difference between results within a subvolume is smaller than some factor, or 2) the absolute difference between results is smaller than some value, or 3) the maximum absolute value of results is less than some value. Listing 1 shows an example invocation and output of hdintegrator for calculating (half of) the volume of a unit sphere in 4 dimensions with a 3-dimensional integrand.
We implement the integrand for functional integrals using the Monte Carlo integration algorithms of the GNU Scientific Library . HDIntegrator communicates with the integrand via standard input and output in ASCII format. Every line of input to the integrand consists of the number of samples and the extent of integration volume in every dimension. Every line of output from the integrand consists of the result, absolute error and a suggestion in which dimension to split the subvolume in case convergence is not achieved. Listing 2 shows an example invocation of the integrand for evaluating an integral and is essentially how the integrand is executed also by the parallel Python wrapper.
4 Single-time velocity correlation of Burgers equation
We calculate the single-time velocity correlation of Burgers equation on a lattice of 10 spatial and 2 temporal points for which in (1) and transform the integration range from to . We examine the convergence of the result by calculating the integral using different convergence criteria when the number of samples within each subvolume is doubled from : 1) the absolute relative difference between results is at most between 2.5 % and 8.5 % (1.025 and 1.085). 2) the absolute difference between results is at most between 0.5 and 2. 3) the maximum absolute value of either result is at most between 0.5 and 2.
Figure 1 shows the normalized single-time velocity correlation of Burgers equation in a 10x2 space and time lattice as a function of correlation distance in number of spatial points. For each correlation distance, two results are shown for different convergence criteria used. The results with strictest convergence criteria are shown in cyan. Each value is normalized by calculating the integral with the velocity factors in (1) in front of the exponential set to 1.
Figure 2 shows a histogram of integration subvolume centres as a function of distance from origin for an integral of correlation distance of 5. The distances from origin are normalized by where D is the number of dimensions. Integration proceeds to smaller and smaller subvolumes until convergence is reached and one can see that the largest number of subvolumes, and hence two worst convergence, is concentrated around a shell at a distance of approximately 0.55 from origin.
The smallest computational resources required for obtaining one point in Figure 1 used approximately core hours of computational time and required a total of less than 10 GB of memory while the largest resources for one result required on the order of core hours and 100 GB of memory. The required memory can most likely be decreased significantly by further optimizing its use in the parallel Python wrapper as well as switching from a Python implementation to e.g. C++. Substantial gains in required computational time will probably require a different integrand from (1). In this regard potential optimizations include switching from cartesian to spherical coordinates in order to better concentrate resolution where it is needed (cf. Figure 2) and/or directly calculating the Fourier spectrum of the single-time velocity correlation. Utilizing GPUs and/or cloud computing is also an option worth exploring in the future.
We present a method for modelling turbulence via numerical functional integration. As a first step, we study single-time velocity correlation of Burgers’ equation by transforming it into a functional integral that we solve with a parallel Python wrapper over the Monte Carlo integrators of GNU Scientific Library.
In contrast to direct numerical simulation, our method allows for simple parallelization of the problem as even a single integral can be evaluated independently over different subvolumes. Here we evaluated each point in Figure 1 separately but in parallel using 140-280 Intel Haswell cores and at most our calculation used 1540 cores simultaneously of the Cray XC40 supercomputer installed at the Finnish Meteorological Institute.
The results show that, as a first step, our method is promising but there still remains substantial work in developing an optimized approach for integration that is most suitable to this particular problem.
The work of IH was funded by the Emil Aaltonen foundation.
- Blaizot JP, Iancu E, Mehtar-Tani Y. Medium-induced qcd cascade: Democratic branching and wave turbulence. Phys Rev Lett. 2013 Jul;111:052001. Available from: https://link.aps.org/doi/10.1103/PhysRevLett.111.052001.
- Sabbah HN, Stein PD. Turbulent blood flow in humans: its primary role in the production of ejection murmurs. Circulation Research. 1976;38(6):513–525. Available from: http://circres.ahajournals.org/content/38/6/513.
- Goldstein ML, Wicks RT, Perri S, et al. Kinetic scale turbulence and dissipation in the solar wind: key observational results and future outlook. Philosophical Transactions of the Royal Society of London A: Mathematical, Physical and Engineering Sciences. 2015;373(2041). Available from: http://rsta.royalsocietypublishing.org/content/373/2041/20140147.
- Zhuravleva I, Churazov E, Schekochihin AA, et al. Turbulent heating in galaxy clusters brightest in x-rays. Nature. 2014;515.
- McComb WD. The physics of fluid turbulence. Clarendon,Oxford; 1990.
- Adzhemyan LT, Antonov NV, Vasil’ev AN. The field theoretic renormalization group in fully developed turbulence. London: Gordon & Breach; 1999.
- Vasil’ev AN. The field theoretic renormalization group in critical behavior theory and stochastic dynamics. Boca Raton: Chapman Hall/CRC; 2004.
- Honkonen I. High-dimensional integrator. Journal of Open Source Software. 2017 Dec;2:437. Available from: http://joss.theoj.org/papers/10.21105/joss.00437.
- Galassi M, Theiler J. Gsl - gnu scientific library, version 2.4 ; 2017. Available from: https://www.gnu.org/software/gsl/.