Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aezx_v1_0.tar.gz(39602 Kbytes)
Manuscript Title: DNSLab: a gateway to turbulent flow simulation in Matlab
Authors: V. Vuorinen, K. Keskinen
Program title: DNSLab
Catalogue identifier: AEZX_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 203(2016)278
Programming language: Matlab (2014&2015) Compatible with Octave (tested on v-3.x.x and v-4.0.0).
Computer: Any work-station or laptop computer where Matlab is running.
Operating system: Linux and Windows, and Mac OS X.
Has the code been vectorised or parallelized?: Vectorization in Matlab is utilized.
RAM: The peak memory consumption for the distributed default test cases is about 600 Mb for Channel3dLab (723 grid) and about 150 Mb for NS2dLab (256 2 grid). Matlab as such requires about 350 Mb of memory without GUI.
Keywords: Matlab, Navier-Stokes, CFD, DNS, LES, turbulence, OpenFOAM.
Classification: 12, 4.3, 4.6.

Nature of problem:
Numerical solution of the Navier-Stokes equations in turbulent state is demonstrated in Matlab environment for two test problems: turbulent 3d channel flow and 2d periodic array of vortices. The high-level, interpreted language Matlab enables the solution of turbulent flows using compact and short code syntax. Both of the problems are of high relevance in numerical test phases of research, and in education and numerical simulation of turbulence.

Solution method:
The two solvers of DNSLab are based on the fractional step projection methods utilizing finite differences in 3d, and Fourier pseudo-spectral method in 2d. The time integrator in both solvers is the classical fourth order Runge-Kutta scheme.

Restrictions:
As such, the implemented codes are limited to either periodic or simple channel flow configurations. In general, stability of fluid flow solvers is dependent on the Reynolds number, Courant number, Courant-Friedrichs-Lewy number, the initial data, as well as linear solver settings.

Running time:
Results for test cases can be produced in tens of seconds in 2d and in a few minutes in 3d. Runtime grid size dependence is investigated in the manuscript.