It is computationally expensive to resolve all scales in a turbulent flow simulation (Direct Numerical Simulation (DNS)) thus it is common practice to use a cheaper, coarse-grained simulation such as Large Eddy Simulation (LES). LES uses coarse grids and simulates only coarse-grained (resolved) variables while modeling the subgrid effects. The simulated data output by the LES models can be thought of as a filtered velocity field, i.e. the simulation 'smooths' out the velocity values and erases small structures.
The aim of this project is to recover the true structure of a velocity field from its coarse-grained computation using a convolutional neural network architecture.
LES velocity filtering can be modeled as a translation-invariant convolution
The network architecture is adopted from Xu et al. paper (2014):
Deep convolutional neural network for image deconvolution,
where the authors use kernel separability achieved by singular value decomposition (SVD) of the pseudo-inverse kernel
I used turbulence flow data from Johns Hopkins Turbulence Database (JHTDB), in particular, Isotropic 1024 Coarse dataset. To populate dataset for CNN, I used rotation, reflection and shifting (since data is periodic). Shuffled ready-to-use dataset can be found here.
$ python main.py