You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is interesting for the cases of "flexible" stellarators where maybe one wants to optimize multiple stellarators with some common criteria, say, to be able to be created with a single coilset geometry (this last part is allowed by #1320 ). What this issue is focusing on is the areas in optimizer.py where we are assuming we only have a single Equilibrium in things and what should be changed to allow multiple without bugs
When we add the self-consistency constraints in _maybe_add_self_consistency, we only check if the constraint exists at all, we don't check if the constraint exists for the specific eq that was passed into the _maybe_add_self_consistency. We would just need to add a check for if the constraint exists, check that its things[0] is equal to the thing passed in, and if not, add the consistency constraint again. Change maybe_add_self_consistency to account for multiple objects of same type #1571
If above are done, then lsq-auglag and any of the other non-proximal optimizers should work with multiple equilibria
Proximal does not currently work with multiple equilibria, that also would need to be changed, I have not looked into what exactly the changes are yet but below are som:
with copy=True and proximal optimizers, internally that is only setup to work with one equilibrium (it just grabs the params of the first Equilibrium in things and then sets the original object's params to that equilibrium's params to avoid modifying the original object). This will cause wrong behavior with the proximal optimizers
The text was updated successfully, but these errors were encountered:
dpanici
added
the
P3
Highest Priority, someone is/should be actively working on this
label
Feb 5, 2025
This is interesting for the cases of "flexible" stellarators where maybe one wants to optimize multiple stellarators with some common criteria, say, to be able to be created with a single coilset geometry (this last part is allowed by #1320 ). What this issue is focusing on is the areas in
optimizer.py
where we are assuming we only have a singleEquilibrium
inthings
and what should be changed to allow multiple without bugs_maybe_add_self_consistency
, we only check if the constraint exists at all, we don't check if the constraint exists for the specific eq that was passed into the_maybe_add_self_consistency
. We would just need to add a check for if the constraint exists, check that itsthings[0]
is equal to thething
passed in, and if not, add the consistency constraint again. Changemaybe_add_self_consistency
to account for multiple objects of same type #1571If above are done, then
lsq-auglag
and any of the other non-proximal optimizers should work with multiple equilibriaProximal does not currently work with multiple equilibria, that also would need to be changed, I have not looked into what exactly the changes are yet but below are som:
The text was updated successfully, but these errors were encountered: