PetIBM

PetIBM: toolbox and applications of the immersed-boundary method on distributed-memory architectures - Published in JOSS (2018)

https://github.com/barbagroup/petibm

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 12 DOI reference(s) in README and JOSS metadata
  • Academic publication links
  • Committers with academic emails
    3 of 6 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

computational-fluid-dynamics gpu-computing immersed-boundary-method nvidia-amgx petsc

Keywords from Contributors

amgx mpi nvidia
Last synced: 4 months ago · JSON representation

Repository

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

Basic Info
Statistics
  • Stars: 110
  • Watchers: 24
  • Forks: 52
  • Open Issues: 1
  • Releases: 12
Topics
computational-fluid-dynamics gpu-computing immersed-boundary-method nvidia-amgx petsc
Created over 11 years ago · Last pushed over 3 years ago
Metadata Files
Readme Changelog Contributing License Codemeta

README.md

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

console @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} }

Owner

  • Name: Barba group
  • Login: barbagroup
  • Kind: organization
  • Location: Washington, DC

JOSS Publication

PetIBM: toolbox and applications of the immersed-boundary method on distributed-memory architectures
Published
May 29, 2018
Volume 3, Issue 25, Page 558
Authors
Pi-Yueh Chuang ORCID
Department of Mechanical and Aerospace Engineering, The George Washington University, Washington, DC, USA
Olivier Mesnard ORCID
Department of Mechanical and Aerospace Engineering, The George Washington University, Washington, DC, USA
Anush Krishnan ORCID
nuTonomy Inc., Cambridge, MA, USA (previously at Boston University)
Lorena A. Barba ORCID
Department of Mechanical and Aerospace Engineering, The George Washington University, Washington, DC, USA
Editor
Kyle Niemeyer ORCID
Tags
Computational Fluid Dynamics Immersed-Boundary Method PETSc GPU NVIDIA AmgX

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
  "@type": "Code",
  "author": [
    {
      "@id": "http://orcid.org/0000-0001-6330-2709",
      "@type": "Person",
      "email": "pychuang@gwu.edu",
      "name": "Pi-Yueh Chuang",
      "affiliation": "Department of Mechanical and Aerospace Engineering, The George Washington University, Washington, DC, USA"
    },
    {
      "@id": "http://orcid.org/0000-0001-5335-7853",
      "@type": "Person",
      "email": "mesnardo@gwu.edu",
      "name": "Olivier Mesnard",
      "affiliation": "Department of Mechanical and Aerospace Engineering, The George Washington University, Washington, DC, USA"
    },
    {
      "@id": "http://orcid.org/0000-0001-6409-7022",
      "@type": "Person",
      "email": "k.anush@gmail.com",
      "name": "Anush Krishnan",
      "affiliation": "nuTonomy Inc., Cambridge, MA, USA (previously at Boston University)"
    },
    {
      "@id": "http://orcid.org/0000-0001-5812-2711",
      "@type": "Person",
      "email": "labarba@gwu.edu",
      "name": "Lorena A. Barba",
      "affiliation": "Department of Mechanical and Aerospace Engineering, The George Washington University, Washington, DC, USA"
    }
  ],
  "identifier": "",
  "codeRepository": "https://github.com/barbagroup/PetIBM",
  "datePublished": "2018-01-25",
  "dateModified": "2017-01-25",
  "dateCreated": "2018-01-25",
  "description": "PetIBM is a toolbox with applications of the immersed-boundary method on distributed-memory architectures.",
  "keywords": "Computational Fluid Dynamics, Immersed-Boundary Method, PETSc, GPU, NVIDIA AmgX",
  "license": "BSD 3-Clause",
  "title": "PetIBM",
  "version": "v0.3"
}

GitHub Events

Total
  • Watch event: 7
  • Fork event: 4
Last Year
  • Watch event: 7
  • Fork event: 4

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 898
  • Total Committers: 6
  • Avg Commits per committer: 149.667
  • Development Distribution Score (DDS): 0.441
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
mesnardo m****o@g****u 502
Pi-Yueh Chuang p****g@g****u 271
Anush Krishnan k****h@g****m 118
Jed Brown j****d@j****g 3
Lorena A. Barba l****a@g****u 2
Gil Forsyth g****h@g****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 61
  • Total pull requests: 39
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 17 days
  • Total issue authors: 10
  • Total pull request authors: 3
  • Average comments per issue: 2.38
  • Average comments per pull request: 1.38
  • Merged pull requests: 37
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • piyueh (29)
  • anushkrish (9)
  • shi-guangyu (7)
  • mesnardo (6)
  • frankyugit (3)
  • jedbrown (2)
  • Haider-BA (2)
  • dodol (1)
  • OmidAt (1)
  • LearnerCFD (1)
Pull Request Authors
  • piyueh (19)
  • mesnardo (17)
  • jedbrown (3)
Top Labels
Issue Labels
done (17) enhancement (17) question (11) bug (10) new feature (3) wontfix (2)
Pull Request Labels
bug (4) invalid (1)