Recent Releases of SIMSOPT

SIMSOPT - v1.10.1

What's Changed

  • Update plotpoincaredata to use new cross_section angle convention by @kchammond in https://github.com/hiddenSymmetries/simsopt/pull/535
  • Update cross references and GitHub links in the documentation by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/525
  • Cancel in-progress workflows if a new code is pushed by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/536
  • Update the version specification approach for numpy in conda builds by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/537

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.10.0...v1.10.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar 5 months ago

SIMSOPT - v1.10.0

What's Changed

  • cross section fix by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/428
  • Code links in the ReadTheDocs pointing to GitHub by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/516
  • Delete randomgen from requirements by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/518
  • Simple change in test_biotsavart to use more quadrature points for th… by @akaptano in https://github.com/hiddenSymmetries/simsopt/pull/520
  • Rename calculateonaxis_B function by @akaptano in https://github.com/hiddenSymmetries/simsopt/pull/521
  • Bug Fix for SurfaceXYZFourier/TensorFourier Dof Naming by @jhalpern30 in https://github.com/hiddenSymmetries/simsopt/pull/505
  • Prune unused code by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/524
  • Curveplanar jacobian fix by @akaptano in https://github.com/hiddenSymmetries/simsopt/pull/522
  • MHD documentation update by @armulrich in https://github.com/hiddenSymmetries/simsopt/pull/514
  • Updated the documentation of the to_mgrid function by @mishapadidar in https://github.com/hiddenSymmetries/simsopt/pull/503
  • Added LHD-like configuration by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/527
  • ToroidalTransitStoppingCriterion: changed max_transits to double by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/530
  • Vmec tutorial by @ejpaul in https://github.com/hiddenSymmetries/simsopt/pull/511
  • Added wf coverage increases. by @akaptano in https://github.com/hiddenSymmetries/simsopt/pull/529
  • Revert to pybind11 2.13.6 by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/534
  • Jax curve pr by @akaptano in https://github.com/hiddenSymmetries/simsopt/pull/528

New Contributors

  • @armulrich made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/514

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.9.3...v1.10.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar 6 months ago

SIMSOPT - v1.9.3

What's Changed

  • Added SPEC and VMEC high-level descriptions by @smiet in https://github.com/hiddenSymmetries/simsopt/pull/508
  • Improve CurveHelical by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/512
  • randomgen 2 numpy by @smiet in https://github.com/hiddenSymmetries/simsopt/pull/517

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.9.2...v1.9.3

Scientific Software - Peer-reviewed - Python
Published by mbkumar 8 months ago

SIMSOPT - v1.9.2

What's Changed

  • Fix docs build errors by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/488
  • (Fix-It Week) Fixed Documentation for ConstrainedProblem by @mishapadidar in https://github.com/hiddenSymmetries/simsopt/pull/491
  • ran run_autopep for the main branch. by @akaptano in https://github.com/hiddenSymmetries/simsopt/pull/498
  • Uniform-offset surfaces by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/477
  • Stop building wheels for non-HPC architectures by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/500
  • updates cross_section documentation by @Mandelbr0t in https://github.com/hiddenSymmetries/simsopt/pull/501
  • Surface self intersecting dependencies by @daringli in https://github.com/hiddenSymmetries/simsopt/pull/494
  • Developer Guides with Derivative Tutorial by @mishapadidar in https://github.com/hiddenSymmetries/simsopt/pull/493
  • Bug fix for adding dof names in CurveRZFourier Class by @jhalpern30 in https://github.com/hiddenSymmetries/simsopt/pull/490
  • Updated installation instructions by @arknyazev in https://github.com/hiddenSymmetries/simsopt/pull/507
  • (Fix-It 2025) Updated documentation of BoozerSurface by @mishapadidar in https://github.com/hiddenSymmetries/simsopt/pull/496
  • Adds C++ API's to simsopt documentation by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/495
  • SurfaceRZFourier tests by @daringli in https://github.com/hiddenSymmetries/simsopt/pull/504
  • Resolve issue 482: update instructions for recompiling simsoptpp by @kchammond in https://github.com/hiddenSymmetries/simsopt/pull/513

New Contributors

  • @Mandelbr0t made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/501
  • @jhalpern30 made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/490
  • @arknyazev made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/507

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.9.1...v1.9.2

