Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
574 commits
Select commit Hold shift + click to select a range
40a24e0
Remove old file
f0uriest Sep 10, 2024
d31cf9d
Merge branch 'dp/field-line-integrate-diffrax' into rc/coil_tracing
f0uriest Sep 10, 2024
a0a5472
Refactor to use diffrax
f0uriest Sep 10, 2024
6648fe8
Merge branch 'master' into rc/coil_tracing
YigitElma Sep 10, 2024
b2156d5
Add option for full orbit
f0uriest Sep 11, 2024
7f6a5d9
Merge branch 'PlasmaControl:master' into jb/DPS
joaopedrobiu6 Nov 15, 2024
524680e
Merge branch 'PlasmaControl:master' into jb/DPS
joaopedrobiu6 Nov 19, 2024
4b81788
Merge branch 'PlasmaControl:master' into jb/DPS
joaopedrobiu6 Nov 27, 2024
7226ecb
Merge branch 'master' into jb/DPS
dpanici Mar 6, 2025
b95b168
Merge DPS from fork to jb/DPS branch on DESC repository (#1625)
joaopedrobiu6 Mar 6, 2025
959f68c
Now it automatically chooses if it solves 1 particle or more than 1 p…
joaopedrobiu6 Mar 6, 2025
b5ad7f8
Single or multiparticle adaptation (#1626)
joaopedrobiu6 Mar 6, 2025
bf076a5
update script
dpanici Mar 14, 2025
f65327a
Formatting
f0uriest Mar 26, 2025
687abfd
Merge branch 'master' into rc/coil_tracing
f0uriest Mar 27, 2025
baf0fb9
Merge branch 'master' into jb/DPS
f0uriest Mar 27, 2025
d4773e5
Merge branch 'rc/coil_tracing' into rc/particles
f0uriest Mar 27, 2025
66a042c
Add basic sketch of particle tracing module
f0uriest Mar 27, 2025
0764d19
Add better implementation of coulomb log and slowing down time
f0uriest Mar 27, 2025
38abf76
Add initializer for real space
f0uriest Mar 27, 2025
3f3cd03
Add args to trajectory models
f0uriest Mar 27, 2025
a27c947
Allow models to work in either frame
f0uriest Mar 27, 2025
51fb31a
Clean up initializers to work with args in either frame
f0uriest Mar 28, 2025
81c34bc
Add diffrax stuff to tracing, add type hints
f0uriest Mar 28, 2025
8e8d4e2
Remove old stuff for tracing particles in coils
f0uriest Mar 28, 2025
3cba183
Add tracing to __init__
f0uriest Mar 28, 2025
10560b0
Add surface initializer, initializers now work i think
f0uriest Mar 28, 2025
cda8285
Fix class structure for model/diffrax terms
f0uriest Mar 28, 2025
e75067d
Merge branch 'master' into rc/particles
dpanici Jun 24, 2025
5caf676
minor clean-up, move test scripts to private repo
YigitElma Jul 11, 2025
2104db3
remove DS_store
YigitElma Jul 11, 2025
c643857
rename files as particles
YigitElma Jul 11, 2025
6884caf
minor clean-up, update docs, use scipy constants
YigitElma Jul 11, 2025
2b19f00
update docs
YigitElma Jul 15, 2025
bcd6e67
add bounds terminator
YigitElma Jul 15, 2025
83cce3d
simplify some equations
YigitElma Jul 15, 2025
2cae141
simplify more equations, add some comments on possible mistakes
YigitElma Jul 15, 2025
e3d1365
fix typo
YigitElma Jul 15, 2025
1813f7d
rename event
YigitElma Jul 15, 2025
d2fa9b6
move back to using ODETerm instead of custom term
YigitElma Jul 16, 2025
9b3b252
move integration functions out of model class, make the function vmap…
YigitElma Jul 21, 2025
3c51c1d
clean up, move the functions back to model classes, need to figure ou…
YigitElma Jul 21, 2025
8d7a6e3
Merge branch 'master' into rc/particles
YigitElma Jul 21, 2025
d506a50
remove compute functions, only use trace_particles
YigitElma Jul 21, 2025
7ed2e15
Merge branch 'rc/particles' of github.com:PlasmaControl/DESC into rc/…
YigitElma Jul 21, 2025
15f5468
remove the static attrs
YigitElma Jul 21, 2025
c768605
Merge remote-tracking branch 'origin/rc/pytrees' into rc/particles
YigitElma Jul 21, 2025
9c426e8
add static fields properly with equinox
YigitElma Jul 21, 2025
c6f6bdf
add plotting function, add one example probably will be changed later
YigitElma Jul 22, 2025
c317acf
Merge branch 'master' into rc/particles
YigitElma Jul 22, 2025
08e649f
remove the objective class, it had redundant code for integration, we…
YigitElma Jul 22, 2025
db4667e
remove the example figure, fix some docs
YigitElma Jul 22, 2025
2e1b358
move common logic to super class
YigitElma Jul 22, 2025
5fcb23e
clean up
YigitElma Jul 22, 2025
5770844
fix bugs
YigitElma Jul 22, 2025
166109b
Merge branch 'rc/pytrees' into rc/particles
YigitElma Jul 23, 2025
f8b847c
remove print
YigitElma Jul 23, 2025
e7578ca
add better warning for flux/lab particles, convert coordinates to pro…
YigitElma Jul 23, 2025
62b722b
update changelog
YigitElma Jul 23, 2025
16ae246
use equinox errors
YigitElma Jul 23, 2025
b6156b8
clean up random indices genrator
YigitElma Jul 25, 2025
a8719d3
Merge remote-tracking branch 'origin/rc/pytrees' into rc/particles
YigitElma Jul 25, 2025
ef86230
add initial tests
YigitElma Jul 25, 2025
78a2ac9
add safediv
YigitElma Jul 26, 2025
d5676f9
add end-point to the plot, fix adaptive stepsize controller for Euler…
YigitElma Jul 28, 2025
5e93895
apply euler exception to field_line_integrate, rename maxstep to max_…
YigitElma Jul 29, 2025
59eb7a3
Update desc/particles.py
YigitElma Jul 30, 2025
3b8ceb6
Update desc/magnetic_fields/_core.py
YigitElma Jul 30, 2025
55cb5d9
add equations to docs, add refs, address Dario's comments, fix typos
YigitElma Jul 30, 2025
8a11a48
Merge remote-tracking branch 'origin/rc/pytrees' into rc/particles
YigitElma Jul 30, 2025
0247402
fixes for docs
YigitElma Jul 30, 2025
39c3257
make definition of mu mathc the convention, fix equations, add test
YigitElma Jul 30, 2025
659500e
Merge branch 'master' into rc/particles
YigitElma Jul 30, 2025
47d7472
fix equations, add 1 more test
YigitElma Jul 31, 2025
91b13c2
add new test, divide field velocity by R for angular speed, fix typos
YigitElma Aug 1, 2025
086a92a
not sure why, but Rdot seems to be 2D and so changed the at,set state…
dpanici Aug 2, 2025
e8cc639
Merge branch 'master' into rc/particles
dpanici Aug 2, 2025
180d8c7
fix some bugs: shape errors in vac guiding center model vf, and ensur…
dpanici Aug 2, 2025
f367328
fix some bugs: shape errors in vac guiding center model vf, and ensur…
dpanici Aug 2, 2025
bfdcc46
Merge branch 'rc/particles' of github.com:PlasmaControl/DESC into rc/…
dpanici Aug 2, 2025
b8608e5
clean up the fix for phidot
YigitElma Aug 3, 2025
54a1f2b
minor updates
YigitElma Aug 3, 2025
faabdbc
add initializer tests, add proper error/warnings, misc clean-up
YigitElma Aug 3, 2025
797b199
update docs
YigitElma Aug 3, 2025
f3de9fd
fix the smal bug
YigitElma Aug 3, 2025
20e6b7d
Update tests/test_particles.py
YigitElma Aug 3, 2025
5115f5a
Update tests/test_particles.py
YigitElma Aug 3, 2025
15143c9
fix docs, remove type hints, add test
YigitElma Aug 3, 2025
a68bf17
fix docs
YigitElma Aug 3, 2025
bd7a554
try to solve the weird doc failure
YigitElma Aug 3, 2025
7910e95
remove the eq from example code
YigitElma Aug 3, 2025
ecaebf9
add a way to pass in iota profile
YigitElma Aug 4, 2025
a2b99e1
Merge remote-tracking branch 'origin/master' into rc/particles
YigitElma Aug 5, 2025
29cdcba
use Event instead of deprecated discrete terminating event
YigitElma Aug 5, 2025
2a8f6a0
update field_line_integrate to use vmap and event
YigitElma Aug 5, 2025
dae6324
add rho and theta to plot data
YigitElma Aug 5, 2025
bb468cf
pass model args as array, addres some comments
YigitElma Aug 9, 2025
ca2baac
Merge remote-tracking branch 'origin/master' into rc/particles
YigitElma Aug 9, 2025
31af2b3
update api docs
YigitElma Aug 9, 2025
69cb0b5
update bounds
YigitElma Aug 9, 2025
b479f0f
small fixes
YigitElma Aug 9, 2025
47712fd
fix test
YigitElma Aug 10, 2025
76381c5
set better default to max_steps, update the docs
YigitElma Aug 10, 2025
f55e6a2
add missing options
YigitElma Aug 10, 2025
56ff550
remove chnages from field_line_integrate
YigitElma Aug 11, 2025
34615c0
update changelog
YigitElma Aug 11, 2025
714c2c3
Update pre-commit requirement from <=4.2.0 to <=4.3.0 in the linting …
dependabot[bot] Aug 12, 2025
a018a95
update docs
YigitElma Aug 12, 2025
cdbe575
clean up curve/surface paraticle initializers
YigitElma Aug 12, 2025
7efb7df
make plotting faster
YigitElma Aug 12, 2025
60a24b4
fix curve/surface initializer when they are outside of the equilibriu…
YigitElma Aug 12, 2025
209b2f3
Merge branch 'master' into rc/particles
YigitElma Aug 12, 2025
2088d0b
minor fixes, trace back who added that params dict thing
YigitElma Aug 12, 2025
852cf6b
use jax.random.choice instead of custom function
YigitElma Aug 13, 2025
76f2131
Bump actions/download-artifact from 4 to 5 (#1843)
dependabot[bot] Aug 13, 2025
ff31818
Reuse Z transform for L in from_near_axis (#1841)
dpanici Aug 13, 2025
36275b8
add public function trace_particles which takes in initializer and he…
YigitElma Aug 13, 2025
8416398
move slowdown model to a new PR, this one is getting very big, and we…
YigitElma Aug 13, 2025
4a429d4
Merge branch 'master' into rc/particles
YigitElma Aug 13, 2025
c4c58be
update changelog
YigitElma Aug 13, 2025
8354973
update changelog
YigitElma Aug 14, 2025
6134f79
use cartesian-like coordinate for integration as Rory suggested
YigitElma Aug 14, 2025
e7264fa
add chunk size
YigitElma Aug 14, 2025
9f3f48f
move common 3D layout operations to private function, fix docs
YigitElma Aug 14, 2025
e908a51
fix the saved rtz values in plotting
YigitElma Aug 14, 2025
e41fabe
use compute_fun instead of eq.compute for better performance in parti…
YigitElma Aug 15, 2025
0c268e3
Merge branch 'master' into rc/particles
YigitElma Aug 18, 2025
4a943e5
increase codecov
YigitElma Aug 19, 2025
0185b9a
add rho<1e-6 explanation
YigitElma Aug 19, 2025
215986f
Update desc/particles.py
YigitElma Aug 19, 2025
31f10b9
Merge branch 'master' into rc/particles
YigitElma Aug 20, 2025
12692be
Fixing stuff from 1529 (#1856)
unalmis Aug 20, 2025
e7f8d8d
revert action update until issue #1865 is resolved (#1867)
dpanici Aug 21, 2025
0a7b7d6
Bump actions/checkout from 4 to 5 (#1861)
dependabot[bot] Aug 25, 2025
14668c7
update changelog with v0.15.0 (#1874)
dpanici Aug 25, 2025
d273eb4
Use an orthogonal basis for the straight field line equilibrium (#1880)
unalmis Aug 27, 2025
ad04c0c
Adding metric elements and their derivatives in PEST coordinates and …
rahulgaur104 Sep 2, 2025
54abbf7
move default value setters to trace_particles
YigitElma Sep 3, 2025
f9cdde5
accept arrays for E, m , q
YigitElma Sep 3, 2025
9f503e8
use proper jax random uniform
YigitElma Sep 4, 2025
6d79340
make most initializers jitable, only curve to be done by initial guess
YigitElma Sep 4, 2025
eacb6d0
maybe make the curve initializer jitable
YigitElma Sep 4, 2025
a42452e
add jitable tests, allow initializing lab frame by flux inputs throug…
YigitElma Sep 4, 2025
8ca6679
Merge branch 'master' into rc/particles
YigitElma Sep 4, 2025
f95931f
update changelog
YigitElma Sep 4, 2025
7e08af4
add option to skip coordinate mapping for curve and surface initializers
YigitElma Sep 4, 2025
4afe6c7
change of variable name
YigitElma Sep 4, 2025
e728d49
Merge branch 'master' into rc/particles
YigitElma Sep 4, 2025
3876988
minor changes, add chunking to coordinate mapping in plotting
YigitElma Sep 5, 2025
94670a8
update min step size, an alpha particle moves only couple milimeters …
YigitElma Sep 5, 2025
3b79574
Merge branch 'master' into rc/particles
dpanici Sep 8, 2025
dee2275
doc related fixes
YigitElma Sep 10, 2025
56e1b05
add equinox to requirements explicitly
YigitElma Sep 10, 2025
e386e29
rename ensure variables
YigitElma Sep 10, 2025
9aaee03
reoder lines
YigitElma Sep 10, 2025
64be258
Merge branch 'master' into rc/particles
YigitElma Sep 10, 2025
7a5f859
refactor inputs as Rory suggested
YigitElma Sep 10, 2025
32d73fe
refactor inputs as Rory suggested part 2
YigitElma Sep 10, 2025
65eddf2
revert the R0 change
YigitElma Sep 11, 2025
1a2c1ab
add default grid for initializer classes
YigitElma Sep 16, 2025
d6bd361
reduce tolerance, fix typo
YigitElma Sep 16, 2025
a35958c
add throw argument
YigitElma Sep 16, 2025
96227e0
Merge branch 'master' into rc/particles
YigitElma Sep 16, 2025
a94517c
remove the misleading 'such as'
YigitElma Sep 16, 2025
b3ca3c1
add aux data, FIX important bug about Grid creation!
YigitElma Sep 18, 2025
0887fc8
add guard against other possible bugs
YigitElma Sep 18, 2025
4dcafa6
Merge branch 'master' into rc/particles
YigitElma Sep 18, 2025
78c8b11
remove the grid fix for now
YigitElma Sep 18, 2025
4a7ef72
Merge branch 'master' into rc/particles
dpanici Sep 24, 2025
9741840
address Dario's comments
YigitElma Sep 25, 2025
114aaf8
Merge branch 'master' into rc/particles
YigitElma Sep 25, 2025
eb4a5a8
fix docs error
YigitElma Sep 26, 2025
3f71da9
fix docs
YigitElma Sep 26, 2025
d4324cb
Merge branch 'master' into rc/particles
dpanici Sep 30, 2025
83d79e1
i don't know what the hell it does but it works! CPU stuff is fine no…
YigitElma Oct 1, 2025
1b04e81
Merge branch 'master' into rc/particles
YigitElma Oct 1, 2025
6739ddb
Update desc/plotting.py
YigitElma Oct 1, 2025
84d3887
Merge branch 'master' into rc/particles
YigitElma Oct 2, 2025
ad0b883
use paratmetrization instead of object
YigitElma Sep 29, 2025
fa8bff5
remove redundant comment
YigitElma Oct 6, 2025
89d0c70
Merge branch 'master' into rc/particles
YigitElma Oct 7, 2025
4c52cc5
Merge branch 'master' into rc/particles
YigitElma Oct 7, 2025
5863c02
Merge branch 'master' into rc/particles
dpanici Oct 9, 2025
477be30
Merge branch 'master' into rc/particles
YigitElma Oct 16, 2025
89ec34c
add back zernipax function for cpu only, use master one for gpu only.…
YigitElma Oct 19, 2025
288f4a2
Merge branch 'master' into rc/particles
YigitElma Oct 19, 2025
38bb84b
some fixes
YigitElma Oct 19, 2025
9761e28
nondiff argument solved the problem
YigitElma Oct 19, 2025
01babed
some more fixes
YigitElma Oct 19, 2025
9b2e716
revert zernike changes, it needs special care
YigitElma Oct 20, 2025
c74f9a7
add an option to use Fourier Chebyshev interpolation for the magnetic…
YigitElma Nov 12, 2025
c44ee85
some clean up
YigitElma Nov 12, 2025
01732f1
update docs
YigitElma Nov 12, 2025
3015fb7
update docs
YigitElma Nov 12, 2025
97f3ef4
Merge branch 'master' into rc/particles
YigitElma Nov 12, 2025
4c2dd12
update equinox version
YigitElma Nov 12, 2025
5e30271
Merge branch 'rc/particles' into yge/particle-fit
YigitElma Nov 12, 2025
4027179
add ts to aux output to be able to use SaveAt(steps=True)
YigitElma Nov 13, 2025
ef8fd00
update PID controller default coeffs, works better across solvers and…
YigitElma Nov 13, 2025
7efcab8
Merge branch 'master' into rc/particles
YigitElma Nov 13, 2025
903139d
Merge branch 'rc/particles' into yge/particle-fit
YigitElma Nov 13, 2025
c92af1c
add params_dict attribute
YigitElma Nov 13, 2025
f477af3
use batched operations in fit and eval;uate
YigitElma Nov 14, 2025
9c9dfa4
add new quantity, make the procedure easier to implement for others s…
YigitElma Nov 20, 2025
8d1e906
Merge branch 'master' into rc/particles
YigitElma Nov 22, 2025
5a5207b
Merge branch 'rc/particles' into yge/particle-fit
YigitElma Nov 23, 2025
bc46301
Merge branch 'master' into rc/particles
YigitElma Nov 23, 2025
3c7dbf7
Merge branch 'rc/particles' into yge/particle-fit
YigitElma Nov 23, 2025
f4f2f3c
add tests
YigitElma Nov 24, 2025
058e756
remove the error type just check the message, CI fails for weird reasons
YigitElma Dec 2, 2025
f54e16a
Merge branch 'master' into rc/particles
YigitElma Dec 2, 2025
5102b6a
Merge branch 'master' into rc/particles
dpanici Dec 2, 2025
8382c81
Merge branch 'master' into rc/particles
YigitElma Dec 2, 2025
41bf59e
Merge branch 'rc/particles' into yge/particle-fit
YigitElma Dec 2, 2025
930c84c
minor updates
YigitElma Dec 4, 2025
3741a21
Merge branch 'master' into rc/particles
YigitElma Dec 4, 2025
29e94fa
use proper vjp for proximal grad
YigitElma Dec 4, 2025
bade58b
update changelog
YigitElma Dec 4, 2025
fcbb094
Merge branch 'master' into yge/proximal-grad
YigitElma Dec 4, 2025
7d7537e
remove the regularization
YigitElma Dec 4, 2025
5314810
add option to choose internal proximal inversion routine
YigitElma Dec 5, 2025
dd2a690
small simplification
YigitElma Dec 5, 2025
64c7a7f
update the test, continuation causes bad approx. just optimize in sin…
YigitElma Dec 5, 2025
71686cf
Merge branch 'master' into yge/proximal-qr
YigitElma Dec 5, 2025
52a08a4
Merge branch 'master' into yge/proximal-qr
YigitElma Dec 6, 2025
6d39253
Update desc/optimize/_constraint_wrappers.py
YigitElma Dec 6, 2025
1dde9c2
Update desc/optimize/optimizer.py
YigitElma Dec 6, 2025
c17ad56
fix test
YigitElma Dec 7, 2025
11ac5cc
Merge branch 'master' into rc/particles
YigitElma Dec 7, 2025
7fc4383
update changelog, add test
YigitElma Dec 7, 2025
7dc09f2
update the notebook to use single step
YigitElma Dec 8, 2025
dcb278e
Update nbsphinx requirement from <=0.9.7,>=0.8.12 to >=0.8.12,<=0.9.8…
dependabot[bot] Dec 4, 2025
c49ddcb
use proper vjp for proximal grad
YigitElma Dec 4, 2025
4c38de9
Merge branch 'yge/proximal-qr' into yge/particle-fit
YigitElma Dec 8, 2025
249e37d
Merge branch 'rc/particles' into yge/particle-fit
YigitElma Dec 8, 2025
c57119d
Merge branch 'master' into yge/particle-fit
YigitElma Dec 9, 2025
e0cc48c
unmerge yge/proximal-qr
YigitElma Dec 9, 2025
004cb64
Merge branch 'yge/proximal-grad' into yge/particle-fit
YigitElma Dec 9, 2025
34d91ea
revert qr stuff
YigitElma Dec 9, 2025
4112617
unmerge more
YigitElma Dec 9, 2025
63171ba
update
YigitElma Dec 9, 2025
4dce067
compute data on single NFP region, convert zeta to account the differ…
YigitElma Dec 10, 2025
1627fb1
Merge branch 'master' into yge/particle-fit
YigitElma Dec 10, 2025
a5e3fa7
add e^theta*rho to unimplemented quantities
YigitElma Dec 10, 2025
9f5db96
update e^zeta computation, don't stack coefs multiple times, update t…
YigitElma Dec 11, 2025
474bceb
slow but working spline version
YigitElma Dec 11, 2025
f6f636e
slightly more efficient
YigitElma Dec 11, 2025
250e500
Merge branch 'master' into yge/particle-fit
YigitElma Dec 12, 2025
76dcda5
add jit for profiling
YigitElma Dec 18, 2025
7b21b40
Merge branch 'master' into yge/particle-fit
YigitElma Dec 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions desc/compute/_basis_vectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -700,6 +700,25 @@ def _e_sup_theta_times_sqrt_g(params, transforms, profiles, data, **kwargs):
return data


@register_compute_fun(
name="e^theta*rho",
label="\\mathbf{e}^{\\theta} \\rho",
units="m^{-1}",
units_long="inverse meters",
description="Contravariant poloidal basis vector weighted by radial coordinate",
dim=3,
params=[],
transforms={},
profiles=[],
coordinates="rtz",
data=["e^theta"],
parameterization=["desc.equilibrium.equilibrium.Equilibrium"],
)
def _e_sup_theta_times_rho(params, transforms, profiles, data, **kwargs):
data["e^theta*rho"] = data["e^theta"] * transforms["grid"].nodes[:, 0][:, None]
return data


@register_compute_fun(
name="e^theta_r",
label="\\partial_{\\rho} \\mathbf{e}^{\\theta}",
Expand Down
Loading
Loading