All Projects → turbulencia → tlab

turbulencia / tlab

Licence: GPL-3.0 license
No description or website provided.

Programming Languages

fortran
972 projects
python
139335 projects - #7 most used programming language
shell
77523 projects
CMake
9771 projects
c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to tlab

NGA2
Object-oriented multi-mesh version of the classic reacting turbulent multiphase flow solver
Stars: ✭ 25 (+31.58%)
Mutual labels:  cfd, turbulence
CaNS
A code for fast, massively-parallel direct numerical simulations (DNS) of canonical flows
Stars: ✭ 144 (+657.89%)
Mutual labels:  cfd, turbulence
WABBIT
Wavelet Adaptive Block-Based solver for Interactions with Turbulence
Stars: ✭ 25 (+31.58%)
Mutual labels:  cfd, turbulence
exadg
ExaDG - High-Order Discontinuous Galerkin for the Exa-Scale
Stars: ✭ 62 (+226.32%)
Mutual labels:  cfd, turbulence
SNaC
A multi-block solver for massively parallel direct numerical simulations (DNS) of fluid flows
Stars: ✭ 26 (+36.84%)
Mutual labels:  cfd, turbulence
alsvinn
The fast Finite Volume simulator with UQ support.
Stars: ✭ 22 (+15.79%)
Mutual labels:  cfd
hurtrade
An Open Source Forex Trading Platform
Stars: ✭ 22 (+15.79%)
Mutual labels:  cfd
ccfd
A 2D finite volume CFD code, written in C
Stars: ✭ 26 (+36.84%)
Mutual labels:  cfd
Fluid2d
A versatile Python-Fortran CFD code that solves a large class of 2D flows
Stars: ✭ 49 (+157.89%)
Mutual labels:  cfd
taiga-stats
Generate statistics from Taiga and produce burnup diagrams, CFDs, dependency graphs and more.
Stars: ✭ 40 (+110.53%)
Mutual labels:  cfd
classy blocks
Python classes for easier creation of OpenFOAM's blockMesh dictionaries.
Stars: ✭ 53 (+178.95%)
Mutual labels:  cfd
UCNS3D
Unstructured Compressible Navier Stokes 3D code (UCNS3D)
Stars: ✭ 141 (+642.11%)
Mutual labels:  cfd
jax-cfd
Computational Fluid Dynamics in JAX
Stars: ✭ 399 (+2000%)
Mutual labels:  cfd
tabulatedThermophysicalProperties
No description or website provided.
Stars: ✭ 26 (+36.84%)
Mutual labels:  cfd
Kinetic.jl
Universal modeling and simulation of fluid dynamics upon machine learning
Stars: ✭ 82 (+331.58%)
Mutual labels:  cfd
TEGAN
Generative Adversarial Network (GAN) for physically realistic enrichment of turbulent flow fields
Stars: ✭ 60 (+215.79%)
Mutual labels:  turbulence
fluidfoam
OpenFoam postprocessing python tool
Stars: ✭ 94 (+394.74%)
Mutual labels:  cfd
eddylicious
eddylicious.readthedocs.io/
Stars: ✭ 30 (+57.89%)
Mutual labels:  cfd
MacroUtils
MacroUtils is a collection of high-level APIs in order to make your life easier when writing STAR-CCM+ JAVA macros.
Stars: ✭ 32 (+68.42%)
Mutual labels:  cfd
range3
Range Software - Finite Element Analysis
Stars: ✭ 31 (+63.16%)
Mutual labels:  cfd

Tlab

Tools to simulate and analyze turbulent flows in 2D and 3D configurations. The numerical schemes are based on compact finite differences and Runge-Kutta methods. Meshes are structured and allow grid stretching. There are two possible simulation modes [temporal|spatial], which correspond to temporally evolving flows and spatially evolving flows, respectively. This parameter refers to the statistical homogeneities of the configuration, and it partly defines the boundary conditions and the calculation of statistical properties. The code implements a hybrid parallelization: MPI for a domain decomposition in the first and third directions, and OpenMPI in big loops.

Some examples of applications can be found in this website.

See doc/manual.pdf for more information.

Install

In order to compile the code, run the following commands:

cd ${PATH_TO_TLAB}
mkdir build
cd build
cmake ../src -DSYST={mpipc,juqueen,...} -DBUILD_TYPE={BIG,LITTLE,PARALLEL,NONBLOCKING}
make

Instead of mpipc or juqueen, you have to use the corresponding file from the directory ${PATH_TO_TLAB}/config

You can also run ./configure.sh, which would create the different build_* directories automatically for your system if appropriately set up.

To clean the tree, simply delete the directories build*

Prerequisites

  • cmake
  • fortran compiler
  • FFTW
  • Optionally, NetCDF for statistical data.

Check

In order to check the code, run the following commands:

cd ${PATH_TO_DNS}
cd examples
make check BINS_PATH=${bins_LITTLE,bins_BIG,...} PRJS=${Case01,Case02,...}

Instead of bins_LITTLE or bins_BIG, you have to use the corresponding directory whose executables you want to check.

If the variable PRJS is not passed, all projects in the directory examples will be checked.

To clean the examples tree, run make clean.

Use valgrind to check for memory leaks.

Directory organization

  • config: configuration files for different architectures and compilers
  • doc: documentation files
  • examples: sample cases for reference and for debugging
  • scripts: shell and python scripts for job management and postprocessing
  • src: source files
    • src/tools: executables
    • src/mappings: library with mappings from 3D fields to 3D, 2D and 1D data
    • src/operators: library with operators that depend only on fdm routines
    • src/fdm: library with finite difference schemes
    • src/utils: library with basic generic operators
    • src/external: external libraries, if any
    • src/modules: constants, variables, arrays and basic procedures
    • ...

Library dependencies

tools → mappings → operators → {fdm,filter,io,thermo,utils,external} → tlab

Data structure

Restart files

  • IEEE double precision floating point representation
  • Sequential access mode
  • Unformatted records
  • Endianness determined in the compiler options
  • No record length information: first 4-bytes are an integer pointing to the field array after the header

Arrays

  • The inner-most index is the first (streamwise) direction
  • The outer-most index is the third (spanwise) direction
  • MPI domain decomposition in these two directions
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].