Scientific Software - Peer-reviewed - Python
Published by mbkumar 8 months ago

SIMSOPT - v1.9.1

What's Changed

  • Unused pybind11 module removed by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/484

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.9.0...v1.9.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar 8 months ago

SIMSOPT - v1.9.0

What's Changed

  • Fix relaxandsplit kwargs dict passing by @ryanwu4 in https://github.com/hiddenSymmetries/simsopt/pull/466
  • removed deprecated use of import numpy.matlib by @jurasic-pf in https://github.com/hiddenSymmetries/simsopt/pull/476
  • Add capabilities for wireframe-based methods for discrete coil optimization by @kchammond in https://github.com/hiddenSymmetries/simsopt/pull/475

New Contributors

  • @ryanwu4 made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/466
  • @jurasic-pf made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/476

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.8.3...v1.9.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar 9 months ago

SIMSOPT - v1.8.3 release

What's Changed

  • Support for current profiles that set I(s) directly instead of I'(s). by @daringli in https://github.com/hiddenSymmetries/simsopt/pull/470
  • Fix wheel workflow by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/473

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.8.2...v1.8.3

Scientific Software - Peer-reviewed - Python
Published by mbkumar 11 months ago

SIMSOPT - v1.8.2

What's Changed

  • Fix CI by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/472

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.8.1...v1.8.2

Scientific Software - Peer-reviewed - Python
Published by mbkumar 11 months ago

SIMSOPT - v1.8.1

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.8.0...v1.8.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 1 year ago

SIMSOPT - v1.8.0

Support for python 3.8 dropped

What's Changed

  • (Minor Fix) two broken examples in docs by @missing-user in https://github.com/hiddenSymmetries/simsopt/pull/459
  • Python3.8 EOL by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/460

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.7.0...v1.8.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 1 year ago

SIMSOPT - v1.7.0

What's Changed

  • Ml/coil forces by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/356
  • Update branch to have FramedCurve for coil orientation by @phuslage in https://github.com/hiddenSymmetries/simsopt/pull/364
  • Pull request for force Optimizables by @smhurwitz in https://github.com/hiddenSymmetries/simsopt/pull/387
  • Removed separation of MPI ranks during boozXform by @mishapadidar in https://github.com/hiddenSymmetries/simsopt/pull/442
  • install pyoculus from git and f90wrap from pypi by @smiet in https://github.com/hiddenSymmetries/simsopt/pull/445
  • Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows by @dependabot in https://github.com/hiddenSymmetries/simsopt/pull/443
  • Fix MPI issue with vmec crashes in 1st evaluation by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/446
  • Coil_forces by @smhurwitz in https://github.com/hiddenSymmetries/simsopt/pull/449
  • Coil forces by @smhurwitz in https://github.com/hiddenSymmetries/simsopt/pull/450
  • Update python version for docs build by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/452
  • Single-stage optimization with spec: CoilSet, ReducedCoilSet and CoilNormalField (PR 2 of 2) by @smiet in https://github.com/hiddenSymmetries/simsopt/pull/438
  • Specify coil group names in loadcoilsfrommakegridfile by @daringli in https://github.com/hiddenSymmetries/simsopt/pull/451
  • Bugfix for SPEC non-stellerator symmetric case by @missing-user in https://github.com/hiddenSymmetries/simsopt/pull/454
  • Force mpi4py < 4 in Dockerfile due to shifter problem by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/456
  • np.NINF to -np.inf for np2.0 compatibility by @missing-user in https://github.com/hiddenSymmetries/simsopt/pull/458

New Contributors

  • @phuslage made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/364
  • @smhurwitz made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/387
  • @dependabot made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/443
  • @missing-user made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/454

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.6.4...v1.7.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 1 year ago

SIMSOPT - v1.6.4

What's Changed

  • Fix logging error in boozer.py to address #435 by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/436

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.6.3...v1.6.4

Scientific Software - Peer-reviewed - Python
Published by landreman over 1 year ago

SIMSOPT - v1.6.3

What's Changed

  • Spec refactoring/improvement (PR 1 of 3 for single-stage) by @smiet in https://github.com/hiddenSymmetries/simsopt/pull/418
  • Fix #411 compile flags on Apple Silicon Ubuntu Docker by @krystophny in https://github.com/hiddenSymmetries/simsopt/pull/412

New Contributors

  • @krystophny made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/412

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.6.2...v1.6.3

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 1 year ago

SIMSOPT - v1.6.2

What's Changed

  • Fix for python 3.8 and numpy dependency by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/432
  • clear spec cache to avoid sporadic mismatch by @smiet in https://github.com/hiddenSymmetries/simsopt/pull/431

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.6.1...v1.6.2

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 1 year ago

SIMSOPT - v1.6.1

What's Changed

  • update containers by @smiet in https://github.com/hiddenSymmetries/simsopt/pull/433

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.6.0...v1.6.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 1 year ago

SIMSOPT - v1.6.0

Please note that this release is constrained to use numpy < 2.0.0.

What's Changed

  • vectorized BoozerLS residual evaluation by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/409
  • Make residuals file optional by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/413
  • Stellarator non-symmetric configurations in vmec_splines by @daringli in https://github.com/hiddenSymmetries/simsopt/pull/414
  • BoozerLS surface optimization by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/366
  • ag/surfacedofsfix by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/361
  • Fix mayavi install failure in Docker and Singularity containers by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/426
  • L_{grad B} scale length by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/419
  • Numpy type hinting by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/430

New Contributors

  • @daringli made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/414

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.5.0...v1.6.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 1 year ago

SIMSOPT - v1.5.0

What's Changed

  • Js/circularcoil dofs update by @smoniewski in https://github.com/hiddenSymmetries/simsopt/pull/379
  • Mgrid improvements by @aaroncbader in https://github.com/hiddenSymmetries/simsopt/pull/396
  • added surface self-intersection test as well as second derivatives of surface aspect ratio by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/401
  • Ag/pr vectorized second derivative volume by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/402
  • fix for issue #405 by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/407
  • Updated CircularCoil class to alllow for dofs by @jloizu in https://github.com/hiddenSymmetries/simsopt/pull/377
  • Rotating ellipse surface by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/410
  • CurveXYZFourierSymmetries by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/404
  • Disable Avx512 by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/408

New Contributors

  • @smoniewski made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/379
  • @aaroncbader made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/396

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.4.0...v1.4.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 1 year ago

SIMSOPT - v1.4.0

What's Changed

  • fix parallel evaluation of derived optimizables by @smiet in https://github.com/hiddenSymmetries/simsopt/pull/381
  • compute the rotational transform on a magnetic axis by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/399

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.3.0...v1.4.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar almost 2 years ago

SIMSOPT - v1.3.0

What's Changed

  • Fix error with netcdf scalars in scipy v1.12 by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/390
  • Version bump for various Actions used in Workflows by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/392
  • Implement magnetic potential in cylindrical coordinates by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/393
  • Tweak for compatibility with jax 0.4.25 by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/397
  • Speed up LinkingNumber by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/398

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.2.0...v1.3.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar almost 2 years ago

SIMSOPT - v1.2.0

What's Changed

  • Update strain_optimization.py by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/384
  • RZ stopping criteria by @ejpaul in https://github.com/hiddenSymmetries/simsopt/pull/385
  • Clean up dofs of Vmec objects by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/388

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.1.1...v1.2.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar almost 2 years ago

SIMSOPT - Bugfix in wheel naming

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 2 years ago

SIMSOPT - v1.1.0

What's Changed

  • Change the license to MIT in setup.cfg by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/382
  • New build system based on scikit-build-core by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/383
  • Planar by @AlexWiedman in https://github.com/hiddenSymmetries/simsopt/pull/358

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v1.0.0...v1.1.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 2 years ago

SIMSOPT - Simsopt version 1 with MIT license

This is new release with a bump in the major version to 1.0.0. Simsopt license changed from GPL to MIT starting from version 1.0.0

What's Changed

  • Linting made stricter and the linting framework is switched to ruff by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/359
  • Change license from LGPL to MIT by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/365

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.20.0...v1.0.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 2 years ago

SIMSOPT - v0.20.0

What's Changed

  • scipy sqrtm fix by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/350
  • Enable initial guess solutions for GPMO by @kchammond in https://github.com/hiddenSymmetries/simsopt/pull/347
  • Cbs/spec nonstellsym fix by @smiet in https://github.com/hiddenSymmetries/simsopt/pull/351
  • added use of axis aspect ratio argument when plotting poincare sections by @jloizu in https://github.com/hiddenSymmetries/simsopt/pull/354
  • Extend virtual casing to full torus by @rogeriojorge in https://github.com/hiddenSymmetries/simsopt/pull/353
  • Strain optimization by @ejpaul in https://github.com/hiddenSymmetries/simsopt/pull/346
  • Poincare options by @ejpaul in https://github.com/hiddenSymmetries/simsopt/pull/362

