All Projects → barbagroup → PetIBM

barbagroup / PetIBM

Licence: BSD-3-Clause license
PetIBM - toolbox and applications of the immersed-boundary method on distributed-memory architectures

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
TeX
3793 projects

Projects that are alternatives of or similar to PetIBM

opensbli
A framework for the automated derivation and parallel execution of finite difference solvers on a range of computer architectures.
Stars: ✭ 56 (-30%)
Mutual labels:  gpu-computing, computational-fluid-dynamics
range3
Range Software - Finite Element Analysis
Stars: ✭ 31 (-61.25%)
Mutual labels:  computational-fluid-dynamics
Fast
A framework for GPU based high-performance medical image processing and visualization
Stars: ✭ 179 (+123.75%)
Mutual labels:  gpu-computing
notebooks
A docker-based starter kit for machine learning via jupyter notebooks. Designed for those who just want a runtime environment and get on with machine learning. Docker tags:
Stars: ✭ 29 (-63.75%)
Mutual labels:  gpu-computing
Lingvo
Lingvo
Stars: ✭ 2,361 (+2851.25%)
Mutual labels:  gpu-computing
CaNS
A code for fast, massively-parallel direct numerical simulations (DNS) of canonical flows
Stars: ✭ 144 (+80%)
Mutual labels:  computational-fluid-dynamics
Montecarlomeasurements.jl
Propagation of distributions by Monte-Carlo sampling: Real number types with uncertainty represented by samples.
Stars: ✭ 168 (+110%)
Mutual labels:  gpu-computing
LvArray
Portable HPC Containers (C++)
Stars: ✭ 37 (-53.75%)
Mutual labels:  gpu-computing
magic
MagIC is a high-performance code that solves the magneto-hydrodynamics equations in rotating spherical shells
Stars: ✭ 67 (-16.25%)
Mutual labels:  computational-fluid-dynamics
hiperc
High Performance Computing Strategies for Boundary Value Problems
Stars: ✭ 36 (-55%)
Mutual labels:  gpu-computing
Gpur
R interface to use GPU's
Stars: ✭ 208 (+160%)
Mutual labels:  gpu-computing
Opt
Opt DSL
Stars: ✭ 237 (+196.25%)
Mutual labels:  gpu-computing
gpuowl
GPU Mersenne primality test.
Stars: ✭ 77 (-3.75%)
Mutual labels:  gpu-computing
Awesome Webgpu
😎 Curated list of awesome things around WebGPU ecosystem.
Stars: ✭ 182 (+127.5%)
Mutual labels:  gpu-computing
quagmire
Python surface process framework on highly scalable unstructured meshes
Stars: ✭ 13 (-83.75%)
Mutual labels:  petsc
Gpufit
GPU-accelerated Levenberg-Marquardt curve fitting in CUDA
Stars: ✭ 174 (+117.5%)
Mutual labels:  gpu-computing
gpuvmem
GPU Framework for Radio Astronomical Image Synthesis
Stars: ✭ 27 (-66.25%)
Mutual labels:  gpu-computing
CARE
CHAI and RAJA provide an excellent base on which to build portable codes. CARE expands that functionality, adding new features such as loop fusion capability and a portable interface for many numerical algorithms. It provides all the basics for anyone wanting to write portable code.
Stars: ✭ 22 (-72.5%)
Mutual labels:  gpu-computing
UCNS3D
Unstructured Compressible Navier Stokes 3D code (UCNS3D)
Stars: ✭ 141 (+76.25%)
Mutual labels:  computational-fluid-dynamics
CUDAfy.NET
CUDAfy .NET allows easy development of high performance GPGPU applications completely from the .NET. It's developed in C#.
Stars: ✭ 56 (-30%)
Mutual labels:  gpu-computing

PetIBM - toolbox and applications of the immersed-boundary method on distributed-memory architectures

License Travis Docs DOI CITE_BIB

PetIBM implements immersed-boundary methods to solve 2D and 3D incompressible Navier-Stokes on stretched Cartesian grids using a projection approach.

Currently, two immersed boundary methods are implemented:

  • Immersed Boundary Projection Method (IBPM; Taira and Colonius, 2007);
  • decoupled version of the IBPM (Li et al., 2016).

With object-oriented design, the objects and classes in PetIBM can be re-used to develop other solvers easily, as long as the numerical methods used can fit into Perot's framework (Perot, 1993; Chang et. al, 2002). See Doxygen pages for API manual.

PetIBM relies on the PETSc library for data structures and parallel routines. Linear systems can be solved either on CPUs using PETSc KSP objects or on multiple CUDA-capable GPU devices using the NVIDIA AmgX library. Data transfers between PETSc and AmgX are handled by AmgXWrapper.

PetIBM runs only on Unix-based systems (no support on Windows) and was last tested on Ubuntu 16.04, MacOS Sierra 10.12.6, and Arch Linux. PetIBM was also tested on the following HPC systems: GW ColonialOne and Titan at ORNL.

Please see Documentation for more details.


Features

PetIBM supports:

  • multiple immersed bodies,
  • moving bodies with prescribed kinematics,
  • 2D and 3D stretched Cartesian meshes,
  • distributed-memory architectures,
  • multiple GPUs on a single node,
  • GPU clusters, and
  • HDF5 I/O.

Documentation

Offline API manual can be generated with Doxygen.


Papers published using PetIBM

  • Mesnard, O., & Barba, L. A. (2017). Reproducible and Replicable Computational Fluid Dynamics: It's Harder Than You Think. Computing in Science & Engineering, 19(4), 44-55, https://doi.org/10.1109/MCSE.2017.3151254.

Contact

Please e-mail Olivier Mesnard or Pi-Yueh Chuang if you have any questions, suggestions, or feedback.

To report bugs, please use the GitHub issue tracking system. We are also open to pull-requests.


References

  • Chang, W., Giraldo, F., & Perot, B. (2002). Analysis of an exact fractional step method. Journal of Computational Physics, 180(1), 183-199.
  • Li, R. Y., Xie, C. M., Huang, W. X., & Xu, C. X. (2016). An efficient immersed boundary projection method for flow over complex/moving boundaries. Computers & Fluids, 140, 122-135.
  • Perot, J. B. (1993). An analysis of the fractional step method. Journal of Computational Physics, 108(1), 51-58.
  • Taira, K., & Colonius, T. (2007). The immersed boundary method: a projection approach. Journal of Computational Physics, 225(2), 2118-2137.

How to cite PetIBM

If PetIBM contributes to a project that leads to a scientific publication, please cite the project. You can use this citation or the BibTeX entry below.

Pi-Yueh Chuang, Olivier Mesnard, Anush Krishnan, Lorena A. Barba (2018). PetIBM: toolbox and applications of the immersed-boundary method on distributed-memory architectures. Journal of Open Source Software, 3(25), 558, doi:10.21105/joss.00558

@article{chuang2018petibm,
  doi = {10.21105/joss.00558},
  url = {https://doi.org/10.21105/joss.00558},
  year = {2018},
  month = {may},
  publisher = {The Open Journal},
  volume = {3},
  number = {25},
  pages = {558},
  author = {Pi-Yueh Chuang and Olivier Mesnard and Anush Krishnan and Lorena A. Barba},
  title = {{PetIBM}: toolbox and applications of the immersed-boundary method on distributed-memory architectures},
  journal = {The Journal of Open Source Software}
}
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].