AMReX Guided Tutorials and Example Codes
Welcome to AMReX Tutorials and Example Codes. Here you will find a progression of hands on demonstrations and useful stand-alone examples designed to assist users in learning and writing their own AMReX code. For additional details on the topics presented here, please see the AMReX Source Documentation. The resources are divided into two categories:
Guided Tutorials
Guided tutorials provide a gentle introduction to AMReX features by focusing on key concepts in a progressive way. They are designed to be followed from start to finish. They will focus on a few specific goals of larger importance to using AMReX rather than comment on every line of code.
Example Codes
Example codes are stand-alone examples that demonstrate how to use different parts of the AMReX functionality. They are aimed at users who are comfortable with the basics of AMReX. They present a straightforward application of AMReX features, and provide a starting place for user’s to develop their unique applications.
The example codes listed below are provided in the AMReX-Codes/amrex-tutorials
repo,
under the directory amrex-tutorials/ExampleCodes
. The examples are
sorted by the following categories:
AMR – Examples of adaptive mesh refinement.
Basic – Fundamental operations supported by AMReX.
Blueprint – Convert AMReX mesh data into an in-memory Conduit Mesh Blueprint for use with the ALPINE Ascent in situ visualization and analysis tool.
EB – Examples of embedded boundaries.
FFT – Demonstration on how to use the amrex::FFT class for forward/inverse FFT and data manipulation
ForkJoin – Parallel execution and subgrouping of MPI ranks.
GPU – Offload work to the GPUs using AMReX tools.
Linear Solvers – Examples of several linear solvers.
ML/PYTORCH – Use of pytorch models to replace point-wise computational kernels.
MPMD – Usage of AMReX-MPMD (Multiple Program Multiple Data) framework.
MUI – Incorporates the MxUI/MUI (Multiscale Universal interface) frame into AMReX.
Particles – Basic usage of AMReX’s particle data structures.
Python – Using AMReX and interfacing with AMReX applications form Python - via pyAMReX
SDC – Example usage of a “Multi-Implicit” Spectral Deferred Corrections (MISDC) integrator to solve a scalar advection-diffusion-reaction equation.
SENSEI – In situ data analysis and visualization through a unified interface.
SUNDIALS – Time integration with SUNDIALS backend and native AMReX types.
Additional Questions and Help
Didn’t find what you were looking for? Have questions we didn’t answer? Please let us know how we can improve by posting on AMReX’s GitHub Discussions.
The copyright notice of AMReX is included in the AMReX home directory as README.md.
Your use of this software is under the 3-clause BSD license – the license agreement is included in the AMReX home directory as LICENSE.