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