New Contributors

  • @kchammond made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/347
  • @smiet made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/351
  • @jloizu made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/354

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.19.0...v0.20.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 2 years ago

SIMSOPT - v0.19.0

What's Changed

  • Add QSC and QIC to singularity by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/340
  • Cylindrical magnets grid fix by @akaptano in https://github.com/hiddenSymmetries/simsopt/pull/342
  • Flip orientation in createequallyspaced_curves() to fix free-boundary by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/341
  • tidy up examples by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/343
  • [FIX] thetavmec computation in vmecfieldlines by @jons-pf in https://github.com/hiddenSymmetries/simsopt/pull/344
  • Tq/mgrid by @tmqian in https://github.com/hiddenSymmetries/simsopt/pull/233

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.18.1...v0.19.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.18.1

What's Changed

  • fix #278: tracing.hpp does not find boost by @jons-pf in https://github.com/hiddenSymmetries/simsopt/pull/332
  • SPEC access token removed from docker by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/335
  • Add support for python 3.11 by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/337
  • additional VMEC input file parameters by @jons-pf in https://github.com/hiddenSymmetries/simsopt/pull/333
  • CI for docs by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/338
  • Add PyQIC and PyQSC to docker by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/339

New Contributors

  • @jons-pf made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/332

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.18.0...v0.18.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.18.0

What's Changed

New Features

  • New magnetic field class - mirror machine by @rogeriojorge in https://github.com/hiddenSymmetries/simsopt/pull/325
  • Descriptor protocol by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/326

Updates and Fixes

  • Fixes the permanent magnet docstring for sphinx by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/331
  • Code cleanup by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/323
  • Removing python 3.7 in CI due to its EOL in a week by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/328
  • Update API documentation by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/322

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.17.1...v0.18.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.17.1

What's Changed

  • PR: Radial derivatives fix in Dommaschk potentials by @migueljmp in https://github.com/hiddenSymmetries/simsopt/pull/299

New Contributors

  • @migueljmp made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/299

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.17.0...v0.17.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.17.0

What's Changed

  • options for SquaredFlux definition by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/309
  • docker updates by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/318
  • Single-stage optimization add-ons by @rogeriojorge in https://github.com/hiddenSymmetries/simsopt/pull/301

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.16.0...v0.17.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.16.0

What's Changed

  • Permanent magnet branch merge by @akaptano in https://github.com/hiddenSymmetries/simsopt/pull/296

New Contributors

  • @akaptano made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/296

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.15.1...v0.16.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.15.1

What's Changed

  • Method for loading makegrid files by @MigMadeira in https://github.com/hiddenSymmetries/simsopt/pull/310

New Contributors

  • @MigMadeira made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/310

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.15.0...v0.15.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.15.0

What's Changed

  • Spec dofs by @abaillod in https://github.com/hiddenSymmetries/simsopt/pull/304

New Contributors

  • @abaillod made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/304

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.14.1...v0.15.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.14.1

What's Changed

  • PR: Fix memory leak bug in from_pyQSC by @rogeriojorge in https://github.com/hiddenSymmetries/simsopt/pull/308
  • conda build fixes by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/312

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.14.0...v0.14.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.14.0

In v0.14.0, support for PowerPC has been added. For instructions on how to compile simsopt on PowerPC machines, refer to https://github.com/hiddenSymmetries/simsopt/wiki/Traverse-@-Princeton

What's Changed

  • PR: Added a surface.from_pyQSC method and tests by @rogeriojorge in https://github.com/hiddenSymmetries/simsopt/pull/306
  • Non-XSIMD implementation of Biot Savart kernel for PowerPC by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/292

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.13.0...v0.14.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.13.0

What's Changed

New Features

  • Constrained optimization problem and solver by @mishapadidar in https://github.com/hiddenSymmetries/simsopt/pull/295
  • Add W7-X coils by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/288 ### Bug fixes
  • Pybind11 changes by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/286
  • Bug fix for padding in RegularGridInterpolant3D by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/290
  • ag/minor bug fixes and changes by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/291
  • Minor fixes in some tests by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/293
  • Mac openmp fix by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/297
  • Bug in coil examples and docs: missing "max" argument by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/300

