eptraj 0.1.0__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.
eptraj-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 andrej5elin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ include csv/*.csv
eptraj-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,86 @@
1
+ Metadata-Version: 2.4
2
+ Name: eptraj
3
+ Version: 0.1.0
4
+ Summary: 3D particle-tracking simulator for microfluidic channels
5
+ License: MIT
6
+ Requires-Python: >=3.9
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+ Requires-Dist: numpy
10
+ Dynamic: description
11
+ Dynamic: description-content-type
12
+ Dynamic: license
13
+ Dynamic: license-file
14
+ Dynamic: requires-dist
15
+ Dynamic: requires-python
16
+ Dynamic: summary
17
+
18
+ # eptraj
19
+
20
+ `eptraj` is a Python 3D particle-tracking simulator for coupled AC
21
+ electrophoresis, pressure-driven flow, and Brownian motion in microfluidic
22
+ channels.
23
+
24
+ ## Installation
25
+
26
+ Install the package from PyPI with pip:
27
+
28
+ ```bash
29
+ python -m pip install eptraj
30
+ ```
31
+
32
+ The PyPI package provides the `eptraj.py` module. Import it in Python with:
33
+
34
+ ```python
35
+ import eptraj
36
+ ```
37
+
38
+ ## Array backends and acceleration
39
+
40
+ NumPy is the default array backend and is installed with `eptraj`. To use an
41
+ optional backend, install it separately:
42
+
43
+ ```bash
44
+ python -m pip install mlx # MLX, for supported Apple silicon systems
45
+ python -m pip install cupy-cuda12x # CuPy, for CUDA 12.x
46
+ python -m pip install numba # Numba acceleration for NumPy
47
+ ```
48
+
49
+ For other CUDA versions or installation options, see the
50
+ [CuPy installation guide](https://docs.cupy.dev/en/stable/install.html).
51
+
52
+ Pass the imported array module (not its name as a string) to `set_backend`:
53
+
54
+ ```python
55
+ import eptraj
56
+ import mlx.core as mx # alternatively: import cupy as cp
57
+
58
+ eptraj.set_backend(mx) # or eptraj.set_backend(cp)
59
+ ```
60
+
61
+ Use `eptraj.set_backend(numpy)` after importing `numpy` to switch back.
62
+ Non-NumPy backends require single precision and cannot be used while Numba is
63
+ enabled. If `EPSIM_USE_DOUBLE_PRECISION=1` is set before importing `eptraj`,
64
+ only NumPy is supported.
65
+
66
+ Numba can accelerate NumPy computations for large-scale simulations. Install it
67
+ before importing `eptraj`; it is disabled by default and can be enabled or
68
+ disabled explicitly:
69
+
70
+ ```python
71
+ import eptraj
72
+
73
+ eptraj.enable_numba()
74
+ # Run the simulation with the NumPy backend.
75
+ eptraj.disable_numba()
76
+ ```
77
+
78
+ The Numba implementation does not support `DISABLE_*` simulation flags; it
79
+ supports the default flags and `ENABLE_LOW_FREQ_APPROXIMATION`.
80
+
81
+ For large-scale simulations (around 100k or more particles), use CuPy or
82
+ `mlx.core` to run computations on the GPU. Numba uses multiple CPU cores and
83
+ is a good fit for medium-sized simulations (around 10k or more particles).
84
+ For small simulations, use the standard, non-accelerated NumPy backend.
85
+ Seeding Brownian motion is only supported with this non-accelerated NumPy
86
+ backend.
eptraj-0.1.0/README.md ADDED
@@ -0,0 +1,69 @@
1
+ # eptraj
2
+
3
+ `eptraj` is a Python 3D particle-tracking simulator for coupled AC
4
+ electrophoresis, pressure-driven flow, and Brownian motion in microfluidic
5
+ channels.
6
+
7
+ ## Installation
8
+
9
+ Install the package from PyPI with pip:
10
+
11
+ ```bash
12
+ python -m pip install eptraj
13
+ ```
14
+
15
+ The PyPI package provides the `eptraj.py` module. Import it in Python with:
16
+
17
+ ```python
18
+ import eptraj
19
+ ```
20
+
21
+ ## Array backends and acceleration
22
+
23
+ NumPy is the default array backend and is installed with `eptraj`. To use an
24
+ optional backend, install it separately:
25
+
26
+ ```bash
27
+ python -m pip install mlx # MLX, for supported Apple silicon systems
28
+ python -m pip install cupy-cuda12x # CuPy, for CUDA 12.x
29
+ python -m pip install numba # Numba acceleration for NumPy
30
+ ```
31
+
32
+ For other CUDA versions or installation options, see the
33
+ [CuPy installation guide](https://docs.cupy.dev/en/stable/install.html).
34
+
35
+ Pass the imported array module (not its name as a string) to `set_backend`:
36
+
37
+ ```python
38
+ import eptraj
39
+ import mlx.core as mx # alternatively: import cupy as cp
40
+
41
+ eptraj.set_backend(mx) # or eptraj.set_backend(cp)
42
+ ```
43
+
44
+ Use `eptraj.set_backend(numpy)` after importing `numpy` to switch back.
45
+ Non-NumPy backends require single precision and cannot be used while Numba is
46
+ enabled. If `EPSIM_USE_DOUBLE_PRECISION=1` is set before importing `eptraj`,
47
+ only NumPy is supported.
48
+
49
+ Numba can accelerate NumPy computations for large-scale simulations. Install it
50
+ before importing `eptraj`; it is disabled by default and can be enabled or
51
+ disabled explicitly:
52
+
53
+ ```python
54
+ import eptraj
55
+
56
+ eptraj.enable_numba()
57
+ # Run the simulation with the NumPy backend.
58
+ eptraj.disable_numba()
59
+ ```
60
+
61
+ The Numba implementation does not support `DISABLE_*` simulation flags; it
62
+ supports the default flags and `ENABLE_LOW_FREQ_APPROXIMATION`.
63
+
64
+ For large-scale simulations (around 100k or more particles), use CuPy or
65
+ `mlx.core` to run computations on the GPU. Numba uses multiple CPU cores and
66
+ is a good fit for medium-sized simulations (around 10k or more particles).
67
+ For small simulations, use the standard, non-accelerated NumPy backend.
68
+ Seeding Brownian motion is only supported with this non-accelerated NumPy
69
+ backend.
@@ -0,0 +1,22 @@
1
+ temperature_c,density_kg_m3
2
+ 0,999.84
3
+ 5,999.88
4
+ 10,999.55
5
+ 15,998.88
6
+ 20,997.94
7
+ 25,996.73
8
+ 30,995.29
9
+ 35,993.64
10
+ 40,991.79
11
+ 45,989.76
12
+ 50,987.55
13
+ 55,985.19
14
+ 60,982.67
15
+ 65,980.01
16
+ 70,977.21
17
+ 75,974.27
18
+ 80,971.20
19
+ 85,968.01
20
+ 90,964.70
21
+ 95,961.27
22
+ 100,957.72
@@ -0,0 +1,22 @@
1
+ temperature_c,relative_permittivity
2
+ 0,87.90
3
+ 5,85.90
4
+ 10,83.96
5
+ 15,82.07
6
+ 20,80.23
7
+ 25,78.44
8
+ 30,76.70
9
+ 35,75.00
10
+ 40,73.35
11
+ 45,71.74
12
+ 50,70.17
13
+ 55,68.64
14
+ 60,67.15
15
+ 65,65.69
16
+ 70,64.27
17
+ 75,62.89
18
+ 80,61.54
19
+ 85,60.22
20
+ 90,58.93
21
+ 95,57.67
22
+ 100,56.44
@@ -0,0 +1,48 @@
1
+ temperature_c,viscosity_pa_s
2
+ 2,0.0016735
3
+ 3,0.001619
4
+ 4,0.0015673
5
+ 5,0.0015182
6
+ 6,0.0014715
7
+ 7,0.0014271
8
+ 8,0.0013847
9
+ 9,0.0013444
10
+ 10,0.0013059
11
+ 11,0.0012692
12
+ 12,0.001234
13
+ 13,0.0012005
14
+ 14,0.0011683
15
+ 15,0.0011375
16
+ 16,0.0011081
17
+ 17,0.0010798
18
+ 18,0.0010526
19
+ 19,0.0010266
20
+ 20,0.0010016
21
+ 21,0.0009775
22
+ 22,0.0009544
23
+ 23,0.0009321
24
+ 24,0.0009107
25
+ 25,0.00089
26
+ 26,0.0008701
27
+ 27,0.0008509
28
+ 28,0.0008324
29
+ 29,0.0008145
30
+ 30,0.0007972
31
+ 31,0.0007805
32
+ 32,0.0007644
33
+ 33,0.0007488
34
+ 34,0.0007337
35
+ 35,0.0007191
36
+ 36,0.000705
37
+ 37,0.0006913
38
+ 38,0.000678
39
+ 39,0.0006652
40
+ 40,0.0006527
41
+ 45,0.0005958
42
+ 50,0.0005465
43
+ 55,0.0005036
44
+ 60,0.000466
45
+ 65,0.0004329
46
+ 70,0.0004035
47
+ 75,0.0003774
48
+ 80,0.000354
@@ -0,0 +1,86 @@
1
+ Metadata-Version: 2.4
2
+ Name: eptraj
3
+ Version: 0.1.0
4
+ Summary: 3D particle-tracking simulator for microfluidic channels
5
+ License: MIT
6
+ Requires-Python: >=3.9
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+ Requires-Dist: numpy
10
+ Dynamic: description
11
+ Dynamic: description-content-type
12
+ Dynamic: license
13
+ Dynamic: license-file
14
+ Dynamic: requires-dist
15
+ Dynamic: requires-python
16
+ Dynamic: summary
17
+
18
+ # eptraj
19
+
20
+ `eptraj` is a Python 3D particle-tracking simulator for coupled AC
21
+ electrophoresis, pressure-driven flow, and Brownian motion in microfluidic
22
+ channels.
23
+
24
+ ## Installation
25
+
26
+ Install the package from PyPI with pip:
27
+
28
+ ```bash
29
+ python -m pip install eptraj
30
+ ```
31
+
32
+ The PyPI package provides the `eptraj.py` module. Import it in Python with:
33
+
34
+ ```python
35
+ import eptraj
36
+ ```
37
+
38
+ ## Array backends and acceleration
39
+
40
+ NumPy is the default array backend and is installed with `eptraj`. To use an
41
+ optional backend, install it separately:
42
+
43
+ ```bash
44
+ python -m pip install mlx # MLX, for supported Apple silicon systems
45
+ python -m pip install cupy-cuda12x # CuPy, for CUDA 12.x
46
+ python -m pip install numba # Numba acceleration for NumPy
47
+ ```
48
+
49
+ For other CUDA versions or installation options, see the
50
+ [CuPy installation guide](https://docs.cupy.dev/en/stable/install.html).
51
+
52
+ Pass the imported array module (not its name as a string) to `set_backend`:
53
+
54
+ ```python
55
+ import eptraj
56
+ import mlx.core as mx # alternatively: import cupy as cp
57
+
58
+ eptraj.set_backend(mx) # or eptraj.set_backend(cp)
59
+ ```
60
+
61
+ Use `eptraj.set_backend(numpy)` after importing `numpy` to switch back.
62
+ Non-NumPy backends require single precision and cannot be used while Numba is
63
+ enabled. If `EPSIM_USE_DOUBLE_PRECISION=1` is set before importing `eptraj`,
64
+ only NumPy is supported.
65
+
66
+ Numba can accelerate NumPy computations for large-scale simulations. Install it
67
+ before importing `eptraj`; it is disabled by default and can be enabled or
68
+ disabled explicitly:
69
+
70
+ ```python
71
+ import eptraj
72
+
73
+ eptraj.enable_numba()
74
+ # Run the simulation with the NumPy backend.
75
+ eptraj.disable_numba()
76
+ ```
77
+
78
+ The Numba implementation does not support `DISABLE_*` simulation flags; it
79
+ supports the default flags and `ENABLE_LOW_FREQ_APPROXIMATION`.
80
+
81
+ For large-scale simulations (around 100k or more particles), use CuPy or
82
+ `mlx.core` to run computations on the GPU. Numba uses multiple CPU cores and
83
+ is a good fit for medium-sized simulations (around 10k or more particles).
84
+ For small simulations, use the standard, non-accelerated NumPy backend.
85
+ Seeding Brownian motion is only supported with this non-accelerated NumPy
86
+ backend.
@@ -0,0 +1,13 @@
1
+ LICENSE
2
+ MANIFEST.in
3
+ README.md
4
+ eptraj.py
5
+ setup.py
6
+ csv/water_density.csv
7
+ csv/water_permittivity.csv
8
+ csv/water_viscosity.csv
9
+ eptraj.egg-info/PKG-INFO
10
+ eptraj.egg-info/SOURCES.txt
11
+ eptraj.egg-info/dependency_links.txt
12
+ eptraj.egg-info/requires.txt
13
+ eptraj.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ numpy
@@ -0,0 +1 @@
1
+ eptraj