Allow bi-directional freq. headband in PVD2 and ESD1#615
Allow bi-directional freq. headband in PVD2 and ESD1#615jinningwang wants to merge 14 commits intoCURENT:developfrom
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 |
|
Looks like we are not merging this now. Feel free to reopen it when ready. |
Uh oh!
There was an error while loading. Please reload this page.