Skip to content

schnyle/adm-sim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advection-Diffusion Model Simulation

Demo Animation

Overview

A high-performance, real-time simulation of advection-diffusion processes implemented in C++ with interactive visualization. This project demonstrates the numerical modeling of pollutant dispersion, heat transfer, and fluid dynamics phenomena using Gaussian parcel methods and optimized parallel computing techniques.

Technical Implementation

Core Physics Model

  • Advection-Diffusion Equation: implements the fundamental PDE governing transport phenomena in fluid systems
  • Gaussian Parcel Method: Uses discrete Gaussian distributions to represent concentration fields with adaptive spreading
  • Real-time Integration Forward Euler time-stepping with configurable timestep control for numerical stability

Performance Optimization

  • Multi-threaded Rendering: Dynamic thread allocation based on frame rate performance
  • Vectorized Computations: Optimized density calculations using SIMD-friendly algorithms
  • Memory Management: Custom buffer management with double-buffering for smooth visualization
  • Adaptive Quality Control: Automatic thread scaling to maintain target FPS performance

Interactive Features

  • Cursor-driven Flow Field: Cursor position controls velocity field direction and magnitude
  • Scroll Wheel Velocity Control: Real-time adjustment of flow strength
  • Keyboard Controls: ESC/Q/X for graceful shutdown
  • Performance Monitoring: Real-time FPS, timing metrics, and thread utilization display

Build Requirements

  • C++17 compatible compiler (GCC 7+, Clang 5+)
  • CMake 3.28+ for cross-platform build configuration
  • X11 development libraries for Linux graphics
  • Multi-core CPU recommended for optimal performance

Compilation

mkdir build && cd build
cmake ..
make
./admsim

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published