Examples
When to Use pyAMReX?
pyAMReX is usually used for these kinds of workflows:
To enhance an existing AMReX application with Python, Data-Science and AI/ML capabilities,
To write a standalone application or test on AMReX, rapidly prototyped in Python.
Enhance an Application
pyAMReX is used in large, production-quality high-performance applications. See the following examples:
ImpactX
ImpactX is an s-based beam dynamics code including space charge effects.
Highlight example: Fully GPU-accelerated PyTorch+ImpactX simulation
WarpX
WarpX is an advanced, time-based electromagnetic & electrostatic Particle-In-Cell code.
Detailed workflow: Extend a WarpX Simulation with Python
Standalone
Please see the AMReX Tutorials for Python-written, GPU-accelerated AMReX examples:
Unit Tests
We ensure the correctness of pyAMReX with unit tests. Our tests are small, plentiful and can be found in the source code, see:
The following sections on compute workflows go in detail through selected unit tests, too.