Skip to content

CYM-YYds/ImmerseFlow

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ImmerseFlow++ : A C++ and CUDA Based Navier-Stokes Solver Using Sharp Interface Immersed Boundary Method

License

Overview

ImmerseFlow++ is a Navier-Stokes simulation code designed to solve fluid flow problems involving complex geometries and moving boundaries. The code uses sharp-interface immersed boundary method and implemented for GPUs using CUDA and C++.

Features

  • 2D and 3D Navier-Stokes Equations: Comprehensive solution capabilities for both two-dimensional fluid flow problems. 3D in works
  • Sharp Interface Immersed Boundary Method: Efficiently handle complex geometries and moving boundaries with high accuracy and exact application of Neumann pressure boundary conditions.
  • CUDA Acceleration: Utilize GPU computing to achieve significant performance improvements.
  • Versatile Boundary Conditions: Support for various boundary conditions and fluid properties to cater to a wide range of applications.
  • Visualization Tools: Built-in tools for visualizing and analyzing simulation results.

Contour Plots

Contour Plot 1

Re = 1000

In this simulation, we observe the fluid flow behavior at a Reynolds number of 300. The contour plot illustrates the streamline patterns and vorticity distribution, highlighting the intricate interactions between the fluid and immersed boundaries.

Contour Plot 2

Re = 300 - Elliptic Airfoil

For a Reynolds number of 1000, the contour plot reveals more complex flow structures, including vortices and wake regions. This plot demonstrates the solver's capability to accurately capture the dynamics of higher Reynolds number flows.

Contour Plot 3

Re = 300 - Complex Shaped Objects

At a Reynolds number of 1000, the fluid flow exhibits turbulent characteristics. The contour plot provides a detailed visualization of the turbulent eddies and flow separation, showcasing ImmerseFlow++'s robustness in handling highly dynamic fluid behaviors.

Getting Started

Prerequisites

  • CUDA Toolkit: Ensure CUDA is installed on your system. Download CUDA Toolkit
  • C++ Compiler: A standard C++ compiler compatible with CUDA.
  • CMake: Build system generator. Download CMake

Installation

Clone the repository:

git clone https://github.com/yourusername/ImmerseFlow.git
cd ImmerseFlow

About

C++ Implementation of ImmerseFlow - Navier-Stokes PDE solver for cartesian grids

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Cuda 83.4%
  • Fortran 6.7%
  • Python 6.1%
  • Makefile 1.7%
  • C++ 1.5%
  • Shell 0.6%