New Contributors

  • @mishapadidar made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/295

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.12.2...v0.13.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 2 years ago

SIMSOPT - v0.12.2

What's Changed

  • Slight refactoring of derivatives by @florianwechsung in https://github.com/hiddenSymmetries/simsopt/pull/258
  • BoozerExact QA/QP optimization by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/229

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.12.1...v0.12.2

Scientific Software - Peer-reviewed - Python
Published by mbkumar almost 3 years ago

SIMSOPT - v0.12.0

What's Changed

  • fix for failing unit tests by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/281
  • Enabling vmec input writing if keepallfiles=True. by @ejpaul in https://github.com/hiddenSymmetries/simsopt/pull/280
  • Linking number by @AlexWiedman in https://github.com/hiddenSymmetries/simsopt/pull/282
  • Shared DOFs by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/276

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.11.1...v0.12.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar almost 3 years ago

SIMSOPT - v0.11.1

What's Changed

  • fieldlines refactor by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/268
  • Bug fix in deriv doc by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/275
  • Curves and Coils saved to FOCUS and MAKEGRID format by @zhucaoxiang in https://github.com/hiddenSymmetries/simsopt/pull/270
  • Fix failing test in CI, testqfmsurfaceoptimizationconvergence by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/277
  • Update Github Actions Versions by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/279

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.11.0...v0.11.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 3 years ago

SIMSOPT - v0.11.0

What's Changed

  • Updated pypa/gh-action-pypi-publish from master to release/v1 by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/269
  • Graph JSON framework by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/261
  • simsopt wheels are now compatible with Westmere microarchitecture and should work for older machines

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.10.0...v0.11.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 3 years ago

SIMSOPT - v0.10.0

What's Changed

  • Surface classes refactoring to confirm with Graph JSON framework by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/260
  • Update macos runner version for github actions by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/263
  • Updated SurfaceRZFourier.fromvmecinput() to be faster. by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/265
  • more coil sets added to simsopt.configs by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/257

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.9.3...v0.10.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 3 years ago

SIMSOPT - v0.9.3

What's Changed

  • Modules with graph_ prefix deleted by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/247
  • Spec CI fix by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/249
  • Avoid netcdf warning by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/252
  • Mac m1 by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/254
  • conda fix by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/256
  • Update sdist build by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/255
  • Fixed one vmec_fieldlines test that was failing by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/253
  • 2X faster vmec_fieldlines by @rahulgaur104 in https://github.com/hiddenSymmetries/simsopt/pull/243

New Contributors

  • @rahulgaur104 made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/243

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.9.2...v0.9.3

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 3 years ago

SIMSOPT - v0.9.2

What's Changed

  • Second level imports by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/239
  • Improvements to documentation by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/241

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.9.1...v0.9.2

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 3 years ago

SIMSOPT - v0.9.1

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.9.0...v0.9.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 3 years ago

SIMSOPT - v0.9.0

What's Changed

  • Add a Weight object that encapsules a scalar by @florianwechsung in https://github.com/hiddenSymmetries/simsopt/pull/230
  • Improvements to RegularGridInterpolant3D and C++ documentation #103 by @florianwechsung in https://github.com/hiddenSymmetries/simsopt/pull/227
  • Setup numpy dependency in the recommended way by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/234
  • Update branch by @rogeriojorge in https://github.com/hiddenSymmetries/simsopt/pull/236
  • Save and load coils by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/235
  • Principal curvatures by @ejpaul in https://github.com/hiddenSymmetries/simsopt/pull/232
  • Expanded coil documentation by @rogeriojorge in https://github.com/hiddenSymmetries/simsopt/pull/237
  • JSON serialization by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/231

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.8.0...v0.9.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 3 years ago

SIMSOPT - v0.8.0

What's Changed

  • The behaviour of fixall is modified to fix global DOFs. To fix local DOFs use localfix_all. By @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/222
  • properties for order, stellsym, nfp in curverzfourier by @florianwechsung in https://github.com/hiddenSymmetries/simsopt/pull/225
  • Skip matplotlib-dependent tests if it's not installed by @StanczakDominik in https://github.com/hiddenSymmetries/simsopt/pull/226
  • Multifilament coil approximation by @florianwechsung in https://github.com/hiddenSymmetries/simsopt/pull/223
  • MPI barrier to avoid wout not found error by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/224
  • Virtual casing by @landreman, @florianwechsung, and @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/209

