Coder Social home page Coder Social logo

nikola-m / freeshearlayer Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 4.0 1.04 MB

A code based on the Finite Volume Method discretisation of Navier-Stokes equations for simulation of compressible shear layer

License: MIT License

Makefile 0.60% C 98.58% C++ 0.83%
cfd navier-stokes turbulence aerodynamics finite-volume

freeshearlayer's Introduction

freeShearLayer

A CFD code based on the Finite Volume Method discretisation of Navier-Stokes equations for simulation of compressible shear layer.

The code was originally written by Andrei Chernousov back in early 2000's and published on his website (still available here ). The basic code had several versions, because each simulation case (mesh, initial and boundary conditions, etc.) was individually hardcoded. There were no efforts as I am aware to further develop these so this repository has intention of changing that. We have already made some basic changes to the code, on the side of the algorithm itself and regarding the organisation of the project.

Further we will include other cases and make code more general.

For now, the algorithm is based on Finite Volume Method discretisation of Navier-Stokes equations on Cartesian grids. Piecewise parabolic method (Woodward-Collela JCP 1984) is used for reconstruction of face values of variables. Explicit TVD Runge-Kutta methods are used for time-steping. Approximate-Riemann solvers are used for inviscid fluxes. Ghost cell approach is used to impose boundary conditions (good choice for the explicit method). Postprocesing files are written in Tecplot format. Turbulence is modelled using LES models, namely Smagorinsky with wall damping by Van Driest function is used, where applicable. This will be the focus of upgrade in the future as we plan to implement more LES models.

Programing language

Code is written in ANSI C language.

Parallelisation

Available soon, using MPI.

Basic usage:

cd src
mkdir obj
make
cd ..
./run

Input file is given with .ini extension and can be easily modified.

Simulation snapshot of the Vorticity magnitude isosurface:

Free Shear Layer Vorticity Snapshot

Isosurfaces of Q criteria (Q = 5) coloured by pressure. Simulation performed in parallel on two processors:

Free Shear Layer Q-criteria Snapshot

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.