Name | lambdapic JSON |
Version |
0.6.3
JSON |
| download |
home_page | None |
Summary | A Particle-in-Cell framework with dynamic behavior modification through callbacks |
upload_time | 2025-08-05 07:23:45 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
plasma physics
strong field
pic
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Introduction
<div style="text-align:center;">

</div>
λPIC is a callback-centric Particle-In-Cell framework.
It enables the customization of simulation behavior through callbacks at various stages, even when the modifications are unphysical.
The flexibility of λPIC makes it easy to implement plugins, allowing developers to extend functionality seamlessly without modifying the core simulation logic.
Visit the [documentation](https://lambdapic.readthedocs.io/) for installation and usage instructions.
## Core Classes
```mermaid
classDiagram
Patches --> Patch : contains
Patch --> ParticlesBase : contains
Patch --> Fields : contains
Patch --> PML : contains
Patch <|-- Patch2D~Patch~
Patch <|-- Patch3D~Patch~
RadiationBase --> Patches : contains
PairProductionBase --> Patches : contains
CurrentDeposition --> Patches : contains
PusherBase --> Patches : contains
FieldInterpolation --> Patches : contains
MaxwellSolver --> Patches : contains
MPIManager --> Patches : contains
Pydantic.BaseModel <|-- Species
Species <|-- XXX~Species~
Species <|-- Electron~Species~
Species --> ParticlesBase : creates
class Patch {
index: int
*_neighbor_index: int
}
class Patches {
sync_particles()
sync_guard_fields()
sync_currents()
}
class ParticlesBase {
x,y,z ...: NDArray[float]
is_dead: NDArray[bool]
}
class Fields {
ex, ey, ...: NDArray[float]
}
class Species {
name, q, m, ...
density: Callable
}
```
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Development Status
λPIC is currently in active development. The API may change without notice.
## License
This project is licensed under the GPL-3.0 License.
## 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](https://github.com/Warwick-Plasma/epoch) and the [Smilei](https://github.com/SmileiPIC/Smilei) projects.
Raw data
{
"_id": null,
"home_page": null,
"name": "lambdapic",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "Plasma Physics, Strong field, PIC",
"author": null,
"author_email": "xsgeng <xsgeng@siom.ac.cn>",
"download_url": "https://files.pythonhosted.org/packages/8d/00/1a7978054285e1d35e46f375e93fd55b1ae5c1041bf91516a24082ac22fc/lambdapic-0.6.3.tar.gz",
"platform": null,
"description": "# Introduction\n<div style=\"text-align:center;\">\n\n\n</div>\n\u03bbPIC is a callback-centric Particle-In-Cell framework.\nIt enables the customization of simulation behavior through callbacks at various stages, even when the modifications are unphysical.\nThe flexibility of \u03bbPIC makes it easy to implement plugins, allowing developers to extend functionality seamlessly without modifying the core simulation logic.\n\nVisit the [documentation](https://lambdapic.readthedocs.io/) for installation and usage instructions.\n\n## Core Classes\n```mermaid\nclassDiagram\n Patches --> Patch : contains\n\n Patch --> ParticlesBase : contains\n Patch --> Fields : contains\n Patch --> PML : contains\n\n Patch <|-- Patch2D~Patch~\n Patch <|-- Patch3D~Patch~\n\n RadiationBase --> Patches : contains\n PairProductionBase --> Patches : contains\n CurrentDeposition --> Patches : contains\n PusherBase --> Patches : contains\n FieldInterpolation --> Patches : contains\n MaxwellSolver --> Patches : contains\n MPIManager --> Patches : contains\n\n Pydantic.BaseModel <|-- Species\n Species <|-- XXX~Species~\n Species <|-- Electron~Species~\n Species --> ParticlesBase : creates\n\n class Patch {\n index: int\n *_neighbor_index: int\n }\n\n class Patches {\n sync_particles()\n sync_guard_fields()\n sync_currents()\n }\n\n class ParticlesBase {\n x,y,z ...: NDArray[float]\n is_dead: NDArray[bool]\n }\n\n class Fields {\n ex, ey, ...: NDArray[float]\n }\n\n class Species {\n name, q, m, ...\n density: Callable\n }\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Development Status\n\n\u03bbPIC is currently in active development. The API may change without notice.\n\n## License\n\nThis project is licensed under the GPL-3.0 License.\n\n## Acknowledgments\n\nThis work was supported by the National Natural Science Foundation of China (NSFC) under Grant No. 12304384.\n\nThis project was inspired by and adapted elements from the [EPOCH](https://github.com/Warwick-Plasma/epoch) and the [Smilei](https://github.com/SmileiPIC/Smilei) projects.\n",
"bugtrack_url": null,
"license": null,
"summary": "A Particle-in-Cell framework with dynamic behavior modification through callbacks",
"version": "0.6.3",
"project_urls": {
"Homepage": "https://github.com/xsgeng/lambdapic"
},
"split_keywords": [
"plasma physics",
" strong field",
" pic"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8d001a7978054285e1d35e46f375e93fd55b1ae5c1041bf91516a24082ac22fc",
"md5": "ab60499ebd5cf9be66b17ff58fbde97d",
"sha256": "ca6525cb9c32a0e152c4c8cd8091ade73a072ec48b169f296df36cc6615ba17f"
},
"downloads": -1,
"filename": "lambdapic-0.6.3.tar.gz",
"has_sig": false,
"md5_digest": "ab60499ebd5cf9be66b17ff58fbde97d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 3416427,
"upload_time": "2025-08-05T07:23:45",
"upload_time_iso_8601": "2025-08-05T07:23:45.847634Z",
"url": "https://files.pythonhosted.org/packages/8d/00/1a7978054285e1d35e46f375e93fd55b1ae5c1041bf91516a24082ac22fc/lambdapic-0.6.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-05 07:23:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "xsgeng",
"github_project": "lambdapic",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "lambdapic"
}