Skip to content

Commit

Permalink
add PIDGOV
Browse files Browse the repository at this point in the history
  • Loading branch information
rodrigomha committed Jul 17, 2024
1 parent 0e10645 commit 03af85d
Show file tree
Hide file tree
Showing 6 changed files with 449 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/PowerSystems.jl
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ export IEEETurbineGov1
export SteamTurbineGov1
export DEGOV
export DEGOV1
export PIDGOV

# Converter Exports
export Converter
Expand Down
197 changes: 197 additions & 0 deletions src/descriptors/power_system_structs.json
Original file line number Diff line number Diff line change
Expand Up @@ -12659,6 +12659,203 @@
],
"supertype": "TurbineGov"
},
{
"struct_name": "PIDGOV",
"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",
"fields": [
{
"name": "feedback_flag",
"comment": "Feedback signal for governor droop: 0 for electrical power, and 1 for gate position.",
"null_value": 1,
"data_type": "Int",
"valid_range": {
"min": 0,
"max": 1
},
"validation_action": "error"
},
{
"name": "Rperm",
"comment": "Speed permanent droop parameter",
"null_value": 0,
"data_type": "Float64",
"valid_range": {
"min": 0,
"max": null
},
"validation_action": "warn"
},
{
"name": "T_reg",
"comment": "Speed detector time constant",
"null_value": 0,
"data_type": "Float64",
"valid_range": {
"min": 0,
"max": null
},
"validation_action": "warn"
},
{
"name": "Kp",
"comment": "Governor proportional gain",
"null_value": 0,
"data_type": "Float64",
"valid_range": {
"min": 0,
"max": null
},
"validation_action": "warn"
},
{
"name": "Ki",
"comment": "Governor integral gain",
"null_value": 0,
"data_type": "Float64",
"valid_range": {
"min": 0,
"max": null
},
"validation_action": "warn"
},
{
"name": "Kd",
"comment": "Governor derivative gain",
"null_value": 0,
"data_type": "Float64",
"valid_range": {
"min": 0,
"max": null
},
"validation_action": "warn"
},
{
"name": "Ta",
"comment": "Governor derivative time constant",
"null_value": 0,
"data_type": "Float64",
"valid_range": {
"min": 0,
"max": null
},
"validation_action": "warn"
},
{
"name": "Tb",
"comment": "Gate-servo time constant",
"null_value": 0,
"data_type": "Float64",
"valid_range": {
"min": 0,
"max": null
},
"validation_action": "warn"
},
{
"name": "D_turb",
"comment": "Turbine damping factor",
"null_value": 0,
"data_type": "Float64",
"valid_range": {
"min": 0,
"max": null
},
"validation_action": "warn"
},
{
"name": "gate_openings",
"comment": "Gate-opening speed at different loads",
"null_value": "(0.0, 0.0, 0.0)",
"data_type": "Tuple{Float64, Float64, Float64}"
},
{
"name": "power_gate_openings",
"comment": "Power at gate_openings",
"null_value": "(0.0, 0.0, 0.0)",
"data_type": "Tuple{Float64, Float64, Float64}"
},
{
"name": "G_lim",
"comment": "Minimum/Maximum Gate openings `(G_min, G_max)`.",
"null_value": "(min=0.0, max=0.0)",
"data_type": "MinMax"
},
{
"name": "A_tw",
"comment": "Factor multiplying Tw",
"null_value": 0,
"data_type": "Float64",
"valid_range": {
"min": "eps()",
"max": null
},
"validation_action": "warn"
},
{
"name": "Tw",
"comment": "Water inertia time constant, sec",
"null_value": 0,
"data_type": "Float64",
"valid_range": {
"min": "eps()",
"max": null
},
"validation_action": "warn"
},
{
"name": "V_lim",
"comment": "Gate opening velocity limits `(G_min, G_max)`.",
"null_value": "(min=0.0, max=0.0)",
"data_type": "MinMax"
},
{
"name": "P_ref",
"comment": "Reference Power Set-point (pu)",
"null_value": 0,
"default": "1.0",
"data_type": "Float64",
"valid_range": {
"min": 0,
"max": null
}
},
{
"name": "ext",
"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)",
"data_type": "Dict{String, Any}",
"null_value": "Dict{String, Any}()",
"default": "Dict{String, Any}()"
},
{
"name": "states",
"exclude_setter": true,
"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",
"internal_default": "[:x_g1, :x_g2, :x_g3, :x_g4, :x_g5, :x_g6, :x_g7]",
"data_type": "Vector{Symbol}"
},
{
"name": "n_states",
"exclude_setter": true,
"comment": "(**Do not modify.**) PIDGOV has 7 states",
"internal_default": 7,
"data_type": "Int"
},
{
"name": "states_types",
"comment": "(**Do not modify.**) PIDGOV has 7 [differential](@ref states_list) [states](@ref S)",
"internal_default": "[StateTypes.Hybrid, StateTypes.Hybrid, StateTypes.Hybrid, StateTypes.Hybrid, StateTypes.Hybrid, StateTypes.Hybrid, StateTypes.Hybrid]",
"data_type": "Vector{StateTypes}"
},
{
"name": "internal",
"comment": "(**Do not modify.**) PowerSystems.jl internal reference",
"data_type": "InfrastructureSystemsInternal",
"internal_default": "InfrastructureSystemsInternal()",
"exclude_setter": true
}
],
"supertype": "TurbineGov"
},
{
"struct_name": "SteamTurbineGov1",
"docstring": "Steam Turbine-Governor. This model considers both TGOV1 or TGOV1DU in PSS/E",
Expand Down
Loading

0 comments on commit 03af85d

Please sign in to comment.