lambdapic 0.5.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. lambdapic-0.5.2/.github/workflows/python-publish.yml +32 -0
  2. lambdapic-0.5.2/.gitignore +42 -0
  3. lambdapic-0.5.2/LICENSE +674 -0
  4. lambdapic-0.5.2/MANIFEST.in +2 -0
  5. lambdapic-0.5.2/PKG-INFO +876 -0
  6. lambdapic-0.5.2/README.md +176 -0
  7. lambdapic-0.5.2/docs/source/api.rst +9 -0
  8. lambdapic-0.5.2/docs/source/callbacks.rst +53 -0
  9. lambdapic-0.5.2/docs/source/conf.py +47 -0
  10. lambdapic-0.5.2/docs/source/example.rst +30 -0
  11. lambdapic-0.5.2/docs/source/index.rst +21 -0
  12. lambdapic-0.5.2/docs/source/installation.rst +55 -0
  13. lambdapic-0.5.2/docs/source/introduction.rst +52 -0
  14. lambdapic-0.5.2/docs/source/simulation.rst +14 -0
  15. lambdapic-0.5.2/docs/source/species.rst +11 -0
  16. lambdapic-0.5.2/example/laser-target-3d.py +61 -0
  17. lambdapic-0.5.2/example/laser-target.py +114 -0
  18. lambdapic-0.5.2/example/lwfa.py +139 -0
  19. lambdapic-0.5.2/example/photons.py +148 -0
  20. lambdapic-0.5.2/lambdaPIC.svg +100 -0
  21. lambdapic-0.5.2/lambdapic/__init__.py +3 -0
  22. lambdapic-0.5.2/lambdapic/callback/__init__.py +0 -0
  23. lambdapic-0.5.2/lambdapic/callback/callback.py +66 -0
  24. lambdapic-0.5.2/lambdapic/callback/hdf5.py +478 -0
  25. lambdapic-0.5.2/lambdapic/callback/laser.py +348 -0
  26. lambdapic-0.5.2/lambdapic/callback/plot.py +0 -0
  27. lambdapic-0.5.2/lambdapic/callback/utils.py +423 -0
  28. lambdapic-0.5.2/lambdapic/callback/vtk.py +1 -0
  29. lambdapic-0.5.2/lambdapic/core/__init__.py +0 -0
  30. lambdapic-0.5.2/lambdapic/core/boundary/__init__.py +0 -0
  31. lambdapic-0.5.2/lambdapic/core/boundary/cpml.py +708 -0
  32. lambdapic-0.5.2/lambdapic/core/boundary/utils.py +121 -0
  33. lambdapic-0.5.2/lambdapic/core/collision/__init__.py +0 -0
  34. lambdapic-0.5.2/lambdapic/core/collision/collision.py +29 -0
  35. lambdapic-0.5.2/lambdapic/core/collision/cpu.py +500 -0
  36. lambdapic-0.5.2/lambdapic/core/current/__init__.py +0 -0
  37. lambdapic-0.5.2/lambdapic/core/current/cpu2d.c +235 -0
  38. lambdapic-0.5.2/lambdapic/core/current/cpu2d.pyi +12 -0
  39. lambdapic-0.5.2/lambdapic/core/current/cpu3d.c +193 -0
  40. lambdapic-0.5.2/lambdapic/core/current/cpu3d.pyi +12 -0
  41. lambdapic-0.5.2/lambdapic/core/current/deposition.py +168 -0
  42. lambdapic-0.5.2/lambdapic/core/fields.py +101 -0
  43. lambdapic-0.5.2/lambdapic/core/interpolation/__init__.py +0 -0
  44. lambdapic-0.5.2/lambdapic/core/interpolation/cpu2d.c +154 -0
  45. lambdapic-0.5.2/lambdapic/core/interpolation/cpu2d.pyi +9 -0
  46. lambdapic-0.5.2/lambdapic/core/interpolation/cpu3d.c +187 -0
  47. lambdapic-0.5.2/lambdapic/core/interpolation/cpu3d.pyi +9 -0
  48. lambdapic-0.5.2/lambdapic/core/interpolation/field_interpolation.py +176 -0
  49. lambdapic-0.5.2/lambdapic/core/maxwell/__init__.py +0 -0
  50. lambdapic-0.5.2/lambdapic/core/maxwell/cpu.py +151 -0
  51. lambdapic-0.5.2/lambdapic/core/maxwell/solver.py +247 -0
  52. lambdapic-0.5.2/lambdapic/core/mpi/__init__.py +0 -0
  53. lambdapic-0.5.2/lambdapic/core/mpi/mpi_manager.py +179 -0
  54. lambdapic-0.5.2/lambdapic/core/mpi/sync_fields2d.c +441 -0
  55. lambdapic-0.5.2/lambdapic/core/mpi/sync_fields2d.pyi +57 -0
  56. lambdapic-0.5.2/lambdapic/core/mpi/sync_fields3d.c +721 -0
  57. lambdapic-0.5.2/lambdapic/core/mpi/sync_fields3d.pyi +57 -0
  58. lambdapic-0.5.2/lambdapic/core/mpi/sync_particles_2d.c +552 -0
  59. lambdapic-0.5.2/lambdapic/core/mpi/sync_particles_2d.pyi +73 -0
  60. lambdapic-0.5.2/lambdapic/core/mpi/sync_particles_3d.c +703 -0
  61. lambdapic-0.5.2/lambdapic/core/mpi/sync_particles_3d.pyi +77 -0
  62. lambdapic-0.5.2/lambdapic/core/particles.py +185 -0
  63. lambdapic-0.5.2/lambdapic/core/patch/__init__.py +1 -0
  64. lambdapic-0.5.2/lambdapic/core/patch/cpu.py +92 -0
  65. lambdapic-0.5.2/lambdapic/core/patch/hilbert.py +263 -0
  66. lambdapic-0.5.2/lambdapic/core/patch/metis.py +58 -0
  67. lambdapic-0.5.2/lambdapic/core/patch/patch.py +777 -0
  68. lambdapic-0.5.2/lambdapic/core/patch/sync_fields2d.c +275 -0
  69. lambdapic-0.5.2/lambdapic/core/patch/sync_fields2d.pyi +55 -0
  70. lambdapic-0.5.2/lambdapic/core/patch/sync_fields3d.c +630 -0
  71. lambdapic-0.5.2/lambdapic/core/patch/sync_fields3d.pyi +63 -0
  72. lambdapic-0.5.2/lambdapic/core/patch/sync_particles_2d.c +488 -0
  73. lambdapic-0.5.2/lambdapic/core/patch/sync_particles_2d.pyi +66 -0
  74. lambdapic-0.5.2/lambdapic/core/patch/sync_particles_3d.c +655 -0
  75. lambdapic-0.5.2/lambdapic/core/patch/sync_particles_3d.pyi +66 -0
  76. lambdapic-0.5.2/lambdapic/core/pusher/__init__.py +0 -0
  77. lambdapic-0.5.2/lambdapic/core/pusher/boris.py +51 -0
  78. lambdapic-0.5.2/lambdapic/core/pusher/cpu.py +83 -0
  79. lambdapic-0.5.2/lambdapic/core/pusher/photon.py +11 -0
  80. lambdapic-0.5.2/lambdapic/core/pusher/pusher.py +178 -0
  81. lambdapic-0.5.2/lambdapic/core/pusher/unified/__init__.py +0 -0
  82. lambdapic-0.5.2/lambdapic/core/pusher/unified/unified_pusher_2d.c +338 -0
  83. lambdapic-0.5.2/lambdapic/core/pusher/unified/unified_pusher_2d.pyi +30 -0
  84. lambdapic-0.5.2/lambdapic/core/pusher/unified/unified_pusher_3d.c +379 -0
  85. lambdapic-0.5.2/lambdapic/core/pusher/unified/unified_pusher_3d.pyi +30 -0
  86. lambdapic-0.5.2/lambdapic/core/qed/__init__.py +0 -0
  87. lambdapic-0.5.2/lambdapic/core/qed/cpu.py +370 -0
  88. lambdapic-0.5.2/lambdapic/core/qed/inline.py +192 -0
  89. lambdapic-0.5.2/lambdapic/core/qed/optical_depth.py +130 -0
  90. lambdapic-0.5.2/lambdapic/core/qed/optical_depth_tables.py +221 -0
  91. lambdapic-0.5.2/lambdapic/core/qed/optical_depth_tables_sigmoid.py +242 -0
  92. lambdapic-0.5.2/lambdapic/core/qed/pair_production.py +273 -0
  93. lambdapic-0.5.2/lambdapic/core/qed/radiation.py +270 -0
  94. lambdapic-0.5.2/lambdapic/core/sort/__init__.py +0 -0
  95. lambdapic-0.5.2/lambdapic/core/sort/cpu2d.c +379 -0
  96. lambdapic-0.5.2/lambdapic/core/sort/cpu2d.pyi +49 -0
  97. lambdapic-0.5.2/lambdapic/core/sort/cpu3d.c +269 -0
  98. lambdapic-0.5.2/lambdapic/core/sort/cpu3d.pyi +64 -0
  99. lambdapic-0.5.2/lambdapic/core/sort/particle_sort.py +223 -0
  100. lambdapic-0.5.2/lambdapic/core/species.py +139 -0
  101. lambdapic-0.5.2/lambdapic/core/utils/__init__.py +0 -0
  102. lambdapic-0.5.2/lambdapic/core/utils/cutils.h +100 -0
  103. lambdapic-0.5.2/lambdapic/core/utils/logger.py +85 -0
  104. lambdapic-0.5.2/lambdapic/core/utils/timer.py +66 -0
  105. lambdapic-0.5.2/lambdapic/simulation.py +937 -0
  106. lambdapic-0.5.2/lambdapic/utils.py +30 -0
  107. lambdapic-0.5.2/lambdapic.egg-info/PKG-INFO +876 -0
  108. lambdapic-0.5.2/lambdapic.egg-info/SOURCES.txt +115 -0
  109. lambdapic-0.5.2/lambdapic.egg-info/dependency_links.txt +1 -0
  110. lambdapic-0.5.2/lambdapic.egg-info/requires.txt +10 -0
  111. lambdapic-0.5.2/lambdapic.egg-info/top_level.txt +1 -0
  112. lambdapic-0.5.2/pyproject.toml +49 -0
  113. lambdapic-0.5.2/setup.cfg +4 -0
  114. lambdapic-0.5.2/setup.py +168 -0
  115. lambdapic-0.5.2/tests/__init__.py +1 -0
  116. lambdapic-0.5.2/tests/mpi/test_syncparticles.py +148 -0
  117. lambdapic-0.5.2/tests/test_callback.py +150 -0
