Skip to content

hyschive/turbulence_generator

 
 

Repository files navigation

TurbGen - Turbulence Generator

This tool generates a time sequence of random Fourier modes via an Ornstein-Uhlenbeck (OU) process, used to drive turbulence in hydrodynamical simulation codes. It can also generate single turbulent realisations.

Turbulence driving based on this method is currently supported by implementations in AREPO, FLASH, GADGET, PHANTOM, PLUTO.

Main files:

  • 'TurbGen.h' contains the main C++ class with functions and data structures used by the generator.
  • 'TurbGen.cpp' is an MPI-parallelised program that computes turbulent field(s) with specified parameters and writes the field(s) to an HDF5 file.
  • 'TurbGenDemo.cpp' contains 3 basic examples for how to include and use the generator, including the generation of driving via an OU process and the generation of single turbulent fields.
  • 'TurbGen.par' is the parameter file that controls the turbulence driving.

Directory 'plugins' contains examples of how TurbGen.h is used in hydrodynamical codes.

Directory 'python' contains a python frontend, which calls TurbGen to generate single turbulent fields and to analyse their properties (statistics, PDFs, power spectra).

What are the first steps when working with this repository?

  • Create a fork of this repo to your own bitbucket account.
  • Clone the fork from your bitbucket account to your local computer.
  • Make your own modifications, commit, push, etc.
  • If you want (some of) your own changes to go into this main repo, please create a pull request.

Copyright notes

If you use this code, please refer to and cite Federrath et al. (2010, A&A 512, A81): https://ui.adsabs.harvard.edu/abs/2010A%26A...512A..81F/abstract

@ARTICLE{2010A&A...512A..81F,
author = {{Federrath}, C. and {Roman-Duval}, J. and {Klessen}, R.~S. and {Schmidt}, W. and {Mac Low}, M. -M.},
title = "{Comparing the statistics of interstellar turbulence in simulations and observations. Solenoidal versus compressive turbulence forcing}",
journal = {\aap},
keywords = {hydrodynamics, ISM: clouds, ISM: kinematics and dynamics, methods: numerical, methods: statistical, turbulence, Astrophysics - Solar and Stellar Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},
year = 2010,
month = mar,
volume = {512},
eid = {A81},
pages = {A81},
doi = {10.1051/0004-6361/200912437},
archivePrefix = {arXiv},
eprint = {0905.1060},
primaryClass = {astro-ph.SR},
adsurl = {https://ui.adsabs.harvard.edu/abs/2010A&A...512A..81F },
adsnote = {Provided by the SAO/NASA Astrophysics Data System}}

Main contact

About

TurbGen - Turbulence driving and initial conditions generator.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 42.2%
  • Fortran 33.2%
  • C 16.1%
  • Python 7.4%
  • Other 1.1%