Skip to content

Commit 03af85d

Browse files
committed
add PIDGOV
1 parent 0e10645 commit 03af85d

File tree

6 files changed

+449
-1
lines changed

6 files changed

+449
-1
lines changed

src/PowerSystems.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ export IEEETurbineGov1
189189
export SteamTurbineGov1
190190
export DEGOV
191191
export DEGOV1
192+
export PIDGOV
192193

193194
# Converter Exports
194195
export Converter

src/descriptors/power_system_structs.json

Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12659,6 +12659,203 @@
1265912659
],
1266012660
"supertype": "TurbineGov"
1266112661
},
12662+
{
12663+
"struct_name": "PIDGOV",
12664+
"docstring": "Hydro Turbine-Governor with PID controller. The GeneralGovModel (GGOV1) model is a general purpose governor model used for a variety of prime movers controlled by proportional-integral-derivative (PID) governors including gas turbines",
12665+
"fields": [
12666+
{
12667+
"name": "feedback_flag",
12668+
"comment": "Feedback signal for governor droop: 0 for electrical power, and 1 for gate position.",
12669+
"null_value": 1,
12670+
"data_type": "Int",
12671+
"valid_range": {
12672+
"min": 0,
12673+
"max": 1
12674+
},
12675+
"validation_action": "error"
12676+
},
12677+
{
12678+
"name": "Rperm",
12679+
"comment": "Speed permanent droop parameter",
12680+
"null_value": 0,
12681+
"data_type": "Float64",
12682+
"valid_range": {
12683+
"min": 0,
12684+
"max": null
12685+
},
12686+
"validation_action": "warn"
12687+
},
12688+
{
12689+
"name": "T_reg",
12690+
"comment": "Speed detector time constant",
12691+
"null_value": 0,
12692+
"data_type": "Float64",
12693+
"valid_range": {
12694+
"min": 0,
12695+
"max": null
12696+
},
12697+
"validation_action": "warn"
12698+
},
12699+
{
12700+
"name": "Kp",
12701+
"comment": "Governor proportional gain",
12702+
"null_value": 0,
12703+
"data_type": "Float64",
12704+
"valid_range": {
12705+
"min": 0,
12706+
"max": null
12707+
},
12708+
"validation_action": "warn"
12709+
},
12710+
{
12711+
"name": "Ki",
12712+
"comment": "Governor integral gain",
12713+
"null_value": 0,
12714+
"data_type": "Float64",
12715+
"valid_range": {
12716+
"min": 0,
12717+
"max": null
12718+
},
12719+
"validation_action": "warn"
12720+
},
12721+
{
12722+
"name": "Kd",
12723+
"comment": "Governor derivative gain",
12724+
"null_value": 0,
12725+
"data_type": "Float64",
12726+
"valid_range": {
12727+
"min": 0,
12728+
"max": null
12729+
},
12730+
"validation_action": "warn"
12731+
},
12732+
{
12733+
"name": "Ta",
12734+
"comment": "Governor derivative time constant",
12735+
"null_value": 0,
12736+
"data_type": "Float64",
12737+
"valid_range": {
12738+
"min": 0,
12739+
"max": null
12740+
},
12741+
"validation_action": "warn"
12742+
},
12743+
{
12744+
"name": "Tb",
12745+
"comment": "Gate-servo time constant",
12746+
"null_value": 0,
12747+
"data_type": "Float64",
12748+
"valid_range": {
12749+
"min": 0,
12750+
"max": null
12751+
},
12752+
"validation_action": "warn"
12753+
},
12754+
{
12755+
"name": "D_turb",
12756+
"comment": "Turbine damping factor",
12757+
"null_value": 0,
12758+
"data_type": "Float64",
12759+
"valid_range": {
12760+
"min": 0,
12761+
"max": null
12762+
},
12763+
"validation_action": "warn"
12764+
},
12765+
{
12766+
"name": "gate_openings",
12767+
"comment": "Gate-opening speed at different loads",
12768+
"null_value": "(0.0, 0.0, 0.0)",
12769+
"data_type": "Tuple{Float64, Float64, Float64}"
12770+
},
12771+
{
12772+
"name": "power_gate_openings",
12773+
"comment": "Power at gate_openings",
12774+
"null_value": "(0.0, 0.0, 0.0)",
12775+
"data_type": "Tuple{Float64, Float64, Float64}"
12776+
},
12777+
{
12778+
"name": "G_lim",
12779+
"comment": "Minimum/Maximum Gate openings `(G_min, G_max)`.",
12780+
"null_value": "(min=0.0, max=0.0)",
12781+
"data_type": "MinMax"
12782+
},
12783+
{
12784+
"name": "A_tw",
12785+
"comment": "Factor multiplying Tw",
12786+
"null_value": 0,
12787+
"data_type": "Float64",
12788+
"valid_range": {
12789+
"min": "eps()",
12790+
"max": null
12791+
},
12792+
"validation_action": "warn"
12793+
},
12794+
{
12795+
"name": "Tw",
12796+
"comment": "Water inertia time constant, sec",
12797+
"null_value": 0,
12798+
"data_type": "Float64",
12799+
"valid_range": {
12800+
"min": "eps()",
12801+
"max": null
12802+
},
12803+
"validation_action": "warn"
12804+
},
12805+
{
12806+
"name": "V_lim",
12807+
"comment": "Gate opening velocity limits `(G_min, G_max)`.",
12808+
"null_value": "(min=0.0, max=0.0)",
12809+
"data_type": "MinMax"
12810+
},
12811+
{
12812+
"name": "P_ref",
12813+
"comment": "Reference Power Set-point (pu)",
12814+
"null_value": 0,
12815+
"default": "1.0",
12816+
"data_type": "Float64",
12817+
"valid_range": {
12818+
"min": 0,
12819+
"max": null
12820+
}
12821+
},
12822+
{
12823+
"name": "ext",
12824+
"comment": "An *ext*ra dictionary for users to add metadata that are not used in simulation, such as latitude and longitude. See [Adding additional fields](@ref)",
12825+
"data_type": "Dict{String, Any}",
12826+
"null_value": "Dict{String, Any}()",
12827+
"default": "Dict{String, Any}()"
12828+
},
12829+
{
12830+
"name": "states",
12831+
"exclude_setter": true,
12832+
"comment": "(**Do not modify.**) The [states](@ref S) of the PIDGOV model are:\n\tx_g1: Filtered input measurement,\n\tx_g2: PI block internal state,\n\tx_g3: First regulator state, \n\tx_g4: Derivative block internal state, \n\tx_g5: Second regulator state, \n\tx_g6: Gate position state, \n\tx_g7: Water inertia state",
12833+
"internal_default": "[:x_g1, :x_g2, :x_g3, :x_g4, :x_g5, :x_g6, :x_g7]",
12834+
"data_type": "Vector{Symbol}"
12835+
},
12836+
{
12837+
"name": "n_states",
12838+
"exclude_setter": true,
12839+
"comment": "(**Do not modify.**) PIDGOV has 7 states",
12840+
"internal_default": 7,
12841+
"data_type": "Int"
12842+
},
12843+
{
12844+
"name": "states_types",
12845+
"comment": "(**Do not modify.**) PIDGOV has 7 [differential](@ref states_list) [states](@ref S)",
12846+
"internal_default": "[StateTypes.Hybrid, StateTypes.Hybrid, StateTypes.Hybrid, StateTypes.Hybrid, StateTypes.Hybrid, StateTypes.Hybrid, StateTypes.Hybrid]",
12847+
"data_type": "Vector{StateTypes}"
12848+
},
12849+
{
12850+
"name": "internal",
12851+
"comment": "(**Do not modify.**) PowerSystems.jl internal reference",
12852+
"data_type": "InfrastructureSystemsInternal",
12853+
"internal_default": "InfrastructureSystemsInternal()",
12854+
"exclude_setter": true
12855+
}
12856+
],
12857+
"supertype": "TurbineGov"
12858+
},
1266212859
{
1266312860
"struct_name": "SteamTurbineGov1",
1266412861
"docstring": "Steam Turbine-Governor. This model considers both TGOV1 or TGOV1DU in PSS/E",

0 commit comments

Comments
 (0)