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

Uploaded Source

File details

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

File metadata

  • Download URL: libpic-0.0.12.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.tar.gz
Algorithm Hash digest
SHA256 eb3211a4acf03c64186925686877d4a2b1891c0521473a66a2f473520a252213
MD5 55bcad4a37636ead7784259eba7c2469
BLAKE2b-256 19a03d9dcf7e3d9df26f5f30aaf5f2c83b86e7169eb0f015b87c0861d5bbaf34

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