Skip to main content

Particle-in-cell library for plasma physics

Project description

PIC Simulation Library

Introduction

libpic is a high-performance Particle-In-Cell (PIC) simulation framework implemented in Python. The core functionalities of libpic include electromagnetic field solvers, particle pushers, interpolators, and current depositors.

libpic serves as the backend for λPIC (not yet released). Performance optimizations are achieved through the use of Numba JIT and Cython.

This project is under construction.

Project Roadmap

  • Functionalities
    • Maxwell solver
    • Particle pusher
    • Interpolator
    • Current depositor
    • QED
      • Photon emission
      • Pair production
    • CPML boundary
    • Collision
    • Nuclear physics
  • Replace Numba JIT and Cython with C extensions
    • Current depositor
    • Patch synchronizer
    • Maxwell solver
    • Particle pusher
    • Interpolator
    • sorter
  • Remove dependence on numba.typed.List
  • MPI
  • 3D
  • GPU acceleration
  • Documentation

Installation

From PyPI:

pip install libpic

From source:

git clone https://github.com/xsgeng/libpic.git
pip install -e ./libpic

Acknowledgments

This work was supported by the National Natural Science Foundation of China (NSFC) under Grant No. 12304384.

This project was inspired by and adapted elements from the EPOCH and the Smilei projects.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libpic-0.0.12.post3.tar.gz (3.2 MB view details)

Uploaded Source

File details

Details for the file libpic-0.0.12.post3.tar.gz.

File metadata

  • Download URL: libpic-0.0.12.post3.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.8

File hashes

Hashes for libpic-0.0.12.post3.tar.gz
Algorithm Hash digest
SHA256 85f20c449412bfc0748c437ff242390a9e09f4e6ee2d206e045b7c37793c023b
MD5 36b9dd0e6160ff0347827e0d93a97245
BLAKE2b-256 00e414105e3eda4e7e77e26b9ca8b5e7a5084b5a22e55b3a52e233bc7b8b208f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page