Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
531 commits
Select commit Hold shift + click to select a range
f9dd88b
multi_DPS
joaopedrobiu6 Dec 15, 2023
cd9b2b1
multi dps for only two particles
joaopedrobiu6 Dec 15, 2023
3c9d8b3
comparison must be separated
joaopedrobiu6 Dec 15, 2023
edcb53b
Merge branch 'PlasmaControl:master' into jb/DPS
joaopedrobiu6 Dec 19, 2023
4973ff5
trying with one zeta
joaopedrobiu6 Dec 20, 2023
e2e26d3
Merge branch 'jb/DPS' into main
joaopedrobiu6 Feb 2, 2024
6bfbfbd
Merge pull request #8 from joaopedrobiu6/main
joaopedrobiu6 Feb 2, 2024
ee1f0ba
comparison files in DPS fork
joaopedrobiu6 Feb 8, 2024
6bc7330
Merge branch 'master' into rc/coil_tracing
dpanici Apr 16, 2024
408c908
Merge branch 'master' into rc/coil_tracing
ddudt Apr 17, 2024
600cd65
Merge branch 'master' into rc/coil_tracing
dpanici Jun 19, 2024
23a9907
Merge branch 'master' of github.com:PlasmaControl/DESC into jb/DPS
joaopedrobiu6 Jun 27, 2024
8b04e83
merge
joaopedrobiu6 Jun 27, 2024
0ba16db
Merge branch 'PlasmaControl:master' into jb/DPS
joaopedrobiu6 Jun 27, 2024
191bd22
trying to make it work
joaopedrobiu6 Jun 27, 2024
2d8a378
tracer working
joaopedrobiu6 Jun 27, 2024
c195166
optimization works but must be studied carefully
joaopedrobiu6 Jun 27, 2024
80522fe
Merge branch 'PlasmaControl:master' into jb/DPS
joaopedrobiu6 Jul 16, 2024
0dff2f6
removed DS_Store
joaopedrobiu6 Jul 16, 2024
06f09c4
Merge branch 'jb/DPS' of github.com:joaopedrobiu6/DESC into jb/DPS
joaopedrobiu6 Jul 16, 2024
d55407b
multiparticle tracing
joaopedrobiu6 Jul 26, 2024
d8bd11c
gpu
joaopedrobiu6 Jul 26, 2024
5af3a24
jax
joaopedrobiu6 Jul 26, 2024
0c1e5f3
particle tracer had numpy function
joaopedrobiu6 Jul 26, 2024
d34afa2
visualization tool update
joaopedrobiu6 Jul 26, 2024
b1efca5
optimization trial 1
joaopedrobiu6 Jul 28, 2024
c7230ef
slurm update
joaopedrobiu6 Jul 28, 2024
6a46c04
updated slurm name
joaopedrobiu6 Jul 28, 2024
b6c8aed
forgot module load on job slurm
joaopedrobiu6 Jul 28, 2024
fc4224c
changed objective
joaopedrobiu6 Jul 28, 2024
532957d
Merge branch 'PlasmaControl:master' into jb/DPS
joaopedrobiu6 Jul 28, 2024
59b2baf
changed bounds for forcebalance
joaopedrobiu6 Jul 28, 2024
f59b2f2
updated the objective function
joaopedrobiu6 Jul 28, 2024
3c843f4
tracer objective
joaopedrobiu6 Jul 28, 2024
89c0053
Merge branch 'PlasmaControl:master' into jb/DPS
joaopedrobiu6 Jul 31, 2024
2ea1a68
updated the objetive function
joaopedrobiu6 Aug 1, 2024
82da3e0
optimization params update
joaopedrobiu6 Aug 1, 2024
3ba174d
updated slurm for optimization.py
joaopedrobiu6 Aug 1, 2024
6bf58a4
added new equilibrium
joaopedrobiu6 Aug 1, 2024
18da01b
small change in jit position
joaopedrobiu6 Aug 1, 2024
efe843d
test
joaopedrobiu6 Aug 1, 2024
464ed14
updated the objetive funcion to the sum of the average deviation
joaopedrobiu6 Aug 5, 2024
37ed201
Merge branch 'master' into rc/coil_tracing
f0uriest Sep 10, 2024
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
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
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
8d1e906
Merge branch 'master' into rc/particles
YigitElma Nov 22, 2025
bc46301
Merge branch 'master' into rc/particles
YigitElma Nov 23, 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
930c84c
minor updates
YigitElma Dec 4, 2025
3741a21
Merge branch 'master' into rc/particles
YigitElma Dec 4, 2025
c17ad56
fix test
YigitElma Dec 7, 2025
11ac5cc
Merge branch 'master' into rc/particles
YigitElma Dec 7, 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
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,16 @@ Changelog

New Features

- Adds particle tracing capabilities in ``desc.particles`` module.
- Particle tracing is done via ``desc.particles.trace_particles`` function.
- Particles can be initialized in couple different ways:
- ``ManualParticleInitializerLab`` : Initializes particles at given positions in lab coordinates.
- ``ManualParticleInitializerFlux`` : Initializes particles at given positions in flux coordinates.
- ``CurveParticleInitializer`` : Initializes N particles on a given curve.
- ``SurfaceParticleInitializer`` : Initializes N particles on a given surface.
- Implemented particle trajectory models are:
- ``VacuumGuidingCenterTrajectory`` : Integrates the particle motion by vacuum guiding center ODEs, conserving energy and mu.
- Particle trajectories can be plotted with ``desc.plotting.plot_particle_trajectories`` function.
- Adds new option for ``loss_function``, ``"sum"``, which changes an objective to target the sum of the values computed.
- Adds ``"scipy-l-bfgs-b"`` optimizer option as a wrapper to scipy's ``"l-bfgs-b"`` method.

Expand Down
1 change: 1 addition & 0 deletions desc/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
"magnetic_fields",
"objectives",
"optimize",
"particles",
"perturbations",
"plotting",
"profiles",
Expand Down
2 changes: 2 additions & 0 deletions desc/magnetic_fields/_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -831,6 +831,8 @@ def compute_magnetic_field(
coords = jnp.atleast_2d(jnp.asarray(coords))
if params is None:
params = self.params
elif isinstance(params, dict):
params = params["params"]
if basis == "xyz":
coords = xyz2rpz(coords)

Expand Down
Loading
Loading