-
Notifications
You must be signed in to change notification settings - Fork 133
Allow bi-directional freq. headband in PVD2 and ESD1 #615
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
base: develop
Are you sure you want to change the base?
Conversation
PVD1 is designed to respond only to downward frequency deviations. Please update the frequency deadband to 999 to effectively disable upward frequency droop.
Merge latest dev changes and prepare for a minor update.
Hold a sec, this model does not work as expected. I might need two more days to double check it. |
After consideration, this model does not help much. |
Can you elaborate? |
SummaryThis PR explores the need for a revised solar generation model capable of providing both up and down regulation capacity for secondary frequency regulation (SFR). Reference: X. Fang, H. Yuan and J. Tan, "Secondary Frequency Regulation from Variable Generation Through Uncertainty Decomposition: An Economic and Reliability Perspective," in IEEE Transactions on Sustainable Energy, vol. 12, no. 4, pp. 2019-2030, Oct. 2021, doi: 10.1109/TSTE.2021.3076758. Initial Attempt (Did Not Work)The first implementation is excerpted here for future reference. The issue lies in the redefinition of class PVD2(...):
def __init__(...):
...
PVD1Data.__init__(self)
PVD1Model.__init__(self, system, config)
self.DB.upper = "-fdbd" Quick Fix (Works, But Not Optimal)This functions as expected but is inefficient. The original class PVD2(...):
def __init__(...):
...
self.fdbdn = ConstService(v_str='-fdbd',
info='-fdbd')
self.DB2 = DeadBand1(u=self.Fdev, center=0.0, lower=self.fdbd, upper=self.fdbdn,
gain=self.ddn,
info='frequency deviation deadband with gain',
) # outputs `Pdrp`
self.Psum.v_str = 'u * (Pext + Pref + DB2_y)'
self.Psum.e_str = 'u * (Pext + Pref + DB2_y) - Psum' Next Steps
|
@cuihantao |
Uh oh!
There was an error while loading. Please reload this page.