Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stability and limits #280

Merged
merged 25 commits into from
Apr 19, 2023
Merged

Stability and limits #280

merged 25 commits into from
Apr 19, 2023

Conversation

orso82
Copy link
Member

@orso82 orso82 commented Apr 3, 2023

No description provided.

Added basic setup for the beta limit.
Re-structured inputs into pairs of 'models' (switches) and 'values' (floats) to drive the comparisons. Also setup functions for each of the limit type, thought this is likely temporary for testing.
New actor framework based on equilibrium_actor for stability work. The stability_actor will be the main driver, but there will be available sub-actors allowing greater flexibility and future proofing.
Switched actor limits to be based on percent of limit as apposed to absolute values.
Was playing with init and pushed some changes I didn't want. Removed them now.
First pass at building things with respect to `dd` for data storage. Resulted in reforming a lot of small things. Functionally everything is the same.

Also made current and density limit actors following the same formula of the bet limit actor.
New actor `ActorStabilityLimits` used to run all of the limits actors at once for easy deployment. Can be controlled through `ActorStability`.
This should be a good checkpoint for the new stability stuff.
tylerbcote and others added 12 commits April 17, 2023 14:40
Moved back to single limits_actor setup instead making use of the constants framework to handle model differentiation. Put the old actors in `old` folder for now, will clean up later .
Breeder_fluid definition must have changed.
Collections of models should now work and store separately in `dd` so the cleared valued don't break.
Note: model names without a citation are temporary as `model_###` matching the dictionary.
Default now includes basics models for beta, current, density, and elongation (same as original limit_actor)
Removed the original limits_actor.jl, as well as the various limit actors added in the first version of the code.  Includes changes to FUSE.jl and paramters_actors.jl to accommodate file changes.
@orso82
Copy link
Member Author

orso82 commented Apr 18, 2023

@tylerbcote please take a look when you have time. I think the ActorStabilityLimits is quite simpler now.

I still don't see the point of having the ActorStability. We use common interface actors when we have multiple actors that carry out the same functionality. But in this case I don't think there's the need for this. Like we don't have multiple MHD codes that we can run (in fact we have none right now haha).

But let's pretend we have more than one MHD Actors in FUSE (eg. ActorGATO and ActorDCON). Then we could use ActorStability to run either one with a common interface... all good. Now, I'd expect one could set ActorStabilityLimit.model = [:ActorStability]. This is not how things are setup now.

I would then remove ActorStability since it does not add anything, and then add it when the need shows up. The use-case will be clear then, and adding it back will take ~10 mins of work.

@orso82 orso82 merged commit 13ed3bb into master Apr 19, 2023
@orso82 orso82 deleted the stability branch April 19, 2023 08:16
@tylerbcote
Copy link
Contributor

@orso82 This all looks good to me. The changes with resize! by symbol really help clean things up and the improved model handling really help clean up the code. And reimplementing the raise_on_breach was next on my list.

I agree about ActorStability as well. It was unnecessary at the current stage. Even in the future, I think that ActorStabilityLimits and some hypothetical ActorStabilityCodes would likely be isolated because the code based actor might have a different purpose than the stability limits. So we can cross that bridge if/when we get there.

I think next steps for me will be to expand out the model and collection pool so we can start using this for specific scenario development.

@orso82
Copy link
Member Author

orso82 commented Apr 20, 2023

Fantastic! Thank you for all the effort you have put in so far :) I agree the next step is now to expand the on the models and the regimes/scenarios they apply.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants