jaxion 0.0.9__py3-none-any.whl → 0.0.10__py3-none-any.whl

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.
jaxion/__init__.py CHANGED
@@ -1,3 +1,20 @@
1
+ from importlib.metadata import version, PackageNotFoundError
2
+
1
3
  from .simulation import Simulation as Simulation
2
4
  from .constants import constants as constants
3
5
  from .analysis import radial_power_spectrum as radial_power_spectrum
6
+
7
+ """
8
+ jaxion: A JAX library for simulations of fuzzy dark matter, stars, gas + more!
9
+ """
10
+
11
+ try:
12
+ __version__ = version("jaxion")
13
+ except PackageNotFoundError:
14
+ __version__ = "unknown"
15
+
16
+ __all__ = [
17
+ "Simulation",
18
+ "constants",
19
+ "radial_power_spectrum",
20
+ ]
jaxion/hydro.py CHANGED
@@ -197,36 +197,42 @@ def slope_limiter(f, dx, f_dx, f_dy, f_dz):
197
197
  denom = adjust_denominator(orig_f_dx)
198
198
  num = (f - jnp.roll(f, 1, axis=0)) / dx
199
199
  ratio = num / denom
200
- limiter = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
201
- f_dx = limiter * f_dx
200
+ limiter_left = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
202
201
 
203
202
  num = -(f - jnp.roll(f, -1, axis=0)) / dx
204
203
  ratio = num / denom # Use the same adjusted denominator
205
- limiter = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
206
- f_dx = limiter * f_dx
204
+ limiter_right = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
205
+
206
+ # Take minimum of both limiters and apply to original slope
207
+ limiter = jnp.minimum(limiter_left, limiter_right)
208
+ f_dx = limiter * orig_f_dx
207
209
 
208
210
  # For y-direction
209
211
  denom = adjust_denominator(orig_f_dy)
210
212
  num = (f - jnp.roll(f, 1, axis=1)) / dx
211
213
  ratio = num / denom
212
- limiter = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
213
- f_dy = limiter * f_dy
214
+ limiter_left = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
214
215
 
215
216
  num = -(f - jnp.roll(f, -1, axis=1)) / dx
216
217
  ratio = num / denom
217
- limiter = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
218
- f_dy = limiter * f_dy
218
+ limiter_right = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
219
+
220
+ # Take minimum of both limiters and apply to original slope
221
+ limiter = jnp.minimum(limiter_left, limiter_right)
222
+ f_dy = limiter * orig_f_dy
219
223
 
220
224
  # For z-direction
221
225
  denom = adjust_denominator(orig_f_dz)
222
226
  num = (f - jnp.roll(f, 1, axis=2)) / dx
223
227
  ratio = num / denom
224
- limiter = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
225
- f_dz = limiter * f_dz
228
+ limiter_left = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
226
229
 
227
230
  num = -(f - jnp.roll(f, -1, axis=2)) / dx
228
231
  ratio = num / denom
229
- limiter = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
230
- f_dz = limiter * f_dz
232
+ limiter_right = jnp.maximum(0.0, jnp.minimum(1.0, ratio))
233
+
234
+ # Take minimum of both limiters and apply to original slope
235
+ limiter = jnp.minimum(limiter_left, limiter_right)
236
+ f_dz = limiter * orig_f_dz
231
237
 
232
238
  return f_dx, f_dy, f_dz
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jaxion
3
- Version: 0.0.9
3
+ Version: 0.0.10
4
4
  Summary: A differentiable simulation library for fuzzy dark matter in JAX
5
5
  Author-email: Philip Mocz <philip.mocz@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -77,13 +77,7 @@ Install with:
77
77
  pip install jaxion