New Contributors

  • @StanczakDominik made their first contribution in https://github.com/hiddenSymmetries/simsopt/pull/226

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.7.4...v0.7.5

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 3 years ago

SIMSOPT - v0.7.4

What's Changed

  • Curve-Curve distance improvements and introduction of Curve-Surface distance by @florianwechsung
  • Reduce extensive CI time by @mbkumar
  • Add thirdparty folders to sdist by @mbkumar
  • Remove graph prefix by @mbkumar

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.7.3...v0.7.4

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 3 years ago

SIMSOPT - v0.7.3 Release

What's Changed

  • Fieldlines from vmec by @landreman
  • added plot DAG test by @andrewgiuliani
  • Nptyping fix by @mbkumar
  • Remove assert in tracing.cpp by @florianwechsung
  • Use slots for DOFs by @mbkumar
  • Small performance tweaks by @florianwechsung

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.7.2...v0.7.3

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 3 years ago

SIMSOPT - v0.7.2

What's Changed

  • adding cpp implementation of vector potential with vjps by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/201
  • Fix: graph framework dofs out of sync by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/205
  • added print_dag functionality by @andrewgiuliani in https://github.com/hiddenSymmetries/simsopt/pull/202
  • Removed deprecated jax commands by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/207
  • Deprecated optimizable and dofs modules deleted by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/208

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.7.1...v0.7.2

Scientific Software - Peer-reviewed - Python
Published by mbkumar almost 4 years ago

SIMSOPT - v0.7.1

What's Changed

  • Transfer most Shifter info to the wiki by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/193
  • Documentation on shifter by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/191
  • Tidying up requirements by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/196
  • MPIObjective and more geometry objectives by @florianwechsung in https://github.com/hiddenSymmetries/simsopt/pull/188
  • singularity container by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/192
  • Real-space surface dofs by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/194
  • Write vmec input files by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/197
  • spec import updated by @mbkumar in https://github.com/hiddenSymmetries/simsopt/pull/198
  • Control vmec printing by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/199
  • Fix to ScalarPotentialRZMagneticField by @ejpaul in https://github.com/hiddenSymmetries/simsopt/pull/200
  • Radial profiles and bootstrap current by @landreman in https://github.com/hiddenSymmetries/simsopt/pull/195

Full Changelog: https://github.com/hiddenSymmetries/simsopt/compare/v0.7.0...v0.7.1

Scientific Software - Peer-reviewed - Python
Published by mbkumar almost 4 years ago

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: https://github.com/hiddenSymmetries/simsopt/compare/v0.6.1...v0.7.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar almost 4 years ago

SIMSOPT - 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: https://github.com/hiddenSymmetries/simsopt/compare/v0.6.0...v0.7.0

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 4 years ago

SIMSOPT - Graph Optimization framework for all of simsopt classes

This release extends the graph Optimizable framework to surface and MHD classes.

Changes Implemented:

  1. Enhancements to graph Optimizable class to keep order of the dependent functions
  2. ObjectiveFailure added to LeastSquaresProblem
  3. Tolerances can be specified as part of the solver
  4. Surface classes and the corresponding tests are separated into different modules
  5. Surface modules converted to graph framework
  6. MHD modules converted to graph framework
  7. New classes for finite differences based (both serial and MPI) Jacobian
  8. Weak references to enable garbage collection of out-of-scope optimizable objects
  9. SPEC CI issues fixed

Scientific Software - Peer-reviewed - Python
Published by mbkumar about 4 years ago

SIMSOPT - 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 Coil class that represents a Curve and a Current. A list of Coil objects is now passed to BiotSavart (instead of separate curves and currents in the past). These objects are built on top of the new graph framework

  • A new Derivative object 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.

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 4 years ago

SIMSOPT - 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).

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 4 years ago

SIMSOPT - v0.4.2 Released

This release introduces

1) The ability to compute fieldlines as well as particle trajectories using the guiding center approximation. Credits to Florian Wechsung. 2) 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**

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 4 years ago

