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.post2.tar.gz (3.2 MB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: libpic-0.0.12.post2.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.post2.tar.gz
Algorithm Hash digest
SHA256 1ffc68969e2cf69163732ae83e3b01e727797acf01bf507e80fd1d7768ad4f32
MD5 5702509bf834d98763da9daa14774422
BLAKE2b-256 824d5ad21069f243621a198d34a48fa6f749c4b5cd8af17bb620479b49ec8eb5

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