78
78
  ```
79
79
 
80
- or, for GPU support, use:
81
-
82
- ```console
83
- pip install jaxion[cuda12]
84
- ```
85
-
86
- See the docs for more info on how to [build from source](https://jaxion.readthedocs.io/en/latest/pages/installation.html).
80
+ or see the docs for how to [build from source](https://jaxion.readthedocs.io/en/latest/pages/installation.html).
87
81
 
88
82
 
89
83
  ## Examples
@@ -123,6 +117,11 @@ Check out the [`examples/`](https://github.com/JaxionProject/jaxion/tree/main/ex
123
117
  </p>
124
118
 
125
119
 
120
+ ## Try it out!
121
+
122
+ Launch a live demo in Google Colab: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JaxionProject/jaxion/blob/main/notebooks/soliton_binary_merger/soliton_binary_merger.ipynb)
123
+
124
+
126
125
  ## High-Performance
127
126
 
128
127
  Jaxion is scalable on multiple GPUs!
@@ -139,6 +138,12 @@ Jaxion is scalable on multiple GPUs!
139
138
  Jaxion welcomes community contributions of all kinds. Open an issue or fork the code and submit a pull request. Please check out the [Contributing Guidelines](CONTRIBUTING.md)
140
139
 
141
140
 
141
+ ## TODO/Wishlist
142
+
143
+ * cosmological initial condition generator
144
+ * add cosmological factors to gas evolution
145
+
146
+
142
147
  ## Links
143
148
 
144
149
  * [Code repository](https://github.com/JaxionProject/jaxion) on GitHub (this page).
@@ -153,10 +158,10 @@ If you use this software, please cite it as below.
153
158
  @software{Mocz_Jaxion_2025,
154
159
  author = {Mocz, Philip},
155
160
  doi = {10.5281/zenodo.17438467},
156
- month = oct,
161
+ month = dec,
157
162
  title = {{Jaxion}},
158
163
  url = {https://github.com/JaxionProject/jaxion},
159
- version = {0.0.4},
164
+ version = {0.0.9},
160
165
  year = {2025}
161
166
  }
162
167
  ```
@@ -1,17 +1,17 @@
1
- jaxion/__init__.py,sha256=Hdji1UQ47lG24Pqcy6UUq9L0-qy6m9Ax41L0vIYzBto,164
1
+ jaxion/__init__.py,sha256=qUWqH7N8srFTTRM4MQf4A7OTbyE6mGx5mrBYloEOpv8,492
2
2
  jaxion/analysis.py,sha256=4YT9Z2dkFoXwft3fQM1HyynVPlIdtRd80VtI2vWTyq4,1568
3
3
  jaxion/constants.py,sha256=HyY2ktKQakv78jD1yQvFdM3sklUJcPgDMYlTsSPQTxI,512
4
4
  jaxion/cosmology.py,sha256=UC1McXNTXGoPRYXn0nI2-csVkJWL-ZBNoCa44oU1b4w,2681
5
5
  jaxion/defaults.json,sha256=MZraX_f5we3tLKBgpngy5hn0SUVznZkgmNEsGclgNUg,3093
6
6
  jaxion/gravity.py,sha256=2smqy_jjmr0VkMGzLPMYjLahHBMfZ2nNUx0gUiTWcDI,293
7
- jaxion/hydro.py,sha256=KoJ02tRpAc4V3Ofzw4zbHLRaE2GdIatbOBE04_LsSRw,6980
7
+ jaxion/hydro.py,sha256=gYotvKh-bo86R9-2BwD_VDITI6Tm2RpHfI1Tih60l6s,7310
8
8
  jaxion/particles.py,sha256=AD3VlomC_VPOcHalAlZo8kcGFV5pui9tCnKkenm6DxE,7026
9
9
  jaxion/quantum.py,sha256=GWOpN6ipfEw-6Ah2zQpxS3oqeSt_iHMDSgnVYSjXY5E,3321
10
10
  jaxion/simulation.py,sha256=vpRLIb2EJdu0Df7ABgukgQ-ykhEP9nuGVIqu2ZzEKEw,20507
11
11
  jaxion/utils.py,sha256=OCpJ3crZqr5VFacymYzi5BkRqFCVBcneoS44wV9mZPg,4087
12
12
  jaxion/visualization.py,sha256=D0Nr5vhuqxL50MBIPD2ZMOdFDmG6zbCEiH1RemXtn_M,3346
13
- jaxion-0.0.9.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
14
- jaxion-0.0.9.dist-info/METADATA,sha256=LN5zMcmFtvkFf5awRE9rPqrLUPFzysz0J7rjenzL2Iw,6468
15
- jaxion-0.0.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
- jaxion-0.0.9.dist-info/top_level.txt,sha256=S1OV2VdlDG_9UwpKOIji4itQGOS-VWUOWUi3GeXWzt0,7
17
- jaxion-0.0.9.dist-info/RECORD,,
13
+ jaxion-0.0.10.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
14
+ jaxion-0.0.10.dist-info/METADATA,sha256=9wCMOK5CoRldiRf9MLkwWdbJct0V5oRPlxO5FlJoA2s,6760
15
+ jaxion-0.0.10.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
16
+ jaxion-0.0.10.dist-info/top_level.txt,sha256=S1OV2VdlDG_9UwpKOIji4itQGOS-VWUOWUi3GeXWzt0,7
17
+ jaxion-0.0.10.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5