Skip to content

lankef/quadcoil

Repository files navigation

QUADCOIL

Welcome to the github page of QUADCOIL, the stellarator coil complexity proxy/global coil optimizer!

Developer contact: Lanke Fu, LF2869@nyu.edu

QUADCOIL is a global coil optimization code that approximates coils with a smooth sheet current. In other words, it's a "winding surface" code. However, unlike other winding surface codes, QUADCOIL:

  • Supports constrained optimization.
  • Supports non-convex quadratic penalties/constraints, such as curvatures and Lorentz force.
  • Includes robust winding surface generators that do not produce self-intersections.
  • Calculates derivatives with respect to plasma shape, winding surface shape, objective weights, and constraint thresholds.

Read QUADCOIL documentations here.

Changelog

2026/06/22

  • Adding xyz surface (SurfaceXYZFourierJAX)
  • Adding xyz tensor surface (SurfaceXYZTensorFourierJAX)
  • Adding exact uniform offset surface (SurfaceOffsetJAX), produced by calling Surface.uniform_offset() on any surface that's not a SurfaceOffsetJAX.
  • Overhauling winding surface generators to work for all 3 surfaces types (a SurfaceOffsetJAX cannot be offset again by design). Improving smoothness. Winding surface can now simply generated by calling Surface.gen_winding_surface().
  • Changing the signature of quadcoil() to reflect the updates in winding surface generators
  • Overhauling adjoint differentiation to use the KKT condition, instead of the unconstrained auglag objective
  • Adding preconditioners
    • precond='svd' for svd of induction matrix
    • precond='svd_K' to use the svd of the r-phi-z current K matrix
    • precond='ess' to use exponential spectral scaling
  • Adding nescoil(). It takes largely the same parameters as quadcoil but solves the nescoil problem
  • Adding the option to initialize a quadcoil run from a nescoil solution
  • Adding interior point method (solver='ipm') and slsqp-jax solver (solver='slsqp'). However, benchmark shows that auglag still works the best.

Please see documentations for more details.

About

A differentiable, flexible stellarator coil proxy

Resources

License

Stars

18 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors