Code overview
========================
π-PIC provides three interraction levels, the Python interface, extensions and solvers. These entities are called and combined in the ensemble using common interfaces.
.. raw:: html
Click on any section to navigate to its documentation
.. toctree::
:maxdepth: 2
:caption: Architecture Components
PYTHON_INTERFACE
EXTENSIONS
SOLVERS
ENSEMBLE
Notes on Threading and Determinism
-------------------------------------
- RNG is thread-locked but seeded deterministically; `pipic.setRngGenSeed` controls reproducibility.
- OMP parallelism is available for field loops and main advance; loop layout staggers cell processing to reduce write conflicts.
Notes on Units and Conventions
------------------------------
- All physics in CGS;
- Grid cell counts should be powers of two for FFT-based solvers.
- Default geometry is periodic unless a solver or handler imposes other boundary rules.