Aperture is a high-performance, parallel, Particle-in-Cell (PIC) code framework for plasma simulation. It is designed to be fast, flexible, and easy to extend, and it can run on both traditional CPUs and modern GPUs (NVIDIA and AMD).
For a more detailed introduction, please see the full documentation.
- High-performance: Designed for speed and scalability on large core counts and GPUs.
- Parallel: Supports both distributed memory parallelism with MPI and shared memory parallelism with OpenMP.
- GPU-accelerated: Supports both CUDA for NVIDIA GPUs and HIP for AMD GPUs.
- Modular and Extensible: A flexible architecture allows for easy addition of new physics modules, numerical methods, and diagnostics.
- A C++17 compliant compiler (e.g., GCC, Clang, Intel)
- CMake (version 3.8 or later)
- MPI
- HDF5
-
Clone the repository:
git clone https://github.com/fizban007/Aperture4.git cd Aperture4 -
Create a build directory:
mkdir build cd build -
Run CMake and build:
cmake .. make -j
The executables for the different simulation problems are located in the bin directory. To run a simulation, simply execute the corresponding binary. For example:
./bin/two_streamThe full documentation can be built from the docs directory.
mkdir build_docs
cd build_docs
cmake ../docs
makeThe documentation will be generated in the html directory.