@@ -0,0 +1,32 @@
1
+ name: Upload Python Package
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ release:
6
+ types: [published]
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ deploy:
13
+
14
+ runs-on: ubuntu-latest
15
+ environment: release
16
+ permissions:
17
+ id-token: write
18
+
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ - name: Set up Python
22
+ uses: actions/setup-python@v3
23
+ with:
24
+ python-version: '3.x'
25
+ - name: Install dependencies
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ pip install build setuptools cython numpy setuptools_scm
29
+ - name: Build package
30
+ run: python -m build -s
31
+ - name: Publish package
32
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,42 @@
1
+ # build
2
+ build/
3
+ *.egg-info
4
+ dist/
5
+
6
+ # Numba cache directories
7
+ **/__pycache__
8
+ **/*.pyc
9
+
10
+ # Compiled binary files
11
+ **/*.so
12
+ **/*.pyd
13
+ **/*.dll
14
+ **/*.dylib
15
+
16
+ # Jupyter notebook checkpoints
17
+ .ipynb_checkpoints
18
+ *.ipynb
19
+
20
+ # Temporary files
21
+ *~
22
+ # MacOS system files
23
+ .DS_Store
24
+
25
+ # IDE and editor files
26
+ .vscode/
27
+ .idea/
28
+ *.swp
29
+ *.[oa]
30
+
31
+ # imgages
32
+ *.png
33
+ *.jpg
34
+ *.jpeg
35
+ *.gif
36
+ *.svg
37
+
38
+ /*.py
39
+ /*.ipynb
40
+ .*/**
41
+ .aider*
42
+ .env