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

Uploaded Source

File details

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

File metadata

  • Download URL: libpic-0.0.12.post1.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.post1.tar.gz
Algorithm Hash digest
SHA256 45406c85ce89d08f2453c7d156ec1e4a9f6a8d5057e40d38bc9256e69bc1e7c3
MD5 853ccc6d363df2a6165e13ccffbce2b0
BLAKE2b-256 f3d3037ebd108f7127b6ac56334a01ae07f94defee1b8fcb2ac0146d2d674f48

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