PlasmaControl / DESC

Stellarator Equilibrium and Optimization Suite
MIT License
97 stars 26 forks source link

Make `ShareParameters` Objective to take in arbitrary list of objects and tie certain parameters together #1250

Open dpanici opened 2 months ago

dpanici commented 2 months ago

Could be useful to tie together certain parameters of objects to mirror eachother. For example, have an objective for a surface curvature, and an objective for QS, and then tie together the surface R_lmn and Rb_mn of the equilibrium.

This is a trivial example but paints the picture, maybe a better example is if you wanted to optimize a FourierCurrentPotentialField object at the same time as an equilibrium is being optimized, and you want that field's surface to match that of the equilibrium. This would require the R_lmn of the surface to match the equilibrium Rb_mn

dpanici commented 1 month ago

Implementing this where the parameters must have same name first, should be easier, OR all same object type even