SIMSOPT - 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.

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 4 years ago

SIMSOPT - v0.3.03 Released

This release fixes bugs and reorganizes examples.

  1. Earlier releases of simsopt required all optional packages to be installed. This release fixes issues in importing simsopt when optional packages are not installed.
  2. The examples are reorganized into simple, intermediate, advanced, and stellarator_benchmarks.

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 4 years ago

SIMSOPT - 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

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 4 years ago

SIMSOPT -

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 4 years ago

SIMSOPT - simsopt v0.2.0

This release introduces some additions and bug fixes for majority of modules in simsopt.

Changes introduced: 1. New class for Reiman magnetic field (see section 5 of Reiman, Greenside (1986), "Calculation of three-dimensional MHD equilibria with islands and stochastic regions", Computer Physics Communications 43 (157-167)) is added by Rogerio. This field has the advantage of allowing an exact calculation of the island width which can be used for island width optimization (example: https://arxiv.org/abs/2102.04497). 2. Faster Biot-Savart code by Florian 3. A simplified logging interface is introduced by Bharat. Logging can be enabled by using the following two lines in your driver script: python from simsopt import initialize_logging initialize_logging(filename="simsopt.log") # Filename option can be omitted in which case the default name is default.log 4. Some modules are rearranged. 5. Top-level imports for important classes are introduced. 6. Automatic linting script implemented by Florian. Before you submit your additions/changes to simsopt as PR, please run the run_autopep script. Requires autopep8 and flake8. 7. A new exception class to handle failures in objective function (credits to Matt Landremann). 8. Bug fixes. 9. Improved documentation.

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 4 years ago

SIMSOPT - Boozer surfaces in simsopt

This release introduces boozer surface and computation of aspect ratio of surfaces and some major refactoring of surfaces-related code.

Major changes:

  1. SurfaceXYZFourier surfaces are introduced, where (phi, theta) correspond to the Boozer angles on the surface, by solving a nonlinear least squares problem in boozersurface.py.

  2. minimizeBoozerScalarizedLBFGS solves a scalarized constrained optimization problem using LBFGS, where min 0.5* || f(x) ||^22 + 0.5 * constraintweight * (label - labeltarget)^2 +0.5constraint_weight * (y(varphi=0,theta=0) -0)^2+0.5constraintweight * (z(varphi=0,theta=0) -0)^2 where || f(x)||^22 is the sum of squares of the Boozer residual at a set of quadrature points. The final two terms in the objective function are boundary conditions to ensure that the parametrization of the surface is unique.

  3. minimizeBoozerScalarizedNewton solves the same scalarized constrained optimization problem as above, but instead of LBFGS, Newton's method is used.

  4. minimizeBoozerConstrainedNewton solves the full constrained optimization problem using Newton's method. min 0.5*|| f(x) ||^2_2 subject to label - labeltarget = 0 y(varphi=0,theta=0) - 0 = 0 z(varphi=0,theta=0) - 0 = 0 The user is free to choose either a geometric constraint, e.g. area, or a toroidal flux constraint. objectives.py is split into coilobjectives.py and surfaceobjectives.py

  5. Computation of aspect ratio of surfaces using the VMEC definition of aspect ratio is done in the Surface.aspect_ratio.

  6. New capability of computing cross-sections of surfaces at a given cylindrical angle. This is done using bisection in the Surface.cross_section.

  7. An implementation of SurfaceXYZFourier.toRZFourier using Surface.crosssection. This is done by computing cross-sections of the SurfaceXYZFourier object and then fitting a SurfaceRZFourier to those cross-sections.

Scientific Software - Peer-reviewed - Python
Published by mbkumar over 4 years ago

SIMSOPT - Surfaces in simsopt.geo

Major changes:

  1. simsopt.geo subpackage introduces a surface class, and two specific implementations SurfaceRZFourier and SurfaceXYZFourier. The interface is closely aligned to the Curve classes, i.e. s.gamma() return an array of dimension (numquadpoints_phi, numquadpoints_theta, 3), and there are implementation for tangential derivatives and derivatives wrt to the dofs.
  2. The two curve classes are renamed into CurveXYZFourier and CurveRZFourier for consistency.
  3. Magnetic flux is added to Biot-Savart computation.

Scientific Software - Peer-reviewed - Python
Published by mbkumar almost 5 years ago