Code Monkey home page Code Monkey logo

ibamr / ibamr Goto Github PK

View Code? Open in Web Editor NEW
335.0 50.0 138.0 117.49 MB

An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method

Home Page: http://ibamr.github.io/

License: Other

Shell 2.36% C++ 76.49% MATLAB 0.03% C 0.44% Perl 0.21% Python 0.09% Makefile 14.14% M4 5.61% HTML 0.01% CMake 0.29% Cuda 0.34% Assembly 0.01%
immersed-boundary-method adaptive-mesh-refinement multiphase-flow finite-difference finite-elements c-plus-plus fortran mpi volume-penalization-method level-set-method

ibamr's Introduction

IBAMR

An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method

What Is IBAMR?

IBAMR is a distributed-memory parallel implementation of the immersed boundary (IB) method with support for Cartesian grid adaptive mesh refinement (AMR). Support for distributed-memory parallelism is via MPI, the Message Passing Interface.

Core IBAMR functionality relies upon several high-quality open-source libraries, including:

  • SAMRAI, the Structured Adaptive Mesh Refinement Application Infrastructure
  • PETSc, the Portable, Extensible Toolkit for Scientific Computation
  • libMesh, a C++ finite element library
  • hypre, a library of high performance preconditioners that features parallel multigrid methods for both structured and unstructured grid problems.

IBAMR also uses functionality provided by a number of additional third-party libraries, including: Boost; Eigen; HDF5; muParser; and Silo.

IBAMR outputs visualization files that can be read by the VisIt Visualization Tool.

What Is the IB Method?

The immersed boundary (IB) method is a general-purpose numerical method for simulating fluid-structure interaction. The IB formulation of such problems uses an Eulerian description of the fluid and a Lagrangian description of the structure. Interaction equations that couple the Eulerian and Lagrangian variables take the form of integral equations with delta function kernels.

For general information about the IB method, see math.nyu.edu/faculty/peskin. For additional information about the IBAMR software, see ibamr.github.io. We are happy to host visualizations of simulations that use IBAMR.

Getting Started

IBAMR requires a number of third-party libraries. Sample build instructions are provided for both Linux distributions and macOS.

For help with git see the summary document included with the documentation.

Documentation

Source code documentation for the IBAMR library and supporting IBTK library is available on-line. File format documentation is also available on-line. There is also list of frequently asked questions.

Support

Support for IBAMR is available via the IBAMR Users Google Group ([email protected]). Discussion related to the continued development of IBAMR is via the IBAMR Developers Google Group ([email protected]).

Bugs and Other Issues

Please use the GitHub issue tracking system to report bugs, feature requests, or other issues with IBAMR.

Writing patches

IBAMR has a core group of developers but also regularly takes contributions from our students as well as outside users. All patches undergo a peer review process and are usually accepted after some minor revisions. To ensure style uniformity, we require that users run make indent (or make the fixes indicated by the continous integration run). For more information on how this process works see scripts/formatting/README.md.

Acknowledgments

IBAMR development is supported in part by NSF Software Infrastructure for Sustained Innovation awards OAC 1450327 (to UNC-Chapel Hill), OAC 1450374 (to Northwestern University), and OAC 1607042 (to Rice University). Additional support is provided by NSF CAREER award OAC 1652541 (to UNC-Chapel Hill). Prior support was provided by NSF awards DMS 1016554 (to New York University), DMS 1460368 (to UNC-Chapel Hill), OAC 1047734 (to New York University), and OAC 1460334 (to UNC-Chapel Hill). We gratefully acknowledge this support.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.