Chombo provides a set of tools for implementing finite difference and finite volume methods for the solution of partial differential equations on block-structured adaptively refined rectangular grids. Both elliptic and time-dependent modules are included. Chombo supports calculations in complex geometries with both embedded boundaries and mapped grids, and Chombo also supports particle methods. Most parallel platforms are supported, and cross-platform self-describing file formats are included.
The Chombo package is a product of the community of collaborators working with the Applied Numerical Algorithms Group part of the Computational Research Division at LBNL.
Chombo is a Swahili word meaning "tool" or "container".
Introduction
- Chombo supports time-accurate, conservative discretizations of complex PDE's by using a cross-discipline approach: scalable algorithms, mathematical simplifications and careful software design.
- If you're new to Block Structured Adaptive Mesh Refinement (AMR), see the Overview of Block Structured AMR.
- Complex geometries are handled using an Embedded Boundary approach, as well as Mapped Multiblock Grids
- Chombo's approach to solving PDE's uses algorithms that have good (memory and wall clock) scaling, so that the same code can run on a desktop or the largest supercomputers in the world.
Download
Chombo is provided as a fully open-source distribution, released under a modified BSD license. We have a Chombo Download Page if you want to see details but here is the gist.
The current Chombo release is distributed via the svn version control system. Before you can download Chombo, you must register. Registration is free and does not carry an encumbrance on your part. We just need to keep a record of access. Registration gets you an account via which you can access the Chombo svn repository via svn. If you have already previously registered for Chombo download, you may skip directly to the download page.
Latest Release: Chombo 3.2.7 was released August 5, 2019. This release includes support for hybrid OpenMP/MPI parallelism, new interfaces for using PETSc and a compressible Navier Stokes application for high speed flows in complex geometries which uses embedded boundaries, along with continuous performance and compatibility improvements.
The Design Docs for Chombo can be downloaded independently of the source and without registration.
Citing Chombo
If you publish using Chombo as one of your tools, please cite the following technical report.:
- M. Adams, P. Colella, D. T. Graves, J.N. Johnson, N.D. Keen, T. J. Ligocki, D. F. Martin, P.W. McCorquodale, D. Modiano, P.O. Schwartz, T.D. Sternberg and B. Van Straalen, Chombo Software Package for AMR Applications - Design Document, Lawrence Berkeley National Laboratory Technical Report LBNL-6616E.
If you use the embedded boundary tools, please also cite the following technical report.
- P. Colella, D. T. Graves, T. J. Ligocki, G.H. Miller, D. Modiano, P.O. Schwartz, B. Van Straalen, J. Pillod, D. Trebotich and M. Barad, EBChombo Software Package for Cartesian Grid, Embedded Boundary Applications, Lawrence Berkeley National Laboratory Technical Report LBNL-6615E.
Documentation
- The current version of the Chombo Design Doc is a fairly comprehensive overview of the layers and classes in Chombo.
- Here is design document that focuses on the Chombo embedded boundary infrastructure
- Here is the Doxygen Chombo3.2 reference manual for the current Chombo 3.2 release.
- Here is a current version of the Chombo development reference manual . This changes with the repository.
Chombo User Community
- There is a ChomboUsers Google group. To join, click here. To e-mail the users group, send mail to chombousers@lbl.gov.
To contact the Chombo developers, e-mail us at Chombo@lbl.gov
Research
- There are many areas of research enabled by Chombo, here are just a few:
- Shallow Water simulations of the SF Bay and Delta
- Compressible Navier-Stokes with embedded boundaries.
- Modeling the dynamics of Land Ice Sheets
- The LAVA software package from NASA Ames uses some of the tools from Chombo and EBChombo. Some examples of their work are found here, here, and here. Very cool stuff.
- GRChombo is a general relativity code written using Chombo.
- SOFTBALL models binary alloy solidification (as found in sea ice formation) using AMR.
- Chombo is built from the ground up to provide scaling on massively parallel platforms
- Many scientific papers have used Chombo as the software infrastructure
ANAG
The Applied Numerical Algorithms Group is part of the Computational Research Division at LBNL. We are funded by the Department of Energy.