-
Notifications
You must be signed in to change notification settings - Fork 33
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
[FEATURE] Incrementally update topology parameters when there is a parameter change #337
Comments
Most of this was resolved in #444 . Only removal of construction of all math parameters in |
This has been implemented in #444 |
So we're not going to go all the way. |
What do you mean removal of construction of all math parameters in |
in this code section, we always calculate the |
So we always calculate all the parameters, and for incremental update, we only use some of them to update the If that's the case, we can indeed further optimize. Please create a separate ticket to explain the issue. |
done in #766 |
Background
When the PGM get updated, we check if the topology is changed and/or the parameters are changed. For topology change we need to rebuild the whole topology. For parameter change we need to update the parameters in the math model.
Currently, we recalculate all the parameters in the math model. This is significant work. Mathematically, we just need to update the parameters which are impacted by the change.
Improvement
We propose to only update the math parameters incrementally when there are some changes.
topology_param_up_to_date
. Make a track of all the changed components which have impact on math parameter.YBus
class.Consideration
Currently the mathematical parameters are stored as
std:shared_ptr<const T>
in theYBus
. This makes sharing between the threads easy. But if we want to update the value, we have to re-allocate the wholestruct
and copy the old values. We need to think the trade-off of usingstd:shared_ptr<const T>
or just by value.The text was updated successfully, but these errors were encountered: