This example is meant to take the user through the basics of programming with Chombo. We present the same application done three different ways to illustrate how Chombo can be used to make applications. We have implemented an explicit heat equation solver with single-grid only implementation, a very basic domain-decomposition method, and a method that uses all the relevant Chombo tools.
We present an example of how to use the elliptic library (AMRElliptic) in the Chombo distribution. This code defines an adaptive Poisson operator and an AMRSolver class with that operator. This example also shows how to call the solver's function to generate an adaptive solution to Poisson's equation and how to output that function using HDF5 in a way that is compatible with VisIt (see the VisIt Page for more information about Chombo visualization).
HDF5 Input/Output With Chombo
We present two instances of how to do parallel input/output in HDF5 using the Chombo infrastructure. The first is a simple domain-decomposition example which outputs data from a single union of rectangles. The second outputs data from a complete adaptive hierarchy of data.
Decision tree to get started with the Examples
- If you have complex geometry:
- Use EB Menagerie to generate a geometry
- Pick your physics problem:
- # EBAMRPoisson for elliptic or parabolic problems
- # EBAMRGodunov for hyperbolics problems
- # For incompressible flows, EBAMRINS
- Otherwise, in rectangular geometries:
- AMR Godunov for hyperbolics
- Polytropic gases
- Resistive MHD
- AMR Poisson
- AMR INS
- Which example for Mapped?
- Which example for Mapped Multiblock?
- Which example for Particles?