Releases: hiddenSymmetries/simsopt
v0.7.0
What's Changed
- Updated installation doc by @mbkumar
- Performance improvements in SurfaceRZFourier by @florianwechsung
- throw errors if xyz or rphiz is not c contiguous by @florianwechsung
- Surfaces: shift phi grid by half the grid spacing when range='half period' by @landreman
- Tutorial on coil optimization by @landreman\
- Coil perturbations by @florianwechsung\
- better cpp documentation linking by @florianwechsung
- turn off jax gpu warning by @florianwechsung
- Documentation update by @landreman
- Initialize Vmec from wout file
- Update ancestors for children after a parent is added/removed by @mbkumar
- Logging fix by @mbkumar
- Scale and add objectives by @landreman
- Initialize Vmec from a wout file without vmec or mpi by @ejpaul
- Use mpich for docker container by @mbkumar
Full Changelog: v0.6.1...v0.7.0
Release v0.6.1
What's Changed
- Fix to derivative of ScalarPotentialRZMagneticField by @rogeriojorge
- CircularCoil fix by @rogeriojorge
- DOF names functionality expanded by @mbkumar
- Qsc conversion by @mbkumar
- Reorganize SurfaceRZFourier->Garabedian conversion by @landreman
- BoozerMagneticField and particle tracing in Boozer coordinates by @ejpaul
- BoozerRadialInterpolant fix by @ejpaul
- conda package by @mbkumar
Full Changelog: v0.6.0...v0.7.0
Graph Optimization framework for all of simsopt classes
This release extends the graph Optimizable framework to surface and MHD classes.
Changes Implemented:
- Enhancements to graph Optimizable class to keep order of the dependent functions
- ObjectiveFailure added to LeastSquaresProblem
- Tolerances can be specified as part of the solver
- Surface classes and the corresponding tests are separated into different modules
- Surface modules converted to graph framework
- MHD modules converted to graph framework
- New classes for finite differences based (both serial and MPI) Jacobian
- Weak references to enable garbage collection of out-of-scope optimizable objects
- SPEC CI issues fixed
New Coil-n-Currents, Derivatives, and stage II coil optimization
Courtesy @florianwechsung, this release introduces new Coil, Current, and Derivative classes and allows for stage-II optimization
-
A new
Coilclass that represents aCurveand aCurrent. A list ofCoilobjects is now passed toBiotSavart(instead of separatecurvesandcurrentsin the past). These objects are built on top of the new graph framework -
A new
Derivativeobject is introduced, that is essentially a dictionary containing the partial derivative of a scalar objective wrt to all the Optimizable objects (with >0 DOFs) that it depends on. -
Simsopt can now solve the Stage II coil optimisation problem.
Addition of adjoint methods, vmec residuals and improved plotting
This release adds adjoint methods (courtesy E J Paul), additional VMEC related residuals (courtesy M Landreman) and improved plotting options (courtesy C. Zhu).
v0.4.2 Released
This release introduces
-
The ability to compute fieldlines as well as particle trajectories using the guiding center approximation.
Credits to Florian Wechsung. -
A quadratic-flux minimizing surface solver, defined as the minimizer of the objective function
f = int d^2 x (B \cdot n)^2/int d^2 x B^2
at fixed flux surface label (e.g., volume, area, or toroidal flux). This optimization problem can be solved using a
penalty formulation with LBFGS or with the SLSQP constrained optimization algorithm. Much of the code was
modeled after the Boozer surfaces.
Credits to Elizabeth J Paul
v0.4.0 Released
This release adds conda package recipe for simsopt, toroidal surface using the parameterization in Henneberg, Helander, and Drevlak ( arXiv:2105.00768 (2021), and bug fixes.
v0.3.03 Released
This release fixes bugs and reorganizes examples.
- Earlier releases of simsopt required all optional packages to be installed. This release fixes issues in importing simsopt when optional packages are not installed.
- The examples are reorganized into simple, intermediate, advanced, and stellarator_benchmarks.
Docker and coverage features added to simsopt
This release eases the use of simsopt for end users. A docker container with simsopt and vmec preinstalled is available. It can be downloaded from DockerHub using the name hiddensymmetries/simsopt.
The coverage report is now avaialble and can be accessed from the codecov badge on the main README.me