Skip to content

Commit 5d9f840

Browse files
authored
Implement Symbolic Recursive Integration for Dommaschk (#1496)
Resolves #1467 Resolves #1278 Changes implementation of Dommaschk potentials to use `sympy` and symbolic integration to recursively compute the potentials with symbolic algebra. I then use the `sympy.lambdify` function to turn this into a jax-differentiable expression usable with our `ScalarPotentialField` class.
2 parents 7e98f16 + 1bc4b03 commit 5d9f840

File tree

5 files changed

+300
-185
lines changed

5 files changed

+300
-185
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ New Features
1414
- ``desc.objectives.Omnigenity`` is now vectorized and able to optimize multiple surfaces at the same time. Previously it was required to use a different objective for each surface.
1515
- Adds a new objective ``desc.objectives.MirrorRatio`` for targeting a particular mirror ratio on each flux surface, for either an ``Equilibrium`` or ``OmnigenousField``.
1616
- Adds the output quantities ``wb`` and ``wp`` to ``VMECIO.save``.
17+
- Change implementation of Dommaschk potentials to use recursive algorithm and symbolic integration.
1718
- Changes hessian computation to use chunked ``jacfwd`` and ``jacrev``, allowing ``jac_chunk_size`` to now reduce hessian memory usage as well.
1819

1920
Bug Fixes

0 commit comments

Comments
 (0)