Giter VIP home page Giter VIP logo

dnsbox's Introduction

dnsbox

dnsbox is a fortran code for the direct numerical simulation (DNS) of the sinusoidally forced Navier-Stokes equations (Kolmogorov flow) in a triply periodic domain.

Compilation

To compile in a Linux environment, you need the development libraries of:

  • openmpi
  • fftw3
  • BLAS
  • LAPACK

and GFortran (version 9 or higher). On Ubuntu, the packages "build-essential gfortran libfftw3-dev libopenmpi-dev libblas-dev liblapack-dev" should be sufficient.

To compile the simulator, do

make

Running

Simulations are started from a pair of files: state.000000 containing the state data and parameters.in containing the physical, output and debugging parameters.

Such a sample initial condition that leads to turbulence with a lifetime longer than 10 000 is in test/. To run it, you can create a folder, say, rundir,

mkdir rundir

copy the simulator binary (dns.x), the initial condition (state.000000) and the parameter input file (parameters.in) there,

cp dns.x rundir/
cp test/* rundir/

go to rundir,

cd rundir

and run the simulator on N cores, detaching from the terminal, and redirecting stdout (1) and stderr (2) to the file log,

nohup mpirun -np N dns.x > log 2>&1 &

Take note of the output process ID, say 123456, you can use it to kill the simulation,

kill 123456

unless it stops by itself due to laminarization, runtime limits (see parameters.in) or errors.

One can also start simulations from random initial conditions by setting IC to -1.

Utilities

As the run goes on, it will write state files (state.123456) and a file containing observables and time-stepper data (stat.gp). To visualize stat.gp, you can do

dnsstats ./ 0 -1

Citing

If you use dnsbox in your research, please cite

  • [YHB2021] G. Yalnız, B. Hof, N. B. Budanur, Coarse Graining the State Space of a Turbulent Flow Using Periodic Orbits. Physical Review Letters 126, 244502 (2021), arXiv:2007.02584.

Papers using dnsbox

dnsbox's People

Contributors

gokhanyalniz avatar burakbudanur avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.