PyParticles3 0.4.0rc1__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.
- pyparticles3-0.4.0rc1/CHANGELOG.md +56 -0
- pyparticles3-0.4.0rc1/LICENSE-gpl-3.0.txt +674 -0
- pyparticles3-0.4.0rc1/MANIFEST.in +8 -0
- pyparticles3-0.4.0rc1/PKG-INFO +196 -0
- pyparticles3-0.4.0rc1/PUBLISHING.md +100 -0
- pyparticles3-0.4.0rc1/PyParticles3.egg-info/PKG-INFO +196 -0
- pyparticles3-0.4.0rc1/PyParticles3.egg-info/SOURCES.txt +149 -0
- pyparticles3-0.4.0rc1/PyParticles3.egg-info/dependency_links.txt +1 -0
- pyparticles3-0.4.0rc1/PyParticles3.egg-info/entry_points.txt +3 -0
- pyparticles3-0.4.0rc1/PyParticles3.egg-info/requires.txt +16 -0
- pyparticles3-0.4.0rc1/PyParticles3.egg-info/top_level.txt +1 -0
- pyparticles3-0.4.0rc1/README.md +155 -0
- pyparticles3-0.4.0rc1/README.rst +149 -0
- pyparticles3-0.4.0rc1/doc/Config File.rst +184 -0
- pyparticles3-0.4.0rc1/doc/Logo/pyparticles_logo.svg +439 -0
- pyparticles3-0.4.0rc1/doc/Makefile +153 -0
- pyparticles3-0.4.0rc1/doc/Packages Descriptions.rst +0 -0
- pyparticles3-0.4.0rc1/doc/Programming Example II.rst +164 -0
- pyparticles3-0.4.0rc1/doc/Programming Example.rst +257 -0
- pyparticles3-0.4.0rc1/doc/Testing.rst +228 -0
- pyparticles3-0.4.0rc1/doc/conf.py +242 -0
- pyparticles3-0.4.0rc1/doc/img/dam_an.jpg +0 -0
- pyparticles3-0.4.0rc1/doc/img/dhar.png +0 -0
- pyparticles3-0.4.0rc1/doc/img/fall.png +0 -0
- pyparticles3-0.4.0rc1/doc/img/fall_an.jpg +0 -0
- pyparticles3-0.4.0rc1/doc/img/har.png +0 -0
- pyparticles3-0.4.0rc1/doc/img/har_an.jpg +0 -0
- pyparticles3-0.4.0rc1/doc/index.rst +158 -0
- pyparticles3-0.4.0rc1/doc/intro.rst +4 -0
- pyparticles3-0.4.0rc1/doc/logo.png +0 -0
- pyparticles3-0.4.0rc1/doc/logo_pyp.png +0 -0
- pyparticles3-0.4.0rc1/doc/make.bat +190 -0
- pyparticles3-0.4.0rc1/doc/modules.rst +7 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.animation.rst +46 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.demo.rst +59 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.forces.rst +135 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.geometry.rst +35 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.main.rst +19 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.measures.rst +67 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.ode.rst +116 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.ogl.rst +51 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.pset.rst +111 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.rst +27 -0
- pyparticles3-0.4.0rc1/doc/pyparticles.utils.rst +43 -0
- pyparticles3-0.4.0rc1/example/cluster_demo.cfg +58 -0
- pyparticles3-0.4.0rc1/example/solar_sys.csv +11 -0
- pyparticles3-0.4.0rc1/example/solar_system.csv +13 -0
- pyparticles3-0.4.0rc1/man/install.sh +18 -0
- pyparticles3-0.4.0rc1/man/pyparticles.1 +21 -0
- pyparticles3-0.4.0rc1/pyparticles/__init__.py +26 -0
- pyparticles3-0.4.0rc1/pyparticles/__main__.py +7 -0
- pyparticles3-0.4.0rc1/pyparticles/animation/__init__.py +21 -0
- pyparticles3-0.4.0rc1/pyparticles/animation/animated_cli.py +53 -0
- pyparticles3-0.4.0rc1/pyparticles/animation/animated_ogl.py +691 -0
- pyparticles3-0.4.0rc1/pyparticles/animation/animated_ogl_compat.py +243 -0
- pyparticles3-0.4.0rc1/pyparticles/animation/animated_scatter.py +94 -0
- pyparticles3-0.4.0rc1/pyparticles/animation/animation.py +251 -0
- pyparticles3-0.4.0rc1/pyparticles/animation/test_animation.py +310 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/__init__.py +33 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/bubble.py +106 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/electromagnetic_demo.py +128 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/electrostatic_demo.py +126 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/fountain.py +478 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/gas_lennard_jones.py +87 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/gravity_clusters.py +73 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/solar_system.py +222 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/springs.py +141 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/springs_constr.py +135 -0
- pyparticles3-0.4.0rc1/pyparticles/demo/test.py +34 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/__init__.py +21 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/const_force.py +140 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/damping.py +174 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/drag.py +167 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/electromagnetic.py +105 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/electromagnetic_field.py +95 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/electrostatic.py +72 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/force.py +75 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/force_constrained.py +32 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/fused_const_drag.py +445 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/gravity.py +345 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/lennard_jones.py +74 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/linear_spring.py +86 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/linear_spring_constrained.py +72 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/multiple_force.py +134 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/pseudo_bubble.py +226 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/van_der_waals_force.py +60 -0
- pyparticles3-0.4.0rc1/pyparticles/forces/vector_field_force.py +52 -0
- pyparticles3-0.4.0rc1/pyparticles/geometry/__init__.py +21 -0
- pyparticles3-0.4.0rc1/pyparticles/geometry/dist.py +24 -0
- pyparticles3-0.4.0rc1/pyparticles/geometry/intersection.py +62 -0
- pyparticles3-0.4.0rc1/pyparticles/geometry/transformations.py +387 -0
- pyparticles3-0.4.0rc1/pyparticles/main/__init__.py +21 -0
- pyparticles3-0.4.0rc1/pyparticles/main/main.py +466 -0
- pyparticles3-0.4.0rc1/pyparticles/measures/__init__.py +21 -0
- pyparticles3-0.4.0rc1/pyparticles/measures/elastic_potential_energy.py +67 -0
- pyparticles3-0.4.0rc1/pyparticles/measures/gravitational_potential_energy.py +69 -0
- pyparticles3-0.4.0rc1/pyparticles/measures/kinetic_energy.py +68 -0
- pyparticles3-0.4.0rc1/pyparticles/measures/mass.py +59 -0
- pyparticles3-0.4.0rc1/pyparticles/measures/measure.py +156 -0
- pyparticles3-0.4.0rc1/pyparticles/measures/momentum.py +144 -0
- pyparticles3-0.4.0rc1/pyparticles/measures/total_energy.py +68 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/__init__.py +21 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/euler_solver.py +214 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/euler_solver_constrained.py +49 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/leapfrog_solver.py +37 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/leapfrog_solver_constrained.py +53 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/midpoint_solver.py +43 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/midpoint_solver_constrained.py +60 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/ode_solver.py +134 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/ode_solver_constrained.py +43 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/runge_kutta_solver.py +79 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/runge_kutta_solver_constrained.py +98 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/sim_time.py +56 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/stormer_verlet_solver.py +50 -0
- pyparticles3-0.4.0rc1/pyparticles/ode/stormer_verlet_solver_constrained.py +73 -0
- pyparticles3-0.4.0rc1/pyparticles/ogl/__init__.py +21 -0
- pyparticles3-0.4.0rc1/pyparticles/ogl/axis_ogl.py +210 -0
- pyparticles3-0.4.0rc1/pyparticles/ogl/draw_particles_ogl.py +313 -0
- pyparticles3-0.4.0rc1/pyparticles/ogl/draw_particles_ogl_compat.py +509 -0
- pyparticles3-0.4.0rc1/pyparticles/ogl/draw_vector_field.py +221 -0
- pyparticles3-0.4.0rc1/pyparticles/ogl/opencl_gl_vbo.py +485 -0
- pyparticles3-0.4.0rc1/pyparticles/ogl/trackball.py +131 -0
- pyparticles3-0.4.0rc1/pyparticles/ogl/translate_scene.py +87 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/__init__.py +21 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/boundary.py +69 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/cluster.py +28 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/constrained_force_interactions.py +63 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/constrained_x.py +158 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/constraint.py +42 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/default_boundary.py +43 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/file_cluster.py +131 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/logger.py +152 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/octree.py +451 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/opencl_context.py +335 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/particles_set.py +499 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/periodic_boundary.py +36 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/rand_cluster.py +188 -0
- pyparticles3-0.4.0rc1/pyparticles/pset/rebound_boundary.py +68 -0
- pyparticles3-0.4.0rc1/pyparticles/utils/__init__.py +21 -0
- pyparticles3-0.4.0rc1/pyparticles/utils/parse_args.py +72 -0
- pyparticles3-0.4.0rc1/pyparticles/utils/problem_config.py +608 -0
- pyparticles3-0.4.0rc1/pyparticles/utils/pypart_global.py +87 -0
- pyparticles3-0.4.0rc1/pyparticles/utils/time_formatter.py +50 -0
- pyparticles3-0.4.0rc1/pyproject.toml +78 -0
- pyparticles3-0.4.0rc1/setup.cfg +4 -0
- pyparticles3-0.4.0rc1/setup.py +11 -0
- pyparticles3-0.4.0rc1/tests/test_demo_compat.py +246 -0
- pyparticles3-0.4.0rc1/tests/test_opencl_compute_only.py +161 -0
- pyparticles3-0.4.0rc1/tests/test_opencl_regression.py +255 -0
- pyparticles3-0.4.0rc1/tests/test_opencl_residency.py +128 -0
- pyparticles3-0.4.0rc1/tests/test_particles_set_compat.py +38 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the modernized distribution are documented here.
|
|
4
|
+
|
|
5
|
+
## 0.4.0rc1 - release candidate
|
|
6
|
+
|
|
7
|
+
First release candidate planned under the **PyParticles3** distribution name.
|
|
8
|
+
|
|
9
|
+
### Packaging
|
|
10
|
+
|
|
11
|
+
- replace legacy `distutils` metadata with `pyproject.toml` and `setuptools.build_meta`;
|
|
12
|
+
- add wheel and source-distribution builds;
|
|
13
|
+
- add `pyparticles3` console entry point while preserving `pyparticles_app`;
|
|
14
|
+
- add `python -m pyparticles` entry point;
|
|
15
|
+
- declare PyPI project URLs pointing to the modern GitHub repository;
|
|
16
|
+
- add PyPI Trusted Publishing workflow using GitHub Actions OIDC;
|
|
17
|
+
- add CI build/install smoke tests;
|
|
18
|
+
- preserve GPL-3.0-or-later licensing and original Simone Riva attribution.
|
|
19
|
+
|
|
20
|
+
### Python and scientific stack modernization
|
|
21
|
+
|
|
22
|
+
- Python 3 compatibility work;
|
|
23
|
+
- NumPy 2 compatibility fixes;
|
|
24
|
+
- modern SciPy sparse API usage;
|
|
25
|
+
- modern PyOpenGL/FreeGLUT compatibility layer;
|
|
26
|
+
- modern PyOpenCL API compatibility.
|
|
27
|
+
|
|
28
|
+
### OpenCL
|
|
29
|
+
|
|
30
|
+
- persistent device buffers and host/device residency tracking;
|
|
31
|
+
- accelerated gravity, drag, Euler and selected demo paths;
|
|
32
|
+
- compute-only modes that avoid unnecessary host synchronization;
|
|
33
|
+
- fused fountain force/integration/boundary kernel.
|
|
34
|
+
|
|
35
|
+
### OpenCL/OpenGL interoperability
|
|
36
|
+
|
|
37
|
+
- OpenGL VBOs shared with OpenCL through `cl_khr_gl_sharing`;
|
|
38
|
+
- double-buffered shared position VBOs;
|
|
39
|
+
- per-buffer OpenGL fences;
|
|
40
|
+
- optional fused simulation-to-render VBO mirror;
|
|
41
|
+
- deterministic cleanup of shared resources before GL context shutdown.
|
|
42
|
+
|
|
43
|
+
### Profiling and rendering
|
|
44
|
+
|
|
45
|
+
- OpenCL event profiling;
|
|
46
|
+
- asynchronous `GL_TIME_ELAPSED` particle draw profiling;
|
|
47
|
+
- controlled OpenGL benchmark modes;
|
|
48
|
+
- `no_msaa` optimized default for the fountain demo;
|
|
49
|
+
- CL/GL frame profiler for reproducible performance analysis.
|
|
50
|
+
|
|
51
|
+
### Tests
|
|
52
|
+
|
|
53
|
+
- compatibility and numerical regression tests;
|
|
54
|
+
- OpenCL compute tests when a usable device is available;
|
|
55
|
+
- fused fountain render-mirror correctness test;
|
|
56
|
+
- cleanup callback lifetime regression test.
|