Reference
April 14, 2026 ยท View on GitHub
If you use IBM_TENO for academic applications, please cite our paper:
Zeyu Chen and Kuangxu Chen,
"High-order positivity-preserving and dissipation-adaptive computational framework with sharp-interface immersed boundaries for high-Mach-number shock-obstacle interactions",
Aerospace Science and Technology,
Volume 168, Part E, January 2026, 111073
https://doi.org/10.1016/j.ast.2025.111073
IBM_TENO
IBM_TENO is a GPU-accelerated solver for simulating supersonic flows using a combination of the Immersed Boundary Method (IBM) and Targeted Essentially Non-Oscillatory (TENO) schemes. This solver is implemented in Fortran and is designed to handle complex geometries efficiently on CUDA-enabled GPUs.
Features
- GPU parallelized using NVIDIA CUDA Fortran
- Combines Immersed Boundary Method with high-order TENO schemes
- Capable of solving supersonic flow over complex geometries
Included Test Cases
The repository contains three .f90 source files, each corresponding to a specific benchmark case:
Cylinder.f90: Supersonic flow around a single cylinder at Mach 3Multi_Cylinder.f90: Supersonic flow around multiple cylinders at Mach 2Schardin.f90: Simulation of Schardin's problem (shock interaction with a wedge)
Compilation
The solver is written in CUDA Fortran and can be compiled using the nvfortran compiler from the NVIDIA HPC SDK.
Compile Command:
nvfortran -cuda -O3 <source_file>.f90 -o <output_binary>.out
For example:
nvfortran -cuda -O3 Cylinder.f90 -o Cylinder.out
Contributing
We welcome any contributions and feedback that can help improve IBM_TENO. If you would like to contribute to the tool, please contact the maintainers or open an Issue in the repository or a thread in Discussions. Pull Requests are encouraged, but please propose or discuss the changes in the associated Issue beforehand.
Licencing
Please refer to the licence file.